Towards Accurate Multi-person Pose Estimation in the Wild 论文阅读
论文概况
论文名:Towards Accurate Multi-person Pose Estimation in the Wild
作者(第一作者)及单位:George Papandreou, 谷歌
发表期刊/会议:CVPR2016
被引次数(截止到发博日期,以谷歌学术为数据来源):52
主要方法
论文实现的是多人的姿态估计,使用的是自顶向下(top-down)的方法,即:先由目标检测方法把人检测出来,然后再进行单人的姿态估计。这篇论文的总体流程是:第一步,使用Faster-RCNN进行人的检测。第二步,进行姿态估计。
第一步、使用Faster-RCNN进行人的提取
这部分看起来没什么好说的,但是,读论文就要事无巨细,所以来看一下详细实现。
文章中使用了基于ResNet101的Faster-RCNN,但是做了一些更改,就是把卷积操作用atrous convolution给修改了,具体修改可以看一下原文的参考文献,我们这里看一下atrous convolution是什么,atrous convolution频繁的在deeplab的论文里出现,这里特意找了一下,如下图:
图(b)就是atrous convolution,接下来我们看一个二维的卷积,如图:
这幅图虽然是讲的时空金字塔池化,但是上面的卷积核我们可以直观的看到,可以说就是带孔的卷积,这样可以用相对更少的参数得到更大感受野的feature map(这样说也不知道对不对),论文中这么做的目的是为了让ResNet的输出由原来的stride=32变成stride=8,这样子就可以产生更“稠密”的feature map,我的理解是具有更大的感受野和更多的信息。另外,这里用的Faster-RCNN是重新训练过的,并且训练的时候只保留“人”这一个类别。
第二步、姿态估计
这部分是本文的重头戏,其骨干就是用ResNet来同时做了分类和回归。
1.图片分割
之前说过,我们首先要通过一个Faster-RCNN来检测人,但是我们知道检测框的大小不一样,那么应该如何处理呢。让我来做的话,二话不说,直接resize成我的网络输入大小,但实际上这样子会使我的人的图像长宽比失真,最终导致我的模型训练效果不佳。本文使用了一个比较好的方法,我觉得以后做类似任务的时候都可以这么处理。
- 将检测出来的框的长或宽扩展,使检测框符合一个长宽比x。
- 然后将整个框保持长宽比不变进行扩大,论文里说训练的时候按照1.0-1.5的比例随机扩大,也算是数据集增强的一部分,然后测试的时候就按1.25的比例扩大。
- 将上面的框框出来的区域裁剪,然后resize成257*353的大小,注意,之前的长宽比x=353/257=1.37,这样,即使经过resize,图片也不会失真。
2.分类和回归问题
前面说过,这部分主要是做了分类和回归。对于分类问题,论文中将以关节点为中心,以R为半径的区域归为1,其余位置为0。对于回归问题,回归了一个向量,也就是偏移量,定义为:
\[
F_{k}(x_{i})=l_k-x_i
\]
其中l_k为关节点坐标。为什么要这样呢?直接回归出关节点不好吗,实际上直接回归是很难的,谷歌的deeppose论文就是直接回归的,但是也是用了很多了阶段不停地修正才能得到真正的坐标,我曾经试过只用一个阶段单纯的回归坐标,但是结果是所有的预测结果都是一样的,必须经过修正才可以让网络学到真正能识别关节的特征,所以这就是本文的两步走策略,我先找到一个大概区域,然后根据我预测的偏移量投票出我真正的关节点坐标,那么怎么得到呢,公式如下:
\[
f_k(x_i)=\sum_{j}\frac{1}{\pi R^2}G(x_j+F_k(x_j)-x_i)h_k(x_j)
\]
其中G()是 bilinear interpolation kernel,恕我才疏学浅,这个函数找了很久都不知道是什么,看字面是双线性内插算法,但是双线性内插公式要有四个已知点,这部分等以后搞懂了再说吧。但是论文中提到,如果heatmap(也就是那个圆)和offset(偏移向量)都是完美的话,那么f应该是冲击响应函数,我们看一下论文里的图片,直觉上理解一下。
后面就是实验结果,其中还提到了基于OKS的非最大值抑制,但是可惜没有说具体怎么做,关于非最大值抑制的相关问题,由于这个也很重要,以后单写一篇随笔吧。
Towards Accurate Multi-person Pose Estimation in the Wild 论文阅读的更多相关文章
- DensePose: Dense Human Pose Estimation In The Wild(理解)
0 - 背景 Facebook AI Research(FAIR)开源了一项将2D的RGB图像的所有人体像素实时映射到3D模型的技术(DensePose).支持户外和穿着宽松衣服的对象识别,支持多人同 ...
- 对DensePose: Dense Human Pose Estimation In The Wild的理解
研究方法 通过完全卷积学习从图像像素到密集模板网格的映射.将此任务作为一个回归问题,并利用手动注释的面部标注来训练我们的网络.使用这样的标注,在三维对象模板和输入图像之间,建立密集的对应领域,然后作为 ...
- (转)Awesome Human Pose Estimation
Awesome Human Pose Estimation 2018-10-08 11:02:35 Copied from: https://github.com/cbsudux/awesome-hu ...
- paper 154:姿态估计(Hand Pose Estimation)相关总结
Awesome Works !!!! Table of Contents Conference Papers 2017 ICCV 2017 CVPR 2017 Others 2016 ECCV 20 ...
- 手势估计- Hand Pose Estimation
http://blog.csdn.net/myarrow/article/details/51933651 1. 目前进展 1.1 相关资料 1)HANDS CVPR 2016 2 ...
- human pose estimation
2D Pose estimation主要面临的困难:遮挡.复杂背景.光照.真实世界的复杂姿态.人的尺度不一.拍摄角度不固定等. 单人姿态估计 传统方法:基于Pictorial Structures, ...
- Social Grouping for Multi-Target Tracking and Head Pose Estimation in Video(翻译)
0 - ABSTRACT 许多计算机任务在缺少上下文信息的情况下的处理会更加困难.例如,在多相机跟踪任务下,行人可能在不同照相机下面因为有这不同的姿势和灯光条件而看起来很不一样.类似地,在低分辨率高角 ...
- 论文笔记: Mutual Learning to Adapt for Joint Human Parsing and Pose Estimation
Mutual Learning to Adapt for Joint Human Parsing and Pose Estimation 2018-11-03 09:58:58 Paper: http ...
- 论文阅读理解 - Stacked Hourglass Networks for Human Pose Estimation
http://blog.csdn.net/zziahgf/article/details/72732220 keywords 人体姿态估计 Human Pose Estimation 给定单张RGB图 ...
随机推荐
- URL列表
MySql函数大全:http://www.cnblogs.com/xuyulin/p/5468102.html
- ASP.NET MVC & WebApi 中实现Cors来让Ajax可以跨域访问 (转载)
什么是Cors? CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing).它允许浏览器向跨源服务器,发出XMLHttpReq ...
- 为什么我们要做三份 Webpack 配置文件
时至今日,Webpack 已经成为前端工程必备的基础工具之一,不仅被广泛用于前端工程发布前的打包,还在开发中担当本地前端资源服务器(assets server).模块热更新(hot module re ...
- React Native获取组件位置和大小
RN页面中定位或滚动操作时,需要获取元素的大小和位置信息,有几种常用的方法 获取设备屏幕的宽高 import {Dimensions} from 'react-native'; var {height ...
- css 中的 initial inherit unset 意思
写css时,在对属性进行选值,经常遇到unset , initial,inherit三个值.这几个值的含义. 1.inherit 可继承性 继承的意思. 每一个 CSS 属性都有一个特性就是,这个属性 ...
- CUDA 版本,显卡驱动,Ubuntu版本,GCC版本之间的对应关系
- 【ZOJ 2996】(1+x)^n(二项式定理)
Please calculate the coefficient modulo 2 of x^i in (1+x)^n. Input For each case, there are two inte ...
- c3p0封装
配置文件 <?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <defaul ...
- 最短寻道优先算法(SSTF)——磁盘调度管理
原创 最近操作系统实习,敲了实现最短寻道优先(SSTF)——磁盘调度管理的代码. 题目阐述如下: 设计五:磁盘调度管理 设计目的: 加深对请求磁盘调度管理实现原理的理解,掌握磁盘调度算法. 设计内容: ...
- 004---IO模型
io模型 同步.异步.阻塞.非阻塞概念 同步:发出一个功能调用时,在没有得到结果之前,该调用就不会返回,原地等待 异步:相反,不需要等待 阻塞:调用结果返回之前,当前线程会被挂起,如io操作,只有在得 ...