SIMPLE: SIngle-network with Mimicking and Point Learning for Bottom-up Human Pose Estimation

SIMPLE: SIngle-network with Mimicking and Point Learning for Bottom-up Human Pose Estimation 论文赏析

前言

好久没有更新paper赏析了。一方面在做自己的实验,另一方面可能也是自己懒哈哈,不过还是将读过的文章记录下来比较好。
话不多说,最近拜读了中科院自动化所和清华合作的《SIMPLE: SIngle-network with Mimicking and Point Learning for Bottom-up Human Pose Estimation》,本文的新颖之处在于作者采用了新颖的训练策略——模仿学习,将Bottom-up和Top-down两种多人姿态估计处理范式结合起来,并将Pose Estimation和Human Detection整合到一个端到端的框架中。一方面保证了Bottom-up方案的高效性,另一方面提升了其性能。

文章简介:
出处: AAAI 2021

题目: 《SIMPLE: SIngle-network with Mimicking and Point Learning for Bottom-up Human Pose Estimation》

作者: J i a b i n Z h a n g Jiabin Zhang JiabinZhang, Z h e n g Z h u Zheng Zhu ZhengZhu, J i w e n L u Jiwen Lu JiwenLu, J u n j i e H u a n g Junjie Huang JunjieHuang, G u a n H u a n g Guan Huang GuanHuang, and J i e Z h o u Jie Zhou JieZhou

单位: I n s t i t u t e o f A u t o m a t i o n , C h i n e s e A c a d e m y o f S c i e n c e s Institute of Automation, Chinese Academy of Sciences InstituteofAutomation,ChineseAcademyofSciences; T s i n g h u a U n i v e r s i t y Tsinghua University TsinghuaUniversity; X F o r w a r d A I T e c h n o l o g y C o . , L t d XForwardAI Technology Co.,Ltd XForwardAITechnologyCo.,Ltd

文章地址: https://arxiv.org/pdf/2104.02486.pdf

Background & Motivation

  本文主要解决多人姿态估计问题。目前已有方法可大致分为Top-Down和Bottom-up两种处理范式。其中,Top-down的方法首先从图像中检测出所有人,将每个人crop出来之后,resize到相同的尺寸,送入单人姿态估计模型进行关节点定位;而Bottom-up的方式将图像中所有关节点检测出来之后,在对所有关节点进行分组,即分配到每个人身上。这两种方式各有千秋。
  对于Top-down来说,其优势在于精度高,对目标尺度变化比较鲁棒(因为将所有人resize到统一尺寸);同时,也存在一定的不足:1. 高延迟。因为需要detection和estimation两个模型,并且需要对每个人进行一次单人的pose estimation;2.姿态估计的结果严重依赖检测的结果3.非端到端
在这里插入图片描述

  对Bottom-up来说,其优势在于低延迟,且可以端到端;而不足在于:1.低精度(相对于Top-down来说);2.对尺度变化敏感(需要同时估计所有人的姿态);3.依赖关节点分配的后处理算法
在这里插入图片描述
对比Top-down和Bottom-up方式可以看出,两种方式其实是可以优势互补的。因此,能否在精度和速度上,找到一种satisfactory trade-off的结合方式来提高多人姿态估计的性能呢?(Motivation)

Contribution

基于上述问题,本文做出了以下3点贡献:

  1. 提出了一个新颖的SIMPLE模型,该模型采用模仿学习(mimicking strategy)和点学习(point learning)来减少bottom-up和top-down之间的gap。这也是第一次将模仿学习用于结合人体姿态估计的两种范式。
  2. 提出了统一的点学习框架,将human detection和pose estimation两个任务集成到一个模型中。一方面,检测和估计两个任务可以相互促进;另一方面,检测的结果可以用来辅助bottom-up来分配关节点。
  3. SIMPLE在COCO、MPII以及PoseTrack数据集上实现了Bottom-up方法中的SOTA结果,并且实现了与Top-down相当的结果。

Methodology

来看一下本文的整体框图,如下图所示。图中两个蓝色的小星星为本文的两个主要创新点。
  对于Contribution 1,作者想到可以采用知识蒸馏的思想,利用teacher-student model来完成mimicking策略。其中,学生网络采用Bottom-up的姿态估计方式,教师网络采用Top-down的姿态估计方式。在teacher-student model之间采用提到的mimicking策略,促使student model来模仿teacher model单人(Top-down)姿态估计的性能。这样一来,Student-model就可以在一定程度上克服多尺度的影响。
在这里插入图片描述
  对于Contribution2,点学习主要表现在,作者将detection问题看做是对点的估计(不是本文首次提出)。为什么可以这么做呢?早期工作CornerNet(ECCV2018)提出detection既然要找bbox,那我为什么不可以用对角线的两个顶点来表示这个bbox呢?因此,参照姿态估计中的热图回归形式,作者设计了CornerNet来回归对角的热图(这里纯粹个人看法哈,大家可以自己去读原文,想法很巧妙),利用CornerPooling来找对角点。CornerNet有个小问题,就是对角两个点通常位于背景部分,对object的信息利用不充分。这就导致CornerNet在最后分配bbox时,难以确定bbox是否属于同一类目标。因此,在CornerNet的基础上,CenterNet(ICCV2019)问世了。
在这里插入图片描述
  既然CornerNet没有考虑object的信息,那我就再回归一个目标中心点来表征这个object吧。因此,CenterNet在CornerNet结构的基础上,加了CenterPooling的分支。这样的话,我利用角点生成bbox,结合中心点来判断bbox是否属于统一目标,就可以很好的缓解CornerNet的不足。【CornerNet和CenterNet是Anchor free的代表,这里不在详细的介绍了,大家感兴趣可以看原文。】
在这里插入图片描述

Point Learning

  参照CenterNet的思想,本文作者提出了point learning这一架构。在student model的backbone后面加两个head,一个去回归bbox的 [左上,中心,右下]三个点的heatmap;另一个去回归所有关节点的heatmap。
  Point learning的loss包括两部分:1. 姿态估计的L2 loss,即输出热图与真实热图的l2范数;2. CenterNet的检测loss。
在这里插入图片描述

Network Mimicking

  SIMPLE是要在Bottom-up和Top-down之间建立mimicking策略。上述bottom-up的方式搭建完成,那么如何去构建top-down呢?
  既然student model可以输出bbox,那我就用这个bbox来crop输入图像的人就可以了。如下图红色箭头所示,作者拿student model输出的bbox来裁剪输入图像中的每个人,对其resize之后输入预训练的姿态估计模型进行pose的估计。
  在mimicking阶段,用teacher model的ground truth热图和输出热度对student的关节点热图进行约束。这里有一个问题,因为student model是bottom-up,因此student model输出的每个关节点热图中包含所有人的同一类热图。这样一来,就导致student model的输出和teacher model的输出尺度是不同的。直接进行mimicking肯定会行不通,那么该如何避免尺度不同的问题?
在这里插入图片描述
  既然student model关节点输出包含所有人的同一类关节点,bbox里包含每个人的位置。那么是不是可以用bbox在关节点热图中将每个人的关节点给框出来?答案是可行的。因此,作者对student model的bbox热图和关节点热图采用ROIAlign的操作。这样一来就可以确定每个人的热图了。不过,也会带来一个问题,就是经过ROIAlign操作之后,关节点热图的性质就发生了变化,不在是原始的热图。这样也就无法继续使用teacher model的热图直接进行监督。作者采用了两个adpater来对teacher model的GT热图和输出热图进行一次变换来更好的对student model的关节点热图进行约束。
在这里插入图片描述
  Mimicking训练阶段有两部分loss,分别是:student model的关节点热图与真实热图的L2 loss,及其与teacher model输出的L2 loss。因为,teacher mode的输入依赖student的检测框输出,所以在训练时采用两阶段的训练方式。第一阶段先训练student model,其bbox精度足以准确地crop出输入图像的instance之后,进行第二阶段的mimicking训练。整个训练过程中,teacher model的参数是不进行更新的。
在这里插入图片描述
  在推理阶段,仅采用整体框图中实线部分,即,student model的backbone加detection head和pose head。

Experiments

在这里插入图片描述

Ablation Studies

在这里插入图片描述
  Table 2是对detection方式进行了消融实验验证。(a)为不适用detection;(b)采用regression-based detection;(c)本文的point learning。结果表明,基于热图的detection和pose estimation确实可以相互促进。
  Table 3是对mimicking方式进行了消融实验验证,作者采用不同的信息去约束student model。其中(a)是不采用mimicking的baseline。根据这个结果,我们可以得到以下的结论:

  1. 对比(a)和(b),采用teacher model的GT热图约束,可以提高性能。因为GT热图包含了关节点的位置信息,在它的约束下,student model能够学到更准确的位置;
  2. 对比(a)和(d),采用teacher model的输出约束,也可以提高模型的性能,且提升更明显。因为,teacher model的输出更接近student model的输出,其除了关节点的位置信息外,还包含每个instance的feature。这样一来,student model就可以学到同一个人的关节点信息。
  3. 对于(a)和(c),采用teacher model的中间特征进行约束,性能下降了。这是因为本来student model和teacher model的任务类型有所差异,student model除了人体姿态估计外,还要进行detection,因此,两个model的特征差异是很大的。
    在这里插入图片描述

Summary

   本文的想法真的是很巧妙呀。在使用知识蒸馏时,通常要么是大模型引导小模型,要么teacher model采用更丰富的输入,而student采用较少的输入。本文采用teacher-student将两种不同的人体姿态估计方案结合到了一起,真的是很牛!并且,在进行网络设计时,可以很明显的感觉出作者的独出心裁,每一步都是进行了深思熟虑。
   以上内容纯粹是跟人的一己之见,如有不到之处,烦请指出,大家一起交流~ 另外,码字不易,转载请注明哦!
(PS:本人关注评论或私信不及时,如没有及时反馈大家,请大家谅解~可以多给我发几条私信。平时也比较忙,有自己的实验和paper要赶,看到后会第一时间回复!谢谢)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值