Olli Huang 作者Haojin Yang编辑

Facebook实时人体姿态估计:Dense Pose及其应用展望

Facebook 和 Inria France 的研究人员分别在 CVPR 2018 和 ECCV 2018 相继发表了两篇有关「人体姿态估计」(human pose estimation) 的文章 [1] [2],用于介绍他们提出的 Dense Pose 系统以及一个应用场景「密集姿态转移」(dense pose transfer)。

本文将简要介绍(1)利用 Dense Pose 实现单张 2D 人体图像到 3D 表面模型的原理 ;(2)如何将 Dense Pose 系统应用在「姿态转移」(pose transfer)这一问题上;(3)粗略展望 Dense Pose 的一些潜在应用。

Dense Pose 的更多信息以及视频 demos:

1. 什么是密集姿态估计(dense pose estimation)?

密集姿态估计 (dense pose estimation) 将单张 2D 图片中所有描述人体的像素(human pixels),映射到一个 3D 的人体表面模型。如图 1 所示,Facebook 发布了一个名为 DensePose COCO 的大型数据集,包含了预先手工标注的 5 万张各种人类动作的图片。

图 1:密集姿态估计的目标是将 2D 图片中描述人体的像素,映射到一个 3D 表面模型。左:输入的原始图像,以及利用 [1] 中提出的 Dense Pose-RCNN,获得人体各区域的 UV 坐标。UV 坐标又称纹理坐标 (texture coordinates), 用于控制 3D 表面的纹理映射; 中:DensePose COCO 数据集中的原始标注;右:人体表面的分割以及 UV 参数化示意图。

2. 如何进行密集姿态估计?

密集姿态估计的核心任务是,训练一个深度网络,用于预测 2D 图片像素 (image pixels)与 3D 表面模型点 (surface points) 之间的密集联系 (dense correspondences)。这个任务最近已经通过基于全连接卷积网络 [4] 的 Dense Regression (DenseReg) 系统 [3] 得到了解决。而 Dense Pose-RCNN 系统 [1],正是结合了 DenseReg 系统以及 Mask-RCNN 架构 [5]。

图 2 展示了 Dense Pose-RCNN 的级连 (cascade) 架构:这是一个全卷积网络 (fully-convolutional network),并连接着 ROIAlign 池化层 (ROIAlign pooling),用于处理两个核心任务,分别是:(1)分类。判断图片的某一像素来自于「背景」,还是「人体部位」;(2)回归。预测该像素在「人体部位」的具体坐标。

图 2:Dense Pose-RCNN 的架构。

图 2 中的 ResNet50 FPN (feature pyramid networks) 将输出 feature map,然后通过 ROIAlign 模块对每一个 ROI 生成固定尺寸的 feature map。图 3 展示了 ROIAlign 模块的「跨级连」(cross-cascading) 结构,这种结构利用两个辅助任务 (keypoint estimation & mask) 提供的信息,帮助提高 Dense Pose 系统的姿态估计效果。作为 Dense Pose-RCNN 基础之一的 Mask-RCNN [5] 结构,正是借助两个相关任务(即 keypoint estimation 和 instance segmentation)提供的信息,用于提高分割效果。

图 3:Dense Pose-RCNN[1] 中的 ROIAlign 模块采用了「跨级连」(cross-cascading) 架构。

3. 主干 (backbone) 网络对于 Dense Pose 系统的影响?

研究人员在 [1] 中对于两种主干网络,ResNet-50 和 ResNet-101,对于 Dense Pose 任务的表现进行了比较。如表 1 所示,在 AP 和 AR 这两个评估指标上,ResNet-101 的表现稍优于 ResNet-50,但由于大型网络较为「笨重」,并不适用于移动应用。因此,[1] 中的其余实验均使用了 ResNet-50 作为主干网络。

表 1: 当 Dense Pose-RCNN 使用两个不同的主干网络时,在 COCO Minval 数据集上取得的实验结果。[1]

4. 从 Dense Pose 到 Dense Pose Transfer

除了介绍 Dense Pose 系统的架构和工作流程,研究人员还在 [1] 中展示了一个 Dense Pose 的应用,「纹理转移」(texture transfer)。如图 4 所示,纹理转移这一任务的目标是,将图像中所有人的身体表面纹理,转换为预先提供的目标纹理。

图 4:Dense Pose 纹理转换 (texture transfer) 的实验结果。该任务的目标是,将输入的视频图像中所有人的身体表面纹理,转换成目标纹理。图中第 1 行为目标纹理 1 和纹理 2。第 2、3 行从左至右依次为,输入图像,转换为纹理 1 的图像,以及转换为纹理 2 的图像。

在 ECCV 2018 上,论文 [1] 的三名作者发表了 Dense Pose 的一个后续应用,即「密集姿态转移」(dense pose transfer,以下简称为 DPT) [2]。与纹理转换不同的是,DPT 这一任务的目标是,根据输入的 2D 人体图像和目标姿态 (target dense pose),将输入图像中的人体姿态转换成目标姿态,并且不改变人体表面纹理。

如图 5 所示,DPT 系统以 Dense Pose[1] 为基础,并且由两个互补的模块组成,分别是(1)推测模块 (predictive module),用于根据输入图像,预测出具有目标姿态的人体图像;(2)变形模块 (warping module),负责从输入图像中提取纹理,并「补全」(inpainting) 具有目标姿态的人体表面纹理。此外,系统中还有一个合成模块 (blending module),通过端对端、可训练的单一框架,将推测和变形模块的输出进行合成,并产生最终的图像。

图 5:密集姿态转移(DPT) 系统的流程图。该系统包括推测模块、变形模块,以及合成模块。

图 6 展示了在 DeepFashion 数据集 [6] 上取得的 12 组姿态估计结果。每组姿态结果从左至右依次为:输入图像、正确的目标图像、Deformable GANs (DSC) [7] 获得的转移结果,以及 DPT 系统 [2] 获得的转移结果。由于 DSC 是目前解决「多视角图像合成」(multi-view synthesis) 这一问题中效果最佳的方法,所以 [2] 的作者将这一方法与 DPT 系统进行比较。

从图 6 可以粗略观察到 DPT 系统在纹理转移上还不是特别完善。例如,一些女士上衣的花纹没有被保留,并成功转移到输出图像中;此外,人物的面部特征也在转移中出现一些偏差:身着黄色上衣的男士图像(见图 6 右侧第 3 行),经过姿态转后,人物面部更为「女性化」。论文 [2] 的作者指出,要取得更好的姿态转换结果,可能还需要预先获得一些额外的信息,比如面部特征、性别以及肤色。

图 6:密集姿态转换(dense pose transfer)的实验结果。左右两组结果分别包含了输入图像、正确的目标图像、Deformable GANs (DSC) [7] 得到的转移结果,以及 DPT 系统 [2] 得到的转移结果。

5. Dense Pose 的应用展望

Dense Pose 为人体姿态估计提供了一种新的解决方法,研究人员也在 demos 中展示了 Dense Pose 能够实时完成纹理转移等任务。尽管 Dense Pose 还有许多需要完善的地方,它的应用前景还是相当乐观的。笔者认为 Dense Pose 未来可以在以下两个方面进行应用:

一个应用方向是,利用单一图片进行服装的虚拟试穿。顾客可以上传一张自己的全身正面照,并从系统中选择一套需要试穿的服装,以及一个目标姿态。Dense Pose 系统则可以根据顾客提供的这些信息,产生出一张合成的图片,显示顾客「试穿」服装后的姿态。

另一个应用方向则是,远程视频诊断背部痛疾。就诊者按照医生的要求,穿戴一套专用的传感器,并依次完成一系列动作(如上身向前倾若干度、蹲下、站直向左扭头等等)。就诊者的这一系列动作将由摄像头拍摄,并生成视频实时传输给医生。一个设想是,医生可以借助 Dense Pose 系统,根据就诊者的动作视频图像,生成就诊者的 3D 人体模型,并与背部无疾患的人体模型进行对比,从而初步判断患者是否患有背部疾病。

参考文献:

[1] Alp Güler, Rıza, Natalia Neverova, and Iasonas Kokkinos. "Densepose: Dense human pose estimation in the wild." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018.

[2] Neverova, Natalia, Riza Alp Guler, and Iasonas Kokkinos. "Dense pose transfer." Proceedings of the European Conference on Computer Vision (ECCV). 2018.

[3] Alp Guler, Riza, et al. "Densereg: Fully convolutional dense shape regression in-the-wild." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017.

[4] Chen, Liang-Chieh, et al. "Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs." IEEE transactions on pattern analysis and machine intelligence 40.4 (2017): 834-848.

[5] He, Kaiming, et al. "Mask r-cnn." Computer Vision (ICCV), 2017 IEEE International Conference on. IEEE, 2017.

[6] Liu, Ziwei, et al. "Deepfashion: Powering robust clothes recognition and retrieval with rich annotations." Proceedings of the IEEE conference on computer vision and pattern recognition. 2016.

[7] Siarohin, Aliaksandr, et al. "Deformable gans for pose-based human image generation." CVPR 2018-Computer Vision and Pattern Recognition. 2018.

技术分析师个人简介

Olli Huang 是澳门科技大学的一名博士研究生,她的研究方向是大规模图像检索 (large-scale image retrieval) 和图像的地理位置估计 (visual-based image geolocalization)。Olli 于 2017 年加入了机器之心的全球团队,并以自由撰稿人的身份,发表了多篇计算机视觉应用的英文技术评论。

Olli 的机器之心主页:https://www.jiqizhixin.com/users/84204384-374e-4de0-bfc5-79eee677a8ec

Olli 的 LinkedIn 主页:https://www.linkedin.com/in/ollihuang

机器之心技术分析师专栏
机器之心技术分析师专栏

由来自世界各地的专业分析师为你解读前沿进展,技术热点和经典论文。我们的分析师团队由来自于各大名校的硕士和博士,以及一线研究机构的研究员组成。

理论DensePose3D人体位姿估计Facebook
4
相关数据
全卷积网络技术

全卷积网络最开始在论文 Fully Convolutional Networks for Semantic Segmentation(2015)中提出,它将传统卷积神经网络最后几个全连接层替换为卷积层。引入全卷积的意义在于它能实现密集型的预测,即在二维卷积下对图像实现像素级的分类,在一维卷积下对序列实现元素级的预测。

池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

图像检索技术

图像检索系统是用于从大型数字图像数据库浏览、搜索和检索图像的计算机系统。 大多数传统和常见的图像检索方法利用向图像添加诸如字幕、关键字或描述之类的元数据的一些方法,以便可以对注释词执行检索。 手动图像注释耗时,费力且昂贵; 为了解决这个问题,人们已经对自动图像标注进行了大量研究。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

推荐文章
暂无评论
暂无评论~