【2019 | 知识蒸馏】Fast Huamn Pose Estimation

现有的人体姿态估计网络,想要到达较好的效果,需要对网络进行堆叠,不论是Hourglass,CPN,HRnet等优秀的网络都有这个特性。但在实际应用时,效率是一个不可避免的问题。因此,本文提出了一种新的快速姿态蒸馏(FPD)模型学习策略。具体来说,FPD训练了一个轻量级的姿态识别神经网络架构,能够以较低的计算成本快速执行。这是通过有效地转移一个强大的教师网络的模型知识来实现的。实验证明了本文的FPD方法在最先进的姿态估计方法中的优势。
本文主要考虑的是模型部署时的推理成本,本文的方案是首先构建一个轻量级的网络,其次通过快速姿态蒸馏(FPD)模型训练方法,将潜在的知识从一个预先训练好的较大的教师模型转移到构建好的轻量级网络中,实现效率和精度的trade-off。然而现有的知识蒸馏的方法多是基于类别层次的判别,而本文的方法是基于关键点热度图的判别,这种方式使得蒸馏学习的效率更高,因为特征约束将变的更多。网络的整体图如下,正如上所述的步骤为了建立一个高性价比的人体姿态估计模型,我们需要构建一个紧凑的主干,如(a)一个轻量级的沙漏网络。为了更有效地训练小目标网络,在姿态估计中采用了知识蒸馏原理。这需要(b)预先训练一个强大的教师姿势模型,如最先进的沙漏网络或其他现有的选择。在?姿态估计过程中,教师模型通过拟态损失函数提供额外的监督指导。在测试推理时,小目标位姿模型可以实现快速和低成本的部署。最后抛弃了计算量大的教师模型,因为它的区别性知识已经转移到目标模型中,因此可以用于部署(而不是浪费)。
【2019 | 知识蒸馏】Fast Huamn Pose Estimation
文章图片

在目标图像分类中,通过知识蒸馏策略,即让目标小网络模拟大教师模型[13]的预测,也出现了类似的问题。然而,目前还不清楚这种类似的方法在处理密集像素空间中的结构化人体姿态估计时的效果如何。为了回答这个问题,在下面我们提出了一个位姿结构知识的精馏方法。
本文首先训练一个大参数量的教师模型。我们可以选择Hourglass,HRnet等效果较好,但运行效率不高的大模型。然后本文利用教师模型所学的知识来训练目标学生模型。整个知识提取的关键是设计一个合适的损失函数,使得训练能够有效的提取教师模型的知识到学生模型。原有的蒸馏函数是针对分类背景下基于单标签的softmax交叉熵损失设计的,不适用于输出的特征为二维图像空间的人体姿态热度图。为了解决上述问题,本文设计了一个联合置信度图专用的姿态蒸馏损失函数表示为:
【2019 | 知识蒸馏】Fast Huamn Pose Estimation
文章图片

而原始的学生模型基于标签学习的损失函数如下:
【2019 | 知识蒸馏】Fast Huamn Pose Estimation
文章图片

上述公式中mk表示的是网络输出的第k个关键点的热度图。s表示的是学生模型,t表示的是教师模型。
网络最终的损失函数如下:
【2019 | 知识蒸馏】Fast Huamn Pose Estimation
文章图片

其中阿尔法参数是用于平衡两者这件的重要性,是一个超参数,正常可以设置为0.5。最终使用该损失函数,可以让网络既学习标签的知识,又学习大网络的输出分布。
分析为什么蒸馏在关键点网络中会有效:
1.由于在手工标注过程中很难找到正确的位置,所以关键点之间连接标签很可能是错误的。在这种情况下,教师模型可以通过统计学习和推理来减少一些错误,从而减少错误标记的训练样本的误导效果。
2.教师模型的置信度图将预先从整个训练数据集中学习到的抽象知识进行编码,这可能有利于在知识提取过程中对每个训练样本进行学习。
【【2019 | 知识蒸馏】Fast Huamn Pose Estimation】【2019 | 知识蒸馏】Fast Huamn Pose Estimation
文章图片

    推荐阅读