论文:《Cascaded Pyramid Network for Multi-Person Pose Estimation》
1.概述:
论文提出级联金字塔网络(Cascaded Pyramid Network ,简称CPN),包含两个阶段:GlobalNet和RefineNet。GlobalNet是特征金字塔网络,可以定位简单的关键点,如眼睛和手,虽然无法识别被遮挡的关键点,但是可以提供上下文信息,用于推断被遮挡的关键点。RefineNet通过整合GlobalNet所有级别的特征来处理比较难识别的关键点。为了解决多人姿态估计,论文采用自上往下的方法,首先生成人体边界框,之后通过CPN实现关键点检测。
2.网络结构:
为了处理处理难的样本,作者在loss上面做了一定的处理,最后的L2 loss作者希望针对难的关键点进行监督,而不是针对所有关键点uniform的进行监督,所以作者提出了一个Hard keypoint mining的loss。
def ohkm(loss, batch_size,top_k):
ohkm_loss = 0.
for i in range(batch_size):
sub_loss = loss[i]
topk_val, topk_idx = tf.nn.top_k(sub_loss, k=top_k, sorted=False, name= 'ohkm{}'. format(i) )
tmp_loss = tf.gather(sub_loss, topk_idx, name='ohkm_loss{}'.format(i))
ohkm_loss += tf.reduce_sum(tmp_loss) / top_k
ohkm_loss /= batch_size
return ohkm_loss
3.参考:
https://zhuanlan.zhihu.com/p/85506259
https://github.com/Longqi-S/keras_cpn
https://github.com/chenyilun95/tf-cpn