guodong's blog

PhD@zhejiang university
   

论文阅读(2)DensePose: Dense Human Pose Estimation In The Wild

论文地址:https://arxiv.org/pdf/1802.00434.pdf

摘要:在这项工作中,我们建立了RGB图像和人体表面表示的dense correspondences ,这个任务我们称为dense human pose estimation。我们通过收集出现在COCO数据集里的5w人的dense correspondences,通过一个有效的注释pipeline。然后使用我们的数据集来训练一个基于CNN系统,这些系统提供密集的对应关系,即存在背景遮挡和尺度变化。我们通过训练可以填补缺失的GT值的“修复”网络来提高我们训练集的有效性,并报告过去可实现的最佳结果的明显改进。我们使用全卷积网络和基于区域的模型来实验,然后观察后者的优越性。我们更进一步通过级联,获取一个实时传递高精度结果的系统来提高精确度。项目页面http://densepose.org上提供了补充材料和视频。

1、介绍:

这项工作旨在通过建立从2D图像到基于表面的人体3D表示的密集对应,进一步推动人类对图像的理解。 我们可以将此任务理解为涉及其他几个问题,例如对象检测,姿势估计,部件和实例分割,或者作为特殊情况或先决条件。 解决此任务的问题在于需要超越简单的标志性本地化(例如图形,增强现实或人机交互)的问题,并且还可以成为基于3D的一般对象理解的踏脚石。

从图像到基于表面的模型建立密集对应的任务主要在深度传感器可用的环境中得到解决,如[41]的Vitruvian流形,度量回归森林[33],或更近期 密集点云对应[44]。相比之下,在我们的例子中,我们将单个RGB图像视为输入,基于此我们建立表面点和图像像素之间的对应关系。

近期的一些其他工作旨在无监督情况下恢复 pairs[3]与RGB图片集合[48,10]之间密度对应关系。更近期的,[42]使用等效原理以便将图像组对准到共同的坐标系,同时遵循分组图像对准的一般思想,例如, [23,21]。

虽然这些作品的目标是一般类别,但我们的工作主要集中在可以说是最重要的视觉类别 – 人类。 对于人类,可以通过利用参数化可变形表面模型来简化任务,例如[2]的蒙皮多人线性(SMPL)模型,或通过精心控制的3D表面采集获得的更新近的[14]亚当模型。 转向图像到表面映射的任务,在[2]中,作者提出了一种两阶段方法,首先通过CNN检测人类地标,然后通过迭代最小化将参数可变形表面模型拟合到图像。 与我们的工作并行,[20]开发[2]的方法以端到端的方式运作,将迭代重投影误差最小化作为深度网络的模块,恢复3D相机姿态和低维体参数化。

我们的方法与所有这些工作的不同之处在于,我们采用全面的监督学习方法,并收集图像与人体详细,准确的参数化表面模型之间的地面真实对应[27]:而不是在测试时使用SMPL模型。我们只是将它用作在训练期间定义问题的手段。我们的方法可以被理解为在[26,1,19,7,40,18,28]中扩展人类标准的工作中的下一步。人体部分分割掩模已在Fashionista [46],PASCAL-Parts [6]和Look-Into-People(LIP)[12]数据集中提供;这些可以被理解为提供图像到表面对应的粗化版本,其中不是连续坐标,而是预测离散化的部分标签。表面层次监督最近才在[43]中用于合成图像,而在[22]中,8515个图像的数据集用关键点和3D模型到图像的半自动拟合进行注释。在这项工作中,我们引入了一种新颖的注释通道,使我们能够收集COCO数据集的50K图像的地面实况对应,从而产生我们新的DensePose-COCO数据集,而不是损害我们训练集的范围和现实性。

我们的工作与最近的DenseReg框架[13]的思想最接近,其中CNN被训练成功地在3D模型和“野外”图像之间建立密集的对应关系。 这项工作主要集中在面部,并评估他们在具有适度姿势变异性的数据集上的结果。 然而,在这里,由于人体的更高复杂性和灵活性以及姿势的更大变化,我们正面临新的挑战。 我们通过设计适当的架构来解决这些挑战,如第3部分所述,与DenseReg型完全卷积结构相比,它产生了实质性的改进。 通过将我们的方法与最近的[15] Mask-RCNN系统结合起来,我们证明了一个经过区别训练的模型可以为 涉及数十人的复杂场景 实时恢复到高度精确的对应区域:在GTX 1080 GPU上,我们的系统运行对于240×320图像,每秒20-26帧,对于800×1100图像,每秒4-5帧。

我们的贡献可归纳为三点。 首先,如第2部分所述,我们通过收集SMPL模型[27]与COCO数据集中出现的人之间的密集对应关系,为该任务引入了第一个手动收集的地面实况数据集。 这是通过在注释期间利用3D表面信息的新颖注释通道来实现的。

其次,如第3部分所述。 我们使用得到的数据集来训练CNN系统,通过回归任何图像像素处的体表坐标来“在野外”传递密集的对应关系。我们依靠Deeplab [4]和依赖于MaskRCNN [15]的基于区域的系统来实验全卷积架构,观察基于区域的模型在完全卷积网络上的优越性。 我们还考虑了我们方法的级联变体,对现有体系结构进行了进一步改进。

第三,我们探索了不同方法,利用我们构建的GT信息。 我们的监督信号是在每个训练样本的随机选择的图像像素子集上定义的。 我们使用这些稀疏的对应来训练“教师”网络,该网络可以“隐藏”图像域其余部分中的监督信号。 与稀疏点或任何其他现有数据集相比,使用此修复信号可以显着提高性能,如第4部分中的实验所示。

我们的实验表明,密集的人体姿态估计在很大程度上是可行的,但仍有改进的空间。 我们在论文中总结了一些定性结果和方向,显示了该方法的潜力。 我们将从我们项目的网页http://densepose.org公开提供代码和数据。

2.COCO-DensePose 数据库

收集丰富的,高质量的训练数据集是在目标检测分类[38]和语义分割[8,26]任务中的催化剂。对于dense human 估计的GT现在还没存在有关数据集。[22][43]的工作可以作为催化剂,但是在第四部分表示是更差的监督。

在本节中,我们将介绍我们的COCO-DensePose数据集,以及允许我们量化第4节任务进度的评估措施。 我们收集了50K人类的注释,收集了超过500万个手动注释的对应关系。

我们首先介绍我们的注释pipeline,因为这需要几个设计选择,这些选择可能更常用于3D注释。 然后,我们转而分析所收集的GT的准确性,以及用于评估不同方法的最终绩效指标。

2.1 注释系统

在这项工作中,我们让人类注释员建立从2D图像到人体表面基表示的密集对应。 如果天真地完成,这将需要通过旋转操纵表面来为每个2D图像点“搜寻顶点” – 这可能是令人沮丧的低效率。 相反,我们构建了一个注释管道,通过它我们可以有效地收集图像到表面对应的注释。

如图2所示,在第一阶段,我们要求注释者描绘对应于可见的,语义定义的身体部位的区域。 这些包括头部,躯干,下/上臂,下/上腿,手和脚。 为了简化UV参数化,我们将部位设计成与平面同构,将肢体和躯干分成下 – 上和前 – 后部分。
对于头部,手部和脚部,我们使用SMPL模型中提供的手动获得的UV场[27]。 对于其余部分,我们通过应用于成对测地距离的多维缩放获得展开。 得到的24个部分的UV场在图1(右)中可视化。

我们指示注释者估计衣服后面的身体部位,以便例如穿着大裙子不会使随后的对应注释复杂化。 在第二阶段,我们使用通过k-means获得的一组大致等距的点对每个部分区域进行采样,并请求注释器使这些点与表面相对应。 采样点的数量根据零件的大小而变化,每个零件的最大采样点数为14。为了简化此任务,我们通过提供相同身零件的六个预渲染视图来“展开”零件表面并允许用户在其中任何一个上放置地标图3。这允许注释者通过从六个选项中选择一个而不是手动旋转表面来选择最方便的视点。

当用户在任何渲染的部位视图上指示一个点时,其表面坐标用于同时显示其在其余视图上的位置 – 这给出了对应的全局概览。 图像点以水平/垂直连续方式呈现给注释者,这使得通过避免表面的自交叉更容易提供几何上一致的注释。 这个两阶段注释过程使我们能够非常有效地收集高度准确的对应关系。 如果我们根据完成它所花费的时间来量化注释任务的复杂性,我们已经看到部分分割和对应注释任务花费大致相同的时间,考虑到后一任务的更具挑战性,这是令人惊讶的。 图4中提供了所收集注释的可视化,其中表面的划分和U,V坐标如图1所示。

2.2. Accuracy of human annotators

我们根据黄金标准衡量绩效来评估人类注释者。通常在姿势估计中,要求多个注释器标记相同的界标,然后将其用于评估位置的变化,例如, [26,36]。在我们的例子中,我们可以渲染图像,我们可以访问用于渲染像素的真实网格坐标。因此,我们直接比较渲染过程中使用的真实位置和注释器估计的位置,而不是首先估计多个人类注释器中的“共识”地标位置。

特别是,我们为注释器提供合成图像,这些合成图像通过与我们在GT注释中使用的完全相同的表面模型生成,利用[43]的渲染系统和纹理。 然后我们要求注释者使用我们的注释工具将合成图像与表面对应,并且对于每个图像k估计正确表面点i与人类注释器i(k)估计的点之间的测地距离d(i,k):

对于任何图像k,我们仅在随机采样的一组表面点S(k)上注释和估计误差,并在表面的其余部分上插入误差。 最后,我们平均用于评估注释器性能的所有K个示例中的错误。

如图5所示,小表面部件上的注释误差明显较小,具有可以帮助定位(面部,手部,脚部)的独特特征,而在通常被衣服(躯干,背部,臀部)覆盖的较大均匀区域上 注释器错误可能会变大。

2.3. Evaluation Measures

我们考虑两种不同的方式来总结整个人体的对应准确性,包括逐点和每个实例的评估。

Pointwise evaluation:该方法通过正确点比率(RCP)对应来评估整个图像域上的对应准确度,其中如果测地距离低于某个阈值则声明对应关系正确。当阈值t变化时,我们获得一条曲线f(t),其面积为我们提供了对应精度的标量。 对于任何给定的图像,我们有一组不同的点与GT信号。 我们总结了这些点的整体表现,这些点聚集在图像上。我们计算AUC曲线下的面积,,a有两个值a=10cm 或 a = 30cm,计为AUC10 AUC30,其中,AUC10可以被理解为为精细对应的一种精度测量方法。此性能度量可轻松应用于单人和多人场景,并可直接提供可比较的值。 在图6中,我们提供了对合成数据的人类注释器性能的逐部分逐点评估,这可以被视为我们系统性能的上限。

Per-instance evaluation:受COCO数据集上用于姿势评估的对象关键点相似性(OKS)测量的启发[26,36],我们引入测地点相似性(GPS)作为对应匹配分数:
一旦执行匹配,我们将遵循COCO挑战协议[26,37]并评估平均精度(AP)和平均召回(AR),其中GPS阈值范围为0.5到0.95,对应于测地距离范围 在0到30厘米之间。 我们使用相同的距离范围来执行每个实例和每个点的评估。

3、Learning Dense Human Pose Estimation

我们现在转向训练深度网络的任务,该网络预测图像像素和表面点之间的密集对应。 最近在[13]的密集回归(DenseReg)系统中通过完全卷积网络架构[4]解决了这样的任务。 在这项工作中,我们通过将DenseReg方法与Mask-RCNN架构[15]相结合来引入改进的架构,从而产生我们的’DensePose-RCNN’系统。 我们开发了DensePose-RCNN的级联扩展,进一步提高了准确性并描述了一种基于训练的插值方法,该方法允许我们将稀疏监督信号转换为更密集和更有效的变体。

3.1. Fully-convolutional dense pose regression

最简单的结构选择就是采用FCN网络,结合分类和回归任务,和DenseReg类似。首先,我们把一个像素归类为背景或几个提供表面坐标的粗略估计区域部分中的一个。这相当于使用标准交叉熵损失训练的标记任务。 在第二步中,回归系统指示部位内像素的精确坐标。 由于人体具有复杂的结构,我们将其分成多个独立的部分并使用局部二维坐标系参数化每个部分,该坐标系识别该表面部分上的任何节点的位置。

直觉上,我们可以说我们首先使用外观粗略估计像素所属的位置,然后通过一些小规模校正将其与精确位置对齐。 具体地,图像位置i处的坐标回归可以如下公式化:

在训练时,我们使用交叉熵损失进行部位分类,并使用平滑的L1损失来训练每个回归量。 如果像素在特定部分内,则仅对部分考虑回归损失。

3.2. Region-based Dense Pose Regression

使用FCN使得系统特别容易训练,但是加载相同的深度网络,导致任务太多,包括部分分割和像素定位,同时需要尺度不变性,这对于COCO中的人来说变得具有挑战性。 在这里,我们采用[34,15]的基于区域的方法,其中包括提议感兴趣区域(ROI)的级联,通过ROI池[16,15]提取适应区域的特征,并将得到的特征输入到 区域特定的分支。 这种体系结构将任务的复杂性分解为可控模块,并通过ROI池实现规模选择机制。 同时,他们也可以以端到端的方式共同训练[34]。

我们采用[15]中介绍的设置,包括构建特征金字塔网络[25]特征和ROI-对齐池,这些对于需要空间精度的任务非常重要。 我们根据我们的任务调整这种架构,以便在每个选定区域内获得密集的零件标签和坐标。

如图7所示,我们在ROI池之上引入了一个完全卷积网络,它完全致力于这两个任务,生成一个分类和一个回归头,提供部件分配和部件坐标预测,如DenseReg。 为简单起见,我们使用MaskRCNN的关键点分支中使用的完全相同的架构,由8个交替的3×3完全卷积和具有512个通道的ReLU层组成。 在该分支的顶部,我们具有与FCN基线相同的分类和回归损失,但我们现在使用在拟议区域内裁剪的监督信号。

During inference, our system operates at 25fps on 320×240 images and 4-5fps on 800×1100 images using a GTX1080 graphics card.

3.3. Multi-task cascaded architectures

受最近基于迭代细化的姿态估计模型的成功启发[45,30],我们尝试了级联架构。 层叠可以通过为后续阶段提供背景,以及通过深度监督的好处来提高绩效[24]。

如图8所示,我们并不局限于单个任务中的级联,而是利用来自相关任务的信息,例如关键点估计和实例分段,这些信息已经被Mask-RCNN架构成功解决[15]。 这使我们能够利用任务协同作用和不同监督来源的互补优点。

3.4. Distillation-based ground-truth interpolation

尽管我们的目标是在测试时进行密集的姿态估计,但在每个训练样本中,我们仅注释像素的稀疏子集,每个人大约100-150。这不一定在训练期间造成问题,因为我们可以使得我们的分类/回归损失无法忽略未收集地面实况对应的点,只是不将它们包括在每像素损失的总和中[39]。但是,我们观察到,通过在最初没有注释的位置上“修复”监督信号的值,我们获得了更好的结果。为此,我们采用基于学习的方法,首先训练“教师”网络(如图9所示),重建地面实况值,无论何处观察,然后将其部署在完整的图像域上,产生密集监督信号。特别是,我们只保留网络对标记为前景的区域的预测,如人类收集的部分掩码所示,以忽略背景区域上的网络错误。

4、Experiments

在以下所有实验中,我们使用48K人的训练集评估了包含2.3k人的1.5k图像的测试集的方法。 我们的测试集与[15]使用的COCO关键点 – 迷你分区以及COCO列车分区的训练集相吻合。 我们目前正在收集COCO数据集的其余部分的注释,这将很快允许我们进行竞争模式评估。

在评估4.3部分中的“野外”密集姿态估计之前。我们从Sec4.1开始,使用更受限制的“单人”设置,我们将其用作在地面实况框周围裁剪的输入图像。 这会影响检测性能的影响,并为我们提供受控设置以评估COCODensePose数据集的有用性。

4.1. Single-Person Dense Pose Estimation

我们从Sec4.1.1开始。将COCODensePose数据集与其他密集姿态估计监督源进行比较,然后在Sec4.1.2比较[2]基于模型的系统与我们经过有区别训练的系统的性能。显然,[2]的系统没有使用与我们的模型相同数量的数据进行训练; 因此,这种比较主要是为了显示我们用于判别训练的大规模数据集的优点。

4.1.1 Manual supervision versus surrogates

我们首先评估COCO-DensePose是否相对于下面描述的现有半自动或合成监督信号提高了密集姿态估计的准确性。

半自动方法用于[22]的“Unite the People”(UP)数据集,其中人类注释器验证了将SMPL 3D可变形模型[27]拟合到2D图像的结果。 然而,模型拟合通常在存在闭塞或极端姿势时失败,并且永远不能保证完全成功 – 例如,即使在拒绝大部分拟合结果之后,脚仍然经常在[22]中未对准。 由于地面实况本身可能存在系统误差,因此这既取消了训练集的模糊性,又模糊了评估。

通过使用基于表面的模型渲染图像可以建立合成的地面实况[32,31,35,11,5,29]。 这最近已应用于[43]的SURREAL数据集中的人体姿势,其中SMPL模型[27]使用CMU Mocap数据集构成[28]。 然而,由于渲染图像和自然图像的统计数据不同,协变量偏移可能会出现。

由于这两种方法都使用与我们工作中使用的相同的SMPL曲面模型,因此我们可以直接比较结果,也可以组合数据集。 我们在SMPL模型上为UP数据集和60k SURREAL模型的所有8514个图像渲染我们的密集坐标和密集部分标签以进行比较。

在图11中,我们使用Deeplab类型的架构评估了使用不同数据集训练的步幅8的ResNet101 FCN的测试性能。 在训练期间,我们使用缩放,裁剪和旋转来扩充来自所有数据集的样本。 我们观察到替代数据集导致较弱的性能,而它们的组合产生改善的结果。 尽管如此,它们的性能远低于通过我们的DensePose数据集训练获得的性能,而将DensePose与SURREAL相结合会导致网络性能的适度下降。 基于这些结果,我们完全依靠DensePose数据集进行剩余实验的训练,即使未来可以使用域适应[9]来利用合成的监督来源。

图11表格中的最后一行(’DensePose *’)表示我们通过使用COCO人体分割掩模获得的额外性能提升,以便在训练和测试期间以平均强度替换背景强度,并且 通过在多个尺度上评估网络并对结果取平均值。显然,使用其他方法的结果不能直接比较,因为我们使用其他信息来删除背景结构。尽管如此,由此产生的预测与人类表现更接近,因此我们将其作为“教师网络”来获得对Sec4.2中实验的密集监督。

4.1.2 FCNN- vs Model-based pose estimation

在图10中,我们将我们的方法与[2]的SMPLify流水线进行比较,该流水线将3D SMPL模型拟合到基于预先计算的一组地标点的图像。 我们使用[22]提供的代码,将DeeperCut姿态估计界标检测器[17]用于14个界标结果,并使用[22]中提出的91-标志性替代方案。 请注意,这些标志性探测器是在MPII数据集上训练的。 由于整个身体在MPII数据集中可见,为了公平比较,我们分别评估可见16/17或17/17地标的图像以及整个测试集。 我们观察到,虽然速度快了几个数量级(0.04-0.25“对比60-200”),但自下而上的前馈方法在很大程度上优于迭代的模型拟合结果。 如上所述,这种准确性的差异表明我们可以使用DensePose-COCO进行歧视性训练。

4.2. Multi-Person Dense Pose Estimation

建立了DensePose-COCO数据集的优点后,我们现在转向研究网络架构对野外密集姿态估计的影响。在图12中,我们使用图11中使用的相同RCP测量来总结我们的实验结果。

我们首先观察到,基于FCN的野外性能(曲线’DensePose-FCN’)现在显着低于图12中的DensePose曲线。即使我们应用多尺度测试策略融合多个概率使用不同尺度的输入图像运行[47],FCN不足以处理对象尺度的变化。

然后我们通过切换到基于区域的系统,在曲线’DensePose-RCNN’中观察到性能的巨大提升。到目前为止的网络已经使用手动注释的稀疏点集进行了训练。在曲线’DensePose-RCNN-Distillation’中,我们看到使用我们的DensePose *系统在训练集上提供的密集监督信号产生了实质性的改进。最后,在’DensePose-RCNN-Cascade’中,我们展示了由于级联引入所实现的性能:Sec 3.3几乎匹配图11的’DensePose *’曲线。

这是一个非常积极的结果:如第二部分所述。 4.1,’DensePose *’曲线对应于非常特殊的评估,包括:(a)在地面实况框周围裁剪物体并修复其尺度(b)通过使用地面实况对象掩模去除训练和测试中的背景变化(c)按比例进行集结。因此,它可以理解为我们在野外操作时可以获得的上限。我们看到我们最好的系统略低于该性能水平,这清楚地揭示了我们引入的三个修改的功效,即基于区域的处理,修复监督信号和级联。

在表1中,我们报告了第2节中描述的AP和AR指标。因为我们在架构中改变了不同的选择。我们使用ResNet-50和ResNet-101骨架进行了实验,并观察到较大型号(表1中的前两行)的性能仅有微不足道的提升。因此,我们的其余实验基于Resense-50-FPN版本的DensePose-RCNN。表1中间部分显示的以下两个实验表明了对多任务学习的影响。

使用掩码或关键点分支扩充网络可以改善这两个辅助任务中的任何一个。表1的最后一部分报告了使用图8中的网络设置通过级联获得的密集姿态估计的改进。尤其是来自关键点分支的附加指导显着提高了性能。

4.3. Qualitative Results

在本节中,我们提供了额外的定性结果,以进一步证明我们方法的性能。 在图13中,我们显示了由我们的方法产生的定性结果,其中对应性是根据“渔网”可视化的,即叠加在人体上的估计的UV坐标的等值线。 正如这些结果所表明的,我们的方法能够处理大量的咬合,缩放和姿势变化,同时还能成功地将衣服或衣服等衣服背后的人体产生幻觉。

在图14中,我们展示了一个简单的面向图形的应用程序,我们将从[43]取得的纹理RGB强度映射到估计的UV身体坐标 – 整个视频可以在我们项目的网站http:// densepose.org

5 conclusion

在这项工作中,我们使用有区别的训练模型解决了密集的人体姿势估计的任务。 我们引入了COCO-DensePose,这是一个大型的地面实况图像表面对应数据集,并开发了新的架构,使我们能够以每秒多帧的速度恢复图像与身体表面之间高度精确的密集对应关系。 我们预计这将为增强现实或图形中的下游任务铺平道路,同时也帮助我们解决将图像与语义3D对象表示相关联的一般问题。

 

 

 

 

 




上一篇:
下一篇:

头像

guodong

没有评论


你先离开吧:)



发表评论

电子邮件地址不会被公开。 必填项已用*标注