1.本发明涉及深度学习领域中的模型压缩与加速技术,具体是一种应用于人体姿态估计模型的稀疏化剪枝方法。
背景技术:
2.人体姿态估计是计算机视觉领域的重要问题之一,旨在从图像中估计人体的若干关键点,并最终形成完整的人体骨架结构。随着人体姿态估计领域的快速发展,人体姿态估计技术渐渐应用到日常生活的方方面面。例如,人体姿态估计可以应用到cgi(computer graphic image,计算机图形图像)上,利用运动捕捉和增强现实来完成人物特效的制作;也可以利用人体姿态估计技术追踪人体对象运动,实现人机交互;此外人体姿态估计技术也在安防监控、行为识别等领域大放异彩。近些年,随着深度学习的爆发和卷积神经网络的发展,新的人体姿态估计方法被陆续提出,如deeppose、cpm、hourglass、openpose、hrnet等。现有的人体姿态估计方法通常只考虑如何提高模型的泛化性能和姿态估计的精度,而忽略了显著的效率问题。同时,模型中巨额的参数量和运算量给资源受限移动端的部署带来了巨大的挑战。所以,对人体姿态估计模型进行模型压缩是很有必要的。
3.模型剪枝是一种能够有效地降低模型的参数量和运算量、实现模型加速与压缩的方法。我们发现,在模型剪枝工作中,单独使用权重剪枝或者卷积核剪枝后,所得到的模型复杂度仍然很高。我们提出一种稀疏化剪枝方法,可以解决上述问题和在资源受限设备的部署问题。我们的方法稀疏地训练模型以获得稀疏的网络结构,并通过结合卷积层和bn层的稀疏性来修剪不重要的滤波器。与许多现有方法不同,所提出的重要性函数结合了卷积层和bn层的两层网络信息,以提高重要性确定的准确性。另外,我们的方法大大降低了训练成本和模型的大小,并且该模型不需要特殊的库/硬件即可部署到移动设备。
技术实现要素:
4.本发明的目的在于提供一种人体姿态估计模型稀疏化剪枝方法,要解决的技术问题为:在保证人体姿态估计精度的同时,对模型进行压缩和加速,便于部署到资源受限移动端设备上。
5.为实现上述目的,本发明涉及的一种人体姿态估计模型稀疏化剪枝方法,采用l1正则化对原始的人体姿态估计模型的网络参数进行稀疏化训练,然后根据稀疏化训练后的模型中滤波器的重要性分数进行结构化剪枝,删除其重要性低的滤波器及其对应的卷积核等信息,最后通过模型重训练来恢复剪枝后模型的性能。
6.具体地,一种人体姿态估计模型稀疏化剪枝方法,包括以下步骤:
7.(1)稀疏训练:采用考虑正则化系数的损失函数对人体姿态估计模型稀疏化训练,假定在卷积层c中,有j个滤波器,每个滤波器包含k个卷积核,每个卷积核包含n个权重,训练时的损失函数为:
8.loss
*
=loss+λ(l1(w)+l1(γ));
[0009][0010][0011]
其中,是原损失函数,x表示输入图像,θ表示可训练的参数,包括滤波器卷积核权重、缩放因子,f(
·
)表示人体姿态估计网络,f(x,θ)输出预测关键点热图,y表示对应图像的真实关键点热图,l度量网络输出关键点热图和真实关键点热图的损失,λ是正则化系数,控制训练稀疏化程度,l1(
·
)表示l1正则化,w
j,k,n
第j个滤波器第k个卷积核的第n个权重,γ={γ1,γ2,...,γj}表示缩放因子集合,γj代表第j个滤波器对应bn层的缩放因子,|
·
|表示绝对值符号;
[0012]
(2)剪枝低重要性滤波器:根据卷积层滤波器权重和bn层对应缩放因子计算滤波器重要性分数,进而确定剪枝阈值,从人体姿态估计模型剪掉小于等于剪枝阈值的重要性分数对应的滤波器,保留剩余滤波器;
[0013]
(3)重训练:采用步骤(1)中的损失函数对步骤(2)剪枝后的人体姿态估计模型进行训练,对模型中可训练的权重进行更新,得到结构精简且泛化性能好的网络模型。
[0014]
步骤(2)可以进一步分为以下步骤:
[0015]
(201)利用卷积层滤波器权重信息和bn层对应缩放因子γ对滤波器进行重要性的综合判定,定义重要性判定函数ij:
[0016]
ij=fj×
γj[0017]
其中,ij代表第j个滤波器的重要性得分,fj代表第j个滤波器的权重绝对值之和,即
[0018]
(202)由步骤(201)计算可以得到模型中j个滤波器的重要性分数集合i={i1,i2,...,ij},假定模型剪枝率为p,则剪枝阈值i
*
由公式i
*
=sort
p
(i)计算可得,其中sort
p
(i)函数表示将集合i中元素按照升序排序,输出排序后第个元素的值,其中表示向下取整;
[0019]
(203)从人体姿态估计模型剪掉小于等于i
*
的重要性分数对应的滤波器及其对应的卷积核等信息,保留剩余滤波器及其对应的卷积核等信息。
[0020]
进一步地,一种雾无线接入网络不同精度人体姿态估计网络自适应切换方法,在移动设备部署上述剪枝重训练后的人体姿态估计网络,在云端部署剪枝前完整的人体姿态估计网络,根据移动设备和云端之间的无线传输速率灵活进行切换。假定移动设备采集图像数据为ii,人体姿态估计网络输出结果为io,移动设备至云端传输吞吐量为cu,云端至移动设备传输吞吐量为cd,系统最大响应时延为t
max
,云端人体姿态估计网络计算时间为tc,当时,移动设备采集图像数据经无线链路传输至云端,然后将云端剪枝前完整的人体姿态估计网络计算得到人体姿态估计结果传回;当时,移动设备根据自身部署的剪枝后的人体姿态估计网络计算得到人体姿态估计结果。
[0021]
本发明与现有技术相比有益效果为:在稀疏训练时引入缩放因子,可以有效提升训练效率,为后续剪枝提供了更加准确的重要性判定依据;有效的降低模型中的参数量和运算量,同时和剪枝前网络相比平均精度和平均召回率下降最小,因此能够在保证估计性能的同时大大降低了训练成本和模型的大小,有效地对人体姿态估计模型进行压缩加速,降低了人体姿态估计模型应用时的硬件要求,方便在移动设备等运算能力受限的设备部署人体姿态估计网络,从而便于人体姿态估计应用于移动互联网更多应用场景中;同时基于剪枝后人体姿态估计网络特点,可以在下一代雾无线接入网络中,通过移动设备部署的剪枝后的人体姿态估计网络和云端部署剪枝前的人体姿态估计网络灵活切换,达到在给定计算时间内平均精度最大化。
附图说明
[0022]
图1为本发明涉及的人体姿态估计模型稀疏化剪枝方法流程图;
[0023]
图2为本发明涉及的人体姿态估计模型稀疏化剪枝示意图;
具体实施方式
[0024]
下面通过具体实施例和附图对本发明进一步描述。
[0025]
实施例1
[0026]
本实施例涉及的一种人体姿态估计模型稀疏化剪枝方法流程如图1所示。
[0027]
对于原始模型,采用l1正则化对其人体姿态估计模型中可训练的参数进行稀疏化训练,然后对稀疏化训练后的模型进行结构化剪枝,删除其重要性低的滤波器及通道,最后通过模型重训练来恢复剪枝后模型的性能。
[0028]
一种人体姿态估计模型稀疏化剪枝方法,具体包括以下步骤:
[0029]
(1)稀疏训练:采用考虑正则化系数的损失函数对人体姿态估计模型稀疏化训练,假定在卷积层c中,有j个滤波器,每个滤波器包含k个卷积核,每个卷积核包含n个权重,在稀疏化训练中对卷积层的权重和bn层缩放因子添加l1正则化,训练并更新滤波器权重值和bn层缩放因子,使得重要性较低的权重及缩放因子逼近0,实现稀疏化,同时,引入正则化系数对卷积层权重和bn层的缩放因子进行约束,则训练时的损失函数变为:
[0030]
loss
*
=loss+λ(l1(w)+l1(γ));
[0031]
其中,是原损失函数,x表示输入图像,θ表示可训练的参数,包括滤波器卷积核权重、缩放因子等,f(x,θ)表示人体姿态估计网络,输出预测关键点热图,y表示对应图像的真实关键点热图,l(f(x,θ),y)度量网络输出关键点热图和真实关键点热图的损失,λ是正则化系数,控制训练稀疏化程度,l1(
·
)表示l1正则化,w={w1,w2,...,wj}表示滤波器卷积核权重集合,wj={w
j,1
,w
j,2
,...,w
j,k
}表示第j个滤波器的权重集合,w
j,k
={w
j,k,1
,w
j,k,2
,...,w
j,k,n
}表示第j个滤波器第k个卷积核的权重集合,w
j,k,n
第j个滤波器第k个卷积核的第n个权重,γ={γ1,γ2,...,γj}表示缩放因子集合,γj代表第j个滤波器对应bn层的缩放因子,根据l1正则化性质,可以得到|
·
|表示绝对值符号;
[0032]
(2)剪枝低重要性滤波器:根据卷积层滤波器权重和bn层对应缩放因子计算滤波器重要性分数,进而确定剪枝阈值,从人体姿态估计模型剪掉小于等于剪枝阈值的重要性分数对应的滤波器,保留剩余滤波器;
[0033]
(201)利用卷积层滤波器权重信息和bn层对应缩放因子γ对滤波器进行重要性的综合判定,定义重要性判定函数ij:
[0034]
ij=fj×
γj[0035]
其中,ij代表第j个滤波器的重要性得分,fj代表第j个滤波器的权重绝对值之和,即
[0036]
(202)由步骤(201)计算可以得到模型中j个滤波器的重要性分数集合i={i1,i2,...,ij},假定模型剪枝率为p,则剪枝阈值i
*
由公式i
*
=sort
p
(i)计算可得,其中sort
p
(i)函数表示将集合i中元素按照升序排序,输出排序后第个元素的值,其中表示向下取整;
[0037]
(203)从人体姿态估计模型剪掉小于等于i
*
的重要性分数对应的滤波器及其对应的卷积核等信息,保留剩余滤波器及其对应的卷积核等信息;
[0038]
(3)重训练:采用步骤(1)中的损失函数对步骤(2)剪枝后的人体姿态估计模型进行训练,对模型中可训练的权重进行更新,得到结构精简且泛化性能好的网络模型。
[0039]
进一步地,一种雾无线接入网络不同精度人体姿态估计网络自适应切换方法,在移动设备部署上述剪枝重训练后的人体姿态估计网络,在云端部署剪枝前完整的人体姿态估计网络,根据移动设备和云端之间的无线传输速率灵活进行切换。假定移动设备采集图像数据为ii,人体姿态估计网络输出结果为io,移动设备至云端传输吞吐量为cu,云端至移动设备传输吞吐量为cd,系统最大响应时延为t
max
,云端人体姿态估计网络计算时间为tc。当时,移动设备采集图像数据经无线链路传输至云端,然后将云端剪枝前完整的人体姿态估计网络计算得到人体姿态估计结果传回;当时,移动设备根据自身部署的剪枝后的人体姿态估计网络计算得到人体姿态估计结果。
[0040]
正则化系数λ可以在剪枝效率和剪枝后网络性能之间进行调节。当λ值比较大,卷积层权重和bn层的缩放因子稀疏性比较好,更利于剪枝压缩网络,但是得到的网络平均精度等结果相对差一些。当λ值比较小,卷积层权重和bn层的缩放因子稀疏性稍微差一些,但是得到的网络平均精度等结果相对好一些。
[0041]
对人体姿态估计模型稀疏化剪枝示意图如图2所示,将bn层的缩放因子(γj)与上层卷积层的相应滤波器权重(fj)相对应,以便同时剪掉。在训练过程中,l1正则化应用于滤波器权重和缩放因子,以自动选择重要性较低的滤波器。剪枝掉重要性得分低于设定阈值的滤波器或通道(图中左侧灰色部分),保留高于阈值的滤波器或通道(图中左侧黑色部分),得到结构精简的模型(图中右侧)。然后重新训练以达到与原始模型相同的精度。
[0042]
下表给出了使用经典hrnet人体姿态估计方法对coco数据集采用不同剪枝策略后的性能比较,从图中可以看出,本发明能够有效的降低模型中的参数量和运算量,同时和剪枝前网络相比平均精度和平均召回率下降最小,因此能够在保证估计性能的同时大大降低
了训练成本和模型的大小,有效地对人体姿态估计模型进行压缩加速,方便在移动设备等运算能力受限的设备部署人体姿态估计网络。
[0043]
技术特征:
1.一种人体姿态估计模型稀疏化剪枝方法,其特征在于,采用l1正则化对原始的人体姿态估计模型的网络参数进行稀疏化训练,然后根据稀疏化训练后的模型中滤波器的重要性分数进行结构化剪枝,删除其重要性低的滤波器及其对应的卷积核信息,最后通过模型重训练来恢复剪枝后模型的性能。2.根据权利要求1所述的人体姿态估计模型稀疏化剪枝方法,其特征在于,包括以下步骤:(1)稀疏训练:采用考虑正则化系数的损失函数对人体姿态估计模型稀疏化训练,假定在卷积层c中,有j个滤波器,每个滤波器包含k个卷积核,每个卷积核包含n个权重,训练时的损失函数为:loss
*
=loss+λ(l1(w)+l1(γ));(γ));其中,是原损失函数,x表示输入图像,θ表示可训练的参数,包括滤波器卷积核权重、缩放因子,f(
·
)表示人体姿态估计网络,f(x,θ)输出预测关键点热图,y表示对应图像的真实关键点热图,l度量网络输出关键点热图和真实关键点热图的损失,λ是正则化系数,控制训练稀疏化程度,l1(
·
)表示l1正则化,w
j,k,n
第j个滤波器第k个卷积核的第n个权重,γ={γ1,γ2,...,γ
j
}表示缩放因子集合,γ
j
代表第j个滤波器对应bn层的缩放因子,|
·
|表示绝对值符号;(2)剪枝低重要性滤波器:根据卷积层滤波器权重和bn层对应缩放因子计算滤波器重要性分数,进而确定剪枝阈值,从人体姿态估计模型剪掉小于等于剪枝阈值的重要性分数对应的滤波器,保留剩余滤波器;(3)重训练:采用步骤(1)中的损失函数对步骤(2)剪枝后的人体姿态估计模型进行训练,对模型中可训练的权重进行更新,得到结构精简且泛化性能好的网络模型。3.根据权利要求2所述的人体姿态估计模型稀疏化剪枝方法,其特征在于,步骤(2)包括以下步骤:(201)利用卷积层滤波器权重信息和bn层对应缩放因子γ对滤波器进行重要性的综合判定,定义重要性判定函数i
j
:i
j
=f
j
×
γ
j
其中,i
j
代表第j个滤波器的重要性得分,f
j
代表第j个滤波器的权重绝对值之和,即(202)由步骤(201)计算可以得到模型中j个滤波器的重要性分数集合i={i1,i2,...,i
j
},假定模型剪枝率为p,则剪枝阈值i
*
由公式i
*
=sort
p
(i)计算可得,其中sort
p
(i)函数表示将集合i中元素按照升序排序,输出排序后第个元素的值,其中表示向下取整;(203)从人体姿态估计模型剪掉小于等于i
*
的重要性分数对应的滤波器及其对应的卷积核等信息,保留剩余滤波器及其对应的卷积核信息。
4.根据权利要求1-3任一项所述的人体姿态估计模型稀疏化剪枝方法,其特征在于,所述剪枝重训练后的人体姿态估计模型的应用,在移动设备部署步骤(3)所述剪枝重训练后的人体姿态估计网络,在云端部署剪枝前完整的人体姿态估计网络,根据移动设备和云端之间的无线传输速率灵活进行切换,假定移动设备采集图像数据为i
i
,人体姿态估计网络输出结果为i
o
,移动设备至云端传输吞吐量为c
u
,云端至移动设备传输吞吐量为c
d
,系统最大响应时延为t
max
,云端人体姿态估计网络计算时间为t
c
,当时,移动设备采集图像数据经无线链路传输至云端,然后将云端剪枝前完整的人体姿态估计网络计算得到人体姿态估计结果传回;当时,移动设备根据自身部署的剪枝后的人体姿态估计网络计算得到人体姿态估计结果。
技术总结
本发明公开了一种人体姿态估计模型稀疏化剪枝方法,该方法使用L1正则化对人体姿态估计模型进行稀疏训练。然后,将滤波器的稀疏权重与BN(Batch Normalization,批量归一化)层的缩放因子结合起来,以确定其重要性。最后,使用结构化修剪方法修剪稀疏滤波器和相应的通道。该方法稀疏地训练模型以获得稀疏的网络结构,并通过结合卷积层和BN层的稀疏性来修剪不重要的滤波器。可以在保证人体姿态估计精度的同时,对模型进行压缩和加速,便于部署到资源受限移动端设备上。受限移动端设备上。受限移动端设备上。
技术研发人员:宋康 王明阳 董丹丹 苗圃 殷作亮 卜庆凯
受保护的技术使用者:青岛大学
技术研发日:2021.12.02
技术公布日:2022/3/8