CVPR2021文章理解2-POSEFusion: Pose-guided Selective Fusion for Single-view Human Volumetric Capture

在这里插入图片描述
本文仅代表个人解读,如有误请谅解。

论文链接:https://arxiv.org/pdf/2103.15331.pdf

摘要

提出了一种基于Pose引导的单视角人体重建,利用基于跟踪和无跟踪推理实现高保真的动态三维重建。通过提出一种新的包含姿态引导的关键帧选择和鲁棒的隐式曲面融合的重建框架,成功利用基于跟踪和无跟踪推理两种方法的有点,最终实现了在不可见区域的表面高保真细节重建。为了保证重建序列时间维度上的连续性,将关键帧的选择定义为一个动态规划问题。除此之外,新的鲁棒的隐式表面融合方法包括自适应的混合权值来实现表面细节的高精度,同时也使用自动碰撞处理方法来处理潜在的自碰撞。
具体来说,实现了一个从RGBD相机中恢复高保真的人体模型。

引文

现在单视角人体体素获取的方式主要可分为两类:
一种是基于跟踪的方法,一种是无跟踪的方法。基于跟踪的方法使用一个预扫描的模板或者连续的融合模型作为参考模型,然后去推断模型的变化。这种基于跟踪的方法,之前的观察结果在计算帧间的变形时被计算到当前帧中,可以将几何细节保留在不可见区域。同时,因为是逐帧的跟踪,所以模型在时间上是连续的。但是这种跟踪的方法无法描述拓扑结构的变化,也不能跟踪比较大的非刚性变化,这是基于跟踪的方法的固有缺陷。
另一种是基于无跟踪的方法,主要从RGB或者RGBD中去恢复几何或者纹理,能够实现细节的重建。并且重建的模型能够独立于其他帧,很容易去处理拓扑的变化。但是难以去处理自遮挡问题,并且无法去实现连续的结果。
因此该文章意在组合这两种方法的优点。将单目RGBD序列中所有其他帧的推断结果融合到当前帧中去恢复不可见的区域。但是不能不加区分的去融合所有其他帧,否则的话只能生成所有帧的平均的结果。因此,文章进一步提出了使用姿态向导来选择关键帧,考虑了可见性互补和姿态相似性。
选择的主要关键是:

  1. 关键帧具有与当前帧相似的姿态,能够恢复动态的细节;
  2. 关键帧和当前帧具有互补的视点,避免对可见区域进行平滑处理;
  3. 自适应融合考虑了深度和可见性,促进保留表面的细节和解决碰撞产生的伪影。

方法综述

输入为RGBD序列,使用SMPL模型作为鲁棒和有效的代理,提出一个新的标准来量化相似性和可见性互补。基于这一个标准,为每一个帧选择相对应的关键帧,注意每帧关键帧的选择不能保证不可见细节的时间连续性,因此,将这一选择设定为一种动态规划问题,重构时间连续的不可见细节。在隐式表面的融合模块,提出一种自适应的蒙皮权重,这个权重考虑了深度和可见性的信息去避免光滑的融合和保护看到的细节。最后,提出一种自动碰撞处理方案处理可能的自我碰撞,同时保持相邻的细节。

贡献点

  1. 实现了一种从单视角RGBD相机中恢复可见和不可见细节的高保真动态模型,利用了基于跟踪的方法和无跟踪的方法;
  2. 实现了一种基于Pose引导的关键帧选取,这种选取考虑了Pose的相似性和可见性,能够实现不可见区域的细节重建;
  3. 实现了一种鲁棒的隐式表面的融合方法,该方法包括深度和可见性的自适应渲染权重和自动的碰撞处理方法。

跟其他方法对比优势

在这里插入图片描述

方法

储备知识

SMPL模型

该模型使用75维的姿态参数和10维的形状参数表示具有6890个顶点的人体Mesh模型。详情请自行查阅相关资料。

占用概率推断网络

典型的论文为Pifu(https://shunsukesaito.github.io/PIFu/),根据输入的三维空间中的采样点去推断出该点位于mesh表面的里面还是外面,结合RGB图像,实现隐式表面的重建。

主体框架

在这里插入图片描述

框架简述

目标是从单视角RGB视频序列中去重建连续的具有高质量的细节人体模型。
分为三个步骤:

  1. 基于姿态引导的关键帧选取:使用基于跟踪的SMPL模型计算相对于当前帧的两个指标,然后选择不仅包含当前帧的不可见区域也与当前帧姿态相近的关键帧。这种关键帧选取进一步被指定为一种动态规划,确保高保真度。
  2. 隐式表面融合:在关键帧选取后,选择的有效点(这里有效点指的是从mesh表面附近采样的点,避免了大量的无用点)通过SMPL模型移动转换到关键帧,然后送到网络中去推断占用的值(推断在这个关键帧中的对应点在mesh表面的位置,也就是里面还是外面)。但是,推断的值可能是不准确的,因此使用自适应的混合权重作为每个关键帧融合的置信度,确保高质量的表面生成,并且使用了碰撞处理。
  3. 纹理生成:通过网络去学出一个高分辨率的纹理图。

具体实现

初始化

给了一个单视角的深度流,长度为N,用DoubleFusion跟踪实现每一帧的SMPL模型的姿态和形状参数的获取,长度也为N。然后为每个SMPL模型建立个3D体素,从体素中去采样点,也就是从mesh表面附近采点。最终实现的也是为这些采样点估计值。

基于pose引导的关键帧选取

对于长度为N的视频流,假设现在的帧为i,目的就是从剩余的n-1帧中找到对应的与当前帧pose相近的而且可见性互补的帧,同时也必须保证所选的关键帧在相邻帧之间的时间连续性。最终实现从N个帧中选取K(实验中取4)个帧,每次迭代只选取一帧。

pose相似性

在这里插入图片描述
基于SMPL模型的姿态参数,J是关节点索引集。w代表每个关节点对与关键帧选取的影响权重。

可见性互补

整个SMPL在拓扑结构是一致的,所以可以为每个定点定义一个标志位代表是否可见。
在这里插入图片描述
然后就可以定义一个可见性的向量:
在这里插入图片描述
这个向量代表了每一帧每个模型的可见性区域,N为顶点。设定第i个帧在过去迭代中选取的关键帧的集合为Ki,那么Fk对Ki的可见性可以定义为:(找出所有帧中的所有可见点)在这里插入图片描述
图中符号为元素集的逻辑或运算。
在每次迭代前,初始化Ki为i及当前帧,在每次迭代时,可见性实现的能量函数为:
在这里插入图片描述
图中符号依次为元素集逻辑非和逻辑与。这个等式表示在第j帧中可见但是在ki中不可见的新可见顶点占所有不可见顶点的比例。

关节点关键帧选取

每次迭代中,计算能量矩阵Eij
在这里插入图片描述
其中系数代表权重,这个能量矩阵编码了当前帧和关键帧之间的可见互补性以及姿态相关性。E的行索引和列索引分别作为当前帧的索引和关键帧的索引。那么选取关键帧就可以作为一个优化问题,在每次迭代中找到每一行的最小值,也就是与当前帧最相近的关键帧,但是这么选取的方式存在一定的问题,选取的关键帧在相邻帧之间存在时间维度上的不连续性。
所以,为了保证在不可见区域中细节重建的时间连续性,文章为整个序列选择关键帧,因此问题转换为了下图的动态规划问题。
在这里插入图片描述
为了避免连续的关键帧选择成了E的对角线,首先利用可见能量将E划分为了多个小块,分别从每个小块中选取关键帧。对于每一个相邻的小块,使用一个FIFO关键帧队列实现平滑的过渡。在每一个小块中,约束两个相邻帧之间选取的帧应该在时间上是连续的,也就是说关键帧的选取间隔应该小于一定的阈值,文中取2,然后将选取的帧构造成一个有向图,也就是图c,目标是从第一行找到最后一行从而找到一条能量和最小的路径来找到全局最优解,也就是一个最小代价路径的动态规划问题,最终,就可以找到一个时间连续的关键帧轨迹。也就是图D,在行上去看,每一个关键帧的选取是连续的。
在这里插入图片描述
在每次迭代之后,为每个帧更新选取关键帧的集合,覆盖可见性。也就是上面的公式,然后继续构造能量矩阵去搜索下一个关键帧的索引。

隐式表面的融合

占用场的推断

在关键帧选取之后,得到了为每一个当前帧选取到的关键帧的集合,对于其中每一个关键帧,首先通过SMPL模型的移动将当前帧的有效点进行变形,得到每一帧对应的有效点,然后送到网络中去推断对应的值。

自适应的混合权重

推断出来的占用值在不可见区域可能是不准确的,所以直接平均关键帧的值也是不正确的。借鉴PIFu能够利用深度信息保证在深度点云和可见区域的准确预测,文章根据可见性和每个有效点与深度点云之间的距离设计了自适应的混合权重。
在这里插入图片描述
这里的p代表投影的有符号距离场(SDF),将3D点云的点作为输入,返回在投影点在深度图上采样的深度值和3D点的深度点之间的差异性,t是一个阈值去定义高置信度的区域。当深度值差异不大时,置信度为1,深度值差异大时置信度比较低。
最后用Marching Cube计算高保真度的模型。

碰撞处理

活动帧之间存在自碰撞问题,例如图5:
在这里插入图片描述
a图中左臂和躯干存在碰撞问题,确定身体的部位驱动这个区域周围的这些碰撞点是很难的。由于跟踪误差以及SMPL模型与真是人体之间的差异,这些点可能会扭曲到一些不正确的位置,获得错误的值,导致跟踪出现裂纹。文章解决了这一问题,由于物体之间运动是连续的,因此在这个存在碰撞的当前帧附近一定存在一个无碰撞的模型,只需将这个相邻的无碰撞模型变形到当前帧,并将其体素化为占用场,最终融合到隐式表面融合中,那么将会消除碰撞的伪影,并且保留其他区域的几何细节。

纹理的生成

给定个当前帧的几何模型M,直接为每个面去表示一个纹理,然后将M变形到每一个关键帧,投到RGB图像上去获取RGB值,然后进行融合。对于不可见的表面,使用网络去推断纹理。

实验

在这里插入图片描述

参考论文

https://arxiv.org/pdf/2103.15331.pdf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值