手部关键点的三维坐标构建方法、装置、设备及存储介质与流程

未命名 09-22 阅读:111 评论:0


1.本技术涉及到手部识别领域,特别是涉及到一种手部关键点的三维坐标构建方法、装置、计算机设备及存储介质。


背景技术:

2.目前进行手势的三维坐标识别大多使用深度摄像头或红外摄像头,虽然可以提供深度信息,但是硬件设备昂贵,而使用二维图像进行三维坐标识别,由于二维图像中手部关键点所占像素数目少、特征不明显、容易被遮挡,尤其是要在高速的移动端的实现二维关键点检测的场景下,难以避免地会与真实的关键点在二维图像的位置产生很大的偏差,导致目前的基于二维图像的像素点坐标对手部进行三维重建的三维坐标识别准确度低。


技术实现要素:

3.本技术的主要目的为提供一种手部关键点的三维坐标构建方法、装置、计算机设备及存储介质,旨在解决目前手部关键点的三维坐标重构准确度低的问题。
4.为了实现上述发明目的,本技术提出一种手部关键点的三维坐标构建方法,包括:
5.获取二维图像上的手部关键点的二维坐标;
6.获取相机的内参矩阵和外参矩阵,根据所述内参矩阵和外参矩阵计算投影矩阵;所述相机为所述二维图像的拍摄相机;
7.根据所述投影矩阵建立手部关键点的所述二维坐标与三维坐标的投影关系等式;
8.对所述投影关系等式进行消元,得到所述二维坐标与三维坐标的齐次线性方程组;
9.根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解,根据所述方程解确定所述手部关键点的三维坐标。
10.本技术还提供一种手部关键点的三维坐标构建装置,包括:
11.二维坐标模块,用于获取二维图像上的手部关键点的二维坐标;
12.相机参数模块,用于获取相机的内参矩阵和外参矩阵,根据所述内参矩阵和外参矩阵计算投影矩阵;所述相机为所述二维图像的拍摄相机;
13.坐标投影模块,用于根据所述投影矩阵建立手部关键点的所述二维坐标与三维坐标的投影关系等式;
14.对齐消元模块,用于对所述投影关系等式进行消元,得到所述二维坐标与三维坐标的齐次线性方程组;
15.迭代计算模块,用于根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解,根据所述方程解确定所述手部关键点的三维坐标。
16.本技术还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述手部关键点的三维坐标构建
方法的步骤。
17.本技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述手部关键点的三维坐标构建方法的步骤。
18.本技术例提供了一种通过二维图像的手部关键点的二维坐标转化为三维空间下的三维坐标的方法,首先获取二维图像上的手部关键点的二维坐标,获取相机的内参矩阵和外参矩阵,根据所述内参矩阵和外参矩阵计算投影矩阵;所述相机为所述二维图像的拍摄相机,根据所述投影矩阵建立手部关键点的所述二维坐标与三维坐标的投影关系等式,对所述投影关系等式进行消元,得到所述二维坐标与三维坐标的齐次线性方程组,根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解,根据所述方程解确定所述手部关键点的三维坐标,通过投影矩阵建立二维坐标与三维坐标的关系,再进行消元后迭代计算,能够使得迭代计算快速收敛至误差最小的手部关键点的三维坐标的估计值,从而提高手部关键点的三维坐标的准确率。
附图说明
19.图1为本技术手部关键点的三维坐标构建方法的一实施例流程示意图;
20.图2为本技术手部关键点的一实施例示意图;
21.图3为本技术手部关键点的三维坐标构建装置的一实施例结构示意图;
22.图4为本技术计算机设备的一实施例结构示意框图。
23.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
24.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
25.参照图1,本技术实施例提供一种手部关键点的三维坐标构建方法,所述手部关键点的三维坐标构建方法包括步骤s10-s50,对于所述手部关键点的三维坐标构建方法的各个步骤的详细阐述如下。
26.s10、获取二维图像上的手部关键点的二维坐标。
27.本实施例应用于手部关键点的识别场景中,通过获取二维图像中的手部关键点的二维坐标,然后将二维坐标通过预设的映射关系转化为三维坐标,从而得到三维空间下的手部关键点的坐标。首先获取二维图像上的手部关键点的二维坐标。具体的,设定手中的若干个关键点用于表征整个手部,如图2所示,一个正常且完整的手设定有21个手部关键点,基于21个手部关键点描述整个手的位置坐标,其中k0代表腕掌关节,k1、k5、k9、k
13
、k
17
分别代表从大拇指到小指共五根手指的掌指关节,k2、k6、k
10
、k
14
、k
18
分别代表从上述五根手指的近指关节,k3、k7、k
11
、k
15
、k
19
分别代表上述五根手指的远指关节,k4、k8、k
12
、k
16
、k
20
分别代表五个指尖。其中,每一个手部关键点的二维坐标记作其中下标i代表手部关键点的编号,上标j代表第j个相机(含义是:对于每个手部关键点、不同的相机采集的二维图像不同,因而得到的二维坐标也不同),由于后续的计算是对每个二维坐标独立进行的,将所述
手部关键点的二维坐标简写为[ui,vi]
[0028]
s20、获取相机的内参矩阵和外参矩阵,根据所述内参矩阵和外参矩阵计算投影矩阵;所述相机为所述二维图像的拍摄相机。
[0029]
本实施例中,在获取二维图像上的手部关键点的二维坐标之后,获取相机的内参矩阵和外参矩阵,在一种实施方式中,首先获取相机的标定算法,然后根据所述标定算法计算相机的内参矩阵及外参矩阵,进一步的,所述相机为所述二维图像的拍摄相机,且所述相机的数量为两个,可以是两个单目灰度相机,再根据所述内参矩阵和外参矩阵计算投影矩阵。
[0030]
s30、根据所述投影矩阵建立手部关键点的所述二维坐标与三维坐标的投影关系等式。
[0031]
本实施例中,在获取二维图像上的手部关键点的二维坐标以及获取相机的内参矩阵和外参矩阵,根据所述内参矩阵和外参矩阵计算投影矩阵之后,根据所述投影矩阵建立手部关键点的所述二维坐标与三维坐标的投影关系等式,即写出手部关键点的二维坐标与三维坐标的投影关系,在一种实施方式中,所述投影关系为从一个点光源出发,点光源发出的光经过二维手部关键点后映射至三维坐标系下的关系,例如,将待求解的每个手部关键点的三维坐标记作x,所述手部关键点的所述二维坐标与三维坐标的投影关系等式为:
[0032][0033]
其中,di代表未知的尺度系数,pi代表投影矩阵,对于每个相机有一个固定的投影矩阵,代表该点所对应的投影矩阵pi的第k行。
[0034]
s40、对所述投影关系等式进行消元,得到所述二维坐标与三维坐标的齐次线性方程组。
[0035]
本实施例中,在根据所述投影矩阵建立手部关键点的所述二维坐标与三维坐标的投影关系等式之后,还需对所述投影关系等式进行消元,即将上述投影关系等式进行展开,然后将其转化为ui与vi分别与x及pi的关系,从而对所述投影关系等式进行消元,得到所述二维坐标与三维坐标的齐次线性方程组,具体的,对所述投影关系等式进行消元的一种实施方式为:
[0036][0037][0038]
将所有手部关键点的二维坐标数据按照上面两式堆叠得到一个齐次线性方程组ax=0的形式,其中a为关于ui,vi,pi的函数。
[0039]
s50、根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解,根据所述方程解确定所述手部关键点的三维坐标。
[0040]
本实施例中,在根据所述投影矩阵建立手部关键点的所述二维坐标与三维坐标的投影关系等式,并对所述投影关系等式进行消元,得到所述二维坐标与三维坐标的齐次线性方程组之后,根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,即通过迭代
计算求解所述齐次线性方程组的非零解,具体的,首先设置迭代次数,然后设置收敛条件,再对所述齐次线性方程组进行迭代计算,当迭代结果满足所述收敛条件后,即所述迭代结果满足预设要求,然后获取此时的方程解,再根据所述方程解确定所述手部关键点的三维坐标,具体的,由于求得的方程解x为齐次坐标方程解,将所述齐次坐标方程解的最后一项归一化为1,从而得到手部关键点的三维坐标。
[0041]
本实施例提供了一种通过二维图像的手部关键点的二维坐标转化为三维空间下的三维坐标的方法,首先获取二维图像上的手部关键点的二维坐标,获取相机的内参矩阵和外参矩阵,根据所述内参矩阵和外参矩阵计算投影矩阵;所述相机为所述二维图像的拍摄相机,根据所述投影矩阵建立手部关键点的所述二维坐标与三维坐标的投影关系等式,对所述投影关系等式进行消元,得到所述二维坐标与三维坐标的齐次线性方程组,根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解,根据所述方程解确定所述手部关键点的三维坐标,通过投影矩阵建立二维坐标与三维坐标的关系,再进行消元后迭代计算,能够使得迭代计算快速收敛至误差最小的手部关键点的三维坐标的估计值,从而提高手部关键点的三维坐标的准确率。
[0042]
在一个实施例中,所述根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,包括:
[0043]
设置一个趋向于零的位移标量、记作σ;
[0044]
设置方程解的初值x
(0)
,且使得所述方程解的初值x
(0)
满足||x
(0)
||=1;
[0045]
设置迭代次数从k=0开始;
[0046]
当所述迭代计算没有收敛,执行:
[0047]y(k+1)
=(a
t
a+σi)-1
x
(k)

[0048]
x
(k+1)
=y
(k+1)
/||x
(k+1)
||;
[0049]
μ
(k+1)
=(x
(k+1)
,(a
t
a+σi)x
(k+1)
);
[0050]
k=k+1;
[0051]
当所述迭代计算收敛,输出x
(k)
,μ
(k+1)

[0052]
本实施例中,在根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算时,本实施例采用一种快速的并能处理二维图像中的手部关键点的噪声的逆迭代算法,具体的,首先设置一个趋向于零的位移标量、记作σ,然后设置方程解的初值x
(0)
,且使得所述方程解的初值x
(0)
满足||x
(0)
||=1,再设置迭代次数从k=0开始;当所述迭代计算没有收敛时,执行{
[0053]y(k+1)
=(a
t
a+σi)-1
x
(k)
;x
(k+1)
=y
(k+1)
/||x
(k+1)
||;
[0054]
μ
(k+1)
=(x
(k+1)
,(a
t
a+σi)x
(k+1)
);k=k+1;
[0055]
},当所述迭代计算收敛时,输出x
(k)
,μ
(k+1)
,其中,a为关于二维坐标及投影矩阵的函数,另外,μ
(k+1)
=(x
(k+1)
,(a
t
a+σi)x
(k+1)
)对应为符号(a,b)的公式,表示进行向量的点积计算,即计算向量a和b的内积。从而对所述齐次线性方程组进行迭代计算,输出收敛后的三维坐标。
[0056]
在一个实施例中,所述根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解,包括:
[0057]
根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算;
[0058]
当迭代计算的迭代次数达到预设最大值时,获取最后一次的迭代计算的结果作为所述齐次线性方程组的方程解。
[0059]
本实施例中,在根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解的过程中,可以根据不同的应用需求配置不同的收敛条件作为所述预设要求,具体的,先根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,然后设置迭代次数的最大值,当迭代计算的迭代次数达到预设最大值时,获取最后一次的迭代计算的结果作为所述齐次线性方程组的方程解,从而确定不同场景下的收敛条件,提高收敛判断的准确性。
[0060]
在一个实施例中,所述根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解,包括:
[0061]
根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算;
[0062]
获取当前迭代计算的第一结果;
[0063]
获取前一次迭代计算的第二结果;
[0064]
若所述第一结果与第二结果的差值小于预设值,将所述第一结果作为所述齐次线性方程组的方程解。
[0065]
本实施例中,在根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解的过程中,可以根据不同的应用需求配置不同的收敛条件作为所述预设要求,具体的,根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算;获取当前迭代计算的第一结果;获取前一次迭代计算的第二结果;若所述第一结果与第二结果的差值小于预设值,将所述第一结果作为所述齐次线性方程组的方程解,即将每一次迭代计算得到的结果与上一次迭代计算得到的结果进行比较,当第一结果与第二结果的差值小于预设值,确定迭代收敛,然后将所述第一结果作为所述齐次线性方程组的方程解,从而确定不同场景下的收敛条件,提高收敛判断的准确性。
[0066]
在一个实施例中,所述相机的数量为至少两个,所述相机为单目灰度相机;所述获取相机的内参矩阵和外参矩阵,根据所述内参矩阵和外参矩阵计算投影矩阵,包括:
[0067]
分别获取每个单目灰度相机的内参矩阵和外参矩阵;
[0068]
根据所述内参矩阵和外参矩阵计算对应灰度单目相机的投影矩阵。
[0069]
本实施例中,所述相机的数量为至少两个,即所述相机的数量为两个及两个以上,所述相机为单目灰度相机;在获取相机的内参矩阵和外参矩阵时,由于是不同的相机,其参数各不相同,即分别获取每个单目灰度相机的内参矩阵和外参矩阵,并且在计算投影矩阵的过程中,基于不同的内参矩阵和外参矩阵计算对应的相机的投影矩阵,即根据所述内参矩阵和外参矩阵计算对应灰度单目相机的投影矩阵,从而准确地确定每个相机的投影矩阵,提高三维坐标转换的准确性。
[0070]
在一个实施例中,所述分别获取每个单目灰度相机的内参矩阵和外参矩阵,包括:
[0071]
分别获取每个单目灰度相机的相机标定算法;
[0072]
根据所述相机标定算法计算对应单目灰度相机的内参矩阵和外参矩阵。
[0073]
本实施例中,在分别获取每个单目灰度相机的内参矩阵和外参矩阵的过程中,由于相机的内参矩阵和外参矩阵需要通过计算而得到,具体的,分别获取每个单目灰度相机的相机标定算法,再根据所述相机标定算法计算对应单目灰度相机的内参矩阵和外参矩
阵,从而准确地确定不同相机的内参矩阵和外参矩阵,进而准确地确定每个相机的投影矩阵,以提高三维坐标转换的准确性。
[0074]
在一个实施例中,所述根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解,包括:
[0075]
将所述齐次线性方程组输入至图形处理器,基于所述图形处理器根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解。
[0076]
本实施例中,在根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解的过程中,本实施例迭代计算的过程仅包括矩阵和向量的乘除法及向量归一化计算,不需要计算矩阵求逆,例如,对于上述的y
(k+1)
=(a
t
a+σi)-1
x
(k)
的计算,将其转化为对(a
t
a+σi)y
(k+1)
=x
(k)
的计算求解,避免矩阵的求逆计算,因此将所述齐次线性方程组输入至图形处理器,基于所述图形处理器根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,通过图形处理器的算力对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解,无须计算所有特征值,加快收敛速度,从而提高迭代计算的效率。
[0077]
参照图3,本技术还提供一种手部关键点的三维坐标构建装置,包括:
[0078]
二维坐标模块10,用于获取二维图像上的手部关键点的二维坐标;
[0079]
相机参数模块20,用于获取相机的内参矩阵和外参矩阵,根据所述内参矩阵和外参矩阵计算投影矩阵;所述相机为所述二维图像的拍摄相机;
[0080]
坐标投影模块30,用于根据所述投影矩阵建立手部关键点的所述二维坐标与三维坐标的投影关系等式;
[0081]
对齐消元模块40,用于对所述投影关系等式进行消元,得到所述二维坐标与三维坐标的齐次线性方程组;
[0082]
迭代计算模块50,用于根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解,根据所述方程解确定所述手部关键点的三维坐标。
[0083]
如上所述,可以理解地,本技术中提出的所述手部关键点的三维坐标构建装置的各组成部分可以实现如上所述手部关键点的三维坐标构建方法任一项的功能。
[0084]
在一个实施例中,所述根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,包括:
[0085]
设置一个趋向于零的位移标量、记作σ;
[0086]
设置方程解的初值x
(0)
,且使得所述方程解的初值x
(0)
满足||x
(0)
||=1;
[0087]
设置迭代次数从k=0开始;
[0088]
当所述迭代计算没有收敛,执行:
[0089]y(k+1)
=(a
t
a+σi)-1
x
(k)

[0090]
x
(k+1)
=y
(k+1)
/||x
(k+1)
||;
[0091]
μ
(k+1)
=(x
(k+1)
,(a
t
a+σi)x
(k+1)
);
[0092]
k=k+1;其中,a为关于所述二维坐标及投影矩阵的函数;
[0093]
当所述迭代计算收敛,输出x
(k)
,μ
(k+1)

[0094]
在一个实施例中,所述根据预设的逆迭代算法对所述齐次线性方程组进行迭代计
算,获取迭代结果满足预设要求时的方程解,包括:
[0095]
根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算;
[0096]
当迭代计算的迭代次数达到预设最大值时,获取最后一次的迭代计算的结果作为所述齐次线性方程组的方程解。
[0097]
在一个实施例中,所述根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解,包括:
[0098]
根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算;
[0099]
获取当前迭代计算的第一结果;
[0100]
获取前一次迭代计算的第二结果;
[0101]
若所述第一结果与第二结果的差值小于预设值,将所述第一结果作为所述齐次线性方程组的方程解。
[0102]
在一个实施例中,所述相机的数量为至少两个,所述相机为单目灰度相机;所述获取相机的内参矩阵和外参矩阵,根据所述内参矩阵和外参矩阵计算投影矩阵,包括:
[0103]
分别获取每个单目灰度相机的内参矩阵和外参矩阵;
[0104]
根据所述内参矩阵和外参矩阵计算对应灰度单目相机的投影矩阵。
[0105]
在一个实施例中,所述分别获取每个单目灰度相机的内参矩阵和外参矩阵,包括:
[0106]
分别获取每个单目灰度相机的相机标定算法;
[0107]
根据所述相机标定算法计算对应单目灰度相机的内参矩阵和外参矩阵。
[0108]
在一个实施例中,所述根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解,包括:
[0109]
将所述齐次线性方程组输入至图形处理器,基于所述图形处理器根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解。
[0110]
参照图4,本技术实施例中还提供一种计算机设备,该计算机设备可以是移动终端,其内部结构可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和显示装置及输入装置。其中,该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机设备的显示装置用于显示离线应用。该计算机设备的输入装置用于接收用户在离线应用的输入。该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质。该非易失性存储介质存储有操作系统、计算机程序和数据库。该计算机设备的数据库用于存放原始数据。该计算机程序被处理器执行时以实现一种手部关键点的三维坐标构建方法。
[0111]
上述处理器执行上述的手部关键点的三维坐标构建方法,包括:获取二维图像上的手部关键点的二维坐标;获取相机的内参矩阵和外参矩阵,根据所述内参矩阵和外参矩阵计算投影矩阵;所述相机为所述二维图像的拍摄相机;根据所述投影矩阵建立手部关键点的所述二维坐标与三维坐标的投影关系等式;对所述投影关系等式进行消元,得到所述二维坐标与三维坐标的齐次线性方程组;根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解,根据所述方程解确定所述手部关键点的三维坐标。
[0112]
所述计算机设备提供了一种通过二维图像的手部关键点的二维坐标转化为三维空间下的三维坐标的方法,首先获取二维图像上的手部关键点的二维坐标,获取相机的内
参矩阵和外参矩阵,根据所述内参矩阵和外参矩阵计算投影矩阵;所述相机为所述二维图像的拍摄相机,根据所述投影矩阵建立手部关键点的所述二维坐标与三维坐标的投影关系等式,对所述投影关系等式进行消元,得到所述二维坐标与三维坐标的齐次线性方程组,根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解,根据所述方程解确定所述手部关键点的三维坐标,通过投影矩阵建立二维坐标与三维坐标的关系,再进行消元后迭代计算,能够使得迭代计算快速收敛至误差最小的手部关键点的三维坐标的估计值,从而提高从二维坐标转化为手部关键点的三维坐标的准确率。
[0113]
本技术的实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被所述处理器执行时实现一种手部关键点的三维坐标构建方法,包括步骤:获取二维图像上的手部关键点的二维坐标;获取相机的内参矩阵和外参矩阵,根据所述内参矩阵和外参矩阵计算投影矩阵;所述相机为所述二维图像的拍摄相机;根据所述投影矩阵建立手部关键点的所述二维坐标与三维坐标的投影关系等式;对所述投影关系等式进行消元,得到所述二维坐标与三维坐标的齐次线性方程组;根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解,根据所述方程解确定所述手部关键点的三维坐标。
[0114]
所述计算机可读存储介质提供了一种通过二维图像的手部关键点的二维坐标转化为三维空间下的三维坐标的方法,首先获取二维图像上的手部关键点的二维坐标,获取相机的内参矩阵和外参矩阵,根据所述内参矩阵和外参矩阵计算投影矩阵;所述相机为所述二维图像的拍摄相机,根据所述投影矩阵建立手部关键点的所述二维坐标与三维坐标的投影关系等式,对所述投影关系等式进行消元,得到所述二维坐标与三维坐标的齐次线性方程组,根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解,根据所述方程解确定所述手部关键点的三维坐标,通过投影矩阵建立二维坐标与三维坐标的关系,再进行消元后迭代计算,能够使得迭代计算快速收敛至误差最小的手部关键点的三维坐标的估计值,从而提高手部关键点的三维坐标的准确率。
[0115]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0116]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该
要素的过程、装置、物品或者方法中还存在另外的相同要素。
[0117]
以上所述仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。

技术特征:
1.一种手部关键点的三维坐标构建方法,其特征在于,包括:获取二维图像上的手部关键点的二维坐标;获取相机的内参矩阵和外参矩阵,根据所述内参矩阵和外参矩阵计算投影矩阵;所述相机为所述二维图像的拍摄相机;根据所述投影矩阵建立手部关键点的所述二维坐标与三维坐标的投影关系等式;对所述投影关系等式进行消元,得到所述二维坐标与三维坐标的齐次线性方程组;根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解,根据所述方程解确定所述手部关键点的三维坐标。2.根据权利要求1所述的手部关键点的三维坐标构建方法,其特征在于,所述根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,包括:设置一个趋向于零的位移标量、记作σ;设置方程解的初值x
(0)
,且使得所述方程解的初值x
(0)
满足||x
(0)
||=1;设置迭代次数从k=0开始;当所述迭代计算没有收敛,执行:y
(k+1)
=(a
t
a+σi)-1
x
(k)
;x
(k+1)
=y
(k+1)
/||x
(k+1)
||;μ
(k+1)
=(x
(k+1)
,(a
t
a+σi)x
(k+1)
);k=k+1;其中,a为关于所述二维坐标及投影矩阵的函数;当所述迭代计算收敛,输出x
(k)
,μ
(k+1)
。3.根据权利要求1所述的手部关键点的三维坐标构建方法,其特征在于,所述根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解,包括:根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算;当迭代计算的迭代次数达到预设最大值时,获取最后一次的迭代计算的结果作为所述齐次线性方程组的方程解。4.根据权利要求1所述的手部关键点的三维坐标构建方法,其特征在于,所述根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解,包括:根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算;获取当前迭代计算的第一结果;获取前一次迭代计算的第二结果;若所述第一结果与第二结果的差值小于预设值,将所述第一结果作为所述齐次线性方程组的方程解。5.根据权利要求1所述的手部关键点的三维坐标构建方法,其特征在于,所述相机的数量为至少两个,所述相机为单目灰度相机;所述获取相机的内参矩阵和外参矩阵,根据所述内参矩阵和外参矩阵计算投影矩阵,包括:分别获取每个单目灰度相机的内参矩阵和外参矩阵;根据所述内参矩阵和外参矩阵计算对应灰度单目相机的投影矩阵。6.根据权利要求5所述的手部关键点的三维坐标构建方法,其特征在于,所述分别获取
每个单目灰度相机的内参矩阵和外参矩阵,包括:分别获取每个单目灰度相机的相机标定算法;根据所述相机标定算法计算对应单目灰度相机的内参矩阵和外参矩阵。7.根据权利要求1所述的手部关键点的三维坐标构建方法,其特征在于,所述根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解,包括:将所述齐次线性方程组输入至图形处理器,基于所述图形处理器根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解。8.一种手部关键点的三维坐标构建装置,其特征在于,包括:二维坐标模块,用于获取二维图像上的手部关键点的二维坐标;相机参数模块,用于获取相机的内参矩阵和外参矩阵,根据所述内参矩阵和外参矩阵计算投影矩阵;所述相机为所述二维图像的拍摄相机;坐标投影模块,用于根据所述投影矩阵建立手部关键点的所述二维坐标与三维坐标的投影关系等式;对齐消元模块,用于对所述投影关系等式进行消元,得到所述二维坐标与三维坐标的齐次线性方程组;迭代计算模块,用于根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解,根据所述方程解确定所述手部关键点的三维坐标。9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述手部关键点的三维坐标构建方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述手部关键点的三维坐标构建方法的步骤。

技术总结
本申请涉及手部识别领域,特别是涉及到一种手部关键点的三维坐标构建方法、装置、计算机设备及存储介质,所述方法包括:获取二维图像上的手部关键点的二维坐标;获取相机的内参矩阵和外参矩阵,根据所述内参矩阵和外参矩阵计算投影矩阵;所述相机为所述二维图像的拍摄相机;根据所述投影矩阵建立手部关键点的所述二维坐标与三维坐标的投影关系等式;对所述投影关系等式进行消元,得到所述二维坐标与三维坐标的齐次线性方程组;根据预设的逆迭代算法对所述齐次线性方程组进行迭代计算,获取迭代结果满足预设要求时的方程解,根据所述方程解确定所述手部关键点的三维坐标。本申请能够提高手部关键点二维坐标转为三维坐标的准确度。高手部关键点二维坐标转为三维坐标的准确度。高手部关键点二维坐标转为三维坐标的准确度。


技术研发人员:孙立晔 吴侃之
受保护的技术使用者:广州视源人工智能创新研究院有限公司
技术研发日:2022.03.08
技术公布日:2023/9/20
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐