一种多人人体姿态估计方法与流程

文档序号:21272228发布日期:2020-06-26 23:00阅读:486来源:国知局
一种多人人体姿态估计方法与流程

本发明的技术方案涉及用于识别图形的记录载体的处理,具体地说是一种多人人体姿态估计方法。



背景技术:

人体姿态估计技术对于描述人体运动轨迹、预测人体行为至关重要,该技术用于定位描述人体关节位置的关键点运动轨迹并记录其运动数据,实现3d动画模拟人体运动来制作电影电视,并通过记录的人体运动轨迹和数据对人体运动进行分析,应用于人体动作分类,人体异常行为的检测,以及自动驾驶领域。

现有的人体姿态估计方法按照特征定义方法的不同分为机器学习方法和深度学习方法。

人体姿态估计方法中的机器学习方法是将人体关键点的运动轨迹估计表述为树状结构模型或图形模型,并基于手工制作的特征预测这些人体关键点的位置,即人体关键点在图像中的二维坐标。然而由于人体运动的灵活性、服装的多变性以及环境的复杂性,很难定义一个与人体运动匹配的具体模板;同时在利用机器学习方法完成人体姿态估计的过程中,需要从原始输入图像中提取大量的特征,同样由于人体姿态的高复杂性,提取的特征分辨率相对较高,导致计算复杂度很高,因此机器学习方法主要应用于简单背景,单人运动且无遮挡的理想状态,难以应用于实际场景中。

相比之下,人体姿态估计方法中的深度学习方法能够从元数据中提取足够丰富的特征,相比机器学习方法取得了更好的人体姿态的识别效果。随着深度卷积神经网络的发展,深度学习方法在人体姿态估计领域广泛应用并使模型的性能有了显著的提升。人体姿态估计方法中的深度学习的方法被集中用于多人人体姿态的估计。现今,多人人体姿态估计是许多计算机视觉应用的基础研究课题。多人人体姿态估计,是在图像中的人体目标数量不确定及位置不确定的前提下识别和定位图像中所有人的人体关键点,例如头部、肘部、腕部,并将这些人体关键点根据不同人体目标进行分类连接。

目前,人体姿态估计方法中的深度学习方法按照检测流程的不同分为两类,即基于自顶向下的方法以及基于自底向上的方法。自顶向下的方法首先检测人体目标然后根据目标边界框对图像进行裁剪,将裁剪后的图像输入到单人姿态估计系统中,得出最终结果;自底向上的方法直接检测图像中所有的人体关键点,在此基础上按照目标人对人体关键点进行聚类处理,最后对人体关键点进行连接。自顶向下的方法依赖于人体检测器的性能,更适用于人员目标稀疏的情况且具有较高的识别率,自底向上的方法则具有更好的鲁棒性,但是方法更加复杂,主要适用于人员目标密集的情况。

cn105117694b公开了一种结合旋转不变性特征的单张图像人体姿态估计方法,该方法首先对旋转图像进行分析,构建旋转不变性梯度特征;其次结合旋转不变性特征及hog特征对单张图像中的人体部件建立表象模型,并基于姿态先验构建柔性混合模型,从而估计出输入图像中的人体二维姿态。该方法属于基于传统机器学习的单人人体姿态估计方法,其存在提取的手工制作的特征不足以确定身体部位的准确位置,并且取得的精确度较低,无法完成多人人体姿态估计任务的缺陷。

cn108154104a公开了一种基于深度图像超像素联合特征的人体姿态估计方法,以单幅包含人体的深度图像为输入数据,结合超像素分割对深度图像进行人体姿态特征提取,应用特征对人体部位进行分割,对分割后的部位进行聚类操作,并使用稀疏回归进行人体骨架点的位置估计。该方法存在以深度图像为基础,需要特殊的深度相机作为图像采集设备,成本高且精度较低,同时该方法仅能完成单人的人体姿态估计,因此该方法在实际的推广中存在一定的困难的缺陷。

cn108647663a公开了一种基于深度学习和多层次图结构模型的人体姿态估计方法,该方法利用深度学习模型提取特征,同时结合图结构模型对人体分为多个组合部件完成人体姿态估计。该方法存在对于图像数据中出现人体区域不全或部分遮挡时,无法按照预定的图结构模型进行部件定义,方法会失效,并且该方法在lsp数据集上进行的实验,该数据集仅包含2000张图像,与目前公开的大规模人体姿态识别数据集在样本量上有巨大差距,测试效果缺乏说服力的缺陷。

cn110598590a公开了一种基于多视角相机的紧密交互人体姿态估计方法及装置,该方法在获取多视角图像的基础上,在图像中检测人体关键点位置,通过多视角相机位姿对人体关键点位置进行估计,并生成人体关键点位置对应的三维坐标;利用优化姿态预处理函数对三维坐标进行处理生成初始人体姿态集合;最后依托smpl-model人体模型将初始人体姿态集合拟合为人体模型,并利用优化姿态后处理函数对人体模型进行处理生成紧密交互人体真实姿态。该发明存在需要在实际测试环境中架设多个摄像机采集图像数据,而目前利用单幅图像进行人体姿态估计已经取得了很好的效果,再考虑实际测试环境以及设备成本的要求使得其很难推广的缺陷。

cn106650827a公开了一种基于结构指导深度学习的人体姿态估计方法和系统,该方法以人体骨架结构为指导,结合结构指导卷积神经网络和融合卷积神经网络完成人体关键点检测,给出人体姿态识别结果,其存在由于图像中的人体关键点不符合骨架结构分布,当图像中出现人体遮挡时该方法会失效的缺陷。

cn110008915a公开了一种基于mask-rcnn的稠密人体姿态估计的系统及方法,该方法首先对输入图像提取特征,通过池化操作对特征图降维,利用低维的特征图完成目标区域的检测得到目标矩形区域;在此基础上通过语义分割获得各个目标区域的实际语义信息,再利用实例分割结合语义分割与目标区域进行处理获得人体实例分割掩码;最终通过建立图像与3d人体表面模型的关系得到稠密情况下人体姿态估计的结果。该方法存在人与人之间的遮挡与肢体的遮挡都会使得图像裁剪后包含与所讨论的人无关的多个人体关键点,这样就会导致在模型训练过程中出现人体关键点的歧义与主体目标的歧义,进而会导致模型的识别率下降的缺陷。

cn110197123a公开了一种基于maskr-cnn的人体姿态识别方法,使用训练集通过残差网络进行训练,生成特征图;对特征图采用非最大值抑制,删除重叠候选框面积大于规定阈值的特征图;遍历训练集图像对应的感兴趣区域,通过二值分类与边界回归过滤部分感兴趣区域;对剩余的感兴趣区域进行roialign操作;对处理后的候选感兴趣区域进行姿态分类、边界回归和mask生成,得到预训练模型;使用预训练模型对测试集图像进行姿态识别。该方法与cn110008915a相似,都是通过mask提升人体目标检测的精度来改善人体姿态估计的表现,同样存在忽略了人体姿态估计模型与mask之间的协作,对于多人的mask中人与人之间,或者人的肢体之间的遮挡问题并没有很好地解决,进一步地,在自顶向下的人体目标裁剪过程中,会出现目标边界框有交集的情况,在拥挤场景下更为普遍,这样会导致某一目标边界框包含其他目标的部分肢体,在上述边界框中这些部分肢体会作为背景处理,而这些肢体在本体目标的边界框中则会成为主体,进而造成人体姿态估计的歧义影响识别精度的缺陷。

cn110084138a公开了一种2d多人姿态估计方法,构建顺序化的多阶段的全卷积神经网络,输出为人体关键点检测响应图与人体关键点亲和矢量场响应图;将训练集样本输入到人体姿态估计网络结构中进行训练,获得人体姿态估计模型;使用匈牙利算法和二分图算法处理得到的人体关键点检测响应图与人体关键点亲和矢量场响应图,以连接人体关键点得到最终的人体姿态估计结果。该方法存在从整张图像入手进行人体关键点检测,这势必会将图像中冗余的信息输入到模型的特征提取过程中,进而对人体关键点的回归结果造成影响,同时引入的人体关键点连接信息也会有误差,对最终的估计结果也会造成影响的缺陷。

综上所述,多人人体姿态估计方法的现有技术还存在在人群稠密情况下,对人体遮挡干扰鲁棒性差,人体关键点检测正确率较低的缺陷。



技术实现要素:

本发明所要解决的技术问题是:提供一种多人人体姿态估计方法,是一种基于深度特征的多人人体姿态估计方法,该方法构建了由主体网络与微调网络两部分组成的深度特征人体关键点检测模型,采用自底向上与自顶向下两种方法结合的两阶段训练方法训练深度特征人体关键点检测模型,最终利用两阶段训练好深度特征人体关键点检测模型检测人体关键点,并通过人体关键点聚类处理去除不属于目标人的冗余关键点,进而输出多人人体姿态估计结果,克服了现有多人人体姿态估计方法技术所存在的在人群稠密情况下,对目标人体遮挡干扰鲁棒性差,人体关键点检测正确率较低的缺陷。

本发明解决该技术问题所采用的技术方案是:一种多人人体姿态估计方法,是一种基于深度特征的多人人体姿态估计方法,该方法构建了由主体网络与微调网络两部分组成的深度特征人体关键点检测模型,采用自底向上与自顶向下两种方法结合的两阶段训练方法训练深度特征人体关键点检测模型,最终利用两阶段训练好深度特征人体关键点检测模型检测人体关键点,并通过人体关键点聚类处理去除不属于目标人的冗余关键点,进而输出人体姿态估计结果具体步骤如下:

a过程.深度特征人体关键点检测模型的建立和训练:

第一步,图像数据预处理:

第(1.1)步,图像归一化:

获取多人人体姿态估计mscoco图像数据集,该数据集是人体姿态估计领域公共数据集,分为标签文件和图像文件,其中标签文件保存每张图像已经标注好的十七个人体关键点位置信息,对所获取的多人人体姿态估计mscoco图像数据集中的多人人体姿态估图像进行预处理,即将图像调整为384×288像素尺寸,然后根据期望与标准差的三种组合:(0.485,0.229),(0.456,0.244),(0.406,0.255),分别对图像的三个通道的像素值进行标准化,进而按照mscoco数据集的划分方法将标准化处理后的图像文件分为原始图像训练集和原始图像测试集,由此完成图像归一化;

第(1.2)步,生成标注人体关键点置信度热图与二值掩码:

根据上述第(1.1)步中图像归一化得到的多人人体姿态估计图像以及每张图像已经标注好的十七个人体关键点位置信息,生成对应的十七个通道的人体关键点置信度热图,其中每个通道的人体关键点置信度热图的大小为96×72像素,同时生成对应的十七个通道的二值掩码,其大小与人体关键点置信度热图相同,人体关键点置信度热图生成的具体方法如下:

根据上述(1.1)步中所获取的多人人体姿态估计mscoco图像数据集中的每张图像已经标注好的十七个人体关键点位置信息,得出在图像中位置的具体的人体关键点置信度热图如下公式(1)所示,

公式(1)中,n为图像中人体目标的标号,k=0,1,2,3…16代表人体关键点类别所对应的人体关键点置信度热图的数字索引,为图像中第n个人对应的第k类别人体关键点真值坐标,为图像中像素坐标,其中p与xk,n的距离越近,对应人体关键点置信度热图中的置信度越高,σ为控制峰值的扩散,

将图像中所有人的置信度热图通过max运算将相同类别人体关键点热图聚合到同一置信通道hk(p),如下公式(2)所示,

在生成人体关键点置信度热图的基础上,生成十七个人体关键点通道的人体关键点二值掩码w(z),其大小与人体关键点置信度热图相同,z为十七个人体关键点通道的人体关键点二值掩码中的坐标位置,当坐标位置z的人体关键点不可见时,w(z)=0,否则w(z)=1,

至此完成生成标注人体关键点置信度热图与二值掩码;

所述十七个人体关键点的选定包括,鼻子、左右眼、左右耳、颈部、左右肩、左右手肘、左右手腕、左右臀部、左右膝盖和左右脚踝,这些人体关键点所对应的十七个通道的人体关键点置信度热图索引分别为,0-鼻子、1-左眼、2-右眼、3-左耳、4-右耳、5-左肩、6-右肩、7-左肘、8右肘、9-左腕、10-右腕、11-左髋、12-右髋、13-左膝、14-右膝、15-左踝、16-右踝;

由此完成图像数据预处理;

第二步,构建深度特征人体关键点检测模型:

所构建的深度特征人体关键点检测模型分为主体网络与微调网络两部分:

第(2.1)步,构建主体网络部分:

主体网络部分以hrnet网络模型为基础,通过该模型结构中不同分辨率的深度特征输出层,构建得到的主体网络部分具有四个并行的深度特征提取子网络,其结构如下公式(3)所示,

公式(3)中,nij为hrnet网络的基本处理单元,其中横向为分支,包括四个分支,分支数j=1,2,3,4,纵向为阶段,包括四个阶段,阶段数为i=1,2,3,4,

该四个并行的深度特征提取子网的四个分支为:第一个分支为n11→n21→n31→n41,第二个分支为n22→n32→n42,第三个分支为n33→n43,第四个分支为n44,四个分支在四个并行深度特征提取子网络中引入交换单元进行多尺度融合,即引入的交换单元负责将各个处理单元输出的特征分辨率转换为下一处理单元处理的特征分辨率并融合,使每个深度特征提取子网络重复接收来自其他并行深度特征提取子网络的深度特征信息;

该四个并行的深度特征提取子网的四个阶段为:第一个阶段为n11,第二个阶段为n21和n22,第三个阶段为n31、n32和n33,第四个阶段为n41、n42、n43和n44,每一个阶段包含特征提取与多尺度融合两种功能,如下所示:

第一个阶段n11的输入为第一步预处理后的图像数据,经过特征提取生成c111,经过交换单元的多尺度融合后生成c211和c221,如下公式(4)所示,

公式(4)中,c111代表第一个阶段中n11提取的深度特征,c211和c221分别代表第一个阶段n11中交换单元多尺度融合后的深度特征,c211=c111,c221为c111的下采样,并且c211和c221分别为n21和n22的输入,

第二个阶段n21和n22分别以c211和c221为输入,经过特征提取生成c212和c222,经过交换单元的多尺度融合后生成c312、c322和c332,如下公式(5)所示,

公式(5)中,c212代表第二个阶段中n21提取的深度特征,c222代表第二个阶段n22提取的深度特征,c12=c212,c22与c32为c212的下采样且分辨率不同,c52=c222,c42为c222的上采样,c62为c22的下采样,c312、c322和c332分别代表第二个阶段中交换单元多尺度融合后的深度特征,并且c312、c322和c332分别为n31、n32和n33的输入,

第三个阶段n31、n32和n33分别以c312、c322和c332为输入,经过特征提取生成c313、c323和c333,经过交换单元的多尺度融合后生成c413、c423、c433和c443,如下公式(6)所示,

公式(6)中,c313、c323和c333分别代表第三个阶段中n31、n32和n33提取的深度特征,c13=c313,c23、c33和c43为c313的下采样且分辨率不同,c63=c323,c53为c323的上采样,c73和c83为c323的下采样且分辨率不同,c113=c333,c93和c103为c333的上采样且分辨率不同,c123为c333的下采样,c413、c423、c433和c443分别代表第三个阶段中交换单元多尺度融合后的深度特征,并且c413、c423、c433和c443分别为n41、n42、n43和n44的输入,

第四个阶段n41、n42、n43和n44分别以c413、c423、c433和c443为输入,经过特征提取生成c414、c424、c434和c444,c414、c424、c434和c444分别为第四个阶段中n41、n42、n43和n44提取的深度特征,从最后一个交换单元输出的高分辨率深度特征中回归人体关键点置信度热图h,如下公式(7)所示,

h=c14+c24+c34+c44(7),

公式(7)中,c14=c414,c24、c34和c44分别为c424、c434和c444的上采样且与c14分辨率相同,h为人体关键点置信度热图,

由此完成构建主体网络部分,

将四个并行的深度特征提取子网中的第i个阶段的输入记为c={c1,c2,…,ci},第i阶段的输出记为c’={c1’,c2’,…,ci+1’},输出的分辨率和宽度与输入的分辨率和宽度相同,在同一个阶段的不同个分支中,交换单元多尺度融合方式如下公式(8)所示,

公式(8)中,函数a(cr,m)表示将cr从分辨率r上采样或下采样到分辨率m,cm’为c’包含的元素,上采样使用最邻近采样,然后使用1×1的卷积进行通道对齐,下采样使用3×3的卷积,当r=m,有如下公式(9)所示,

a(cr,m)=cr(9),

主体网络输出的深度特征分辨率逐步递减为前一个阶段的一半,宽度即通道数加倍,通过并行连接高分辨率深度特征到低分辨率深度特征提取卷积来保持高分辨率深度特征,并通过在并行深度特征提取子网络之间重复执行多尺度融合来增强高分辨率深度特征,从而更加准确地定位图像中的人体关键点;

第(2.2)步,构建微调网络部分:

微调网络是将上述第(2.1)步构建的主体网络的各个阶段提取的深度特征:c111、c212、c313、c414以及人体关键点置信度热图h进行进一步的特征提取,具体结构如下:

公式(10)中,c111、c212、c313、c414、h经过进一步特征提取后分别生成f1、f2、f3、f4、f5,其中f1、f2、f3、f4、f5的宽度和分辨率都相同,c为f1、f2、f3、f4、f5的特征级联,h*为经过人体关键点在线挖掘的人体关键点置信度热图,

在主体网络的每个阶段都会有一个融合所有分支深度特征图的高分辨率深度特征图,微调网络根据不同类别人体关键点的识别率不同,进行人体关键点的在线挖掘以修正上述第(2.1)步构建的主体网络的人体关键点检测结果,即将输出的十七个置信度热图的单通道损失进行降序排序,取前八位的损失之和作为损失函数的最终值,结合主体网络的损失使得深度神经网络模型更加关注识别率较低的人体关键点;

第三步,训练深度特征人体关键点检测模型:

对上述第二步构建的深度特征人体关键点检测模型采用迁移学习训练方法,即首先进行自底向上的方法训练该深度特征人体关键点检测模型,然后进行自顶向下的方法训练该深度特征人体关键点检测模型,

第(3.1)步,采用自底向上训练深度特征人体关键点检测模型,输出人体关键点检测置信度热图:

将上述第(1.1)步中的原始图像训练集中的人体预处理后的图像和对应的上述第(1.2)步中的人体关键点置信度热图作为深度特征人体关键点检测模型的输入和输出,对深度特征人体关键点检测模型进行有监督的学习训练,采用完全自底向上的方法,利用上述第(1.1)步中的原始图像训练集中的人体预处理后的图像数据对上述第二步构建的深度特征人体关键点检测模型进行训练,使得该深度特征人体关键点检测模型识别图像中所有的人体关键点而不受人体实例的影响,能够学习到数据集中图像完整的信息,并根据其中所学到的深度特征来输出人体关键点检测置信度热图,

训练深度特征人体关键点检测模型的损失函数如下公式(11)、公式(12)和公式(13)所示,

loss=loss1+loss2(13),

公式(11)和(12)中,k=0,1,2,3…16为人体关键点类别所对应的人体关键点置信度热图的数字索引,p为图像中的像素坐标,h′k(p)为p位置人体关键点置信度热图的检测值,hk(p)为p位置人体关键点置信度热图的真值,w为二值掩码,·为矩阵乘法,当p位置的人体关键点不可见,则w(p)=0,

公式(13)中,loss1为主体网络的损失,loss2为微调网络的损失,

微调网络结合loss2完成识别率较低的人体关键点在线挖掘,将输出的十七个人体关键点检测置信度热图的单通道损失进行降序排序,取前八位的损失之和作为损失函数的最终值,结合主体网络的损失使得深度特征人体关键点检测模型更加关注识别率较低的人体关键点,在训练过程有效提高识别率较低的人体关键点识别率;

在采用自底向上训练深度特征人体关键点检测模型的训练过程中,采用adam算法调整卷积的参数,学习率设置为0.001,从第170个循环开始以10%的增长率增大学习率,

至此完成采用自底向上训练深度特征人体关键点检测模型,输出人体关键点检测置信度热图;

第(3.2)步,采用自顶向下训练深度特征人体关键点检测模型,识别裁剪后的图像中的所有人体关键点:

首先对上述第(1.1)步中得到的原始图像训练集进行多人人体目标检测,多人人体目标检测结果为多个人体实例区域的边界框,根据边界框对相应图像进行裁剪,生成以多人人体实例为主体的图像数据集,对该数据集中的图像进行与上述第一步的图像数据预处理相同的预处理操作,根据裁剪后的图像与原图像空间的映射关系,生成裁剪图像内人体关键点的真值置信度热图,然后,采用自顶向下的方法,使用裁剪后的图像与对应的真值置信度热图继续完成训练深度特征人体关键点检测模型,最终识别裁剪后的图像中的所有人体关键点,

由此完成采用自顶向下训练深度特征人体关键点检测模型,识别裁剪后的图像中的所有人体关键点,

至此完成a过程.深度特征人体关键点检测模型的建立和训练;

b过程.深度特征人体关键点检测模型的测试:

第五步,人体目标检测:

采用自顶向下的方法对上述第(1.1)步中得到的原始图像测试集进行人体目标检测,人体目标检测结果为人体实例的边界框,根据人体目标检测计算方法的输出结果对相应图像进行裁剪,生成以人体实例为主体的图像数据集,对该数据集的图像进行与上述第一步图像数据预处理相同的预处理操作;

上述人体目标检测计算方法的操作是,对不同尺寸的静态图像产生一组固定大小的默认边界框集合,对该组默认边界框内的区域利用深度特征人体关键点检测模型进行特征提取,提取特征的骨架网络采用残差网络50,取残差网络后四个残差单元输出的深度特征作为特征金字塔网络的输入,然后使用特征金字塔网络进行特征的分类,其中的人类类别的边框用于多人人体姿态估计任务;

第六步,输出人体关键点检测置信度热图:

使用上述第(3.2)步中采用自顶向下训练的深度特征人体关键点检测模型识别上述第五步中根据人体目标检测计算方法的输出结果对相应图像进行裁剪以后生成的图像中的所有人体关键点,并输出人体关键点检测置信度热图;

第七步,聚类人体关键点,输出多人人体姿态估计结果:

对上述第六步中输出的人体关键点检测置信度热图用人体关键点聚类模型进行人体关键点聚类,即将属于图像中的同一人体目标的人体关键点进行聚类,组成多人人体姿态估计的最终结果,根据上述第五步中的裁剪以后生成的图像中的所有人体关键点,将人体关键点坐标还原到第一步中的原图像空间中;

所用的人体关键点聚类模型为如下公式(14)所示,

h*={h1,h2,...,hk}(14),

公式(14)中,h*为第(2.2)步中经过人体关键点在线挖掘的人体关键点置信度热图,为人体关键点单通道置信度热图,k=0,1,2,3…16代表人体关键点类别所对应的人体关键点置信度热图的数字索引,最后的输出目标标记为y,包含该人体关键点置信度通道中峰值指示的每个人体关键点的正确位置,输出目标y={y1,y2,...,yk},其中为聚类后的人体关键点单通道置信度热图,其大小与hk相同,通过如下公式(15)将h*映射到y,

yk=φk(h*)+hk(15),

公式(15)中,函数φ1,φ2,...,φk为对h*中的姿势应用残差校正,输出层的激活使用softmax来获得适当的概率分布,并且在训练期间使用二进制交叉熵作为损失函数,使用“对象人体关键点相似性的k均值”对所有获得的人体关键点进行聚类,输出多人人体姿态估计结果;

至此完成b过程的深度特征人体关键点检测模型的测试;

最终完成多人人体姿态估计。

上述一种多人人体姿态估计方法,所述hrnet网络模型、adam算法、残差网络50、max运算、特征金字塔网络、softmax、二进制交叉熵均是本技术领域公知技术;

上述一种多人人体姿态估计方法,所述对象人体关键点相似性的k均值为本领域公知技术,具体计算方法如下:

公式(16)中,k代表人体关键点类别所对应的人体关键点置信度热图的数字索引,zk代表检测到的第k类人体关键点的检测坐标,dk代表检测结果zk与对应人体关键点检测真值的欧氏距离,o代表人体关键点的区域范围,δk为第k类人体关键点区域范围的变化系数,通过这一系数调整表示不同类别人体关键点拥有的区域是不同的,w(zk)为二值掩码;

本发明的有益效果是:与现有技术相比,本发明的突出的实质性特点和显著进步如下:

(1)本发明构建了一个用于人体关键点检测的深度特征人体关键点检测模型,以hrnet网络模型为基础,通过构建主体网络与微调网络的结合准确定位人体关键点。在本发明的深度特征人体关键点检测模型中,主体网络起到深度特征提取的作用,使用多通道、多阶段的模式共同提取深度特征,然后以多尺度融合的方式将多阶段深度特征组合,得到更加全面且有效的图像信息;微调网络级联整合主体网络提取的多阶段深度特征,对主体网络中识别率较低的人体关键点的损失进行在线挖掘,保证本发明的深度特征人体关键点检测模型的在训练过程中对不易识别的人体关键点的关注度,进而达到提升整体人体关键点的识别率的目的。在深度特征人体关键点检测模型的训练过程中,使用迁移学习的方法,结合自底向上和自顶向下的两阶段训练策略,第一个阶段训练采用自底向上的方式在未经过人体检测的原始图像训练集中训练得到基础深度特征人体关键点检测模型,避免了人体目标检测结果对模型训练过程的干扰,第二个阶段训练采用自顶向下的方式,已经得到的基础深度特征人体关键点检测模型迁移,在裁剪好的原始图像训练集训练得到深度特征人体关键点检测模型,增加模型对人体目标的关注度避免了复杂背景与复杂遮挡对模型训练过程的干扰,从而增加了模型识别人体关键点的鲁棒性。最终利用两阶段训练得到的深度特征人体关键点检测模型检测人体关键点,并通过聚类方法进行筛选输出人体姿态估计结果。

(2)本发明方法在深度特征人体关键点检测模型的测试过程中,采用带有人体关键点聚类的自顶向下方法来输出人体姿态估计结果,既避免了人体目标检测对最终结果的影响,又保证了人体姿态估计的明确性。

(3)本发明与cn110197123a和cn110084138a相比:cn110197123a与cn110084138a全部采用了自顶向下的方法,无法有效解决多人人体拥挤情况下人体目标相互遮挡所造成的歧义问题,导致随着图像中人体目标的增加,cn110197123a与cn110084138a的人体关键点识别率下降。本发明通过在训练过程中采用自底向上的方法有效弥补了自顶向下方法中的人体拥挤程度导致人体关键点识别率下降的缺陷。

(4)本发明与cn110084138a相比:cn110084138a采用了自底向上的算法,从整张图像入手进行人体关键点检测,这势必会将图像中冗余的信息输入到模型的特征提取过程中,进而对人体关键点的回归结果造成影响,导致人体关键点识别率低。本发明在识别人体关键点的过程中使用人体目标检测的计算方法,增加了深度特征人体关键点检测模型对于人体目标的注意力,在人体关键点检测后使用人体关键点聚类算法解决了人体关键点的连接问题,提高了人体关键点识别率。

(5)本发明与cn108154104a和cn110598590a相比:cn108154104a以深度图像为基础的单人人体姿态估计,需要特殊的深度相机作为图像采集设备,cn110598590a需要在实际测试环境中架设多个摄像机采集图像数据并且仅能完成单人姿态估计。本发明在识别人体关键点的过程中使用单视角的普通图像作为输入数据进行多人人体姿态估计,对实验环境与设备要求低,并且更好的满足实际应用需求,识别精度高,可推广性强。

(6)本发明与cn108647663a和cn106650827a相比:cn108647663a和cn106650827a分别以建立图模型以及骨架模型为基础进行人体姿态识别,在由于遮挡出现人体姿态不符合模型假设的情况下,其人体姿态识别会失效。本发明在深度特征人体关键点检测模型训练过程中采用二阶段策略,采用自底向上方法训练,同时采用自顶向下方法微调训练结果,更加有效解决遮挡情况下的多人人体姿态识别问题。

附图说明

下面结合附图和实施例对本发明进一步说明。

图1为本发明方法的流程示意框图。

图2为本发明方法中的深度特征人体关键点检测模型结构图。

图3为本发明方法中的人体关键点聚类模型结构图。

具体实施方式

图1所示实施例表明,本发明方法的流程为:a过程.深度特征人体关键点检测模型的建立和训练:图像数据预处理→构建深度特征人体关键点检测模型:构建主体网络部分;构建微调网络部分→训练深度特征人体关键点检测模型:采用自底向上方法训练深度特征人体关键点检测模型;采用自顶向下方法训练深度特征人体关键点检测模型;b过程.深度特征人体关键点检测模型的测试:人体目标检测→输出人体关键点检测置信度热图→聚类人体关键点→输出多人人体姿态估计结果。

补充说明:图中表示“采用自顶向下训练的深度特征人体关键点检测模型”识别“人体目标检测”,两步操作之后结合输出人体关键点检测置信度热图。

图2所示实施例表明,本发明方法中的深度特征人体关键点检测模型由主体网络和微调网络两部分组成,主体网络通过特征提取1-1对输入数据进行特征提取,经过下采样将提取的深度特征输入特征提取2-1、特征提取2-2;在此基础上通过交换单元将特征提取2-1和特征提取2-2提取的深度特征进行处理,分别输入到特征提取3-1、特征提取3-2、特征提取3-3;继续将特征提取3-1、特征提取3-2、特征提取3-3所提取的深度特征利用交换单元进行处理,分别输入到特征提取4-1、特征提取4-2、特征提取4-3、特征提取4-4;最后将特征提取4-1、特征提取4-2、特征提取4-3、特征提取4-4输出的多分支深度特征融合为人体关键点置信度热图;微调网络将主体网络中特征提取2-1、特征提取3-1、特征提取4-1提取的多阶段深度特征和人体关键点置信度热图作为特征提取1、特征提取2、特征提取3、特征提取4的输入,将特征提取1、特征提取2、特征提取3、特征提取4、特征提取1-1提取的特征进行级联生成多阶段融合特征,并通过特征提取5生成人体关键点置信度热图*;最后主体网络和微调网络分别采用损失1和损失2进行训练,并将损失1和损失2求和作为模型最终损失。

图3所示实施例表明,本发明方法中的人体关键点聚类模型结构为:包括输入层(图中的前一个单通道关键点热图96*72)、隐藏层和输出层(图中的后一个单通道关键点热图96*72)的三层bp神经网络。该模型显示为扁平化的人体姿态关键点的置信度热图,96×72代表置信度热图的分辨率,扁平化后为6912×1(图中为6912*1),隐藏层包含1024个节点,在模型的前向计算过程中,将隐藏层的输出数据与输入数据求和,然后逆扁平化求和结果得到最终人体关键点聚类结果。

实施例

本实施例一种多人人体姿态估计方法,具体步骤如下:

a过程.深度特征人体关键点检测模型的建立和训练:

第一步,图像数据预处理:

第(1.1)步,图像归一化:

获取多人人体姿态估计mscoco图像数据集,该数据集是人体姿态估计领域公共数据集,分为标签文件和图像文件,其中标签文件保存每张图像已经标注好的十七个人体关键点位置信息,对所获取的多人人体姿态估计mscoco图像数据集中的多人人体姿态估图像进行预处理,即将图像调整为384×288像素尺寸,然后根据期望与标准差的三种组合:(0.485,0.229),(0.456,0.244),(0.406,0.255),分别对图像的三个通道的像素值进行标准化,进而按照mscoco数据集的划分方法将标准化处理后的图像文件分为原始图像训练集和原始图像测试集,由此完成图像归一化;

第(1.2)步,生成标注人体关键点置信度热图与二值掩码:

根据上述第(1.1)步中图像归一化得到的多人人体姿态估计图像以及每张图像已经标注好的十七个人体关键点位置信息,生成对应的十七个通道的人体关键点置信度热图,其中每个通道的人体关键点置信度热图的大小为96×72像素,同时生成对应的十七个通道的二值掩码,其大小与人体关键点置信度热图相同,人体关键点置信度热图生成的具体方法如下:

根据上述(1.1)步中所获取的多人人体姿态估计mscoco图像数据集中的每张图像已经标注好的十七个人体关键点位置信息,得出在图像中位置的具体的人体关键点置信度热图如下公式(1)所示,

公式(1)中,n为图像中人体目标的标号,k=0,1,2,3…16代表人体关键点类别所对应的人体关键点置信度热图的数字索引,为图像中第n个人对应的第k类别人体关键点真值坐标,为图像中像素坐标,其中p与xk,n的距离越近,对应人体关键点置信度热图中的置信度越高,σ为控制峰值的扩散,

将图像中所有人的置信度热图通过max运算将相同类别人体关键点热图聚合到同一置信通道hk(p),如下公式(2)所示,

在生成人体关键点置信度热图的基础上,生成十七个人体关键点通道的人体关键点二值掩码w(z),其大小与人体关键点置信度热图相同,z为十七个人体关键点通道的人体关键点二值掩码中的坐标位置,当坐标位置z的人体关键点不可见时,w(z)=0,否则w(z)=1,

至此完成生成标注人体关键点置信度热图与二值掩码;

所述十七个人体关键点的选定包括,鼻子、左右眼、左右耳、颈部、左右肩、左右手肘、左右手腕、左右臀部、左右膝盖和左右脚踝,这些人体关键点所对应的十七个通道的人体关键点置信度热图索引分别为,0-鼻子、1-左眼、2-右眼、3-左耳、4-右耳、5-左肩、6-右肩、7-左肘、8右肘、9-左腕、10-右腕、11-左髋、12-右髋、13-左膝、14-右膝、15-左踝、16-右踝;

由此完成图像数据预处理;

第二步,构建深度特征人体关键点检测模型:

所构建的深度特征人体关键点检测模型分为主体网络与微调网络两部分:

第(2.1)步,构建主体网络部分:

主体网络部分以hrnet网络模型为基础,通过该模型结构中不同分辨率的深度特征输出层,构建得到的主体网络部分具有四个并行的深度特征提取子网络,其结构如下公式(3)所示,

公式(3)中,nij为hrnet网络的基本处理单元,其中横向为分支,包括四个分支,分支数j=1,2,3,4,纵向为阶段,包括四个阶段,阶段数为i=1,2,3,4,

该四个并行的深度特征提取子网的四个分支为:第一个分支为n11→n21→n31→n41,第二个分支为n22→n32→n42,第三个分支为n33→n43,第四个分支为n44,四个分支在四个并行深度特征提取子网络中引入交换单元进行多尺度融合,即引入的交换单元负责将各个处理单元输出的特征分辨率转换为下一处理单元处理的特征分辨率并融合,使每个深度特征提取子网络重复接收来自其他并行深度特征提取子网络的深度特征信息;

该四个并行的深度特征提取子网的四个阶段为:第一个阶段为n11,第二个阶段为n21和n22,第三个阶段为n31、n32和n33,第四个阶段为n41、n42、n43和n44,每一个阶段包含特征提取与多尺度融合两种功能,如下所示:

第一个阶段n11的输入为第一步预处理后的图像数据,经过特征提取生成c111,经过交换单元的多尺度融合后生成c211和c221,如下公式(4)所示,

公式(4)中,c111代表第一个阶段中n11提取的深度特征,c211和c221分别代表第一个阶段n11中交换单元多尺度融合后的深度特征,c211=c111,c221为c111的下采样,并且c211和c221分别为n21和n22的输入,

第二个阶段n21和n22分别以c211和c221为输入,经过特征提取生成c212和c222,经过交换单元的多尺度融合后生成c312、c322和c332,如下公式(5)所示,

公式(5)中,c212代表第二个阶段中n21提取的深度特征,c222代表第二个阶段n22提取的深度特征,c12=c212,c22与c32为c212的下采样且分辨率不同,c52=c222,c42为c222的上采样,c62为c22的下采样,c312、c322和c332分别代表第二个阶段中交换单元多尺度融合后的深度特征,并且c312、c322和c332分别为n31、n32和n33的输入,

第三个阶段n31、n32和n33分别以c312、c322和c332为输入,经过特征提取生成c313、c323和c333,经过交换单元的多尺度融合后生成c413、c423、c433和c443,如下公式(6)所示,

公式(6)中,c313、c323和c333分别代表第三个阶段中n31、n32和n33提取的深度特征,c13=c313,c23、c33和c43为c313的下采样且分辨率不同,c63=c323,c53为c323的上采样,c73和c83为c323的下采样且分辨率不同,c113=c333,c93和c103为c333的上采样且分辨率不同,c123为c333的下采样,c413、c423、c433和c443分别代表第三个阶段中交换单元多尺度融合后的深度特征,并且c413、c423、c433和c443分别为n41、n42、n43和n44的输入,

第四个阶段n41、n42、n43和n44分别以c413、c423、c433和c443为输入,经过特征提取生成c414、c424、c434和c444,c414、c424、c434和c444分别为第四个阶段中n41、n42、n43和n44提取的深度特征,从最后一个交换单元输出的高分辨率深度特征中回归人体关键点置信度热图h,如下公式(7)所示,

h=c14+c24+c34+c44(7),

公式(7)中,c14=c414,c24、c34和c44分别为c424、c434和c444的上采样且与c14分辨率相同,h为人体关键点置信度热图,

由此完成构建主体网络部分,

将四个并行的深度特征提取子网中的第i个阶段的输入记为c={c1,c2,…,ci},第i阶段的输出记为c’={c1’,c2’,…,ci+1’},输出的分辨率和宽度与输入的分辨率和宽度相同,在同一个阶段的不同个分支中,交换单元多尺度融合方式如下公式(8)所示,

公式(8)中,函数a(cr,m)表示将cr从分辨率r上采样或下采样到分辨率m,cm’为c’包含的元素,上采样使用最邻近采样,然后使用1×1的卷积进行通道对齐,下采样使用3×3的卷积,当r=m,有如下公式(9)所示,

a(cr,m)=cr(9),

主体网络输出的深度特征分辨率逐步递减为前一个阶段的一半,宽度即通道数加倍,通过并行连接高分辨率深度特征到低分辨率深度特征提取卷积来保持高分辨率深度特征,并通过在并行深度特征提取子网络之间重复执行多尺度融合来增强高分辨率深度特征,从而更加准确地定位图像中的人体关键点;

第(2.2)步,构建微调网络部分:

微调网络是将上述第(2.1)步构建的主体网络的各个阶段提取的深度特征:c111、c212、c313、c414以及人体关键点置信度热图h进行进一步的特征提取,具体结构如下:

公式(10)中,c111、c212、c313、c414、h经过进一步特征提取后分别生成f1、f2、f3、f4、f5,其中f1、f2、f3、f4、f5的宽度和分辨率都相同,c为f1、f2、f3、f4、f5的特征级联,h*为经过人体关键点在线挖掘的人体关键点置信度热图,

在主体网络的每个阶段都会有一个融合所有分支深度特征图的高分辨率深度特征图,微调网络根据不同类别人体关键点的识别率不同,进行人体关键点的在线挖掘以修正上述第(2.1)步构建的主体网络的人体关键点检测结果,即将输出的十七个置信度热图的单通道损失进行降序排序,取前八位的损失之和作为损失函数的最终值,结合主体网络的损失使得深度神经网络模型更加关注识别率较低的人体关键点;

第三步,训练深度特征人体关键点检测模型:

对上述第二步构建的深度特征人体关键点检测模型采用迁移学习训练方法,即首先进行自底向上的方法训练该深度特征人体关键点检测模型,然后进行自顶向下的方法训练该深度特征人体关键点检测模型,

第(3.1)步,采用自底向上训练深度特征人体关键点检测模型,输出人体关键点检测置信度热图:

将上述第(1.1)步中的原始图像训练集中的人体预处理后的图像和对应的上述第(1.2)步中的人体关键点置信度热图作为深度特征人体关键点检测模型的输入和输出,对深度特征人体关键点检测模型进行有监督的学习训练,采用完全自底向上的方法,利用上述第(1.1)步中的原始图像训练集中的人体预处理后的图像数据对上述第二步构建的深度特征人体关键点检测模型进行训练,使得该深度特征人体关键点检测模型识别图像中所有的人体关键点而不受人体实例的影响,能够学习到数据集中图像完整的信息,并根据其中所学到的深度特征来输出人体关键点检测置信度热图,

训练深度特征人体关键点检测模型的损失函数如下公式(11)、公式(12)和公式(13)所示,

loss=loss1+loss2(13),

公式(11)和(12)中,k=0,1,2,3…16为人体关键点类别所对应的人体关键点置信度热图的数字索引,p为图像中的像素坐标,h′k(p)为p位置人体关键点置信度热图的检测值,hk(p)为p位置人体关键点置信度热图的真值,w为二值掩码,·为矩阵乘法,当p位置的人体关键点不可见,则w(p)=0,

公式(13)中,loss1为主体网络的损失,loss2为微调网络的损失,

微调网络结合loss2完成识别率较低的人体关键点在线挖掘,将输出的十七个人体关键点检测置信度热图的单通道损失进行降序排序,取前八位的损失之和作为损失函数的最终值,结合主体网络的损失使得深度特征人体关键点检测模型更加关注识别率较低的人体关键点,在训练过程有效提高识别率较低的人体关键点识别率;

在采用自底向上训练深度特征人体关键点检测模型的训练过程中,采用adam算法调整卷积的参数,学习率设置为0.001,从第170个循环开始以10%的增长率增大学习率,

至此完成采用自底向上训练深度特征人体关键点检测模型,输出人体关键点检测置信度热图;

第(3.2)步,采用自顶向下训练深度特征人体关键点检测模型,识别裁剪后的图像中的所有人体关键点:

首先对上述第(1.1)步中得到的原始图像训练集进行多人人体目标检测,多人人体目标检测结果为多个人体实例区域的边界框,根据边界框对相应图像进行裁剪,生成以多人人体实例为主体的图像数据集,对该数据集中的图像进行与上述第一步的图像数据预处理相同的预处理操作,根据裁剪后的图像与原图像空间的映射关系,生成裁剪图像内人体关键点的真值置信度热图,然后,采用自顶向下的方法,使用裁剪后的图像与对应的真值置信度热图继续完成训练深度特征人体关键点检测模型,最终识别裁剪后的图像中的所有人体关键点,

由此完成采用自顶向下训练深度特征人体关键点检测模型,识别裁剪后的图像中的所有人体关键点,

至此完成a过程.深度特征人体关键点检测模型的建立和训练;

b过程.深度特征人体关键点检测模型的测试:

第五步,人体目标检测:

采用自顶向下的方法对上述第(1.1)步中得到的原始图像测试集进行人体目标检测,人体目标检测结果为人体实例的边界框,根据人体目标检测计算方法的输出结果对相应图像进行裁剪,生成以人体实例为主体的图像数据集,对该数据集的图像进行与上述第一步图像数据预处理相同的预处理操作;

上述人体目标检测计算方法的操作是,对不同尺寸的静态图像产生一组固定大小的默认边界框集合,对该组默认边界框内的区域利用深度特征人体关键点检测模型进行特征提取,提取特征的骨架网络采用残差网络50,取残差网络后四个残差单元输出的深度特征作为特征金字塔网络的输入,然后使用特征金字塔网络进行特征的分类,其中的人类类别的边框用于多人人体姿态估计任务;

第六步,输出人体关键点检测置信度热图:

使用上述第(3.2)步中采用自顶向下训练的深度特征人体关键点检测模型识别上述第五步中根据人体目标检测计算方法的输出结果对相应图像进行裁剪以后生成的图像中的所有人体关键点,并输出人体关键点检测置信度热图;

第七步,聚类人体关键点,输出多人人体姿态估计结果:

对上述第六步中输出的人体关键点检测置信度热图用人体关键点聚类模型进行人体关键点聚类,即将属于图像中的同一人体目标的人体关键点进行聚类,组成多人人体姿态估计的最终结果,根据上述第五步中的裁剪以后生成的图像中的所有人体关键点,将人体关键点坐标还原到第一步中的原图像空间中;

所用的人体关键点聚类模型为如下公式(14)所示,

h*={h1,h2,...,hk}(14),

公式(14)中,h*为第(2.2)步中经过人体关键点在线挖掘的人体关键点置信度热图,为人体关键点单通道置信度热图,k=0,1,2,3…16代表人体关键点类别所对应的人体关键点置信度热图的数字索引,最后的输出目标标记为y,包含该人体关键点置信度通道中峰值指示的每个人体关键点的正确位置,输出目标y={y1,y2,...,yk},其中为聚类后的人体关键点单通道置信度热图,其大小与hk相同,通过如下公式(15)将h*映射到y,

yk=φk(h*)+hk(15),

公式(15)中,函数φ1,φ2,...,φk为对h*中的姿势应用残差校正,输出层的激活使用softmax来获得适当的概率分布,并且在训练期间使用二进制交叉熵作为损失函数,使用“对象人体关键点相似性的k均值”对所有获得的人体关键点进行聚类,输出多人人体姿态估计结果;

至此完成b过程的深度特征人体关键点检测模型的测试;

最终完成多人人体姿态估计。

本实施例中使用5000张随机尺寸的图片(包括室内室外、不同尺度和不同光照的场景)进行测试。测试环境如下:

cpu:i7-6700

操作系统:windows10

内存:16g

gpu:nvidiaquadrok2200

测试代码采用深度学习框架:pytorch。pytorch是torch的python版本,是由facebook开源的神经网络框架,专门针对gpu加速的深度神经网络(dnn)编程。torch是一个经典的对多维矩阵数据进行操作的张量(tensor)库,在机器学习和其他数学密集型应用有广泛应用。与tensorflow的静态计算图不同,pytorch的计算图是动态的,可以根据计算需要实时改变计算图。

本实施例在mscoco数据集上与现有相关的技术作对比实验。mscoco数据集是微软构建的一个数据集,其包含目标检测、目标分割、关键点检测等任务。2017公开的数据集包含18000张训练集图片与5000张测试集图片,图片的内容多样,包括自然图片以及生活中常见的目标图片,背景比较复杂,目标数量比较多平均每张图片7.7个,目标尺寸更小,因此mscoco数据集上的任务更难。评价指标采用对象关键点相似性

本实例在mscoco数据集上与现有相关技术做对比实验,具体识别率如下表1:

表1

表1的实验结果列出了近几年人体姿态估计在mscoco数据集上的识别率对比:kocabasmuhammed等人2018年在“multiposenet:fastmulti-personposeestimationusingposeresidualnetwork”文献中在mscoco数据集上做人体姿态估计任务的平均识别率为69.6%;

hekaiming等人2017年在“maskr-cnn”文献中在mscoco数据集上做人体姿态识别任务的平均识别率为63.1%;

caozhe等人2017年在“realtimemulti-person2dposeestimationusingpartaffinityfields”文献中在mscoco数据集上做人体姿态估计任务的平均识别率为61.8%;

sunke等人2019年在“deephigh-resolutionrepresentationlearningforhumanposeestimation”文献中在mscoco数据集上做人体姿态估计任务的平均识别率为76.3%;本实施例采用的基于深度特征的多人体姿态估计方法,与近几年论文相比识别率上均有较大提升。

上述实施例中,所述hrnet网络模型、adam算法、残差网络50、max运算、特征金字塔网络、softmax、二进制交叉熵均是本技术领域公知技术;

上述实施例中,对象人体关键点相似性的k均值为本领域公知技术,具体计算方法如下:

公式(16)中,k代表人体关键点类别所对应的人体关键点置信度热图的数字索引,zk代表检测到的第k类人体关键点的检测坐标,dk代表检测结果zk与对应人体关键点检测真值的欧氏距离,o代表人体关键点的区域范围,δk为第k类人体关键点区域范围的变化系数,通过这一系数调整表示不同类别人体关键点拥有的区域是不同的,w(zk)为二值掩码。

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