为什么叫小小综述呢,因为不从最开始综述起。只说一说近两年比较流行的姿态估计方法,以实用为主。毕竟对于我来说,这块更多是应用。单人的不好应用,就更多的说一说多人姿态估计。希望能对想入门姿态估计的朋友有一个快速的指引
入门简介
引入CNN对单人姿态估计来进行解决,但是会有很多FP出现。引入MPII数据集,是W级别,之前的FLIC和LSP数据集都是K级别。
多人关键点检测数据集COCO 、CrowdPose
视频跟踪数据集:PoseTrack
coco上的评价标准
框的IOU被替换为OKS,大概是统计标骨架时每个关键点的误差。0-1,类似于IOU的物理意义
Top-Down vs. Bottom-up
Top-down:Mask R-CNN , CPN, MSPN(COCO)
高性能,点定位准,高召回(找到更多人)Bottom-up:
OpenPose, Associative Embeding
网络框架简单,(网络)速度快(但也不一定)
二者如何结合呢?一些实验说明,把bottom-up融入Top-down是有好处的
难点与挑战
令人困惑的外观拥挤的人群large pose 动作变化比加大对速度需求快一直到,随着深度学习的爆发,单人姿态估计的问题也引来了黄金时间。Convolutional Pose Machine (CPM)(以及之后的OpenPose),Hourglass。
CPN MSPN几个工作是比较好的几个网络
算法
CPM
是CMU的工作,OpenPose的基础,端到端的模型,输入图片的batch,输出带有空间信息的tensor,channel的个数为关键点的个数。空间大小为原图等比例缩放。通过在heatmap上按照channel找关键点的最大相应位置。
而人脸使用landmark与之差别较大。Landmark通常使用fully connected layer for regression回归位置。速度快,任务简单。有sub-pixel的精度。
Heatmap精度是pixel级别,但是对空间位置信息保存较好。便于级联。人的姿态自由度较大,landmark对自由度限制较大。
整个网路多个stage,在MPII上达到88.5
OpenPose
COCO冠军,以CPM为组件,关键点+Part Affinity Field来组装
把CPM找到的所有左手腕和左手肘拿出来建立二分图,边权值是基于PAF的场来计算。匹配成功则为同一个人。
Hourglass 和 Associative Embedding
,后发展为Associate Embedding 以及后续的CornerNet
Hourglass网络简单,也是bottom-up
寻找part使用Hourglass
之后,更有潜力的就变成了top-dewn模型了,如下:
级联金字塔网络和多阶段姿态估计两大类
Cascade Pyramid Network
冠军 CPN
级联网络。第二个loss是 hard mining 的loss
检测模型mAP很低时,map上涨对关键点有用,检测map超过44.3时对关键点影响已经不大了
Multi-stage Pose Estimation
coco冠军
每个结构channel等宽。由于层数多,容易丢失信息,因而加入黄色的连接线。Coarse-to-fine高斯核在前面层较大,层越深,高斯核越来越小,heat map定位越来越准
stage多一些,AP确实会涨一些。
开源,冠军
/megvii-detection/MSPN
Learning to Refifine Human Pose Estimation()
本文提出了训练一个新的模型, 来对某个pose estimation model产生的pose进行修正。文章引入了一种有效的后处理技术用于人体姿势估计中的身体关节细化任务。 由于其前馈架构,简单且端到端的可训练,高效的。提出了一个培训数据增强方案纠错,使网络能够识别错误的身体关节预测和学习方法改进它们。
Human Pose Estimation with Spatial Contextual Information()
目前大多数网络以多阶段的方式进行训练并加以优化精细。在这个出发点上,作者提出了两个简单但有效的模块,即Cascade Prediction Fusion(CPF)网络用来预测关键点和Pose Graph Neural Network(PGNN), 用来对上级预测的关键点进行修正。
Cascade Feature Aggregation for Human Pose Estimation()
目前这篇文章是mpll数据集hpck@0.2排行榜上的冠军,相比其他论文,这篇文章创新点偏工程,达到这么高的评分,主要有三点,一是,作者把stage2到stageNheatmap的平均值作为最后输出;二是作者通过实验得出stage1把resnet101作为backbone,后面的stage采用resnet50作为backbone效果最佳;三是作者引入了AI Challenger的数据集来扩充训练数据。
HRNet
本模型之前通常是将图片放大来保留更多信息,计算量变大,效果也确实有提升。HRNet相比下采样,提出新结构。多个层级,但是使用保留最精细的空间信息,通过fuse下采样然后做上采样层,获得跟多的上下文信息和语义层面的信息。
PoseTrack
视频中姿态跟踪,利用上一针检测结果,merge到新一帧,避免miss,两帧之间使用OKS based相似度做人体关联。获得PoseTrack冠军。
应用、总结:
应用于:跌倒检测、人用动作控制机器人、学习太极等动作、(手机应用)等(检测在手机上比较难,骨架部分在手机上运算还是可以的)
总结:
Context is important for Skeleton
Coarse to fine Strategy
这两个都是Top-down的方法
Mask R-CNN中Mask指的是先将一个人Mask抠出来,再做进一步处理
级联都是基于上一层的feature map
加入跟踪、加入光流可以对关键点的抖动有一些抑制
Top-down检测到人之后会有适当的扩大框再姿态估计
人脸关键点一般FCN,对速度要求高,较快,骨架一般heat map
人脸对齐时,带眼镜墨镜,有遮挡,光照较差时结果可能会不好,而其他状态已经很好了
未来:
特殊姿态的数据较少
拥挤场景行人检测(NMS是瓶颈)
多任务学习、3D姿态估计、模型速度
后记
看完这些,希望你已经没有想看源码的冲动了。
如果是这样的话,不妨点个赞吧。
为何要点赞?
如果本文解决了你的困惑,不妨点个赞鼓励一下。
不管你信不信,也不管你同不同意,实际上,你的每一次点赞都标志着你自身的进步。而打赏乃是点赞的高级形式
曾经有无数个点赞的机会,但是我都没有好好珍惜,假如时光可以倒流,我一定为他们也为自己点赞。