使用深度卷积神经网络的姿态检测方法及设备与流程

文档序号:13137683阅读:305来源:国知局

本发明属于一种姿态检测方法,特别涉及一种使用深度卷积神经网络的姿态检测方法及设备。



背景技术:

人体动作及姿态捕捉在辅助临床诊断、康复工程、人体运动分析领域、智能人机交互和智能监控等领域有广泛的应用前景,是机器视觉领域的重要课题。基于机器视觉的人体姿态识别指从视频图像序列中寻找和提取人体的动作特征,进而通过对三维人体捕捉数据进行匹配和分类来判定动作参数成为突破该制约的新途径。然,当前的动作捕捉设备价格高昂、操作难度大、数据再处理性能弱等制约。

在智能监控领域,目前中国社会老龄化加剧,空巢老人的数量也随之增加,在独居老人的健康状况受到儿女的牵挂。如果能通过摄像头实时捕捉老人起居情况,对发生异常的姿态(如跌倒)进行捕捉、预警,将异常信息随之发送给儿女或医院,使老人能够第一时间得到救治。另外,可在人口密集的公共场所(如火车站、候机室等)安装智能监控,检测人的可疑性行为并发出警报,能够防止类似盗窃、抢劫、恐怖主义事件等。

但是传统的图像算法在体态识别过程中,由于遮挡等原因,尤其是其他非目标人体的遮挡易造成识别不准确、实时性差等问题,特别是在背景复杂、特征混杂环境下,感兴趣目标特征不明显,更容易造成遮挡,目标丢失,无法进行体态的准确识别。对此,学者们提出了很多方法:huninghang等人采用顶部摄像头对人体位置进行估计,获得体态三维信息,建立体态描述器,采用计分比较方法进行体态分类,可抗自遮挡,但对于背景复杂、他人干扰的情况适应性不强;leey等人使用markov模型和k均值方法去除不明确的体态,但对背景要求很高,无法起到抗干扰的效果;tsaii-cheng等人采用雷达传感器获得人体的中心和体态角度信息构成特征集进行体态识别,实时性好,但仍需进一步提高抗干扰性能;silapasuphak-ornwongp和yangu等人加入了图像直方图进行肤色和衣着识别,虽起到了一定作用,但对被识别者衣着要求较高,达不到自然交互的效果;anupambanerjee等人将肤色分割方法与骨骼识别相结合进行芭蕾舞者体态识别,虽提高了识别效率,但算法针对性强,且易受其他人群干扰。同时,虽然当前存在了比较先进的深度学习方法进行人体姿态检测,但其训练难度较大、训练时间较长、对训练集要求较高的因素,都制约了最终的算法效果。



技术实现要素:

针对现有技术中存在的技术问题,本发明提供一种可克服上述现有技术的不足(鲁棒性差、抗自遮挡能力差、训练要求高等问题)的基于深度卷积神经网络的人体姿态检测方法及设备。

本发明所提供的一种使用深度卷积神经网络的姿态检测方法,适于在计算设备中执行,该方法包括:

将数据集按照训练和测试进行划分,并做预处理;

进行人体关节特征区域的识别学习模型训练,以识别人体关节部位图像区域的学习网络;

关节坐标定位学习模型训练;

检测图像尺寸预处理,将需要识别人体姿态的图像调整为网络输入要求大小;

通过该网络进行图像关节区域的识别,并划定相应矩形区域保存为子图像;

将获得子图像作为输入,送入关节坐标定位学习模型进行关节坐标获取;以及

按照人体骨骼模型连接获取的关节点构成人体姿态描述。

其中,所述步骤“将数据集按照训练和测试进行划分,并做预处理”中“将数据集按照训练和测试进行划分”包括:将所有的数据集划分为训练集和测试集,训练集再划分为整体图像训练集和关节部位训练集两个部分,其中整体图像训练集选取原本的训练集,关节部位测试集为训练集中每张训练图片所对应的真实图像中关节坐标数据集。

其中,所述步骤“将数据集按照训练和测试进行划分,并做预处理”中“预处理”为:将训练图片的尺寸处理为训练网络约束的尺寸大小。

其中,所述步骤“人体关节特征区域的识别学习模型训练”包括:

将准备好的整体图像训练集作为输入,并将其输入至深度卷积神经网络中,该卷积神经网络包括依次设置的五个卷积层和两个完全连接层,前两个卷积层中的每个卷积层后均依次设置一个非线性激活层和一个最大池层,后三个卷积层中,在最后一个卷积层的下方设置有一个非线性激活层。后两个连接层中的最后一个连接层的下方依次设置有一个非线性激活层和一个数据降维层;以及

所述深度卷积神经网络的输出为一二进制矩阵,该二进制矩阵通过与原始训练集内的图像进行误差计算,获取损失值,并最终获得训练损失值最小的网络参数,通过该训练损失值最小的网络参数即可得到学习网络。

其中,所述步骤“关节坐标定位学习模型训练”包括:

将关节部位训练集与对应的关节坐标(x,y)一一对应,送入关节定位网络中进行训练,关节定位训练网络包括两个卷积层,其中每个卷积层之后设置一个最大池层,所述最大池层用于消除邻域大小受限造成的估计值方差增大;

级联一个局部激活层用于激活数据中的特征;

通过全连接生成一个2×1的矩阵,分别记录关节所在位置的x轴坐标和y轴坐标;以及

通过二级级联将输出关节坐标预测结果与实际结果进行误差运算,并通过adam梯度下降缩小误差。

其中,所述步骤“检测图像尺寸预处理”中通过仿射变换来变化图像尺寸。

其中,所述步骤“通过该网络进行图像关节区域的识别,并划定相应矩形区域保存为子图像”包括:

将预处理后的图片输入关节特征区域识别学习模型,通过处理获得记录图像深层次特征的二进制掩膜矩阵;

将输入图像与生成的二进制掩膜矩阵进行损失值计算获得对应的损失值,将损失值与预定值进行比较,进而进行输入图像区域重塑;

在原图像的基础上截取一部分的子图像,并继续与对应的二进制掩膜进行损失值运算,若仍大于预设定值,则继续进行输入区域截取并再次输入;以及

选取损失值最小的区域作为最后结果,获取最优关节预测区域,该最优关节预测区域即被保存为子图像。

其中,所述步骤“将获得子图像作为输入,送入关节坐标定位学习模型进行关节坐标获取”包括:

根据所获取的预测区域,将原始输入图像根据预测区域范围进行截取,获取关节区域子图像,并将子图像预处理,输入关节坐标学习模型,通过二级级联迭代,以输出一个两行一列的矩阵,分别记录预测关节坐标的x轴坐标和y轴坐标。

本发明还提供了一种存储设备,其中存储有多条指令,所述指令适于由处理器加载并执行,所述指令包括:

将数据集按照训练和测试进行划分,并做预处理;

进行人体关节特征区域的识别学习模型训练,以识别人体关节部位图像区域的学习网络;

关节坐标定位学习模型训练;

检测图像尺寸预处理,将需要识别人体姿态的图像调整为网络输入要求大小;

通过该网络进行图像关节区域的识别,并划定相应矩形区域保存为子图像;

将获得子图像作为输入,送入关节坐标定位学习模型进行关节坐标获取;以及

按照人体骨骼模型连接获取的关节点构成人体姿态描述。

本发明还提供了一种移动终端,包括:

处理器,适于实现各指令;以及

存储设备,适于存储多条指令,所述指令适于由处理器加载并执行,所述指令包括:

将数据集按照训练和测试进行划分,并做预处理;

进行人体关节特征区域的识别学习模型训练,以识别人体关节部位图像区域的学习网络;

关节坐标定位学习模型训练;

检测图像尺寸预处理,将需要识别人体姿态的图像调整为网络输入要求大小;

通过该网络进行图像关节区域的识别,并划定相应矩形区域

保存为子图像;

将获得子图像作为输入,送入关节坐标定位学习模型进行关节坐标获取;以及

按照人体骨骼模型连接获取的关节点构成人体姿态描述。

上述基于深度卷积神经网络的人体姿态检测方法通过建立学习模型训练,可克服鲁棒性差、抗自遮挡能力差、训练要求高等缺点。

附图说明

图1是本发明所述的一种基于深度卷积神经网络的人体姿态检测方法的较佳实施方式的流程图。

具体实施方式

为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

请参考图1所示,其为本发明所述的一种基于深度卷积神经网络的人体姿态检测方法的较佳实施方式的流程图。所述一种基于深度卷积神经网络的人体姿态检测方法的较佳实施方式包括以下步骤:

步骤s1:将数据集按照训练和测试进行划分,并做预处理。

具体的,所述步骤s1中,先将所有的数据集划分为训练集和测试集,训练集再划分为整体图像训练集和关节部位训练集两个部分,其中整体图像训练集可选取原本的训练集,关节部位测试集为训练集中每张训练图片所对应的真实图像中关节坐标数据集。之后将训练集中所有图片的图像尺寸进行预处理,将训练图片的尺寸处理为训练网络约束的尺寸大小,即将其大小仿射变换为220×220(宽×高)大小(单位为:像素)。

步骤s2:进行人体关节特征区域的识别学习模型训练,以识别人体关节部位图像区域的学习网络。

具体的,所述步骤s2中,首先将准备好的整体图像训练集作为输入,并将其输入至深度卷积神经网络中,该卷积神经网络包括依次设置的五个卷积层和两个完全连接层,五个卷积层中前两个卷积层中的每个卷积层后均依次设置一个非线性激活层和一个最大池层,五个卷积层后级联一个数据降维层,之后级联两个完全连接层。非线性激活层运用softplus函数做激活函数。两个完全连接层中间含有一个非线性激活层。本实施方式中,所述非线性激活层选取softplus函数,其中:

softplus(x)=log(1+ex)(1),公式中x表示图像对应的像素值。

该深度卷积神经网络的输出为一个64×64(宽×高,单位为:像素)的只含有“0,1”的二进制矩阵,该二进制矩阵通过与原始训练集内的图像进行误差计算,获取损失值。通过不断优化训练网络参数,最小化损失值。本实施方式中,最小化损失值时选取了adam梯度下降方式,通过以下公式(2)及(3)来进行计算:

mt=β1mt-1+(1-β1)gt(2)

其中公式中β为训练中的训练参数,该参数为经验参数,根据训练需要设置为0~1之间,本实施方式中β1=0.9,β2=0.999,ε=10-8,gt为梯度值,m为第一个更新瞬间的估计偏值,v为第二个更新瞬间的估计偏值。通过对公式(2)及(3)进行求偏导,即可得到以下公式:

最后通过公式(6):

进行迭代计算,最终获得训练损失值最小的网络参数,其中η、ε为训练常数,θt表示网络参数。通过该训练损失值最小的网络参数即可得到学习网络。

步骤s3:关节坐标定位学习模型训练。训练时可以通过图像获取人体关节部位坐标的学习网络。

具体的,所述步骤s3中,将准备好的关节部位训练集与对应的关节坐标(x,y)一一对应,送入关节定位网络中进行训练。关节定位训练网络包括两个卷积层,其中每个卷积层之后设置一个最大池层,所述最大池层用于消除邻域大小受限造成的估计值方差增大。之后级联一个局部激活层用于激活数据中的特征。最后做一个全连接,生成一个2×1的矩阵,分别记录关节所在位置的x轴坐标x和y轴坐标y。之后重复上述步骤作二级级联,将输出关节坐标预测结果与实际结果进行误差运算,并通过adam梯度下降缩小误差,直至达到允许误差范围内。计算公式如下:

∑(x-x2)(y-y2)=∑(xy-x2y-xy2+x2y2)

=∑xy-nx2y2-nx2y2+nx2y2

=∑xy-nx2y2

其中,x表示x轴坐标值,y表示y轴坐标值,n表示求和符号的求和个数。

本实施方式中,关节部位训练集被划分为13类,包括:头、左肩、右肩、左手肘、右手肘、左手腕、右手腕、左臀、右臀、左膝关节、右膝关节、左脚踝、右脚踝。每一类存放记录对应人体部位的图像训练图片。具体的,将上述关节部位训练集送入关节坐标定位学习网络,通过一个矩形框包含子图像进行图像与关节坐标描述,将已经通过关节区域验证各个关节的子图像送入坐标定位学习模型进行训练学习,通过求取样本关节坐标与预测坐标间最小误差值实现训练学习,最后通过一个二级级联结构优化训练网络参数,从而完成学习。

步骤s4:检测图像尺寸预处理,将需要识别人体姿态的图像调整为网络输入要求大小。

具体的,所述步骤s4中,将需要测试的图片进行图片大小处理,本实施方式中,可通过仿射变换变换为220×220(宽×高,单位为:像素)尺寸的输入矩阵。

步骤s5:人体关节特征区域识别学习模型识别,通过该网络进行图像关节区域的识别,并划定相应矩形区域保存为子图像。

具体的,所述步骤s5中,将预处理后的图片输入关节特征区域识别学习模型,通过处理获得记录图像深层次特征的二进制掩膜矩阵。将输入图像与生成的二进制掩膜矩阵进行损失值计算获得对应的损失值(进行“或”运算),将损失值与预定值进行比较(通常情况下差距较大),进而进行输入图像区域重塑,在原图像的基础上截取稍小一部分的子图像,每次减少20%的原图像宽度,继续与对应的二进制掩膜进行损失值运算,再进行损失值计算,若仍大于预设定值,继续进行输入区域截取再输入(由于截取后的图像小于原始图像,所以需要多次步进实现上一级输入图像内容全覆盖)。最后,选取损失值最小的区域作为最后结果,获取最优关节预测区域,该最优关节预测区域即被保存为子图像。

步骤s6:关节坐标定位学习模型识别,将获得子图像作为输入,送入关节坐标定位学习模型进行关节坐标获取。

具体的,所述步骤s6中,根据步骤s5中所获取的预测区域,将原始输入图像根据预测区域范围进行截取,获取关节区域子图像,并将子图像预处理(即将其变换为220×220的图像),输入关节坐标学习模型,通过二级级联迭代,最后输出一个两行一列的矩阵,分别记录预测关节坐标的x轴坐标和y轴坐标。

更为具体的,在获取共计13个部位目标区域后,分别选取目标区域内的所有像素作为输入图像,将该子图像区域输入关节学习模型,该输入的图像通过一个记录其中心点和边框信息的矩形进行描述,通过两级联学习模型进行相应关节坐标,再通过一个相同的级联网络重复一次上述步骤即可得到优化的相应关节坐标。

步骤s7:按照人体骨骼模型连接获取的关节点构成人体姿态描述。

具体的,所述步骤s7中,人体姿态描述中,将分别获取的13个部位的坐标,在图像上进行点绘制并根据人体骨骼,进行相邻点的链接,即可绘制出人体姿态预测图。

以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构,直接或间接运用在其他相关的技术领域,均同理在本发明的专利保护范围之内。

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