【CVPR2019】Multi-Person Pose Estimation with Enhanced Channel-wise and Spatial Information论文笔记

  最近看了一篇CVPR2019关于姿态估计的论文,笔者根据自己的理解做了笔记,欢迎各位大佬讨论。

Multi-Person Pose Estimation with Enhanced Channel-wise and Spatial Information

论文链接:https://arxiv.org/pdf/1905.03466.pdf

一、Motivation and Contribution

    

         这篇paper的贡献主要在以下两方面:

  首先,在姿态估计领域,一般面临的挑战主要有光照、尺度差异、遮挡等等。一般来说,高层的低分辨率的语义特征可以用来推导看不见的关节,而低层的高分辨率的语义特征对适应尺度变化推导小尺度的关节十分重要(如脚踝等),那么他们之间的平衡就很重要了。如何结合并利用这两部分特征,是一个难点。

因此,作者提出了用于不同尺度特征图间信息通信交流的CSM模块。(Channel Shuffle Module)

其次,在当前的姿态估计任务乃至更多的计算机视觉任务中,融合多尺度特征已经是常规操作了,但姿态估计中很少有工作关注增强特征图的通道信息和空间信息。事实上,笔者曾经看到过一篇文章有用到空间注意力机制,Multi-Context Attention for Human Pose Estimation(CVPR2017),感兴趣的同学可以看一看。说回本文,作者同时在姿态估计任务中加入了空间注意力通道间注意力机制


     因此,作者提出了结合通道和空间注意力机制的残差模块--SCARB模块(Spatial, Channel-wise Attention Residual Bottleneck)

  以上就是作者的主要动机和贡献,基于作者提出的这两个模块改进的CPN网络,取得了更好的效果。


二、Main Content

1.简单的CPN介绍

CPN网络模型取得了COCO 2017 keypoint Challenge的冠军,这篇论文选用了CPN网络模型作为它们基础网络结构,在此之上来研究CSM模块和SCARB模块的有效性。

正如上图所示,CPN网络模型包括两个阶段,第一阶段使用GlobalNet去定位一些简单的关键点,然后使用RefineNet去处理比较难检测出来的关键点(如有遮挡的关键点)。具体细节不再赘述,有许多优秀的博客可以参考。

2.CSM模块(Channel Shuffle Module)

作者提出CSM模块的目的就是为了加强提取出的特征金字塔不同尺度的多层特征之间的信息交流,对不同尺度(level)的多通道特征采取混洗操作(shuffle,你中有我我中有你)。作者给出这样做的一种解释是通道混合操作可以进一步的打乱底层的特征和高层的特征之间的依赖性(以往的高层特征都是从低层特征卷积池化而来,因此高层依赖于低层),进而这些不同尺度的特征可以相互作为补充和强化。

       那具体操作而言,为了推动不同尺度的特征图的通道间的通信,是在ShuffleNet之上进一步开发了通道洗牌操作来实现这一目的,与之不同,开创性的采用了通道间的洗牌,以前这个操作姿态估计中没有提过。

          

具体的操作如上图:

1. 对原始提取出的多个特征块进行1*1卷积(这部分图中没有),变换到相同的通道数256,得到的特征用Conv-2~5来表示;

2. 对得到的特征中低分辨率的特征进行上采样,接着在通道维度进行concat操作,得到长的特征(256*4=1024维);

3. 对得到的这部分特征进行shuffle操作,又可以分成reshape-translate-reshape操作;

            3.1  reshape:对得到的1024维的通道特征图进行reshape操作到(g,c),其中定义g为分组,且g*c=1024;

            3.2 transpose:对得到的特征进行transpose(没错,就是转置),得到规模为(c,g)的通道特征图;

            3.3 reshape:最后,再进行一次reshape操作,由(c,g)重新拉长为1024维;

4. 通过上一步操作,得到了新的1024维的通道特征图,接着进行划分,下采样(第2步的反操作),最终得到了shuffle后的特征,用C-Conv-2~5表示;

5. 对得到的shuffle后的特征分别进行1*1卷积,这一步可以认为是在进行特征融合;

6. 最后,与之前的原始特征Conv-2~5做concat,算是最终完成,得到了最终的特征块。

这部分特征块就可以认为是结合高低尺度的比较理想的特征了,可以用来进行关键点的回归。

 

3.SCARB模块(Spatial, Channel-wise Attention Residual Bottleneck)

 这一部分比较简单,主要就是需要SE-Net和空间注意力机制的知识,这里不做太细节的描述,有许多资料讲的很好。同时作者同时使用通道注意力和空间注意力的启发来自于图片说明领域的SCA-CNN,感兴趣的同学也可以看看

 直接来看具体的改进后的模块,如上图,原始的残差模块分成了两个分支,原作者直接将注意力机制加在残差分支上,在进行卷积后,目的是使网络关注那些应该关注的地方和通道。作者有一句话讲的很棒:

“Spatial and channel-wise attention not only encodes where (i.e., spatial attention) but also introduces what (i.e., channel-wise attention) the important visual attention is in the feature maps.”

       也就是说,通过结合通道注意力和空间注意力,就告诉了我们what和where是应该被重点关注的。 这里的what就是指的通道注意力,因为每个通道都是由一个卷积核卷积而来,可以认为是某一种特征;而where顾名思义,就是指我们特征图应该聚焦的空间位置。

        回到原文,这两部分注意力机制可以认为是在学习两个注意力权重α和β,对于空间注意力权重β来说,显而易见的,通过对原特征图进行一个1×1×C的卷积,再通过sigmoid激活函数,就得到了规模为H×W×1的空间注意力权重,然后再和原来的特征图逐点相乘即可。

        至于通道注意力部分,权重α的生成和作用方式与SE-Net相同,也是通过单通道特征图的全局池化再进行全连接和激活作用的。

4.总的pipline

 最开始已经提到了,本文的方法是基于CPN做改进,同时使用的也是CPN的人体检测器,那么在单人姿态估计部分直接将CSM模块作用于图像提取出的原始特征得到新的特征,然后就可以进行关节点的回归了。之后,同样有一个难例挖掘的部分,本文考虑的是top8的关节点的回归,绿色方块即为结合了注意力机制的改进后的残差模块。


三、实验

实验相关参数和策略:4块V100、Adam优化器、初始学习率5e-4、在90和120epoch 的时候分别乘了0.1、输入图像resize到256*142(4:3)、难例挖掘考虑8个top关节点、尺度扩充(0.7-1.3)、旋转扩充(-40~+40)、不特指的话backbone用的Resnet50、预测阶段同样是采用了在原始图像和反转图像预测的平均(对精度有提升)、网络预测采用最高响应到次高响应的1/4偏移为最终预测位置。

        具体实验部分的话主要包括各种消融分析研究,探索了提出的这两个模块的有效性,探讨了CSM中的Shuffle操作的分组g的影响,还有就是证明了与之前的比较的话取得了SOTA。


四、总结

本文主要的贡献的话就是shuffle通道的操作了,我认为这个操作大家在自己做实验做CV任务的时候也是可以具体分析实现一下看看的,原理上来说应该对许多任务都有效。除此之外值得一提的也就是另外一个模块的改进了,事实上现在在很多领域注意力机制这样一个trick已经越来越普遍了,也可以作为参考。这篇文章的话作者没有开源代码,不过单纯的复现模块可能没有那么复杂,by the way,CVPR2019还有一篇姿态估计领域的文章,高分辨率网络HR-Net,感兴趣的也可以看看,思路也很新颖,效果也很好。

以上,欢迎交流

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值