一种人体姿态生成方法及其系统[发明专利]
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 202011369283.9
(22)申请日 2020.11.30
(71)申请人 成都市谛视科技有限公司
地址 610094 四川省成都市中国(四川)自
由贸易试验区成都高新区剑南大道中
段716号1栋27层04、05号
(72)发明人 唐浩 范宇航
(74)专利代理机构 成都市集智汇华知识产权代
理事务所(普通合伙) 51237
代理人 罗艳
(51)Int.Cl.
G06K 9/00(2006.01)
G06K 9/46(2006.01)
G06K 9/62(2006.01)
G06T 7/80(2017.01)
G06T 7/90(2017.01)G06F 17/16(2006.01)G06N 3/04(2006.01)
(54)发明名称一种人体姿态生成方法及其系统(57)摘要本发明公开了一种人体姿态生成方法及其系统,包括:获取多信道的同步视频流数据;逐帧抓取同步视频流数据包含的相同帧的行人图像集;通过对行人图像集进行2D骨骼关键点检测并生成行人的2D骨骼关键点坐标及其置信度;基于所述摄像单元的投影矩阵、2D骨骼关键点坐标及其置信度构建坐标转换矩阵,并利用三角测量算法生成人体姿态信息。
本发明通过计算2D骨骼关键点的坐标及其置信度,建立初始坐标转换矩阵的同时基于置信度更新初始坐标转换矩阵中各坐标的权重,避免因多个摄像单元采集的图像的2D骨骼关键点被遮挡程度不同而导致空间3D坐
标计算结果严重偏离真实值的问题。
权利要求书2页 说明书5页 附图2页CN 112183506 A 2021.01.05
C N 112183506
A
1.一种人体姿态生成方法,其特征在于,包括:
S1:基于多个摄像单元获取多信道的同步视频流数据;
S2:逐帧抓取所述同步视频流数据包含的相同帧的行人图像集;
S3:通过对所述行人图像集进行2D骨骼关键点检测并生成行人的2D骨骼关键点坐标及其置信度;
S4:基于所述摄像单元的投影矩阵、所述2D骨骼关键点坐标及其置信度构建坐标转换矩阵,并利用三角测量算法生成人体姿态信息。
2.根据权利要求1所述的人体姿态生成方法,其特征在于,所述S4包括:
基于所述投影矩阵和所述2D骨骼关键点坐标构建初始转换矩阵;
基于所述2D骨骼关键点坐标对应的置信度更新所述初始转换矩阵中各2D骨骼关键点坐标的权重并生成所述坐标转换矩阵;
利用公式(A*W)×Y=0计算空间3D坐标并生成人体姿态信息,其中,A为所述初始转换矩阵,W为所述2D骨骼关键点坐标对应的置信度,Y为所述空间3D坐标,(A*W)为所述坐标转换矩阵。
3.根据权利要求2所述的人体姿态生成方法,其特征在于,所述S3包括:
构建用于生成所述2D骨骼关键点坐标的神经网络模型;
基于训练样本集和所述神经网络模型构建回归模型,训练所述神经网络模型;
将所述行人图像集中包含的多个行人图像进行尺寸一致化后输入训练后的所述神经网络模型,获取行人的2D骨骼关键点坐标及其置信度。
4.根据权利要求3所述的人体姿态生成方法,其特征在于,所述S1包括:
对多个所述摄像单元进行内参标定获取内参和畸变参数;
选取主摄像头,并对所述主摄像头外的其余多个所述摄像单元进行外参标定获取外参、平移向量,并计算所述投影矩阵;
基于所述内参和畸变参数,利用图像处理函数获取畸变矫正后的多信道的所述同步视频流数据。
5.一种人体姿态生成系统,其特征在于,包括摄像单元和数据处理单元,所述数据处理单元包括相机驱动模块、图像抓取模块、神经网络模块和坐标转换模块,其中,所述摄像单元,用于采集多信道的同步视频流数据;
所述相机驱动模块,用于驱动所述摄像单元并接收所述同步视频流数据;
所述图像抓取模块,用于逐帧抓取所述同步视频流数据包含的相同帧的行人图像集;
所述神经网络模块,用于对所述行人图像集进行2D骨骼关键点检测并生成行人的2D骨骼关键点坐标及其置信度;
所述坐标转换模块,用于通过所述2D骨骼关键点坐标及其置信度构建坐标转换矩阵,并利用三角测量算法生成人体姿态信息。
6.根据权利要求5所述的人体姿态生成系统,其特征在于,所述人体姿态生成系统还包括跨平台计算机视觉库单元,用于提供所述相机驱动模块和所述神经网络模块所需的图像处理函数。
7.根据权利要求6所述的人体姿态生成系统,其特征在于,所述人体姿态生成系统还包括数据存储单元,用于存储所述神经网络模块所需的训练样本集。
8.根据权利要求7所述的人体姿态生成系统,其特征在于,所述神经网络模块通过构建用于生成所述2D骨骼关键点坐标的神经网络模型,基于所述训练样本集和所述神经网络模型构建回归模型,训练所述神经网络模型,并将所述行人图像集中包含的多个行人图像进行尺寸一致化后输入训练后的所述神经网络模型,获取行人的2D骨骼关键点坐标及其置信度。
9.根据权利要求8所述的人体姿态生成系统,其特征在于,所述坐标转换模块能够基于所述2D骨骼关键点坐标构建初始转换矩阵,基于所述2D骨骼关键点坐标对应的置信度更新所述初始转换矩阵中各2D骨骼关键点坐标的权重并生成所述坐标转换矩阵,并利用公式(A*W)×Y=0计算空间3D坐标并生成人体姿态信息,其中,A为所述初始转换矩阵,W为所述2D 骨骼关键点坐标对应的置信度,Y为所述空间3D坐标,(A*W)为所述坐标转换矩阵。
一种人体姿态生成方法及其系统
技术领域
[0001]本发明涉及人体姿态识别技术领域,具体涉及人体姿态生成方法及其系统。
背景技术
[0002]3D人体姿态估计方法可以作为人体姿态识别、行为识别、人体跟踪等任务的基础,同时也在医疗、监控、人机交互等领域具有很高的应用价值。
目前3D人体姿态估计方法可以分为基于单摄像头的人体姿态估计方法和基于多摄像头的人体姿态估计方法。
基于单摄像头的3D姿态估计方法通过图像的前景背景差异来估计图像中人体的深度,结合2D人体姿态关节点估计算法,还原人体姿态在3D空间中的位置。
基于多摄像头的3D姿态估计方法,首先分别在每个摄像头中估计人体的2D关节点坐标,然后通过三角测量的方法计算出关节点的3D空间坐标。
[0003]随着近几年来以卷积神经网络为核心的深度学习的发展以及计算能力的显著提升,使得基于多摄像头的实时3D人体姿态估计成为了很多应用的最佳选择。
基于多摄像头能够通过摄像头之间的外参标定确定摄像头的空间位置,从而使用三角测量的方法获取3D 空间位置。
[0004]但是,传统的基于多摄像头的空间3D坐标计算方法仍存在检测精度低和适应性差的问题。
发明内容
[0005]有鉴于此,本发明提供一种人体姿态生成方法及其系统,通过改进图像检测方法,解决了现有的基于多摄像头的空间3D坐标计算方法存在的检测精度低和适应性差的问题。
[0006]为解决以上问题,本发明的技术方案为采用一种人体姿态生成方法,包括:S1:基于多个摄像单元获取多信道的同步视频流数据;S2:逐帧抓取所述同步视频流数据包含的相同帧的行人图像集;S3:通过对所述行人图像集进行2D骨骼关键点检测并生成行人的2D 骨骼关键点坐标及其置信度;S4:基于所述摄像单元的投影矩阵、所述2D骨骼关键点坐标及其置信度构建坐标转换矩阵,并利用三角测量算法生成人体姿态信息。
[0007]可选地,所述S4包括:基于所述投影矩阵和所述2D骨骼关键点坐标构建初始转换矩阵;基于所述2D骨骼关键点坐标对应的置信度更新所述初始转换矩阵中各2D骨骼关键点坐标的权重并生成所述坐标转换矩阵;利用公式(A*W)×Y=0计算空间3D坐标并生成人体姿态信息,其中,A为所述初始转换矩阵,W为所述2D骨骼关键点坐标对应的置信度,Y为所述空间3D坐标,(A*W)为所述坐标转换矩阵。
[0008]可选地,所述S3包括:构建用于生成所述2D骨骼关键点坐标的神经网络模型;基于训练样本集和所述神经网络模型构建回归模型,训练所述神经网络模型;将所述行人图像集中包含的多个行人图像进行尺寸一致化后输入训练后的所述神经网络模型,获取行人的2D骨骼关键点坐标及其置信度。
[0009]可选地,所述S1包括:对多个所述摄像单元进行内参标定获取内参和畸变参数;选
取主摄像头,并对所述主摄像头外的其余多个所述摄像单元进行外参标定获取外参、平移向量,并计算所述投影矩阵;基于所述内参和畸变参数,利用图像处理函数获取畸变矫正后的多信道的所述同步视频流数据。
[0010]相应地,本发明提供,一种人体姿态生成系统,包括摄像单元和数据处理单元,所述数据处理单元包括相机驱动模块、图像抓取模块、神经网络模块和坐标转换模块,其中,所述摄像单元,用于采集多信道的同步视频流数据;所述相机驱动模块,用于驱动所述摄像单元并接收所述同步视频流数据;所述图像抓取模块,用于逐帧抓取所述同步视频流数据包含的相同帧的行人图像集;神经网络模块,用于对所述行人图像集进行2D骨骼关键点检测并生成行人的2D骨骼关键点坐标及其置信度;坐标转换模块,用于通过所述2D骨骼关键点坐标及其置信度构建坐标转换矩阵,并利用三角测量算法生成人体姿态信息。
[0011]可选地,所述人体姿态生成系统还包括跨平台计算机视觉库单元,用于提供所述相机驱动模块和所述神经网络模块所需的图像处理函数。
[0012]可选地,所述人体姿态生成系统还包括数据存储单元,用于存储所述神经网络模块所需的训练样本集。
[0013]可选地,所述神经网络模块通过构建用于生成所述2D骨骼关键点坐标的神经网络模型,基于所述训练样本集和所述神经网络模型构建回归模型,训练所述神经网络模型,并将所述行人图像集中包含的多个行人图像进行尺寸一致化后输入训练后的所述神经网络模型,获取行人的2D骨骼关键点坐标及其置信度。
[0014]可选地,所述坐标转换模块能够基于所述2D骨骼关键点坐标构建初始转换矩阵,基于所述2D骨骼关键点坐标对应的置信度更新所述初始转换矩阵中各2D骨骼关键点坐标的权重并生成所述坐标转换矩阵,并利用公式(A*W)×Y=0计算空间3D坐标并生成人体姿态信息,其中,A为所述初始转换矩阵,W为所述2D骨骼关键点坐标对应的置信度,Y为所述空间3D坐标,(A*W)为所述坐标转换矩阵。
[0015]本发明的首要改进之处为提供的人体姿态生成方法,通过神经网络模块计算2D骨骼关键点的坐标及其置信度,建立初始坐标转换矩阵的同时基于所述置信度更新所述初始坐标转换矩阵中各坐标的权重,避免了因多个摄像单元采集的图像的2D骨骼关键点被遮挡程度不同而导致空间3D坐标计算结果严重偏离真实值的问题,有效地提升了输出的空间3D 坐标的准确度,并提升了人体姿态生成系统的抗干扰能力和检测精度。
附图说明
[0016]图1是本发明的人体姿态生成方法的简化流程图;
图2是本发明的人体姿态生成系统的简化模块连接图。
具体实施方式
[0017]为了使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施例对本发明作进一步的详细说明。
[0018]如图1所示,一种人体姿态生成方法,包括:S1:基于多个摄像单元获取多信道的同步视频流数据;S2:逐帧抓取所述同步视频流数据包含的相同帧的行人图像集;S3:通过对所述行人图像集进行2D骨骼关键点检测并生成行人的2D骨骼关键点坐标及其置信度;S4:
基于所述摄像单元的投影矩阵、所述2D骨骼关键点坐标及其置信度构建坐标转换矩阵,并利用三角测量算法生成人体姿态信息。
[0019]发明人在试验时发现,若使用部分神经网络架构的神经网络模块进行图像中人体的2D骨骼关键点坐标的计算,计算过程中神经网络模块将会通过计算2D骨骼关键点的置信度进行2D骨骼关键点坐标的预测,并输出2D骨骼关键点坐标及其置信度,该置信度即为神经网络模块预测的该2D骨骼关键点被遮挡的程度,而传统的计算空间3D坐标的方法中均将2D骨骼关键点视为完全可信。
但是由于在大多数情况下多个摄像头采集的2D骨骼关键点坐标的被遮挡程度不同(即2D骨骼关键点坐标的置信度不同),因此导致最终输出的空间3D坐标精确度较低,并造成了2D骨骼关键点坐标的置信度的相关信息成为冗余信息,浪费了相关神经网络单元的算力。
本申请为解决这一问题,通过神经网络模块计算2D骨骼关键点的坐标及其置信度,建立初始坐标转换矩阵的同时基于所述置信度更新所述初始坐标转换矩阵中各坐标的权重,避免了因多个摄像单元采集的图像的2D骨骼关键点被遮挡程度不同而导致空间3D坐标计算结果严重偏离真实值的问题,有效地提升了输出的空间3D坐标的准确度,并提升了人体姿态生成系统的抗干扰能力和检测精度,充分的利用了前期运算时的冗余信息。
具体的,基于所述投影矩阵和所述2D骨骼关键点坐标构建初始转换矩阵;基于所述2D骨骼关键点坐标对应的置信度更新所述初始转换矩阵中各2D骨骼关键点坐标的权重并生成所述坐标转换矩阵;利用公式(A*W)×Y=0计算空间3D坐标并生成人体姿态信息,其中,A为2D骨骼关键点坐标对应的所述初始转换矩阵;W为所述2D骨骼关键点坐标对应的置信度;Y为所述空间3D坐标;(A*W)为所述坐标转换矩阵,矩阵A乘以数值W的意义为,通过置信度W更新初始转换矩阵A的行向量的系数,生成所述坐标转换矩阵。
具体的,基于所述2D骨骼关键点坐标构建初始转换矩阵包括基于多个摄像单元的投影矩阵P和每个摄像单元采集的对应的2D骨骼关键点坐标(x i,y i)构建转换矩阵,例如:以第一骨骼点的计算为例,获取第一2D骨骼关键点坐标(x,y)及其对应的第一摄像单元的投影矩阵P构建第一初始转换矩阵A1=
,基于所述第一2D骨骼关键点坐标的置信度更新所述第一初始转换矩阵并
生成第一坐标转换矩阵= *W;重复上述步骤直至生成所述第一2D骨骼关
键点坐标在全部摄像单元的不同投影矩阵及置信度情况下的坐标转换矩阵、、 …
,并构成完整的坐标转换矩阵,其中,1,2,3...n为摄像单元编号。
对所述坐标转换矩
阵进行SVD分解即可得到第一2D骨骼关键点对应的骨骼关键点的空间3D坐标;重复上述步骤对全部2D骨骼关键点坐标进行计算,即可生成完整的人体姿态信息。
[0020]进一步的,所述S3包括:
构建用于生成所述2D骨骼关键点坐标的神经网络模型,该神经网络模型可以是包含153层网络的深度卷积神经网络,该模型的输入为RGB三通道图像,输出为(key points,
confidence),其中,key points为2D骨骼关键点坐标(x i,y i),confidence为该骨骼关键点没有被遮挡的置信度;
基于训练样本集(I,key points,confidence)和所述神经网络模型构建回归模型,训练所述神经网络模型,其中,I为行人图像,key points为2D骨骼关键点在图像中的坐标,confidence为该骨骼关键点没有被遮挡的置信度,回归模型采用随机梯度下降法通过计算输出的关键点坐标和真实标签中的坐标的差值L1,以及预测的confidence的差值L2,计算总体差值Loss=L1+L2,通过梯度回传来修改网络的参数,训练所述神经网络模型;
将所述行人图像集中包含的多个行人图像进行尺寸一致化后输入训练后的所述神经网络模型,获取行人的2D骨骼关键点坐标及其置信度,其中,每张输入的尺寸一致的所述行人图像经卷积运算、最大值池化运算、反卷积运算和均值池化运算后输出预测多个2D骨骼关键点坐标的热力图和对应2D骨骼关键点坐标的最高置信度confidence,基于所述热力图及其对应2D骨骼关键点坐标的最高置信度confidence,提取所述热力图中置信度最高的坐标作为该2D骨骼关键点的预测坐标,即可输出该2D骨骼关键点坐标及其对应的置信度confidence,重复上述步骤即可获取行人的全部2D骨骼关键点坐标及其置信度。
[0021]进一步的,所述S2包括:逐帧抓取所述同步视频流数据包含的相同帧的行人图像集,其中,所述行人图像集可由多个摄像单元采集的多张行人图像直接构成,亦可对多个摄像单元采集的多张行人图像进行行人检测后生成的多张第二行人图像构成,用户可根据摄像单元的实际应用场景及需求自定调整所述行人图像集的生成方式。
[0022]具体的,使用对多个摄像单元采集的多张行人图像进行行人检测后生成的多张第二行人图像构成所述行人图像集包括:
构建用于行人检测的第二神经网络模型,其中,所述第二神经网络模型可以是基于YOLO检测框架的行人检测模型,该模型的输入为224*224*3的RBG三通道图像,输出为(x,y, w,h,confidene),其中x,y分别是检测出来人的目标框的左上角坐标,w为目标框的宽,h为目标框的高,confidence则表示该目标框内包含行人的置信度的大小;
基于训练样本集和所述第二神经网络模型构建回归模型,训练所述第二神经网络模型,训练样本集可以是(I,x,y,w,h)表示的图片集和标签集,其中I为包含行人的复杂背景图像,(x,y,w,h)为行人在该图像中的目标框的位置,具体的,构建回归模型后,输入为包含行人的RBG图像,输出为(x,y,w,h,confidene),并采用随机梯度下降法通过计算输出的坐标和真实标签中的坐标的差值,通过梯度回传来修改网络的参数,训练所述第二神经网络模型;
将多个所述行人图像输入训练后的所述第二神经网络模型,获取多个所述行人图像的行人坐标;
基于多个所述行人坐标提取其对应的所述行人图像中包含的所述第二行人图像,并生成所述行人图像集。
进一步的,基于多个所述行人坐标提取其对应的所述行人图像中包含的所述第二行人图像,并生成所述行人图像集包括:基于所述第二神经网络模型输出的行人坐标构建提取框;基于所述提取框提取所述行人图像对应区域的图像构成所述第二行人图像;重复上述步骤直至遍历完全部包含行人坐标的所述第二行人图像并构成所述行人图像集。
其中,在多个所述行人图像中至少存在两个所述第二行人图像时提取多个所述第二行人图像构成所述行人图像集;在多个所述行人图像中仅存在一个所述第二行人图像时,
获取多信道的下一帧采集图像并进行行人检测。
[0023]进一步的,所述S1包括:对多个所述摄像单元进行内参标定获取内参K和畸变参数,内参K为(f x,f y,u0,v0),其中,f x,f y为相机的焦距,u0和v0是主点的坐标,摄像单元的畸变参数为(k1,k2,k3,p1,p2),其中,k1、k2、k3为摄像头的径向畸变,p1、p2为摄像头的切向畸变;选取主摄像头,并对所述主摄像头外的其余多个所述摄像单元进行外参标定获取外参T = (Tx,Ty,Tz),Tx、Ty、Tz为摄像机坐标系下的坐标转换至世界坐标系下的坐标时,X轴方向的坐标、Y轴方向的坐标、Z轴方向的坐标的平移向量,并计算所述投影矩阵R = R(α,β,γ),其中,γ为绕摄像机坐标系z轴旋转角度,β为绕y轴旋转角度,α为绕x轴旋转角度;基于所述内参和畸变参数,利用图像处理函数获取畸变矫正后的多信道的所述当前帧采集图像。
[0024]相应的,如图2所示,本发明提供,一种人体姿态生成系统,其特征在于,包括摄像单元和数据处理单元,所述数据处理单元包括相机驱动模块、图像抓取模块、神经网络模块和坐标转换模块,其中,所述摄像单元,用于采集多信道的同步视频流数据;所述相机驱动模块,用于驱动所述摄像单元并接收所述同步视频流数据;所述图像抓取模块,用于逐帧抓取所述同步视频流数据包含的相同帧的行人图像集;神经网络模块,用于对所述行人图像集进行2D骨骼关键点检测并生成行人的2D骨骼关键点坐标及其置信度;坐标转换模块,用于通过所述2D骨骼关键点坐标及其置信度构建坐标转换矩阵,并利用三角测量算法生成人体姿态信息。
其中,所述图像抓取模块还用于对所述摄像单元采集的同步视频流数据中包含的多帧图像数据进行图像矫正、滤波等。
[0025]进一步的,所述人体姿态生成系统还包括跨平台计算机视觉库单元和数据存储单元,所述跨平台计算机视觉库单元用于提供所述相机驱动模块和所述神经网络模块所需的图像处理函数,所述数据存储单元用于存储所述神经网络模块所需的训练样本集。
[0026]进一步的,所述神经网络模块通过构建用于生成所述2D骨骼关键点坐标的神经网络模型,基于所述训练样本集和所述神经网络模型构建回归模型,训练所述神经网络模型,并将所述行人图像集中包含的多个行人图像进行尺寸一致化后输入训练后的所述神经网络模型,获取行人的2D骨骼关键点坐标及其置信度。
[0027]更进一步的,所述坐标转换模块能够基于所述2D骨骼关键点坐标构建初始转换矩阵,基于所述2D骨骼关键点坐标对应的置信度更新所述初始转换矩阵中各2D骨骼关键点坐标的权重并生成所述坐标转换矩阵,并利用公式(A*W)×Y=0计算空间3D坐标并生成人体姿态信息,其中,A为所述初始转换矩阵,W为所述2D骨骼关键点坐标对应的置信度,Y为所述空间3D坐标,(A*W)为所述坐标转换矩阵。
[0028]以上仅是本发明的优选实施方式,应当指出的是,上述优选实施方式不应视为对本发明的限制,本发明的保护范围应当以权利要求所限定的范围为准。
对于本技术领域的普通技术人员来说,在不脱离本发明的精神和范围内,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。