基于结构指导深度学习的人体姿态估计方法和系统与流程

文档序号:11143412阅读:196来源:国知局
基于结构指导深度学习的人体姿态估计方法和系统与制造工艺

本发明属于计算机视觉和机器学习领域,涉及一种基于结构指导深度学习的人体姿态估计方法和系统。



背景技术:

人体姿态估计是定位出图像中人体部位关节点所在位置的过程。人体姿态估计在计算机视觉领域有着非常重要的作用,是人机交互,虚拟现实,智能监控等应用的基础。由于图像中人的衣着,形状,姿态,背景等的多样性以及存在一些自我遮挡和其他人或物体遮挡的情况,准确地预测出图像中的人体部位关节点非常具有挑战性。

人体姿态估计方法主要有两种:传统的基于模型的方法和最近随着深度学习兴起的基于卷积神经网络的方法。传统的基于模型的方法主要是建立人体模型,然后人工提取特征,并用模型来建立特征间的联系,较为典型的模型有PS模型,主要用树结构来建立人体模型。由于基于人工提取特征的方法的准确率和鲁棒性比较差,难以预测复杂的姿态,所以近年来人们开始使用在计算机视觉许多任务中都显示出很好效果的深度学习技术来进行姿态估计。

目前,基于深度学习的人体姿态估计主要是直接通过一个卷积神经网络来回归出人体的关节点位置。具体是输入图像,进过卷积神经网络的训练得到关节点热点图,然后采用后续处理在热点图中找到最终的关节点位置。该方法虽然借助了深度学习技术,但是由于没有充分利用人体自身的信息,一些复杂姿态,遮挡以及一些多人的干扰情况都无法得到解决。为了解决现有技术中存在的问题,需要提出一种新的方法。



技术实现要素:

本发明的主要目的在于解决现有技术存在的问题,提供一种基于结构指导深度学习的人体姿态估计方法和系统。

本发明一方面提供一种基于结构指导深度学习的人体姿态估计方法,包括如下步骤:

步骤1:输入数据预处理;

步骤2:结构指导卷积神经网络预测;

步骤3:融合卷积神经网络预测;

步骤4:输出处理。

进一步地,所述步骤1进一步具体为:首先将图片进行缩放,使得其较长一边的长度为一个固定值;其次,将较短一边进行零填充,使得整个图片为正方形;然后进行随机左右翻转;接着按一定的角度将图片进行旋转操作。在上述对图片操作的同时,需要对真实的标记关节点位置作对应的处理。

进一步地,所述步骤2进一步具体为:将预处理后的图片通过结构指导的卷积神经网络来进行学习和 预测。这里结构指导指的是在一般的卷积神经网络中融入人体骨架的结构信息,来指导神经网络的学习。一般的人体姿态估计的神经网络的回归目标函数为:

表示一张由真实标记关节点为中心产生的真实标记的热点图。作为优选,其分布为高斯分布yk代表第k真实标记的关节点,(xk,yk)是yk在图像中坐标点的值。(i,j)是真实标记的热点图中的每个像素点在图中的位置。σ1是高斯分布的标准差。

结构指导的卷积神经网络加入了骨架结构信息,这部分的目标函数为:

表示由两个相邻的真实标记关节点的连线为中心产生的高斯分布的真实标记热点图。pi表示相邻关节点之间的连线,1是这些连线相应的序号,这些连线对应于不同的人体模型,作为优选,可以采用树形结构的人体模型,相应的连线即位树形结构人体模型的边;dist((i,j),pl)表示真实标记的热点图中的每个点(i,j)到pl的距离。σ2是该高斯分布的标准差。

用l1表示关节点对应的热点图的损失函数,用l2表示关节点连线对应的热点图的损失函数:

其中,X是输入图像,y是真实标记的关节点,p是相邻真实标记的关节点的连线,D是整个训练数据集;(i,j)表示热点图中的每个像素点的坐标;k和l分别表示y的序号和p的序号。Hi,j,k(X,w)表示神经网络预测输出的相应的第k关节点的热点图,Pi,j,l(X,w)表示神经网络预测输出的相应的第1关节点连线的热点图,w表示卷积神经网络的参数。

结构指导卷积神经网络的总的损失函数loss1为:

loss1=l1+l2.

进一步地,所述步骤3进一步具体为:将结构指导卷积神经网络的低层级特征层和高层次特征层进行融合,送入另外一支卷积神经网络中进行学习和预测,低层次特征层包含更多的图像细节,高层次特征层则提供预测的初步结果。

结构指导神经网络引入了人体结构约束信息,提供给融合卷积神经网络一个初步结果,并指导融合卷积网络的学习.融合卷积神经网络的目标函数为损失函数loss2为:

loss2=l1

整个神经网络总的损失函数losst为:

losst=loss1+λloss2

λ是平衡loss1和loss2的常数。

进一步地,所述步骤4进一步具体为:将融合卷积神经网络的最终输出的热点图进行后续处理,得到最终关节点的位置。分别对每个关节点对应的热点图处理,即可得到预测出的全部的人体关节点的位置。

根据本发明的另一方面,提供一种基于结构指导深度学习的人体姿态估计系统,包括如下模块:

数据采集模块,主要是通过相机得到包含有人体的图片;

计算机处理模块,包括:a.图像预处理子模块,b.结构指导卷积神经网络子模块,c.融合卷积神经网络子模块,d.定位关节点子模块和e.可视化子模块。

a.图像预处理子模块:将输入图像首先进行预处理,包括缩放,裁剪,零填充,翻转和旋转等操作。需要注意的是,对于测试图片,或者实际使用时只需要做缩放,裁剪和零填充以满足图片为正方形即可,不需要翻转和旋转.

b.结构指导卷积神经网络子模块:将预处理后的图片送入卷积神经网络进行学习,通过在卷积神经网络中加入人体结构信息,进行指导学习,最终预测出人体关节点和关节点之间连线的热点图。

c.融合卷积神经网络子模块:将结构指导卷积神经网络模块的低层级特征层和高层次特征层进行融合作为输入,通过另一支卷积神经网络学习,输出最终的人体关节点的热点图。

d.定位关节点子模块:通过对神经网络输出的人体关节点热点图进行后续处理,得到最终的关节点标。对每个关节点的热点图进行处理,最终得到全部的人体关节点的位置。

e.可视化子模块:该模块主要用在测试或者实际应用中。神经网络训练完成后,即可用来测试和实用。对一张输入图片,神经网络预测出人体的各个关节点位置。将关节点叠加显示在输入图片上呈现可视化的预测结果。

本发明将人体的骨架信息融于深度卷积神经网络中来指导神经网络的学习,从而可以隐含地学习出人体模型,克服了利用神经网络直接预测带来的准确率低,鲁棒性差的缺点,提高了关节点的预测准确率。由于结构信息的引入,本发明对复杂姿态以及一些遮挡情况均能有效预测出准确位置。

附图说明

附图说明用于提供对本发明技术方案的进一步理解,并构成说明书的一部分,与本发明的实施一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。附图说明如下:

图1是本发明方法的流程图。图2是本发明系统的硬件组成图。

具体实施方式

以下结合附图,对本发明的优选实施例进行详细的描述:应当理解,优选实施例仅为了说明本发明, 而不是为了限制本发明的保护范围。

如图1所示,本发明基于结构指导深度学习的人体姿态估计方法,包括如下步骤:

步骤1:输入数据预处理。

首先将图片进行缩放,使得其较长一边的长度为一个固定值,优选地为256;其次,将较短一边进行零填充,使得整个图片为正方形;然后,进行随机左右翻转;接着,按一定的角度将图片进行旋转操作,优选地,每10度旋转一次,最大旋转180度。在上述对图片操作的同时,需要对真实的标记关节点位置作对应的处理。

步骤2:结构指导卷积神经网络预测。

将预处理后的图片通过结构指导的卷积神经网络来进行学习和预测。作为优选,结构指导神经网络共有14个卷积层,用Conv1到Conv14表示。优选地,其各层参数设置具体为:

其中,核表示卷积操作核的大小,步长表示卷积操作的步长,个数表示卷积核的输出个数;对池化层Pooling有类似的含义。Dropout层没有这些参数。k+1表示总的热点图数,包括所有k个关节点的和所有1个关节点连线的热点图。

这里结构指导指的是在一般的卷积神经网络中融入人体骨架的结构信息,来指导神经网络的学习。一般的人体姿态估计的神经网络的回归目标函数为:

表示一张由真实标记关节点为中心产生的真实标记的热点图。作为优选,其分布为高斯分布yk代表第k真实标记的关节点,(xk,yk)是yk在图像中坐标点的值。(i,j)是真实标记的热点图中的每个像素点在图中的位置。σ1是高斯分布的标准差,可由验证集得出合适数值,作为优选可从{1.5,2.5}中选择。

结构指导的卷积神经网络加入了骨架结构信息,这部分的目标函数为:

表示由两个相邻的真实标记关节点的连线为中心产生的高斯分布的真实标记热点图。pl表示相邻关节点之间的连线,1是这些连线相应的序号,这些连线对应于不同的人体模型,作为优选,可以采用树形结构的人体模型,相应的连线即位树形结构人体模型的边;dist((i,j),pl)表示真实标记的热点图中的每个点 (i,j)到pl的距离。σ2是该高斯分布的标准差,可由验证集得出合适的数值,作为优选可从{1.5,2.5}中选择。

用l1表示关节点对应的热点图的损失函数,用l2表示关节点连线对应的热点图的损失函数:

其中,X是输入图像,y是真实标记的关节点,p是相邻真实标记的关节点的连线,D是整个训练数据集;(i,j)表示热点图中的每个像素点的坐标;k和l分别表示y的序号和p的序号。Hi,j,k(X,w)表示神经网络预测输出的相应的第k关节点的热点图,Pi,j,l(X,w)表示神经网络预测输出的相应的第1关节点连线的热点图,w表示卷积神经网络的参数。

结构指导卷积神经网络的总的损失函数loss1为:

loss1=l1+l2

步骤3:融合卷积神经网络预测。

将结构指导卷积神经网络的低层级特征层和高层次特征层进行融合,送入另外一支卷积神经网络中进行学习和预测,低层次特征层包含更多的图像细节,高层次特征层则提供预测的初步结果。作为优选,这里选择Conv5和Conv13进行融合。作为优选,融合卷积神经网络共有6个卷积层,整个融合卷积神经网络的设置如下表:

其中,k的值为最终的需要预测的关节点个数。

结构指导神经网络引入了人体结构约束信息,提供给融合卷积神经网络一个初步结果,并指导融合卷积网络的学习。融合卷积神经网络的目标函数为损失函数loss2为:

loss2=l1

整个神经网络总的损失函数losst为:

losst=loss1+λloss2

λ是平衡loss1和loss2的常数,可以通过验证集选出最优的值。

步骤4:输出处理。

将融合卷积神经网络的最终输出的热点图进行后续处理,得到最终关节点的位置。作为优选,这里采用一种简单的搜索热点图中最大值的方法,搜索出的最大值作为最终的预测的关节点位置。分别对每个关 节点对应的热点图搜索最大值,即可得到预测出的全部的人体关节点的位置。

如图2所示。本发明基于结构指导深度学习的人体姿态估计系统,包括如下模块:

201数据采集模块,主要是通过相机得到包含有人体的图片;

202计算机处理模块,包括:a.图像预处理子模块,b.结构指导卷积神经网络子模块,c.融合卷积神经网络子模块,d.定位关节点子模块和e.可视化子模块。

a.图像预处理子模块:将输入图像首先进行预处理,包括缩放,裁剪,零填充,翻转和旋转等操作.需要注意的是,对于测试图片,或者实际使用时只需要做缩放,裁剪和零填充以满足图片为正方形即可,不需要翻转和旋转。

b.结构指导卷积神经网络子模块:将预处理后的图片送入卷积神经网络进行学习,通过在卷积神经网络中加入人体结构信息,进行指导学习,最终预测出人体关节点和关节点之间连线的热点图。

c.融合卷积神经网络子模块:将结构指导卷积神经网络模块的低层级特征层和高层次特征层进行融合作为另一支卷积神经网络的输入,通过另一支卷积神经网络学习,输出最终的人体关节点的热点图。作为优选,这里选择结构指导卷积神经网络中的Conv5和Conv13进行融合。

d.定位关节点子模块:通过对神经网络输出的人体关节点热点图进行后续处理,得到最终的关节点坐标值。作为优选,后续处理可以采用搜索最大值的方法。对每个关节点的热点图进行处理,最终得到全部的人体关节点的位置。

e.可视化子模块:对一张输入图片,神经网络预测出人体的各个关节点位置。将关节点叠加显示在输入图片上呈现可视化的预测结果。

本领域的技术人员应该明白,上述的本发明的系统结构和各个步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将他们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

虽然本发明所示出和描述的实施方式如上,但是所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上以及细节上做任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1