在上一篇文章中,笔者解释了对OpenPose人体关键点检测算法的思考,它是一种“bottom-to-up”的人体姿态估计算法。为了对人体姿态估计这个方向有更加深刻的认识,笔者查阅了2018年的三大顶会(CVPR/ICCV/ECCV)的文章,发现很多新的论文都是基于“Stacked Hourglass Networks”所做的改进,于是笔者认真阅读了这篇经典文章,有了一些自己的理解,故这里记录下来。
1 动机
对于人体姿态估计任务,也即检测人体的骨骼关键点,显然需要获取图像的local 细节信息,但是对于下面这张图,由于梅球王的右腿膝盖位置被遮挡了,导致局部细节信息丢失,这个时候怎么办呢?考虑人眼的视觉系统,我们是基于身体其它部位推断出右腿膝盖位置的,从理论角度来讲,是基于被遮挡点的全局上下文信息(global context),推断当前被遮挡点的位置的。
因此,应对人体姿态估计任务,需要同时利用局部信息和全局信息。
2 网络结构
浅层特征对应了图像的局部信息,深层特征对应了图像的全局信息。为了获取不同尺度的特征信息,借鉴目标检测任务的思路,有两种常用的做法,图像金字塔和特征金字塔。论文中采用了特征金字塔的方式,将浅层和深层特征做融合,来预测人体关键点。