对DensePose: Dense Human Pose Estimation In The Wild的理解
- 研究方法
- 通过完全卷积学习从图像像素到密集模板网格的映射。将此任务作为一个回归问题,并利用手动注释的面部标注来训练我们的网络。使用这样的标注,在三维对象模板和输入图像之间,建立密集的对应领域,然后作为训练的回归系统的基础。论文指出可以将来自语义分割的想法与回归网络相结合,产生高精度的“量化回归”架构
- Mask R-CNN 是一个两阶段的框架,第一个阶段扫描图像并生成提议(proposals,即有可能包含一个目标的区域),第二阶段分类提议并生成边界框和掩码。
- Faster R-CNN 是一个流行的目标检测框架,Mask R-CNN 将其扩展为实例分割框架。
- UV纹理贴图坐标
- 对于三维模型,有两个最重要的坐标系统,一是顶点的位置(X,Y,Z)坐标,另一个就是UV坐标。U和V分别是图片在显示器水平、垂直方向上的坐标,取值一般都是0~1,也 就是(水平方向的第U个像素/图片宽度,垂直方向的第V个像素/图片高度。纹理映射是把图片(或者说是纹理)映射到3D模型的一个或者多个面上。纹理可以是任何图片,使用纹理映射可以增加3D物体的真实感。每个片元(像素)都有一个对应的纹理坐标。由于三维物体表面有大有小是变化的,这意味着我们要不断更新纹理坐标。但是这在现实中很难做到。于是设定了纹理坐标空间,每维的纹理坐标范围都在[0,1]中,利用纹理坐标乘以纹理的高度或宽度就可以得到顶点在纹理上对应的纹理单元位置。纹理空间又叫UV空间。对于顶点来说,纹理坐标相对位置不变。
- 数据集
- COCO-Densepose-dataset
- 数据集标注
- 数据库MSCOCO里面,挑选了50K个人,手动标注了近5百万的标注点。
- Test测试集“1.5k images,2.3k humans”,Training训练集“48k humans”。
- 传统标注是找到图像上的一个点,然后旋转图像和立体模型来实现精确坐标定位,但这样做效率太过低下。因此他们把标记工作分成两个阶段:先进行宏观的部位分割,再进行具体的对应注释。他们用一组大致等距的点对每个身体部位区域进行采样。
- 对于一般的姿态识别(骨骼追踪),能够识别出一二十个点便可以构成一个人体姿态,但如果要构造出一个平滑的3D模型,则需要更多的关键点,DensePose需要336个(24个部位,每个部位14个点)
- 数据库MSCOCO里面,挑选了50K个人,手动标注了近5百万的标注点。
- 标注过程
- 在任何渲染的部位图像上为每个被采样的点定位其对应的表面点,他们标注了图像和 3D 表面模型的密集对应关系。红色叉号表示当前被标注的点。
- 他们向标注者提供了人体部位的 6 个预渲染的视角,这样整个部位表面都是可见的。一旦标注了目标点,该点就会同时显示在所有渲染过的图像上
- 标注上了UV坐标之后,可以将一个3D人物的表面经过变换投影到2D图像上,并且会根据2D图像中人物的姿态做适当的变换,从而使得3D模型的表面可以做到紧贴2D人物。
- 网络结构
- DensePose-RCNN
- 基于caffe2框架
- 研究团队采用的是金字塔网络(FPN)特征的RCNN结构
- 区域特征聚集方式ROI align pooling以获得每个选定区域内的密集部分标签和坐标。
- DensePose-RCNN系统可以直接使用标注点作为监督。
- 它借用了Mask-RCNN的架构
- 带有Feature Pyramid Network(FPN)的特征
- 以及ROI-Align池化。
- 除此之外,他们在ROI池化的顶层搭建了一个全卷积网络。
- 补充
- 这里“teacher net” (如上图所示)对整体进行辅助训练,它是一个完全卷积神经网络(FCNN),在给定图像尺度把图像和分割蒙版统一化。他们首先使用稀疏的、人工收集的监督信号训练一个“teacher net” ,然后使用该网络来修补用于训练我们的基于区域的系统的密集监督信号。
- 同时他们利用了多任务的Multi-task cascaded architectures结构,将 mask 和 keypoint的输出特征 与 densepose 的特征互相融合训练。而且也可以看出来使用了多stage的思想,进行“中继监督”训练,利用了任务协同作用和不同监督来源的互补优势。通过级联进一步提升了准确度。
- 输出三个内容 :身体部位分割,U 和 V。
- 核心
- 将2D图像中人的表面的像素投影到3D人体表面上,也可以在估计出图像中人体的UV之后,将3Dmodel通过变换,将空间坐标转换为UV坐标之后,贴到图像上。
- 基于CNN的系统
- 全卷积网络
- mask R-CNN
- 级联
- DensePose-RCNN
- 针对DensePose的研究思路
- 数据集
- 下载COCO-Densepose-dataset数据集
- 神经网络
- DensePose-RCNN
- 基于caffe2框架
- 它借用了Mask-RCNN的架构
- Mask-RCNN
- 基于Faster R-CNN
- Fast R-CNN
- R-CNN
- 基于
- 卷积神经网络(CNN)
- 线性回归
- 支持向量机(SVM)等算法
- 实现目标检测技术。
- 基于
- R-CNN
- Fast R-CNN
- 与PSPNet相结合
- 基于Faster R-CNN
- 带有Feature Pyramid Network(FPN)的特征
- 以及ROI-Align池化。
- Mask-RCNN
- 除此之外,他们在ROI池化的顶层搭建了一个全卷积网络。
- 这里“teacher net” (如上图所示)对整体进行辅助训练,它是一个完全卷积神经网络(FCNN),在给定图像尺度把图像和分割蒙版统一化。他们首先使用稀疏的、人工收集的监督信号训练一个“teacher net” ,然后使用该网络来修补用于训练我们的基于区域的系统的密集监督信号。
- 级联
- 同时他们利用了多任务的Multi-task cascaded architectures结构,将 mask 和 keypoint的输出特征 与 densepose 的特征互相融合训练。而且也可以看出来使用了多stage的思想,进行“中继监督”训练,利用了任务协同作用和不同监督来源的互补优势。通过级联进一步提升了准确度。
- DensePose-RCNN
- 核心
- 将2D图像中人的表面的像素投影到3D人体表面上,也可以在估计出图像中人体的UV之后,将3Dmodel通过变换,将空间坐标转换为UV坐标之后,贴到图像上。
- UV纹理贴图坐标
- 对于三维模型,有两个最重要的坐标系统,一是顶点的位置(X,Y,Z)坐标,另一个就是UV坐标。U和V分别是图片在显示器水平、垂直方向上的坐标,取值一般都是0~1,也 就是(水平方向的第U个像素/图片宽度,垂直方向的第V个像素/图片高度。纹理映射是把图片(或者说是纹理)映射到3D模型的一个或者多个面上。纹理可以是任何图片,使用纹理映射可以增加3D物体的真实感。每个片元(像素)都有一个对应的纹理坐标。由于三维物体表面有大有小是变化的,这意味着我们要不断更新纹理坐标。但是这在现实中很难做到。于是设定了纹理坐标空间,每维的纹理坐标范围都在[0,1]中,利用纹理坐标乘以纹理的高度或宽度就可以得到顶点在纹理上对应的纹理单元位置。纹理空间又叫UV空间。对于顶点来说,纹理坐标相对位置不变。
- 数据集
对DensePose: Dense Human Pose Estimation In The Wild的理解的更多相关文章
- DensePose: Dense Human Pose Estimation In The Wild(理解)
0 - 背景 Facebook AI Research(FAIR)开源了一项将2D的RGB图像的所有人体像素实时映射到3D模型的技术(DensePose).支持户外和穿着宽松衣服的对象识别,支持多人同 ...
- (转)Awesome Human Pose Estimation
Awesome Human Pose Estimation 2018-10-08 11:02:35 Copied from: https://github.com/cbsudux/awesome-hu ...
- 论文阅读理解 - Stacked Hourglass Networks for Human Pose Estimation
http://blog.csdn.net/zziahgf/article/details/72732220 keywords 人体姿态估计 Human Pose Estimation 给定单张RGB图 ...
- 论文笔记 Stacked Hourglass Networks for Human Pose Estimation
Stacked Hourglass Networks for Human Pose Estimation key words:人体姿态估计 Human Pose Estimation 给定单张RGB ...
- Deep High-Resolution Representation Learning for Human Pose Estimation
Deep High-Resolution Representation Learning for Human Pose Estimation 2019-08-30 22:05:59 Paper: CV ...
- Towards Accurate Multi-person Pose Estimation in the Wild 论文阅读
论文概况 论文名:Towards Accurate Multi-person Pose Estimation in the Wild 作者(第一作者)及单位:George Papandreou, 谷歌 ...
- Learning Feature Pyramids for Human Pose Estimation(理解)
0 - 背景 人体姿态识别是计算机视觉的基础的具有挑战性的任务,其中对于身体部位的尺度变化性是存在的一个显著挑战.虽然金字塔方法广泛应用于解决此类问题,但该方法还是没有很好的被探索,我们设计了一个Py ...
- human pose estimation
2D Pose estimation主要面临的困难:遮挡.复杂背景.光照.真实世界的复杂姿态.人的尺度不一.拍摄角度不固定等. 单人姿态估计 传统方法:基于Pictorial Structures, ...
- paper 154:姿态估计(Hand Pose Estimation)相关总结
Awesome Works !!!! Table of Contents Conference Papers 2017 ICCV 2017 CVPR 2017 Others 2016 ECCV 20 ...
随机推荐
- python接口自动化之发送get(三)
1.安装requests requests是python的第三方库,需要进行安装.安装之前最好先关闭fiddler cmd(win+R快捷键)输入:pip install requests 其他命令: ...
- 《深入理解Java虚拟机》读书笔记二
第三章 垃圾收集器与内存分配策略 1.判断对象是否已死 引用计数法: 给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1,每当引用失效时,计数器值就减1. 任何时刻计数器为0的对象就是不 ...
- mac环境下,pycharm2018 配置 anaconda。
2018版的pycharm与之前的版本在配置anaconda上流程略有不同.直接上图 1.新建工程,展开会看到系统默认的编译环境名叫virtualenv,是基于python3.5的环境(如果没有安装过 ...
- IText异常 NoClassDefFoundError: org/bouncycastle/asn1/ASN1Encodable
根据Itext的版本,查看依赖库的版本 maven地址:https://mvnrepository.com/artifact/com.itextpdf/itextpdf <dependency& ...
- C# 获取变量的指针(IntPtr)
1. 获取数组的指针(IntPtr) 通过Marshal.UnsafeAddrOfPinnedArrayElement(Array,Int32)方法获得一个数组的第某个元素的内存地址. Array是 ...
- mysql之instr函数
1.用于模糊查询,做为过滤条件 ---------------------------上级的新闻下级可以看到-------------------------SELECT a.pk_cms_nrgl_ ...
- 经常犯的错误之递归写不全return
在写递归函数的时候,只在最后一层写return,中间的过程没有return,导致结果的丢失. 举个例子 LL query(LL i, LL k) { if (sum[i] < k) { ; } ...
- eclipse sql server 导出excel文件
Jxl.jar 访问Excel的Jar包 注意:支持以.xls结尾的Excel文件,可能不支持.xlsx结尾的 下载地址: 程序所需要得包: 程序代码: package partice; import ...
- Html基本控件介绍
1. <input>标签<input> 标签用于搜集用户信息. 1.1 type属性根据不同的 type 属性值,输入字段拥有很多种形式.可以是文本字段.复选框.掩码后的文本控 ...
- 题解【洛谷P3951】[NOIP2017]小凯的疑惑
题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想知道在无法准确支付的物品中,最贵的 ...