DeepPose论文笔记

DeepPose论文笔记

Introduction

这个paper是用DeepLearning来做pose estimation的开山之作,用的网络是AlexNet,即ImageNet的那个。网络中采取层级的形式来不断的调整预测到的关键点的偏移。而且是把pose estimation当成回归问题来看的。 相信这个paper为后面的工作提供了很多借鉴的思想,所以还是很值得读一下的。

背景介绍

人体关键点检测是个非常有挑战性的一个cv的方向,因为自然场景中有许多不确定的因素,比如人数不确定,人与人之间会有重叠,各种姿势,人的高矮,胖瘦等等。 本文的结构如图 avator 网络最后一层出来的是4096维的向量之后,会加一个回归的loss, 回归的loss之前应该是有一个网络的预测的关键点的位置,比如有14个,那么就会预测出28个数, 然后去和gt作一个loss, avator

input

输入是一张图,这上面有bbox和keypoints的gt信息,这个bbox可以是用人的检测器检测出的人的位置,或者就是整张图,那么训练之前会把gt的keypoints相对于bbox作一次normalize,这样就会把位置信息变到0,1之间,这样对于网络预测来说会方便一些

过程

第一层会和其他的层有些不太一样,如图所示 avator

  • 第一层的b0可以是整个图,也可以是人的bbox,如果是人的bbox,需要加一个人的检测器来把人的位置检测出来
  • 从第二层开始,每一层的输入都需要前一层的结果了,因为从第二层开始预测的相当于是一个偏移,看上面的(7)式可以看出来,然后需要的bbox的信息也是上一层的,相当于每层的输出有位置信息和一个大致的bbox信息,bbox信息可以理解为是大致的范围信息,而位置信息是相对于上一层的一个偏移,即上面的(6)式等号右边的第二项,有了这个位置信息之后,再得到这一层的bbox的信息,其中bbox的信息需要结合刚预测的位置信息与一个 $ \sigma $ , 所以每一层都会依赖于前一层。
  • 那么同时第s层的Loss也会做相应的变化 avator
  • 可以看出来,主要是normalize的时候的bbox的信息不太一样。因为要依赖于前一层的输出的bbox的信息。这样感觉上也让网络更加的紧凑。(个人感觉)
  • 数据增强方面,paper里面说每一层的输入不光是采用前一层的输出,还产生了一些模拟的预测,是用gt的图在关键点附近用高斯分布,即这些随机的高峰分布产生的图加上本层的输出来共同作为下层的输入。个人觉得相当于每一层都额外地加上了一些“gt”的数据。感觉上也是为了保证准确性,后面的一些工作也有这种想法。另外也采用了镜面反射来做数据增强。

    总结

    这个paper是14年的,相对来说比较久远了,但是看最新近的文章的话,也会发现其实多多少少有一些这里面的影子,这就是经典啊! 比如现在的在关键点附近做高斯分布用来去做数据增强,而后面的paper中heatmap就是用高斯分布来做的。好像也有研究heatmap用其他的方法来做的。 比如这里面的级联的思想,在后面的网络中基本上都有这种想法。

打赏,谢谢~~

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,多谢支持~

打开微信扫一扫,即可进行扫码打赏哦