半监督二维人体姿态估计中的模型坍塌问题研究(代码已开源)|ICCV 2021 | 监督


半监督二维人体姿态估计中的模型坍塌问题研究(代码已开源)|ICCV 2021 | 监督
文章插图
AI科技评论报道
本文是计算机视觉领域顶级会议ICCV2021入选论文《An Empirical Study of the Collapsing Problem in Semi-Supervised 2D Human Pose Estimation(半监督二维人体姿态估计中的模型坍塌问题研究)》的解读。该论文由北京大学王亦洲课题组与微软亚洲研究院合作完成,研究了一致性学习算法在二维人体姿态估计中的模型坍塌问题,并提出了构建预测难度存在差异的样本对来解决该问题。本文提出的算法可以有效地利用无标记数据中的信息,显著提高了姿态估计模型的泛化能力。

半监督二维人体姿态估计中的模型坍塌问题研究(代码已开源)|ICCV 2021 | 监督
文章插图
论文地址:https://arxiv.org/abs/2011.12498
代码链接:https://github.com/xierc/Semi_Human_Pose
1

研究背景
二维人体姿态估计在公开数据集上的精度不断获得提升,但因为部署场景和训练数据的差异,绝大多数模型在实际使用时都会面临泛化性能降低这一挑战。半监督学习为解决这一问题提供了可能,它利用少量标注数据和大量无标注数据(比如来自实际部署场景)进行共同训练,期望提升模型在目标场景下的泛化能力。
目前半监督学习的方法中,结果最好的方法大多基于一致性训练(Consistency-based)[1][2]。也就是要求模型在一张图像的不同扰动(Perturbation)上产生一致的输出,从而去探索无标签图像中存在的特征。一致性损失如公式所示, 代表模型输出, 表示扰动参数。但是,目前绝大多数工作都只在分类任务上进行了算法有效性的验证。
但当我们把这些方法应用到二维人体姿态估计时,我们发现大部分的一致性训练方法都遇到了模型坍塌的问题(Model Collapsing)—— 模型在有标注的图像上能够预测出正确的heatmap,但在无标注的图像上对每个像素的预测都是0。注意在这种情况下,虽然一致性损失是最小的,但模型在无标签数据上却没有学到任何有意义的信息。

半监督二维人体姿态估计中的模型坍塌问题研究(代码已开源)|ICCV 2021 | 监督
文章插图
图1. 经典的一致性训练方法在二维人体姿态估计任务上的表现。(a) 预测 Heatmap 响应的变化。(b) 平均精确率的变化。
具体情况如图1 (a) 所示,随着训练次数的增加,模型在无标注数据上产生退化的输出(整张图像被预测成背景)。有意思的是模型在标注数据上依然能够产生正确的输出,这个观察意味着网络能够区分训练图像来自于无标注/有标注数据集。在图1 (b) 中,模型在验证数据集上的精度逐渐接近于0,可确认此时发生了退化。
2

问题分析
在文章里,我们通过实验对这个现象进行了深入分析,发现可能是类别不均衡问题导致的。在人体姿态估计任务中,一张图像中绝大部分像素属于背景,只有一小部分属于前景(对应关节点附近的高斯区域)。因此该任务中存在非常严重的类别不均衡问题。
当模型针对两个对应的像素(来自于两个 Perturbations)产生不一致的预测时,比如一个预测为1(前景),一个预测为0(背景)。经典的一致性训练方法中,试图同时更新两个预测值,从而移动决策边界,使得两者位于边界的同一侧。而因为类别不均衡问题的存在,决策边界倾向于移动到全局来看样本数目更稀疏的少数类别区域(也就是前景)。因此,随着训练的进行,我们发现越来越多的像素被预测成背景。图示分析可见图2。

半监督二维人体姿态估计中的模型坍塌问题研究(代码已开源)|ICCV 2021 | 监督
文章插图
图2.(A) 进行无监督训练前的决策边界。(B) 经典的一致性训练方法试图让同一图像在不同扰动下的预测保持一致,因此该损失函数倾向于驱动决策平面移动到样本数量较少的前景区域,从而导致越来越多的像素被预测成背景。(C) 本文提出的方法,具体介绍见下文。