目录
概要:
现有的Hourglass等姿态识别的网络精度以及泛化能力不错但模型过于复杂,使得部署困难。本文通过对原始Hourglass模型的响应(大模型输出的置信图)进行知识蒸馏的方式达到保持一定精度的同时大幅度减少部署时内存消耗的目的,并将这种方法称为Fast Pose Distillation(FPD)。最后在MPII和LSP数据集上做了验证,证明FPD方法的有效性。
一、研究现状及创新点
1、研究现状:
(1)现有的绝大多数人体姿态识别/关键点检测的模型追求精度而忽略了因为参数量大部署成本高的问题。
(2)目前先进的姿态识别网络Hourglass每层有大量通道且层数众多,部署成本高。而直接对轻量级的Hourglass模型进行训练往往效果不好。
(3)二值化网络压缩加速方法精度损失严重。
2、创新点:
(1)设计了轻量级的Hourglass网络模型(剔除了冗余部分);
(2)提出针对Hourglass姿态识别模型的蒸馏方法FPD,在模型加速和压缩的同时能够保持精度不严重损失。
二、PFD方法
关键点检测旨在预测给定图像中人体关节的空间坐标,通常是像素级的回归问题。以有监督方式进行训练,训练数据集: 中每张图像都有K个节点,在图像空间中被定义为: ,图像高和宽分别为H和W。
1、姿态识别中的目标损失函数:
通常使用均方损失函数MSE。为节点K在其标记坐标周围用高斯核生成一个置信图,有:
其中为指定像素的坐标;为预先固定的空间方差。 得到如下损失函数:
其中为预测置信图。
2、大模型结构与小模型的构建:
(1)传统Hourglass的冗余:
人体姿态检测模型通常是由具有相同结构的多个重复构建块组成。Hourglass由大量通道和块组成导致了参数众多。
8个Hourglass module,
每个Hourglass module由9个残差块构成,
每一层有256个通道
(2)小模型的构建:
经过实验发现,半个阶段(4个Hourglass module)足以在MPII上实现95%以上的模型泛化能力。同时通道数减少一半(每层128个通道)只会使性能下降不足1%。构建轻量化的Hourglass网络模型如下:
3、蒸馏损失函数:
直接对小模型进行训练效果不好,使用知识蒸馏辅助小模型训练。
(1)损失函数定义:
对于大模型的输出置信图和小模型输出置信图有:
总共有K个节点,对第k个节点的置信图。
(2)整体损失函数:
其中 为权重。
一方面,小模型通过优化逼近真值;另一方面,小模型通过优化来模仿大模型的输出。
4、训练过程:
5、对PFD训练效果好的解释:
(1)由于在手动注释过程中很难定位真实位置,因此身体关节标签很可能是错误的。在这种情况下,教师模型可以通过统计学习和推理来减少一些错误,从而减少错误标记的培训样本的误导效应(A)
(2)考虑到困难的训练案例,比如背景混乱/杂乱和随机遮挡情况,教师预测可以通过用模型推理解释这些硬样本来提供软化的学习任务(B)
(3)教师模型可以提供比原始注释更完整的节点标签,因此不仅提供额外的更精确的监督,而且还可以减轻丢失节点标签的误导(C)
(4)与调整教师的预测相比,学习匹配真实置信图可能更难。这是因为教师模型为每个训练样本散布了一些难以处理或易于处理的推理不确定性。
(5)另一方面,教师置信图将预先从整个培训数据集中学习到的抽象知识进行编码,这可能有助于在知识蒸馏过程中学习每个单独的培训样本。
三、实验效果
1、数据集:
MPII:29K用于训练,11K用于测试;每个人有16个节点 LSP:11K用于训练,1K用于测试;每个人有14个节点
2、性能指标:
使用标准的正确关键点百分比(PCK)测量。
分别测量了各个单独节点,将其平均值作为总体指标。使用了不同的τ值得到了PCK曲线,曲线下的面积(AUC)可以作为跨不同决策阈值的整体测量值获得。
MPII:
LSP:
3、消融实验:
(1)FPD通用化评估:
除了使用Hourglass作为主干网络之外还测试了Pyramid Residual Module。采用原文中的模型作为大模型,轻量化后的模型作为小模型。
(2)Hourglass成本效益分析:
测试深度(层号)和宽度(通道号)。移除半级和半通道只会导致非常有限的性能下降。这表明原来的Hourglass设计是高度冗余的,成本效益较差。
(3)知识蒸馏的效果:
测试了在轻量化Hourglass网络上使用知识蒸馏的效果。带来了0.8%PCKh的提升。在错误标记、硬训练图像和注释缺失的情况下,模仿大模型的输出置信图会带来额外的信息。
(4)知识蒸馏损失函数种类的影响:
测试了交叉熵损失函数。先对置信图进行L1归一化,然后使用交叉熵计算预测结果和真值的差异。发现相比之下MSE有更好的效果。
(5)权重因子的影响:
评估了α控制的MSE损失和蒸馏损失之间的平衡重要性。发现在0.5时效果最佳,这说明在相同的数值尺度下两个损失项同等重要。
四、总结
提出了一种新的快速姿态识别方法FPD。与大多数现有的人体姿态识别方法相比FPD旨在平衡精度和模型参数量,以便与模型的部署。 开发了轻量级的Hourglass网络,结合FPD方法在不影响精度和性能的情况下实现了高效的人体姿态识别。 进行了一系列的消融实验,提供关于模型成本效应收益的详细分析与见解。