一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种三维人体姿态估计方法、系统、存储介质和电子设备

2022-12-10 00:26:10 来源:中国专利 TAG:


1.本发明涉及人体姿态估计技术领域,尤其涉及一种三维人体姿态估计方法、系统、存储介质和电子设备。


背景技术:

2.当前的三维人体姿态估计方法通常可以分为两步。第一步,生成所有视点相机中的二维人体姿态。二维人体姿态估计可分为自底向上方法和自上而下方法,一般来说,受益于人体实例信息,自上而下的方法表现出更高的平均精度。自下而上方法则是通过低级特征位置,将低级特征进行组装,但是准确快速地组装它们具有一定挑战性。该领域著名的算法openpose引入了部分亲和域(paf)来帮助解析肢体上的低级关键点,从而获得高精度的实时性能。第二步,通过不同视点的坐标系变换关系,结合视点二维关键点,通过双目立体视觉原理计算三维人体关键点坐标。在这一步,需要知道不同视点之间的位姿关系和相机内参。所以,在恢复三维关键点坐标时还需提前进行相机标定,同时,标定精度会对三维关键点坐标精度产生较大影响。
3.然而现有技术中,存在多相机同步延迟较高、在高帧率情况下相机数据写入和处理效率低、多相机系统外参标定累积误差高、标定步骤繁琐、人体姿态估计对肢体遮挡识别的鲁棒性较低等缺陷。因此,亟需提供一种技术方案解决现有技术中存在的问题。


技术实现要素:

4.为解决上述技术问题,本发明提供了一种三维人体姿态估计方法、系统、存储介质和电子设备。
5.本发明的一种三维人体姿态估计方法的技术方案如下:
6.控制每台相机柱上放置的每台相机同步采集待测人体的原始图像数据,并利用训练后的二维姿态估计模型,得到每个原始图像数据对应的二维人体姿态数据;其中,所有的相机柱呈环形布置;
7.根据每台相机柱上的所有相机的目标相机内参、目标相机外参和二维人体姿态数据,得到所述待测人体分别在每台相机柱视点下的原始三维人体姿态数据;
8.对每个原始三维人体姿态数据进行三维骨架关节长度校验,得到多个目标三维人体姿态数据,并对所有的目标三维人体姿态数据进行三维人体姿态融合,得到所述待测人体的三维人体姿态估计结果。
9.本发明的一种三维人体姿态估计方法的有益效果如下:
10.本发明的方法解决了多相机低延迟同步、多相机的自动化准确标定、准确人体姿态三维重建等问题,能够实现对三维人体姿态进行精准估计。
11.在上述方案的基础上,本发明的一种三维人体姿态估计方法还可以做如下改进。
12.进一步,获取每台相机的目标相机内参的过程为:
13.控制每台相机分别对设置在目标区域的中心的标定板进行多次同步采集,得到每
台相机所采集的多个原始相机标定数据;其中,所述目标区域通过所有的相机柱环形布置所构成;
14.利用棋盘格角点检测算法,对所有的原始相机标定数据进行检测,将每个符合预设条件的原始相机标定数据确定为目标相机标定数据,并得到每个目标相机标定数据所对应的角点位置信息;
15.根据任一相机对应的所有的角点位置信息,对所述任一相机进行单目相机内参标定,得到所述任一相机的目标相机内参,直至得到每台相机的目标相机内参。
16.进一步,获取每台相机的目标相机外参的过程为:
17.按照预设标定条件,将所有相机分为多个标定组,并确定每个标定组的原点相机;
18.对每个标定组中的每对相邻相机分别进行双目外参标定,得到每台相机相对于对应标定组的原点相机的原始相机外参,并采用lm算法分别对每台相机的原始相机外参进行最小化重投影误差优化,得到每台相机的第一优化相机外参;
19.采用局部集束调整分别对每个标定组的每台相机的第一优化相机外参进行迭代优化,得到每台相机相对于对应标定组的组内优化相机外参;
20.其中,局部集束调整的过程为:采用代价函数的最小二乘优化累计误差,以对每个标定组内的第一优化相机外参进行迭代优化;
21.所述代价函数为:h(ti,v
ij
)=kit
ipj
,v
ij
为第i个相机像素坐标系下第j个角点的坐标,ti为第i个相机与原点相机坐标系的变换关系,ki为第i个相机的目标相机内参,m为对应标定组的所有相机的数量,n为对应标定组的共视角点的数量,pj为第j个角点在原点相机坐标系下的三维坐标;
22.将每个标定组中的所有相机的相机坐标转换为相对于对应标定组的原点相机的坐标,并确定第一标定组的原点相机为全局原点相机;
23.基于第一预设公式,将每台相机的组内优化相机外参转换为相对于所述全局原点相机的目标相机外参;其中,第一预设公式为:
24.为第1个标定组的第1个相机,为第5个标定组的第1个相机,为第k个标定组的第1个相机,为第k个标定组的第i个相机,表示相机c2相对于相机c1坐标系的刚体变换关系。
25.进一步,所述根据任一相机对应的所有的角点位置信息,对所述任一相机进行单目相机内参标定,得到所述任一相机的目标相机内参,包括:
26.根据张正友平面标定法和所述任一相机对应的所有的角点位置信息,对所述任一相机进行单目相机内参标定,得到所述任一相机的原始相机内参;
27.基于pnp算法,计算所述任一相机对应的每个目标相机标定数据中的棋盘格与相机坐标系的第一转换关系,并根据所述第一转换关系和所述任一相机的原始相机内参,得到所述任一相机的转换相机内参;
28.采用lm算法对所述任一相机的转换相机内参进行最小化重投影误差优化,得到所
述任一相机的目标相机内参。
29.进一步,所述原始三维人体姿态数据包括:多个关节点三维坐标和多个关节点可见度信息;
30.所述根据每台相机柱上的所有相机的目标相机内参、目标相机外参和二维人体姿态数据,得到所述待测人体分别在每台相机柱视点下的原始三维人体姿态数据,包括:
31.根据任一相机柱上的所有相机的目标相机内参、目标相机外参和二维人体姿态数据,控制所述任一相机柱的所有相机进行三角测量,得到所述待测人体分别在所述任一相机柱视点下的多个关节点三维坐标和多个关节点可见度信息,直至得到所述待测人体分别在每台相机柱视点下的多个关节点三维坐标和多个关节点可见度信息。
32.进一步,所述对所有的目标三维人体姿态数据进行三维人体姿态融合,得到所述待测人体的三维人体姿态估计结果,包括:
33.根据融合骨架计算公式、每台相机对应的目标相机外参和所有的目标三维人体姿态数据,得到所述待测人体的每个关节点的融合骨架数据;其中,所述融合骨架计算公式为:为第s个关节点的融合骨架数据,为第i个视点对应的三维骨架的第s个关节坐标,为对应的权重,,θi∈(0,90),为关节点可见度信息,zi为深度值,θi为关节角;
34.根据所述待测人体的所有关节点的融合骨架数据和参数化人体模型,得到所述待测人体的三维人体姿态估计结果;其中,所述参数化人体模型为:e
fused
(o,β)=ω
proepro
ω
shapeeshape
ω
geoegeo
,e
pro
表示将每个视图上的二维投影对准到三维关节,e
shape
表示对人体形态进行预处理,e
geo
表示多视几何一致性对关节点进行约束,ω
pro
为e
pro
对应的第一平衡权重,ω
shape
为e
shape
对应的第二平衡权重,ω
geo
为e
geo
对应的第三平衡权重,θ为控制骨骼长度,β为控制每个关节的姿态。
35.本发明的一种三维人体姿态估计系统的技术方案如下:
36.包括:处理模块、生成模块和估计模块;
37.所述处理模块用于:控制每台相机柱上放置的每台相机同步采集待测人体的原始图像数据,并利用训练后的二维姿态估计模型,得到每个原始图像数据对应的二维人体姿态数据;其中,所有的相机柱呈环形布置;
38.所述生成模块用于:根据每台相机柱上的所有相机的目标相机内参、目标相机外参和二维人体姿态数据,得到所述待测人体分别在每台相机柱视点下的原始三维人体姿态数据;
39.所述估计模块用于:对每个原始三维人体姿态数据进行三维骨架关节长度校验,得到多个目标三维人体姿态数据,并对所有的目标三维人体姿态数据进行三维人体姿态融合,得到所述待测人体的三维人体姿态估计结果。
40.本发明的一种三维人体姿态估计系统的有益效果如下:
41.本发明的系统解决了多相机低延迟同步、多相机的自动化准确标定、准确人体姿态三维重建等问题,能够实现对三维人体姿态进行精准估计。
42.在上述方案的基础上,本发明的一种三维人体姿态估计系统还可以做如下改进。
43.进一步,获取每台相机的目标相机内参的过程为:
44.控制每台相机分别对设置在目标区域的中心的标定板进行多次同步采集,得到每台相机所采集的多个原始相机标定数据;其中,所述目标区域通过所有的相机柱环形布置所构成;
45.利用棋盘格角点检测算法,对所有的原始相机标定数据进行检测,将每个符合预设条件的原始相机标定数据确定为目标相机标定数据,并得到每个目标相机标定数据所对应的角点位置信息;
46.根据任一相机对应的所有的角点位置信息,对所述任一相机进行单目相机内参标定,得到所述任一相机的目标相机内参,直至得到每台相机的目标相机内参。
47.本发明的一种存储介质的技术方案如下:
48.存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如本发明的一种三维人体姿态估计方法的步骤。
49.本发明的一种电子设备的技术方案如下:
50.包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,使所述计算机执行如本发明的一种三维人体姿态估计方法的步骤。
附图说明
51.图1为本发明实施例的一种三维人体姿态估计方法的流程示意图;
52.图2为本发明实施例的一种三维人体姿态估计方法中的相机采集区域示意图;
53.图3为本发明实施例的一种三维人体姿态估计方法中的硬件系统示意图;
54.图4为本发明实施例的一种三维人体姿态估计方法中的相机分组标定示意图;
55.图5为本发明实施例的一种三维人体姿态估计系统的结构示意图。
具体实施方式
56.如图1所示,本发明实施例的一种三维人体姿态估计方法,包括如下步骤:
57.s1、控制每台相机柱上放置的每台相机同步采集待测人体的原始图像数据,并利用训练后的二维姿态估计模型,得到每个原始图像数据对应的二维人体姿态数据。
58.其中,如图2所示,本实施例中采用32台高帧率工业相机,每两个相机安装在一个相机柱上,每两个相机柱为一个相机阵列,每台相机阵列通过有源混合光纤数据线与服务器连接,8台服务器通过一台以太网交换器组网。分别连接一台服务器(共八台服务器(第一服务器31至第八服务器38),其中一台为主服务器,另外七台为从服务器),所有的相机柱呈环形布置,形成一个目标区域(拍摄区域)。具体地,如图3所示,整个系统配置有两台定制的同步信号发射装置(第一同步装置10和第二同步装置20),每台同步装置与16台相机通过专门的触发线缆连接,同时两台同步装置做级联,实现32台相机(第一相机101至第三十二相机132)的同步触发。整个系统采集区域由专用幕布遮盖,并配置提供多种光源的光照系统。
59.其中,待测人体位于目标区域的中心。原始图像数据为:相机所拍摄的待测人体的图像数据。训练后的二维姿态估计模型为:预先训练好的人体姿态估计神经网络模型,用于
估计待测人体在每台相机视点下的二维人体姿态。
60.需要说明的是,对于二维姿态估计模型,本实施例中采用开源人体姿态估计框架openpose的主干神经网络结构进行优化,并使用构建的数据集进行训练。在实际使用中,使用训练后的二维姿态估计模型用于多相机人体姿态估计,相比默认的openpose预训练模型有更好的表现。
61.s2、根据每台相机柱上的所有相机的目标相机内参、目标相机外参和二维人体姿态数据,得到所述待测人体分别在每台相机柱视点下的原始三维人体姿态数据。
62.其中,目标相机内参为:经过多相机标定后所得到的相机内参。目标相机外参为:经过多相机标定后所得到的相机外参。原始三维人体姿态为:根据相机柱上的所有相机的相机内参、相机外参以及二维人体姿态数据所生成的三维人体姿态。
63.s3、对每个原始三维人体姿态数据进行三维骨架关节长度校验,得到多个目标三维人体姿态数据,并对所有的目标三维人体姿态数据进行三维人体姿态融合,得到所述待测人体的三维人体姿态估计结果。
64.其中,对每个原始三维人体姿态数据进行三维骨架关节长度校验的过程为:使用骨架先验长度模板针对每个视角的三维骨架关节长度进行检测,排除坐标异常的关节点,若检测到异常关节点,则将该关节点的可见度置为0。
65.其中,三维人体姿态估计结果为:待测人体的可视化三维人体姿态。
66.需要说明的是,用户可在进行姿态估计前,根据待测人体的实际情况进行相应的模板。
67.较优地,获取每台相机的目标相机内参的过程为:
68.控制每台相机分别对设置在目标区域的中心的标定板进行多次同步采集,得到每台相机所采集的多个原始相机标定数据;其中,所述目标区域通过所有的相机柱环形布置所构成。
69.具体地,采用平面棋盘格作为标定工具,在所有视点相机同步触发后,标定人员手持棋盘格标定板在相机阵列(目标区域)中心旋转一圈,同时,旋转过程中将标定板做小范围的上下平移、小角度的倾斜和旋转。每台相机采集的图片以“相机编号 帧编号”命名,触发器每发射一个方波信号,所有相机同步拍摄一次,帧编号同时增加。标定软件通过采集的图片帧编号相同来确保不同相机的标定数据同步。
70.需要说明的是,控制所有相机同步采集标定图像的次数不限,可根据用户需求进行设定。
71.利用棋盘格角点检测算法,对所有的原始相机标定数据进行检测,将每个符合预设条件的原始相机标定数据确定为目标相机标定数据,并得到每个目标相机标定数据所对应的角点位置信息。
72.其中,使用开源计算机视觉算法库opencv提供的棋盘格角点检测算法对所有的原始相机标定数据进行检测,其具体检测过程为现有技术,在此不过多赘述。
73.其中,预设条件为对应的棋盘格角点检测算法所设定的,用于筛选有效的相机标定数据。
74.根据任一相机对应的所有的角点位置信息,对所述任一相机进行单目相机内参标定,得到所述任一相机的目标相机内参,直至得到每台相机的目标相机内参。
75.具体地,根据张正友平面标定法和所述任一相机对应的所有的角点位置信息,对所述任一相机进行单目相机内参标定,得到所述任一相机的原始相机内参。
76.其中,采用张正友平面标定法标定内参时,假设不存在畸变。
77.基于pnp算法,计算所述任一相机对应的每个目标相机标定数据中的棋盘格与相机坐标系的第一转换关系,并根据所述第一转换关系和所述任一相机的原始相机内参,得到所述任一相机的转换相机内参。
78.其中,第一转换关系为:棋盘格与相机坐标系的刚体变换关系。
79.采用lm算法对所述任一相机的转换相机内参进行最小化重投影误差优化,得到所述任一相机的目标相机内参。
80.需要说明的是,张正有平面标定法、pnp算法以及lm算法均为现有技术,在此不过多赘述。
81.较优地,获取每台相机的目标相机外参的过程为:
82.按照预设标定条件,将所有相机分为多个标定组,并确定每个标定组的原点相机。
83.其中,预设标定条件为:将所有相机分为5个标定组,每个标定组8台相机,具体分组示意图如图4所示。
84.对每个标定组中的每对相邻相机分别进行双目外参标定,得到每台相机相对于对应标定组的原点相机的原始相机外参,并采用lm算法分别对每台相机的原始相机外参进行最小化重投影误差优化,得到每台相机的第一优化相机外参。
85.具体地,在每个标定组中分别对每对相邻相机进行双目外参标定,并递推得到标定组中的每台相机相对于组内的原点相机的原始相机外参。其中,双目外参标定的流程为:匹配两台相机帧编号相同的角点对、使用试位法计算去畸变后的角点坐标、使用ransanc算法求解本质矩阵e,分解e矩阵得到初始外参、使用lm算法最小化重投影误差,优化原始相机外参,得到每台相机的第一优化相机外参。
86.采用局部集束调整分别对每个标定组的每台相机的第一优化相机外参进行迭代优化,得到每台相机相对于对应标定组的组内优化相机外参。
87.其中,局部集束调整的过程为:采用代价函数的最小二乘优化累计误差,以对每个标定组内的第一优化相机外参进行迭代优化。
88.所述代价函数为:h(ti,v
ij
)=kitipj,v
ij
为第i个相机像素坐标系下第j个角点的坐标,ti为第i个相机与原点相机坐标系的变换关系,ki为第i个相机的目标相机内参,m为对应标定组的所有相机的数量,n为对应标定组的共视角点的数量,pj为第j个角点在原点相机坐标系下的三维坐标。
89.需要说明的是,共视角点是指:在同一时间点,不同视点识别到的相同角点。在本实施例中,共视角点的数量为一个标定组的相机中,所有存在共视角点标定帧的共视角点综合。此外,在求解时,利用schur消元来加速计算。迭代结束后,得到每台相机相对于对应标定组的组内优化相机外参。
90.将每个标定组中的所有相机的相机坐标转换为相对于对应标定组的原点相机的坐标,并确定第一标定组的原点相机为全局原点相机。
91.其中,第一标定组的原点相机为第一相机。
92.基于第一预设公式,将每台相机的组内优化相机外参转换为相对于所述全局原点相机的目标相机外参。其中,第一预设公式为:
93.为第1个标定组的第1个相机,为第5个标定组的第1个相机,为第k个标定组的第1个相机,为第k个标定组的第i个相机;t(c1,c2)表示相机c2相对于相机c1坐标系的刚体变换关系。
94.较优地,所述原始三维人体姿态数据包括:多个关节点三维坐标和多个关节点可见度信息。
95.所述根据每台相机柱上的所有相机的目标相机内参、目标相机外参和二维人体姿态数据,得到所述待测人体分别在每台相机柱视点下的原始三维人体姿态数据,包括:
96.根据任一相机柱上的所有相机的目标相机内参、目标相机外参和二维人体姿态数据,控制所述任一相机柱的所有相机进行三角测量,得到所述待测人体分别在所述任一相机柱视点下的多个关节点三维坐标和多个关节点可见度信息,直至得到所述待测人体分别在每台相机柱视点下的多个关节点三维坐标和多个关节点可见度信息。
97.其中,检测到的人体关节点的关节点可见度信息为1,未检测到的人体关节点的关节点可见度信息为0。
98.较优地,所述对所有的目标三维人体姿态数据进行三维人体姿态融合,得到所述待测人体的三维人体姿态估计结果,包括:
99.根据融合骨架计算公式、每台相机对应的目标相机外参和所有的目标三维人体姿态数据,得到所述待测人体的每个关节点的融合骨架数据;其中,所述融合骨架计算公式为:为第s个关节点的融合骨架数据,为第i个视点对应的三维骨架的第s个关节坐标,为对应的权重,,θi∈(0,90),为关节点可见度信息,zi为深度值,θi为关节角。
100.需要说明的是,深度值为该关节点到相机的距离,关节角为关节面与视点主光轴之间的夹角。其中,ti为第i个相机与原点相机坐标系的变换关系;i∈[1,16]。由于训练的模型包含25个人体关节点,因此s∈[1,25]。
[0101]
根据所述待测人体的所有关节点的融合骨架数据和参数化人体模型,得到所述待测人体的三维人体姿态估计结果;其中,所述参数化人体模型为:e
fused
(θ,β)=ω
proepro
ω
shapeeshape
ω
geoegeo
,e
pro
表示将每个视图上的二维投影对准到三维关节,e
shape
表示对人体形态进行预处理,e
geo
表示多视几何一致性对关节点进行约束,ω
pro
为e
pro
对应的第一平衡权重,ω
shape
为e
shape
对应的第二平衡权重,ω
geo
为e
geo
对应的第三平衡权重,θ为控制骨骼长度,β为控制每个关节的姿态。
[0102]
本实施例的技术方案解决了多相机低延迟同步、多相机的自动化准确标定、准确人体姿态三维重建等问题,能够实现对三维人体姿态进行精准估计。
[0103]
如图2所示,本发明实施例的一种三维人体姿态估计系统200,包括:处理模块210、生成模块220和估计模块230;
[0104]
所述处理模块210用于:控制每台相机柱上放置的每台相机同步采集待测人体的原始图像数据,并利用训练后的二维姿态估计模型,得到每个原始图像数据对应的二维人体姿态数据;其中,所有的相机柱呈环形布置;
[0105]
所述生成模块220用于:根据每台相机柱上的所有相机的目标相机内参、目标相机外参和二维人体姿态数据,得到所述待测人体分别在每台相机柱视点下的原始三维人体姿态数据;
[0106]
所述估计模块230用于:对每个原始三维人体姿态数据进行三维骨架关节长度校验,得到多个目标三维人体姿态数据,并对所有的目标三维人体姿态数据进行三维人体姿态融合,得到所述待测人体的三维人体姿态估计结果。
[0107]
较优地,获取每台相机的目标相机内参的过程为:
[0108]
控制每台相机分别对设置在目标区域的中心的标定板进行多次同步采集,得到每台相机所采集的多个原始相机标定数据;其中,所述目标区域通过所有的相机柱环形布置所构成;
[0109]
利用棋盘格角点检测算法,对所有的原始相机标定数据进行检测,将每个符合预设条件的原始相机标定数据确定为目标相机标定数据,并得到每个目标相机标定数据所对应的角点位置信息;
[0110]
根据任一相机对应的所有的角点位置信息,对所述任一相机进行单目相机内参标定,得到所述任一相机的目标相机内参,直至得到每台相机的目标相机内参。
[0111]
本实施例的技术方案解决了多相机低延迟同步、多相机的自动化准确标定、准确人体姿态三维重建等问题,能够实现对三维人体姿态进行精准估计。
[0112]
上述关于本实施例的一种三维人体姿态估计系统200中的各参数和各个模块实现相应功能的步骤,可参考上文中关于一种三维人体姿态估计方法的实施例中的各参数和步骤,在此不做赘述。
[0113]
本发明实施例提供的一种存储介质,包括:存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如一种三维人体姿态估计方法的步骤,具体可参考上文中一种三维人体姿态估计方法的实施例中的各参数和步骤,在此不做赘述。
[0114]
计算机存储介质例如:优盘、移动硬盘等。
[0115]
本发明实施例提供的一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,使所述计算机执行如一种三维人体姿态估计方法的步骤,具体可参考上文中一种三维人体姿态估计方法的实施例中的各参数和步骤,在此不做赘述。
[0116]
所属技术领域的技术人员知道,本发明可以实现为方法、系统、存储介质和电子设备。
[0117]
因此,本发明可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。可
以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram),只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献