基于变形卷积的人体姿态估计方法与流程

文档序号:16933377发布日期:2019-02-22 20:28阅读:247来源:国知局
基于变形卷积的人体姿态估计方法与流程

本发明属于计算机视觉和模式识别技术领域,具体地涉及人体姿态估计,具体是一种基于变形卷积的人体姿态估计方法。本发明应用于在复杂场景下精确定位人体各关节点以准确估计人体姿态。



背景技术:

人体姿态估计作为计算机视觉和模式识别领域的一个重要研究方向,以及人机互动智能中的一个关键问题,对计算机有效地理解和处理图像数据中的人体活动有着重要意义,广泛应用于人体活动分析、智能监控、行为追踪、人机交互等领域。人体姿态估计是指在照片或视频等图像中对人体关节点和部件进行定位标注,进而获取人体基本姿态信息的过程。在深度学习的姿态估计模型建立后,定位的人体关节点主要有头顶、颈、胸、腰、双肩、双肘、双腕、双股、双膝以及双踝,在获得关节点位置后,依照人体铰链模型连接各关节点获得人体的整体姿态估计。现有的姿态估计方法主要分为传统方法和使用深度学习的方法。

北京工业大学在其公开的专利文献“一种运动人体姿态估计的方法”(专利申请号:201510128533.2;申请公布号:cn104715493a)中提出一种运动人体姿态估计的方法。该方法针对深度图像数据,用中值滤波方法处理图像,采用测地距离的迪杰斯特拉算法对人体像素进行部位标定,提取32个姿态特征以表征不同人体姿态,通过训练确定姿态特征点与标准骨架线性回归模型。该方法的不足主要有:使用的是需要专业设备获取的深度图像而非自然图像;使用数量有限的姿态特征只能在人体肢体伸展无遮挡等简单场景下有效估计;强烈依靠人体图模型限制了肢体搜索空间,也不能对更复杂。

北京工业大学在其公开的专利文献“一种人体姿态估计方法”(专利申请号:201510792096.4;申请公布号:cn105389569a)中公开了一种人体姿态估计方法。该方法融合彩色图像信息与深度信息,分部位计算特征模型提取深度特征,以待测点到人体中心点的最短路径为极坐标方向,通过该极坐标系下依次取半径和角度所统计的深度差作为待测点的深度特征向量将各个特征模板整合起来构建人体姿态数据的树结构模型,基于树结构模型构建打分函数,将待检测图像与模型进行匹配,从而实现人体特征定位。该方法不足是需要图像深度信息;依靠树结构模型会继承树结构模型不灵活的局限。

厦门美图之家科技有限公司在其申请的专利发明“一种人体姿态估计方法及移动终端”中公开了一种人体姿态估计方法,该方法判断视频中当前帧的前一帧的关键节点是否存在,在前帧标注存在的情况下根据前一帧标注的人体关键点位置生成当前图像帧对应的目标框,在前帧标注不存在的情况下检测当前图像帧中的人体位置,生成包含该人体位置的目标框,对所生成的目标框进行尺度变换以生成预定尺寸的人体图像,将预定尺寸的人体图像输入预定姿态估计模型。该方法针对视频图像进行处理,存在不足之处有:所使用的网络没有对估计结果优化的策略;估计方法没有考虑多尺度特征,会影响精确性。

综上所述,现有技术的问题在于,对于自然彩色图像,在复杂场景中,人体姿态特殊或肢体发生扭曲,因环境原因有光线折射或者反射的影响,人体在图像中所占的尺度变化较大的时候估计不够准确,估计性能不鲁棒,不成熟,无法达到应用级别。



技术实现要素:

本发明的目的在于针对已有技术的不足,提出一种能够适应复杂场景下的基于变形卷积的人体姿态估计方法。

本发明是一种基于变形卷积的人体姿态估计方法,其特征在于,包括如下步骤:

(1)获取训练图像:

(1a)使用目标检测网络maskrcnn对包含人物图像进行检测,针对人物目标进行检测,分离人物个体,返回个体图像的边界框;

(1b)裁剪边界框,获得人物个体图像,在图像周围恒值填充,使其变为正方形图像,作为训练图像并对关节点进行标注,标注关节点位置的坐标;;

(2)制作关节点热图:

(2a)获取针对训练图像的标注,即训练图像中关节点坐标,针对每一个关节点,以其坐标为中心生成一张对应的高斯热图,针对在图像中缺失(无法标注)的关节点,生成空图;

(2b)按照一定顺序排列热图,顺序确定之后,所有热图的排序必须与其保持一致;

(3)构建变形卷积前向传播模块:变形卷积前向传播模块在整个网络中作为变形卷积层,与普通卷积类似,输入与输出都是特征图(包括图像),变形卷积模块根据内部操作不同分为两种,一种为变形卷积核的变形卷积模块,另一种为变形特征图的变形卷积模块;

(4)构建残差块和搭建带有变形残差块网络结构的多尺度沙漏形网络:实际操作中根据计算能力和应用需求选择两种变形卷积模块中的一种作为变形卷积层,利用普通卷积(平卷积)层和变形卷积层构建两种残差块,一种是普通残差块,其中只包含普通卷积(平卷积)层,另一种是变形残差块,其中包含变形卷积层,利用两种残差块,搭建带有变形残差块网络结构的多尺度沙漏形网络;

(5)训练堆叠带有变形残差块网络结构的多尺度沙漏形网络:

(5a)构建预处理模块和中继监督模块:构建放置在网络最前端的预处理模块和连接带有变形残差块网络结构的多尺度沙漏形网络并输出整体网络输出的中继监督模块;(5b)堆叠带有变形残差块网络结构的多尺度沙漏形网络:连接带有变形残差块网络结构的多尺度沙漏形网络形成堆叠带有变形残差块网络结构的多尺度沙漏形网络,整个堆叠带有变形残差块网络结构的多尺度沙漏形网络的前向传播过程先经过在网络最前端的预处理模块,然后经过多个串联起来的带有变形残差块网络结构的多尺度沙漏形网络及其后的中继监督模块的级联组合,每一个带有变形残差块网络结构的多尺度沙漏形网络后中继监督模块都有两支输出,一支输出即整个网络的输出,另一支输出是连接到下一级的带有变形残差块网络结构的多尺度沙漏形网络上,依据姿态估计精度要求和计算资源的情况决定堆叠起来的带有变形残差块网络结构的多尺度沙漏形网络的数量;

(5c)训练网络准备:把训练图像调整尺寸适应堆叠带有变形残差块网络结构的多尺度沙漏形网络的输入,把对应的热图调整尺寸使其与堆叠带有变形残差块网络结构的多尺度沙漏形网络输出一致,作为每个中继监督模块输出的整个网络的输出的标签;

(5d)训练带有变形残差块网络结构的多尺度沙漏形网络:训练中使用整个网络输出和标签的交叉熵作为网络反向传播的损失函数,训练完成后,获得实现图像到热图组的端对端网络;

(6)获取姿态估计结果:

(6a)把需要进行人体姿态估计的图片输入训练好的堆叠带有变形残差块网络结构的多尺度沙漏形网络获取人体关节点对应热图,热图上每一个点的数值即关节点在该点的置信度,热图峰值点的坐标作为关节点坐标;

(6b)设置置信度阈值,当热图中每一个点的置信度都低于阈值,认为该图像中没有对应的关节点出现;

(6c)按照人体铰链模型连接关节点,获得人体个体全局的姿态估计结果。

本发明使用变形卷积,改进沙漏形网络内部连接结构以提升人体姿态估计的精准度。本发明与现有技术中其他姿态估计方法相比,更能适应图像中复杂的人物动作,遮挡和尺度不一致,鲁棒性更强。

本发明与现有技术相比具有以下优点:

第一,本发明采用了变形卷积,在复杂视觉任务中,变形卷积能更加有效地提取和组织特征,变形卷积在图像出现质量参差,图像中人体出现自遮挡和被遮挡,图像中包含人物倒影或影子的折射反射现象,人物尺寸不一等复杂场景下,能够更有效地提取和组织特征使整个网络更准确地估计出人体姿态。

第二,本发明使用堆叠式沙漏网络,可以消减或增多沙漏数量,堆叠数量增加可以增加人体姿态估计的精准度,不断优化所得的姿态估计结果,而减少可以应对计算资源少的场合,适用于多种场合。

第三,本发明提出一种变形特征图的方式较简单地实现变形卷积,变形特征图的卷积需要的偏置卷积图更为简单,对于特征图的变形也比对于卷积核的变形的操作更为简单,变形特征图的方式虽然减小了感受野变形的空间但是足以应对人体姿态估计的视觉任务。

附图说明

图1是本发明的流程图;

图2是变形卷积核的变形卷积模块的示意图;

图3是变形特征图的变形卷积模块的示意图;

图4是带有变形残差块网络结构的多尺度沙漏形网络的示意图;

图5是预处理模块的示意图;

图6是中继监督模块的示意图;

图7是堆叠带有变形残差块网络结构的多尺度沙漏形网络的示意图;

图8是站立婴儿姿态估计结果对比图;

图9是划船机坐姿姿态估计结果对比图;

图10是手扶瑜伽球的女性姿态估计结果对比图;

图11是保龄球出手瞬间姿态估计结果对比图;

图12是坐姿女性姿态估计结果对比图;

图13是植树瞬间姿态估计结果对比图。

具体实施方式

下面结合附图对本发明做详细描述。

实施例1

在复杂场景中,人体姿态特殊或肢体发生扭曲,因环境原因有光线折射或者反射的影响,人体在图像中所占的尺度变化较大的时候估计不够准确,估计性能不鲁棒,不成熟,无法达到应用级别。本发明针对这些现状展开研究,提出一种基于变形卷积的人体姿态估计方法,参见图1,包括如下步骤:

(1)获取训练图像:

(1a)使用目标检测网络maskrcnn对包含人物图像进行检测,针对人物目标进行检测,分离人物个体,返回个体图像的边界框。

(1b)裁剪边界框,获得人物个体图像,在图像周围恒值填充,使其变为正方形图像,作为训练图像并对关节点进行标注,标注关节点位置的坐标,作为训练网络的输入图像。

(2)制作关节点热图:

(2a)获取针对训练图像的标注,即训练图像中关节点坐标,针对每一个关节点,以其坐标为中心生成一张对应的高斯热图,针对在图像中缺失(无法标注)的关节点,生成空图。

(2b)按照一定顺序排列热图,顺序为人为确定的关节点热图的顺序,顺序确定之后,所有热图的排序必须与其保持一致。

(3)构建变形卷积前向传播模块:变形卷积前向传播模块在整个网络中作为变形卷积层,与普通卷积类似,输入与输出都是特征图(包括图像),变形卷积模块根据内部操作不同分为两种,一种为变形卷积核的变形卷积模块,参见图2,另一种为变形特征图的变形卷积模块,参见图3。

(4)构建残差块和搭建带有变形残差块网络结构的多尺度沙漏形网络:实际操作中根据计算能力和应用需求选择两种变形卷积模块中的一种作为变形卷积层,利用普通卷积(平卷积)层和变形卷积层构建两种残差块,一种是普通残差块,其中只包含普通卷积(平卷积)层,另一种是变形残差块,其中包含变形卷积层,利用两种残差块,参见图4所示,搭建带有变形残差块网络结构的多尺度沙漏形网络。

(5)训练堆叠带有变形残差块网络结构的多尺度沙漏形网络:

(5a)构建预处理模块和中继监督模块:参加图5所构建放置在网络最前端的预处理模块,参见图6构建中继监督模块,中继监督模块连接带有变形残差块网络结构的多尺度沙漏形网络,也输出整体网络输出。

(5b)堆叠带有变形残差块网络结构的多尺度沙漏形网络:参见图7,连接带有变形残差块网络结构的多尺度沙漏形网络形成堆叠带有变形残差块网络结构的多尺度沙漏形网络,整个堆叠带有变形残差块网络结构的多尺度沙漏形网络的前向传播过程先经过在网络最前端的预处理模块,然后经过多个串联起来的带有变形残差块网络结构的多尺度沙漏形网络及其后的中继监督模块的级联组合,每一个带有变形残差块网络结构的多尺度沙漏形网络后中继监督模块都有两支输出,一支输出即整个网络的输出,另一支输出是连接到下一级的带有变形残差块网络结构的多尺度沙漏形网络上,依据姿态估计精度要求和计算资源的情况决定堆叠起来的带有变形残差块网络结构的多尺度沙漏形网络的数量。

(5c)训练网络准备:把步骤1获取的训练图像调整尺寸适应堆叠带有变形残差块网络结构的多尺度沙漏形网络的输入,把对应的步骤2制作好的热图调整尺寸使其与堆叠带有变形残差块网络结构的多尺度沙漏形网络输出一致,作为每个中继监督模块输出的整个网络的输出的标签。

(5d)训练带有变形残差块网络结构的多尺度沙漏形网络:训练中使用整个网络输出和标签的交叉熵作为网络反向传播的损失函数,训练完成后,获得实现图像到热图组的端对端网络,此时,该网络为训练好的堆叠带有变形残差块网络结构的多尺度沙漏形网络。

(6)获取姿态估计结果:

(6a)把需要进行人体姿态估计的图片输入训练好的堆叠带有变形残差块网络结构的沙漏形网络获取人体关节点对应热图,热图上每一个点的数值即关节点在该点的置信度,热图峰值点的坐标作为关节点坐标。

(6b)设置置信度阈值,当热图中每一个点的置信度都低于阈值,认为该图像中没有对应的关节点出现。

(6c)按照人体铰链模型连接关节点,获得人体个体全局的姿态估计结果。

本发明采用了变形卷积,在复杂视觉任务中,变形卷积能更加有效地提取和组织特征,变形卷积在图像出现质量参差,图像中人物尺寸不一,人体出现自遮挡和被遮挡,图像中包含人物倒影或影子的折射反射现象等复杂场景下,能够更有效地提取和组织特征使整个网络更准确地估计出人体姿态。

实施例2

基于变形卷积的人体姿态估计方法同实施例1,步骤3中所述的变形卷积核的变形卷积模块,其前向传播步骤如下:

3.1,将变形卷积核的变形卷积模块的输入特征图输入偏置卷积,获得偏置卷积输出的卷积核采样偏置特征图,卷积核采样偏置特征图的大小应该设置为是h×w,其中h和w分别是需要输出特征图的高和宽,偏置特征图对通道数应该设置为2·k2·nc,其中k是卷积核的边长,nc为输入通道数,偏置特征图包含对于输入每个通道中的特征图上对应每个卷积核内的采样点的两个轴的偏置δpn。

3.2,根据卷积核采样偏置特征图中的偏置δpn获得变形卷积核的变形卷积输出y,在p0点处输出的特征y(p0)为

其中p0代表输出特征图上每一个像素的位置(每一个特征的位置)和输入特征图x中对应的位置,r是一个平卷积的卷积核的方块网格,它规定了卷积时那些像素(特征)可以通过加权输出,对于一个3×3稀释率为1的卷积核来说,它的方块网格为r={(-1,-1),(-1,0),...,(0,1),(1,1)},pn为r中的点,它代表的是与p0位置有关的相对位置,x(p0+pn+δpn)是输入特征图上的特征,w中包含有可以训练的权值。

因为p=(p0+pn+δpn)不一定在整数性坐标上,因此需要双线性插值的方式获得输入特征图上的特征x(p):

其中g(·,·)为双线性插值核,因为g是二维的,所以它可以被分解成两个一维的核相乘

g(q,p)=g(qx,px)·g(qy,py)

其中一维的核g(a,b)=max(0,1-|a-b|)。

具体变形的操作参考图2,输入特征图经过偏置卷积获得偏置,根据偏置对卷积核进行变形,变形后的卷积核对输入特征图进行卷积,变形卷积核对输入特征图卷积时的采样操作已经不是一个像素紧接着一个像素,实现了变形,变形卷积核对输入特征图的卷积获得输出。

实施例3

基于变形卷积的人体姿态估计方法同实施例1-2,步骤3中所述的变形特征图的变形卷积模块,其前向传播步骤如下:

3.3,将变形特征图的变形卷积模块的输入特征图输入偏置卷积,获得偏置卷积输出的输入特征图的偏置特征图,输入特征图的偏置特征图的大小应该设置为是h×w,其中h和w分别是输入特征图的高和宽,偏置特征图对通道数应该设置为2nc,nc为输入通道数,偏置特征图包含对于输入每个通道中的特征图上每个点的两个轴的偏置δp0;

3.4,根据输入特征图的偏置特征图中的偏置δp0获得变形卷积输出y,在p0点处输出的特征y(p0)为

其中p0代表输出特征图上每一个像素的位置(每一个特征的位置)和输入特征图x中对应的位置,r是一个平卷积的卷积核的方块网格,是pn的取值范围,它规定了卷积时哪些像素(特征)可以通过加权输出,对于一个3×3稀释率为1的卷积核来说,它的方块网格为r={(-1,-1),(-1,0),...,(0,1),(1,1)},pn为r中的点,pn代表的是与p0位置有关的相对位置,x(p0+δp0+p)是输入特征图上的特征,w中包含有可以训练的权值;

因为p=(p0+δp0+pn)不一定在整数性坐标上,因此需要双线性插值的方式获得输入特征图上的特征x(p):

其中g(·,·)为双线性插值核,因为g是二维的,所以它可以被分解成两个一维的核相乘

g(q,p)=g(qx,px)·g(qy,py)

其中一维的核g(a,b)=max(0,1-|a-b|)。

具体变形的操作参考图3,输入特征图经过偏置卷积获得偏置,根据偏置对输入特征图进行变形,输入特征图根据偏置重新采样组合形成变形后的特征图,变形后的特征图经过卷积获得输出。

实施例4

基于变形卷积的人体姿态估计方法同实施例1-3,步骤(4)中所述构建残差块和搭建带有变形残差块网络结构的多尺度沙漏形网络步骤如下:

4.1,选择变形卷积层:搭建带有变形残差块网络结构的多尺度沙漏形网络需要变形卷积前向传播模块作为变形卷积层参与网络构建,变形卷积核的变形卷积模块其变形空间大,在计算资源充足的条件下建议选择变形卷积核的变形卷积模块作为网络中的变形卷积层,在计算资源有限的情况下建议选择变形空间较小的变形特征图的变形卷积模块作为网络中的变形卷积层,上述网络包括预处理模块中的网络、带有变形残差块网络结构的多尺度沙漏形网络。

4.2,构建两种残差块:搭建带有变形残差块网络结构的多尺度沙漏形网络需要两种残差块,一种是普通残差块,另一种是变形残差块:

4.2.1普通残差块:普通残差块中不包含变形卷积,普通残差块的输入分为两支,一支记为跳级特征图,另一支输入一个包含三层卷积的卷积组,卷积组中第一层和第三层使用的卷积核大小为1×1,中间卷积层的卷积核的大小为3×3,卷积组中前两层卷积的输出通道数设为卷积组输入通道数的一半,第三层卷积的输出作为整个卷积组的输出,其通道数等于卷积组输入的通道数,卷积组输出的特征图与跳级特征图相加作为普通残差块的输出。

4.2.2变形残差块:变形残差块中包括变形卷积,变形残差块的输入分为两支,一支记为跳级特征图,另一支输入一个包含三层卷积的卷积组,卷积组中第一层和第三层使用的卷积核大小为1×1,中间卷积层使用变形卷积层,其卷积核的大小为3×3,卷积组中前两层卷积的输出通道数设为卷积组输入通道数的一半,第三层卷积的输出作为整个卷积组的输出,其通道数等于卷积组输入的通道数,卷积组输出的特征图与跳级特征图相加作为变形残差块的输出。

4.3,确定带有变形残差块网络结构的多尺度沙漏形网络的前向传播步骤:利用两种残差块搭建带有变形残差块网络结构的多尺度沙漏形网络,确定带有变形残差块网络结构的多尺度沙漏形网络的前向传播,带有变形残差块网络结构的多尺度沙漏形网络前半部分残差块输出的特征图分为两支向后传播,大部分带有变形残差块网络结构的多尺度沙漏形网络前半部分残差块输出的下支经过下采样,带有变形残差块网络结构的多尺度沙漏形网络后半部分特征图经过上采样与对应的前半部分上支的输出在通道上相并,并用一层卷积降通道数向后传播,带有变形残差块网络结构的多尺度沙漏形网络前半部分与后半部分以终止下采样的后的一层前后对称,带有变形残差块网络结构的多尺度沙漏形网络的前向传播参见图4。

实施例5

基于变形卷积的人体姿态估计方法同实施例1-4,步骤4.3中所述组合两种残差块确定带有变形残差块网络结构的多尺度沙漏形网络的前向传播参见图4,步骤如下:

4.3.1,记输入沙漏网络的特征图为input,input分为两支,上支经过一个变形残差块获得的特征图记为up1(0),下支经过下采样和一个变形残差块得到特征图low1(0)。

4.3.2,把low1(0)分成两支,上支经过一个变形残差块获得up1(1),下支经过下采样和一个变形残差块得到low1(1),low(i),(i>0)经过与low1(0)相同的传播进程,可以获得up1(i+1)和low1(i+1),当low1(i)的特征图尺寸不够大的时候,改用普通残差块代替变形残差块执行相同的操作获得up1(i+1)和low1(i+1),当到low1(c-1)不适合下采样时终止上述传播进程(例如特征图尺寸只有(2×2)或是没有必要进行下采样的时候,low1(i)尺寸在(8×8)时终止下采样对于人体姿态估计已经可以获得较好的网络性能),当在low1(c-1)停止下采样时,low1(c-1)上支经过一个残差块获得up1(c),不分出下支进行下采样。

4.3.3,记5.2终止下采样时有up1(c)和low1(c-1),low1(c-1)经过一个残差块得到low2(c),low2(c)经过一个残差块得到low3(c),low3(c)经过一个残差块的到up2(c),up1(c)与up2(c)在通道上并起来获并用一个卷积层减半因并操作加倍了的通道数获得特征图记为out(c)。

4.3.4,out(c)经过一个残差块得到low2(c-1),low2(c-1)经过一个残差块得到low3(c-1),low3(c-1)经过一个上采样层得到与up1(c-1)尺寸相等的特征图记为up2(c-1),up1(c-1)与up2(c-1)在通道上并起来获并用一个卷积层减半因并操作加班了的通道数获得特征图记为out(c-1),out(i),(i<c)经过与out(c)相同传播进程获得out(i-1),直到获得out(0)为止,out(0)就是带有变形残差块网络结构的多尺度沙漏形网络的输出。

本发明能够适应人体姿态扭曲,人体尺度变化以及存在遮挡等复杂场景下准确地估计人体姿态。

下面给出一个更加详细的例子,对本发明进一步说明。

实施例6

基于变形卷积的人体姿态估计方法同实施例1-5,参照图1,本发明实现的具体步骤如下。

步骤1,获取训练图像块

使用目标检测网络maskrcnn对包含人物图像针对人物目标进行检测,分离人物个体,返回边界框。

裁剪边界框,获得人物个体图像,在图像周围恒值填充,使图像变为正方形。在裁剪图像块中,保证标记的需要估计姿态的个体始终处于正方形图形块的中央,如果个体在原有图像中已经处于边缘,需要在原有图像的周围补充恒值像素使得原有图像可以裁剪出目标个体处于图像块中央且图像块尽量包括完整的目标个体的图像块。

步骤2,制作关节点热图

获取针对训练图像的标注,即训练图像中关节点坐标,针对每一个关节点及其标注坐标,以其坐标为中心生成一张对应的高斯热图,对于生成尺寸为64×64的热图,其图上的坐标点(x,y)的热图幅值h(x,y)为:

其中(x0,y0)为关节点的标记坐标,σ2是设定的高斯分布的方差。

针对在图像中缺失(无法标注)的关节点,生成空图,其图上的坐标点(x,y)的热图幅值h(x,y)为:

h(x,y)=0,x∈[0,64),y∈[0,64)

步骤3,构建变形卷积前向传播模块

变形卷积前向传播模块在整个网络中作为变形卷积层,与普通卷积类似,输入与输出都是特征图(包括图像),变形卷积模块根据内部操作不同分为两种,一种为变形卷积核的变形卷积模块,另一种为变形特征图的变形卷积模块,步骤3.1和3.2是构建变形卷积核的变形卷积前向传播模块,参见图2,步骤3.3和3.4是构建变形特征图的变形卷积前向传播模块,参见图3。

具体变形的操作参考图2

3.1,将变形卷积核的变形卷积模块的输入特征图输入偏置卷积,获得偏置卷积输出的卷积核采样偏置特征图,卷积核采样偏置特征图的大小应该设置为h×w,其中h和w分别是需要输出特征图的高和宽,偏置特征图对通道数应该设置为2·k2·nc,其中k是卷积核的边长,nc为输入通道数,偏置特征图包含对于输入每个通道中的特征图上对应每个卷积核内的采样点的两个轴的偏置δpn。

3.2,根据卷积核采样偏置特征图中的偏置δpn获得变形卷积核的变形卷积输出y,在p0点处输出的特征y(p0)为

其中p0代表输出特征图上每一个像素的位置(每一个特征的位置)和输入特征图x中对应的位置,r是一个平卷积的卷积核的方块网格,它规定了卷积时那些像素(特征)可以通过加权输出,对于一个3×3稀释率为1的卷积核来说,它的方块网格为r={(-1,-1),(-1,0),...,(0,1),(1,1)},pn为r中的点,它代表的是与p0位置有关的相对位置,x(p0+pn+δpn)是输入特征图上的特征,w中包含有可以训练的权值。

因为p=(p0+pn+δpn)不一定在整数性坐标上,因此需要双线性插值的方式获得输入特征图上的特征x(p):

其中g(·,·)为双线性插值核,因为g是二维的,所以它可以被分解成两个一维的核相乘

g(q,p)=g(qx,px)·g(qy,py)

其中一维的核g(a,b)=max(0,1-|a-b|)。

变形特征图的变形卷积模块具体变形的操作参考图3

3.3,将变形特征图的变形卷积模块的输入特征图输入偏置卷积,获得偏置卷积输出的输入特征图的偏置特征图,输入特征图的偏置特征图的大小应该设置为是h×w,其中h和w分别是输入特征图的高和宽,偏置特征图对通道数应该设置为2nc,nc为输入通道数,偏置特征图包含对于输入每个通道中的特征图上每个点的两个轴的偏置δp0。

3.4,根据输入特征图的偏置特征图中的偏置δp0获得变形卷积输出y,在p0点处输出的特征y(p0)为

其中p0代表输出特征图上每一个像素的位置(每一个特征的位置)和输入特征图x中对应的位置,r是一个平卷积的卷积核的方块网格,是pn的取值范围,它规定了卷积时哪些像素(特征)可以通过加权输出,对于一个3×3稀释率为1的卷积核来说,它的方块网格为r={(-1,-1),(-1,0),...,(0,1),(1,1)},pn为r中的点,pn代表的是与p0位置有关的相对位置,x(p0+δp0+p)是输入特征图上的特征,w中包含有可以训练的权值。

因为p=(p0+δp0+pn)不一定在整数性坐标上,因此需要双线性插值的方式获得输入特征图上的特征x(p):

其中g(·,·)为双线性插值核,因为g是二维的,所以它可以被分解成两个一维的核相乘

g(q,p)=g(qx,px)·g(qy,py)

其中一维的核g(a,b)=max(0,1-|a-b|)。

步骤4,构建残差块和搭建带有变形残差块网络结构的多尺度沙漏形网络

实际操作中根据计算能力和应用需求选择两种变形卷积模块中的一种作为变形卷积层,利用普通卷积(平卷积)层和变形卷积层构建两种残差块,一种是普通残差块,其中只包含普通卷积(平卷积)层,另一种是变形残差块,其中包含变形卷积层,利用两种残差块,依照图4所示的网络结构搭建带有变形残差块网络结构的多尺度沙漏形网络。

4.1,选择变形卷积层

搭建带有变形残差块网络结构的多尺度沙漏形网络需要变形卷积前向传播模块作为变形卷积层参与网络构建,变形卷积核的变形卷积模块的变形空间大,在计算资源充足的条件下可以选择变形卷积核的变形卷积模块作为变形卷积层,在计算资源有限的情况下可以选择变形空间较小的变形特征图的变形卷积模块作为变形卷积层。

4.2,构建两种残差块

本方法搭建带有变形残差块网络结构的多尺度沙漏形网络需要两种残差块,一种是普通残差块,其中不包含变形卷积,普通残差块的输入分为两支,一支记为跳级特征图,另一支输入一个包含三层卷积的卷积组,卷积组中第一层和第三层使用的卷积核大小为1×1,中间卷积层的卷积核的大小为3×3,卷积组中前两层卷积的输出通道数设为卷积组输入通道数的一半,第三层卷积的输出作为整个卷积组的输出,其通道数等于卷积组输入的通道数,卷积组输出的特征图与跳级特征图相加作为普通残差块的输出;第二种是变形残差块,其中包括变形卷积,变形残差块的输入分为两支,一支记为跳级特征图,另一支输入一个包含三层卷积的卷积组,卷积组中第一层和第三层使用的卷积核大小为1×1,中间卷积层使用变形卷积层,其卷积核的大小为3×3,卷积组中前两层卷积的输出通道数设为卷积组输入通道数的一半,第三层卷积的输出作为整个卷积组的输出,其通道数等于卷积组输入的通道数,卷积组输出的特征图与跳级特征图相加作为变形残差块的输出。

4.3,确定多尺度带有变形残差块网络结构沙漏形网络的前向传播步骤

利用两种残差块搭建带有变形残差块网络结构的多尺度沙漏形网络,确定带有变形残差块网络结构的多尺度沙漏形网络的前向传播,带有变形残差块网络结构的多尺度沙漏形网络前半部分残差块输出的特征图分为两支向后传播,大部分带有变形残差块网络结构的多尺度沙漏形网络前半部分残差块输出的下支经过下采样,带有变形残差块网络结构的多尺度沙漏形网络后半部分特征图经过上采样与对应的前半部分上支的输出在通道上相并,并用一层卷积降通道数向后传播,带有变形残差块网络结构的多尺度沙漏形网络前半部分与后半部分以终止下采样的后的一层前后对称。

带有变形残差块网络结构的多尺度沙漏形网络的前向传播具体步骤如下:

4.3.1,记输入带有变形残差块网络结构的沙漏网络的特征图为input,input分为两支,上支经过一个变形残差块获得的特征图记为up1(0),下支经过下采样和一个变形残差块得到特征图low1(0)。

4.3.2,把low1(0)分成两支,上支经过一个变形残差块获得up1(1),下支经过下采样和一个变形残差块得到low1(1),low(i),(i>0)经过与low1(0)相同的传播进程,可以获得up1(i+1)和low1(i+1),当low1(i)的特征图尺寸不够大的时候,改用普通残差块代替变形残差块执行相同的操作获得up1(i+1)和low1(i+1),当到low1(c-1)不适合下采样时终止上述传播进程(例如特征图尺寸只有(2×2)或是没有必要进行下采样的时候,low1(i)尺寸在(8×8)时终止下采样对于人体姿态估计已经可以获得较好的网络性能),当在low1(c-1)停止下采样时,low1(c-1)上支经过一个残差块获得up1(c),不分出下支进行下采样。

4.3.3,记5.2终止下采样时有up1(c)和low1(c-1),low1(c-1)经过一个残差块得到low2(c),low2(c)经过一个残差块得到low3(c),low3(c)经过一个残差块的到up2(c),up1(c)与up2(c)在通道上并起来获并用一个卷积层减半因并操作加倍了的通道数获得特征图记为out(c)。

4.3.4,out(c)经过一个残差块得到low2(c-1),low2(c-1)经过一个残差块得到low3(c-1),low3(c-1)经过一个上采样层得到与up1(c-1)尺寸相等的特征图记为up2(c-1),up1(c-1)与up2(c-1)在通道上并起来获并用一个卷积层减半因并操作加班了的通道数获得特征图记为out(c-1),out(i),(i<c)经过与out(c)相同传播进程获得out(i-1),直到获得out(0)为止,out(0)就是带有变形残差块网络结构的多尺度沙漏形网络的输出。

步骤5,训练堆叠带有变形残差块网络结构的沙漏形网络

按照图5所示搭建预处理模块,并按照图6所示中所示搭建中继监督的前向传播模块,预处理模块的输入尺寸应和输入图片一致,而输出尺寸应与带有变形残差块网络结构的沙漏形网络的输入尺寸一致。

5.1,预处理模块的前向传播过程如下:

5.1.1,输入图像经过一个普通卷积层获得一组多通道的特征图,同时也经过一个变形卷积层获得一组多通道的特征图,两组特征图在通道上并起来。

5.1.2,并起来的特征图经过若干残差块分为两支,一支经过若干包含变形卷积残差块获得多通道的特征图,另一支经过若干普通残差块获得多通道的特征图,将两组特征图在通道上并起来。

5.1.3,将并起来的特征图经过若干残差块,把通道数调节至与带有变形残差块网络结构的沙漏形网络的输入通道数一致,传递给带有变形残差块网络结构的沙漏形网络。

5.2,中继监督模块的前向传播过程如下:

5.2.1,计第i个带有变形残差块网络结构的沙漏形网络输出的特征图记为hg(i),经过“随机丢弃(dropout)”处理得到的特征图记为drop(i)。

5.2.2,把drop(i)经过卷积层和激活函数获得的特征图记为ll(i),ll(i)经过一个将通道的卷积得到一个输出结果out(i),out(i)的通道数和尺寸应该和制作的关节点热图一致。

5.2.3,特征图ll(i)经过一个卷积层的到特征图记为llr(i),out(i)经过一个卷积层升通道与llr(i)一致得到outr(i),将llr(i),outr(i)和第(i-1)个沙漏网络的中继监督传递给第i个带有变形残差块网络结构的沙漏形网络的特征图sum(i-1)相加得到的sum(i)传递给下一个带有变形残差块网络结构的沙漏形网络,当中继监督模块为第一个带有变形残差块网络结构的沙漏形网络后接时,不存在前一个中继监督模块给第一个带有变形残差块网络结构的沙漏形网络传递的特征图sum(0),这时sum(0)是预处理模块的输出。

按照图7所示连接带有变形残差块网络结构的沙漏形网络,整个堆叠带有变形残差块网络结构的沙漏形网络的前向传播过程先经过预处理模块,传入多个串联起来的带有变形残差块网络结构的沙漏形网络及其后的中继监督模块的级联组合,每一个带有变形残差块网络结构的沙漏形网络后中继监督模块的输出作为输出结果,根据具体的应用场景确定堆叠沙漏网络的个数,在对估计精度要求高的时候,堆叠数量较多的带有变形残差块网络结构的沙漏形网络,在计算资源有限的情况下,堆叠较少的带有变形残差块网络结构的沙漏形网络。

把步骤1获取训练图像块中所获取的训练图像调整尺寸适应堆叠带有变形残差块网络结构的沙漏形网络的输入,把步骤2制作关节点热图中制作好的热图调整尺寸与堆叠带有变形残差块网络结构的沙漏形网络输出一致,分别作为网络的输入和标签投入堆叠带有变形残差块网络结构的沙漏形网络进行训练。

训练中使用网络输出和标签的交叉熵作为网络反向传播的损失函数,训练完成后可以获得实现图像到热图组的端对端网络。

步骤6,获取姿态估计结果。

把所需图片输入训练好的网络获取关节点对应热图,统计热图中每一个点的置信度,置信度最大的点的坐标作为关节点坐标。

设置置信阈值,当热图中每一个点的置信度都低于阈值,认为该图像中没有对应的关节点出现。

按照人体铰链模型连接关节点,参见图8,获得人体个体全局的姿态估计结果。

下面结合仿真实验对本发明的效果做进一步的描述

实施例7

基于变形卷积的人体姿态估计方法同实施例1-6,

仿真实验条件:

本发明的仿真实验的硬件平台为:intelcorei7-7700k@4.20ghz、16gbram、nvidiageforcegtx1070,软件平台为:python3.5、tensorflow1.8;仿真内容及其结果分析:

本发明的仿真实验的训练样本采用的是马克斯普朗克信息研究所所公布的mpii人体姿态数据集,其中标记了头顶、颈、胸、腰、双肩、双肘、双腕、双股、双膝以及双踝16个关节点,使用利兹大学公布的lsp数据集作为测试集对仿真结果进行测试。

本发明的仿真实验中对比了两种算法:

现有技术mpii人体姿态估计算法挑战赛冠军堆叠沙漏形网络(newell,a.,yang,k.,deng,j.:stackedhourglassnetworksforhumanposeestimation.in:europeanconferenceoncomputervision.(2016)483-499)对mpii测试集中的图片进行姿态估计效果对比,当出现尺度伸缩,扭曲,或者场景复杂的情况时,基于变形卷积的人体姿态估计方法能够更好地组织和提取特征,获得更加精准的估计结果。

在图8中,图8是站立婴儿姿态估计结果对比图,左侧图是采用现有技术中堆叠沙漏形网络的估计结果,右侧图是本发明的估计结果,对比两图容易看出,在婴儿身体尺度比例比较特殊的情况下,站立婴儿的腿,本发明估计更为准确。

在图9中,图9是划船机坐姿姿态估计结果对比图,左侧图是采用现有技术中堆叠沙漏形网络的估计结果,右侧图是本发明的估计结果,在有非估计个体出现的情况下,本发明关于上支的位置估计明显好于堆叠沙漏形网络。

在图10中,图10是手扶瑜伽球的女性姿态估计结果对比图,左侧图是采用现有技术中堆叠沙漏形网络的估计结果,右侧图是本发明的估计结果,对于瑜伽球对左手的遮挡,本发明的估计更为精确。

在图11中,图11是保龄球出手瞬间姿态估计结果对比图,左侧图是采用现有技术中堆叠沙漏形网络的估计结果,右侧图是本发明的估计结果,在保龄球出手的一瞬间的交叉腿,本发明准确估计出两腿的交叉状态,而现有技术没有估计出来。

在图12中,图12是坐姿女性姿态估计结果对比图,左侧图是采用现有技术中堆叠沙漏形网络的估计结果,右侧图是本发明的估计结果,在坐姿女性的肢体不舒展情况下,对于坐着的女性的双膝,本发明清晰区分出了左右膝,现有技术右膝位置估计出错。

在图13中,图13是植树瞬间姿态估计结果对比图,左侧图是采用现有技术中堆叠沙漏形网络的估计结果,右侧图是本发明的估计结果,该图中人体被异物遮挡,对于植树者被树苗遮挡住的左腿,以及左手,本发明估计结果更符合人类直觉和事实,而现有技术对于左手和左腿的估计都出现错误。

利用正确关节点的比率(pck)评价指标对两种算法进行对比,pck是由左肩到右胯的正确标记坐标的欧式距离的阈值率被的长度作为门限阈值,估计出的坐标点与实际标记坐标点的距离在阈值内的记为正确估计的关节点,在阈值外认为估计错误,以此统计正确估计的关节点的百分比。

使用2000张由利兹大学公布的lsp数据集作为测试数据,取估计阈值率分别为左肩到右胯距离的0.10倍到0.90倍的pck,两种算法现有技术堆叠沙漏和本发明的pck对比参见表1:

表1不同阈值下所有关节点的正确率

对于阈值率取0.5时,现有技术方法堆叠沙漏和本发明的各种关节点的pck参见表2:

表2阈值取0.5时各种关节点正确率

结合图8、图9、图10、图11、图12、图13给出的估计结果示例,以及表1、表2的数据分析可以看出,本发明优于现有技术中出色的堆叠沙漏网络,不论pck取较为苛刻的阈值率还是较为宽松的阈值率,或是同样阈值率下对于不同人体关节点的估计,从pck评价标准下本方法估计更为精准。

简而言之,本发明公开的基于变形卷积的姿态估计方法,解决了从图像中估计人体姿态的技术问题。其实现步骤为:获取训练图像;制作关节点热图;构建变形卷积前向传播模块;构建残差块和搭建带有变形残差块网络结构的多尺度沙漏形网络;训练堆叠带有变形残差块网络结构的多尺度沙漏形网络;获取姿态估计结果。本发明使用了变形卷积并改进了沙漏形网络内部的连接方式以改进堆叠沙漏形网络,搭建出堆叠带有变形残差块网络结构的沙漏网络,对于独立单张的自然彩色图像,在人体肢体扭曲或姿态特殊、因环境原因有光线的折射或反射的干扰、人体尺度变化较大、以及有遮挡存在的复杂场景等条件下能够有效地提取和组织图像中的特征,更加精准地估计出人体姿态。可以应用于人体活动分析、智能监控、行为追踪、人机交互等领域。

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