(15) Multi-Person Pose Estimation : PersonLab
PersonLab: Person Pose Estimation and Instance Segmentation with a Bottom-Up, Part-Based, Geometric Embedding Model
2018
reading time : 2019/10/08
paper address : https://arxiv.org/abs/1803.08225
Methods:
Person detection and pose estimation :
本文采用的是bottom-up的方法,首先检测K个关键点,接着将它们分组到person实例中。论文接着Google的CVPR 2017的论文(混合了分类和回归)的研究。论文生成了热图heatmap(每个关键点一个通道),偏移量offset(每个点两个通道)。
代表图片的2-D位置,
,i是图片中位置的索引,N是像素点的数量。
是一个y周围半径为R的圆形区域。
代表第j个人的第k个关键点的二维坐标。
,M是图片中人的数目。
对于每一个关键点类型 k=1,...K, 我们预测heatmap : 如果
,
=1。否则
=0。所以我们有了K个独立的密集的二进制分类任务,每一个针对于一个关节类型,每一个都相当于预测一个半径为R的圆盘,围绕着图像中任何人的特定关键点类型。半径作者设置为32像素,且不随人的大小变化,作者称是为了在分类损失中对所有的person实例一视同仁。使用average logistic loss。
除了heatmap,作者还预测了short-range offset vectors 。对于每一个在关键点半径内的的位置x。
从图片位置x指向关键点的位置。
。使用了L1 loss。在训练中,我们用L1损失来补偿短距偏移预测误差,平均和反向传播误差仅在关键点半径内的位置。我们将误差除以半径32来归一化,使其动态范围与热图分类损失相称。
通过Hough Voting,将热图(heatmap)和短距离(short-range)偏置整合成二维的Hough分数图,对于不同类型的关键点,使用不同的Hough累加器。每一个图像的位置对每一种关键点通道产生一个vote,对应的权重为它的**概率:
B()是双线性插值核。
Group keypoints into person detection instances
Mid-range pairwise offsets.
分数图的局部最大值被视作人物关键点的候选位置,但它们不携带有关实例的信息。当图像中存在多个人物时,我们需要一种“连接点”机制,使得属于每个人物的关键点分到对应人物中。为了解决上述问题,PersonLab在网络中增加了一个中距离的偏置
,用于连接成对的关键点。这样需要计算2(K-1)(这里的我理解为共有K个关键点,每个关键点需要与其他的所有关键点)个偏移量,其中偏移量是用有向边来表示的,每个有向边连接一对关键点,这些关键点在人的树结构运动图中彼此相邻。
。在训练期间,只有在训练示例中同时存在两个关键点时才定义此目标回归向量。同时计算了回归预测误差在源关键点的区域上(半径内)的平均损失,并通过网络进行反向传播。
Recurrent offset refinement.
当两个关节之间的距离较远时,很难得到精确的回归。..在实验中,对此细化重复了两次。采用双线性插值方法对中间位置处的短距离偏移场进行采样,并将误差沿中距离和短距离输入偏移分支反向传播。PersonLab在CNN输出**的分辨率上执行偏移量细化,使处理非常快速。如图2所示,偏移细化过程显著减少了中间范围回归误差,这是该方法中的一个关键新颖之处。
Fast greedy decoding.
优先级队列,。论文尝试了不同的方法来分配关键点和实例级的分数来检测我们的贪婪解码算法。作者没有使用将
设为每一个关键点的置信分数。受到OKS启发(使用不同的精度阈值来对不同的关键点类型进行定位补偿):定义了Expected-OKS:
下文是语义分割。