Paper Reading:Regional Multi-person Pose Estimation
来源:互联网 发布:免费卡盟源码 编辑:程序博客网 时间:2024/06/10 08:26
这是上海交大的一篇文章,他们的项目主页在RMPE: Regional Multi-person Pose Estimation
这篇文章的主要目标是解决在野生图片下的多人姿态估计问题,因为人体的识别要忍受来自定位和识别的双重误差,这会导致很多基于CNN的识别算法无能为力。这篇文章使用了symmetric spatial transformer network (SSTN)、deep proposals generator (DPG) 、parametric pose nonmaximum suppression (NMS).三个技术来解决这一问题。
首先作者对现有的姿态估计的算法进行了评(吐)价(槽):单人姿态估计的方法不能用在多人上面,而多人姿态估计方法虽然效果不错,但是太慢了(485 seconds per image)。然后作者在下面提出了自己的模型。
整体模型
整体的模型如下图所示
这是一个类似于r-cnn的模型,整个过程分为了2步。
1、首先用一个human detector来提取建议框(human proposal),在这里作者选取了SSD(Single Shot MultiBox Detector. In ECCV, 2016)作为他们的human detector。
这里作者加了一句:今年来human detector虽然有很大的进步,但是得到的大部分人体建议框还是不能达到作为SPPE(single person pose estimation)输入的标准。所以需要SEEP有一定的鲁棒性来解决这一问题,后面会提到针对这一问题的解决方案。
2、将上一步提取到的人体建议框输入到一个”Symmetric STN + SPPE” 结构中去,来完成每个输入建议框的姿态估计。
详细介绍
”Symmetric STN + SPPE” 模型入下图
如图所示,整体的 ” Symmetric STN + SPPE” 是由一个 STN网络+一个SPPE网络+一个反向的STN网络 组成。
这个模型的识别过程主要如下(关于STN在前一篇的博客中讲到了,这里使用了一个反向的STN,推导过程原文中也已经给出,就不详细推导)
1、首先将上一步得出的human proposal在长宽方向上个延迟20%,以确保可以把人完整的框起来。而且经过验证,这样确实可以把大部分的人整个框起来。
2、然后经过一个STN网络将延伸过的图像进行仿射变换,可以生成一个比较精确的、适合作为SPPE输入
3、把SPPE的输出经过与前边相反的STN变换,将坐标变换回原来的坐标系,完成整个的识别过程。
Parallel SPPE
为了进一步加强STN提取单个的人物形象,作者提出了Parallel SPPE,其结构入下图
将之前的”Symmetric STN + SPPE” 结构做了修改,保持前边的STN不动,将后面的”SPPE+SDTN”分成了2条支路,上边的支路还是原来的”SPPE+SDTN”,下边的支路是一个单纯的SPPE,并且将他的label设置为single person pose。训练时使用2条支路输出的总误差来训练网络,在测试时将下面的 Parallel SPPE丢掉,只使用Symmetric STN进行前向传播。
Deep Proposals Generator
数据增强
symmetric STN + SPPE应该用human detector产生的人体建议框充分训练,不然测试时就不是很准确。然而通过human detector每张图片只能产生20~30张人体建议框,这是远远不够的。所以需要适当的数据增强。
这里训练了一个网络(如图),输入是一个建议框(框内是白色,框外是黑色)和一个标注的姿态的图片,输出是这个建议框的分数。之后随机生成大量的建议框,输入到该网络,然后选取高于阈值的分数的框作为下一阶段的输入。
Parametric Pose NMS
最后网络的输出的结果中,不可避免的会出现冗余,所以我们要通过非极大值抑制(NMS)来消除这些冗余。
我们假设
这里定义了一个淘汰标准:
当
这里的判定标准定义为:
其中的
上式中的
这个就主要是2个joint之间的举例度量了,若离得比较近则输出较小,更容易判定为同一个pose。
上面式子中的
- Paper Reading:Regional Multi-person Pose Estimation
- Paper Reading:Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
- 论文阅读:《RMPE: Regional Multi-Person Pose Estimation》ICCV 2017
- 姿态检查整理--07-RMPE: Regional Multi-Person Pose Estimation
- READING NOTE: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
- READING NOTE: Towards Accurate Multi-person Pose Estimation in the Wild
- DeepCut: Joint Subset Partition and Labeling for Multi Person Pose Estimation
- 行人姿态估计--Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
- Code note: Realtime Multi-person 2D Pose estimation using Part Affinity Fields(2)
- caffe openpose/Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields配置
- 姿态估计论文思路整理 -- Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
- Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields ∗
- 论文阅读-Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
- Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields.md
- 论文阅读:Deepcut&Deepercut:Joint Subset Partition and Labeling for Multi Person Pose Estimation
- 论文阅读:《Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields》CVPR 2017
- 论文阅读:《Towards accurate multi-person pose estimation in the wild》CVPR 2017
- Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields 个人解读
- Visual Studio 2015 安装失败0x80070057解决办法
- 【DAY.8】PHP数据结构与算法_排序_希尔排序
- HashMap原理详解
- android studio学习
- 2016年点亮的新技能树——指导·招聘·业务
- Paper Reading:Regional Multi-person Pose Estimation
- Android之Http网络编程(一)
- Maven 快速入门
- 更改MYSQL 单字段存储最大空间
- POJ2282:The Counting Problem找规律
- Ping命令入门
- Android之Http网络编程(二)
- 为什么是Gradle? -- Gradle教程(一)
- 展示模式架构比较MVP(SC),MVP(PV),PM,MVVM和MVC