1.本发明属于计算机视觉的人体姿态估计技术领域,具体涉及一种最优网络结构化的轻量化人体姿态估计方法。
背景技术:
2.随着计算机视觉和图像处理的日益发展,计算机视觉在图像目标分割、分类、检测和行为分类等领域大放异彩。人体姿态估计是其中重要的研究方向。
3.传统的人体姿态估计方法一般是基于图结构和形变部件模型,设计2d人体部件检测器,使用图模型建立各部件的连通性,并结合人体运动学的相关约束不断优化图结构模型来估计人体姿态。
4.与传统的机器视觉方法相比,深度学习可以省略数据的预处理,直接从原始数据中学习抽象的、本质的特征,从而代替人工提取特征。深度学习近年来被广泛地应用于姿态估计并取得了很好的精度。但是现有的利用深度学习进行姿态估计的模型的参数量和计算量都很庞大,经典的姿态估计深度学习模型通常只考虑如何提高模型的泛化性能,而忽略了显著的效率问题。而在实际生活应用中,需要在有限的计算环境下进行姿态实时估计,现有的深度学习模型中无法很好地实现在有限的计算环境下进行姿态实时估计。
技术实现要素:
5.针对现有技术中存在不足,本发明提供了一种最优网络结构化的轻量化人体姿态估计方法,克服现有深度学习模型无法很好地实现在有限的计算环境下进行实时姿态估计的问题。
6.本发明是通过以下技术手段实现上述技术目的的。
7.最优网络结构化的轻量化人体姿态估计方法,具体为:
8.构建整体网络结构,所述整体网络结构包括五个模块,每个模块包括两个子模块;
9.整体网络结构输入数据,进行网络最优搜索,获得最优的轻量化网络结构;所述最优的轻量化网络结构是通过选取最优网络结构化的候选模块、制定搜索方法以及选择性能评估策略获取的;
10.将测试集输入到最优的轻量化网络结构中,输出人体姿态估计的热力图;
11.所述候选模块为cpb模块或mobilenet或shufflenet或xception,所述cpb模块为一个采用可分离卷积和通道参数削减的模块。
12.进一步地,所述cpb模块为:将输入的特征图先通过1
×
1卷积进行通道缩减,接下来通过bn层和relu激活函数,接着采用3
×
3的深度可分离卷积,再使用1
×
1卷积,然后再通过bn层和relu激活函数,最后进行通道参数削减和融合。
13.进一步地,所述通道参数削减和融合具体为:输入的特征图输入短链接,通过1
×
1卷积削减α倍,最后将通道参数削减与短链接通道通过add操作融合。
14.更进一步地,在通道参数削减过程中,首先通过全局平均池化,获取全局通道特
征,再通过两个全连接层,接着通过sigmoid激活函数得到一个通道权重,然后进行scale操作,scale操作后的特征图再通过1x1卷积。
15.更进一步地,在scale操作时,设置一个阈值γ,当通道权重小于阈值γ时,把通道权重设为零,若通道权重大于等于阈值γ时,通道权重保持sigmoid激活函数得到的数值。
16.进一步地,所述五个模块包括模块1、模块2、模块3、模块4和模块5,模块1包括子模块11和子模块12,模块2包括子模块21和子模块22,模块3包括子模块31和子模块32,模块4包括子模块41和子模块42,模块5包括子模块51和子模块52;子模块11、子模块21、子模块31、子模块41和子模块51依次进行卷积操作;输入、子模块11、子模块21、子模块31、子模块41、子模块12和子模块22,均通过下采样,将分辨率降低为1/2且通道数变为上一模块输出通道数的两倍,子模块12、子模块22、子模块32、子模块42和子模块52,均通过上采样,提升分辨率,且保持通道数不变。
17.进一步地,所述选择性能评估策略是在损失函数上添加耗时的项,所述损失函数为:
[0018][0019]
其中:w是每个候选模块的参数,q是每个候选模块的权重,xi是输入图片,yi是第i张图片的标签,p(xi,w,q)是网络对xi的预测,λ是常数,且tj为第j个候选模块在嵌入式设备上的耗时。
[0020]
更进一步地,所述最优的轻量化网络结构获取过程中,利用训练集训练整体网络结构,梯度下降过程中,通过反向传播,更新损失函数中的权重q,每个子模块保留权重最大的候选模块,把保留的候选模块连接起来,最终可以搜索到最优的轻量化网络结构。
[0021]
本发明的有益效果为:
[0022]
(1)本发明的整体网络结构包括五个模块,每个模块包括两个子模块;本发明的整体网络结构为高低分辨率并行网络结构,对于位置敏感的人体姿态估计具有较大优势,并在整个过程中高低分辨率反复进行多尺度融合,可以充分提取人体姿态特征,对于遮挡等情况也可以有效解决,对网络的准确率有很大的提升。
[0023]
(2)本发明最优的轻量化网络结构是通过选取最优网络结构化的候选模块获取的,且候选模块之一的cpb模块是一个采用可分离卷积和通道参数削减的模块,具有网络参数量少、计算量小的同时保持较高的准确率。
附图说明
[0024]
图1为本发明所述最优网络结构化的轻量化姿态估计流程图;
[0025]
图2为本发明所述整体网络结构示意图;
[0026]
图3为本发明所述整体网络模型示意图;
[0027]
图4为本发明所述cpb模块结构示意图;
[0028]
图5为本发明所述通道削减模块结构示意图;
[0029]
图6为利用本发明轻量化姿态估计方法得到的人体姿态估计热力图。
具体实施方式
[0030]
下面结合附图以及具体实施例对本发明作进一步的说明,但本发明的保护范围并不限于此。
[0031]
如图1所示,本发明一种最优网络结构化的轻量化姿态估计方法,具体包括如下步骤:
[0032]
步骤(1),获取人体姿态估计数据集
[0033]
本实例所使用的人体姿态估计数据集为mpii,mpii人体姿势估计数据集是用于评估人体关节姿势估计的最先进基准。该数据集包括大约25000张图像,每张图像提供了一个活动标签,数据集包含超过40000个带有注释身体关节的人,数据集涵盖了410项人类活动;每张图像都是从youtube视频中提取的。
[0034]
步骤(2),数据预处理
[0035]
将人体姿态估计数据集均分为三份,任选其中两份作为训练集,另外一份作为测试集,测试集相对于训练集,增加了身体部位遮挡、3d躯干和头部方向的注释;将训练集和测试集中的每张图片大小缩放到512
×
512;训练集在训练时执行三重交叉验证。
[0036]
步骤(3),构建整体网络结构
[0037]
利用simple pose构建整体网络结构,设计每个模块输入输出特征图的大小及通道数;
[0038]
参见图2和图3,具体包括如下步骤:
[0039]
步骤(31),将整体网络结构划分为五个模块(包括模块1、模块2、模块3、模块4和模块5,模块1包括子模块11和子模块12,模块2包括子模块21和子模块22,模块3包括子模块31和子模块32,模块4包括子模块41和子模块42,模块5包括子模块51和子模块52),规定每个模块的输入和输出的特征图尺寸(高、宽、通道数);
[0040]
步骤(32),子模块11、子模块21、子模块31、子模块41和子模块51依次进行卷积操作,且维持输入的高分辨率不变,输入、子模块11、子模块21、子模块31、子模块41、子模块12和子模块22,均通过下采样,将分辨率降低为1/2且通道数变为原来的2倍,子模块12、子模块22、子模块32、子模块42和子模块52,均通过上采样,提升分辨率,而通道数不变;通过上下采样,实现在整个网络结构中高低分辨率的相互融合。
[0041]
步骤(4),选取最优网络结构化的候选模块、制定搜索方法、选择性能评估策略,整体网络结构输入数据,进行网络最优搜索,获得最优的轻量化网络结构。
[0042]
选取最优网络结构化的候选模块,将cpb模块、mobilenet、shufflenet和xception作为每个子模块的候选模块。
[0043]
所述cpb模块:设计一个具有采用可分离卷积和通道参数削减的模块;参见图4,cpb模块具体为:
[0044]
将输入的特征图(c个通道)先通过1
×
1卷积进行通道缩减(缩减为个通道),接下来通过bn层(进行归一化处理)和relu激活函数,接着采用3
×
3的深度可分离卷积,减少参数量、同时对缩减的特征图进行特征提取,再使用1
×
1卷积,恢复缩减的通道数,然后通过bn层(进行归一化处理)和relu激活函数,最后进行通道参数削减和融合,通道参数削减利用通道参数削减模块(采用残差结构)实现的;输入的特征图输入短链接,通过1
×
1卷积削减α倍,最后将通道参数削减与短链接通道通过add操作融合在一起。
[0045]
如图5所示,在通道参数削减过程中,首先通过全局平均池化,获取全局通道特征;再通过两个全连接层(fc)减少参数量,接着通过sigmoid激活函数得到一个在0-1之间的通道权重ε,然后在scale操作时,设置一个阈值γ,当通道权重ε小于阈值γ时,把通道权重ε设为零,若通道权重ε大于等于阈值γ时,通道权重ε保持sigmoid激活函数得到的数值su;scale操作后的特征图再通过1x1卷积,剪切掉权重较小的通道。
[0046]
本发明采用基于梯度的搜索方法,搜索最优的轻量化目标网络结构。
[0047]
选择性能评估策略采用多目标,目标包括预测关节点的准确率和每个候选模块在嵌入式设备上的耗时。选择性能评估策略主要方法是在损失函数上添加耗时的项,通过反向传播,更新候选模块的权重参数,从而搜索出最优的轻量化网络结构。
[0048]
所述损失函数的设计包括目标与标签的准确率、网络耗时总和的期望。首先设计两个权重参数w和q,w是每个候选模块的参数(卷积核),q是每个候选模块的权重,q1~q4的数值在0-1之间,为了保证q的取值,q均通过softmax函数计算出结果。
[0049]
目标与标签的准确率公式为:
[0050][0051]
其中:xi是输入图片,yi是第i张图片的标签,p(xi,w,q)是网络对xi的预测。
[0052]
其次,把网络在嵌入式设备上的耗时考虑到性能评估策略中,把耗时总和的期望设计成一个参数consume加入到损失函数中。具体步骤如下:
[0053]
计算出优化空间中每个候选模块在嵌入式设备中的消耗时间,计算每个模块耗时的加权平均,并计算所有子模块的整体耗时期望;则耗时总和的期望表示为:
[0054][0055]
其中:tj为第j个候选模块在嵌入式设备上的耗时。
[0056]
consume越小,整体网络的耗时就越小,并把consume加入损失函数中,这样最优网络结构化就可以搜索到足够轻量化的目标网络结构。整体损失函数如下,可以通过控制常数λ来获取在模型准确率和速度的平衡,则损失函数为:
[0057][0058]
利用训练集训练整体网络结构,梯度下降过程中,通过反向传播,更新损失函数中的权重q,每个子模块保留权重最大的候选模块,把保留的候选模块连接起来,最终可以搜索到最优的轻量化网络结构。
[0059]
整体网络结构使用pytorch框架实现,学习率均为0.02,均训练200个epoch,考虑到图像分辨率较高和gpu内存限制,每次迭代仅使用一张图像,即批处理大小设置为1。
[0060]
步骤(5),将测试集输入到最优的轻量化网络结构中,输出人体姿态估计的热力图。
[0061]
图6为根据本发明轻量化姿态估计输出的人体姿态估计热力图具体实例。
[0062]
所述实施例为本发明的优选的实施方式,但本发明并不限于上述实施方式,在不背离本发明的实质内容的情况下,本领域技术人员能够做出的任何显而易见的改进、替换
或变型均属于本发明的保护范围。
技术特征:
1.最优网络结构化的轻量化人体姿态估计方法,其特征在于:构建整体网络结构,所述整体网络结构包括五个模块,每个模块包括两个子模块;整体网络结构输入数据,进行网络最优搜索,获得最优的轻量化网络结构;所述最优的轻量化网络结构是通过选取最优网络结构化的候选模块、制定搜索方法以及选择性能评估策略获取的;将测试集输入到最优的轻量化网络结构中,输出人体姿态估计的热力图;所述候选模块为cpb模块或mobilenet或shufflenet或xception,所述cpb模块为一个采用可分离卷积和通道参数削减的模块。2.根据权利要求1所述的最优网络结构化的轻量化人体姿态估计方法,其特征在于,所述cpb模块为:将输入的特征图先通过1
×
1卷积进行通道缩减,接下来通过bn层和relu激活函数,接着采用3
×
3的深度可分离卷积,再使用1
×
1卷积,然后再通过bn层和relu激活函数,最后进行通道参数削减和融合。3.根据权利要求2所述的最优网络结构化的轻量化人体姿态估计方法,其特征在于,所述通道参数削减和融合具体为:输入的特征图输入短链接,通过1
×
1卷积削减α倍,最后将通道参数削减与短链接通道通过add操作融合。4.根据权利要求3所述的最优网络结构化的轻量化人体姿态估计方法,其特征在于,在通道参数削减过程中,首先通过全局平均池化,获取全局通道特征,再通过两个全连接层,接着通过sigmoid激活函数得到一个通道权重,然后进行scale操作,scale操作后的特征图再通过1x1卷积。5.根据权利要求4所述的最优网络结构化的轻量化人体姿态估计方法,其特征在于,在scale操作时,设置一个阈值γ,当通道权重小于阈值γ时,把通道权重设为零,若通道权重大于等于阈值γ时,通道权重保持sigmoid激活函数得到的数值。6.根据权利要求1所述的最优网络结构化的轻量化人体姿态估计方法,其特征在于,所述五个模块包括模块1、模块2、模块3、模块4和模块5,模块1包括子模块11和子模块12,模块2包括子模块21和子模块22,模块3包括子模块31和子模块32,模块4包括子模块41和子模块42,模块5包括子模块51和子模块52;子模块11、子模块21、子模块31、子模块41和子模块51依次进行卷积操作;输入、子模块11、子模块21、子模块31、子模块41、子模块12和子模块22,均通过下采样,将分辨率降低为1/2且通道数变为上一模块输出通道数的两倍,子模块12、子模块22、子模块32、子模块42和子模块52,均通过上采样,提升分辨率,且保持通道数不变。7.根据权利要求1所述的最优网络结构化的轻量化人体姿态估计方法,其特征在于,所述选择性能评估策略是在损失函数上添加耗时的项,所述损失函数为:其中:w是每个候选模块的参数,q是每个候选模块的权重,x
i
是输入图片,y
i
是第i张图片的标签,p(x
i
,w,q)是网络对x
i
的预测,λ是常数,且t
j
为第j个候选模块在嵌入式设备上的耗时。
8.根据权利要求7所述的最优网络结构化的轻量化人体姿态估计方法,其特征在于,所述最优的轻量化网络结构获取过程中,利用训练集训练整体网络结构,梯度下降过程中,通过反向传播,更新损失函数中的权重q,每个子模块保留权重最大的候选模块,把保留的候选模块连接起来,最终可以搜索到最优的轻量化网络结构。
技术总结
本发明提供了一种最优网络结构化的轻量化人体姿态估计方法,构建整体网络结构,整体网络结构输入数据,进行网络最优搜索,获得最优的轻量化网络结构,将测试集输入到最优的轻量化网络结构中,输出人体姿态估计的热力图;整体网络结构为高低分辨率并行网络结构,可以充分提取人体姿态特征;最优的轻量化网络结构是通过选取最优网络结构化的候选模块、制定搜索方法以及选择性能评估策略获取的,候选模块之一的CPB模块是一个采用可分离卷积和通道参数削减的模块,具有网络参数量少、计算量小的同时能够保持较高的准确率。同时能够保持较高的准确率。同时能够保持较高的准确率。
技术研发人员:李安康 宋余庆 刘哲 刘毅
受保护的技术使用者:江苏大学
技术研发日:2021.11.09
技术公布日:2022/3/7