VolumeDeform: Real-time Volumetric Non-rigid Reconstruction 笔记

简介
系统 pipeline:

non-rigid 重建的整个流程如下图所示:
VolumeDeform: Real-time Volumetric Non-rigid Reconstruction 笔记首先由重建的 TSDF 模型,采用 marching cube 算法提取重建好的表面,然后搜索表面和输入 RGB-D 图像的匹配点,由匹配点计算 deformation field 参数,最后根据优化得到的 deformation field 参数将新输入的 RGB-D 图像融合到 TSDF 模型中。整个流程相对于 dynamicfusion 算法主要有三点不同:
1)VolumeDeform 系统表示重建空间的几何结构和 deformation field 时,采用同一个 volumetric 模型。
2)在计算 deformation field 时,加入 SIFT 特征点约束。
3)采用一种新的优化策略实时求解 deformation field 非刚性配准参数。

场景表示
同 DynamicFusion 不同的是,VolumeDeform 采用同一个 volumetric 模型表示重建的空间,同时表示 deformation field 参数,每个 voxel 存储的信息包括 6 项:

truncated signed distance DiRD_{i} \in \mathbb{R}
color
confidence value
deformation field 参数 tR3\mathbf{t} \in \mathbb{R}^{3}
deformation field 参数 Ri\mathbf{R}_{i}(论文表达不清楚自行脑补)
deformation field 权重 αi\alpha_i(论文表达不清楚自行脑补)

由 TSDF 模型通过 marching cube 算法提取重建的表面,再通过 deformation field 参数计算得到 warp 后的表面,warp 后的表面和当前系统输入的 RGB-D 图像搜索对应点。
匹配关联

VolumeDeform 系统通过两种方式匹配对应点:
1)通过投影算法确定 warp 后的 mesh 和输入深度图像之间的匹配点。
2)通过 SIFT 匹配,确定当前输入图像(还是从模型投影的 RGB-D 图像,作者没表达清楚),和之间3)存储的所有帧 RGB-D 图像(模型投影)对应点,SIFT 特征点坐标通过 deformation field 参数变换到统一的 canonical 坐标系。

deformation field 优化能量函数
优化能量函数包括三项:
Etotal(X)=wsEsparse(X)+wdEdense(X)data term+wrEreg(X) prior term E_{t o t a l}(\mathbf{X})=\underbrace{w_{s} E_{s p a r s e}(\mathbf{X})+w_{d} E_{d e n s e}(\mathbf{X})}_{\text {data term}}+\underbrace{w_{r} E_{r e g}(\mathbf{X})}_{\text { prior term }}
其中,data 项同 DynamicFusion:
Edense(X)=c=1Cwc[(S(p^c)pca)Tnca]2E_{d e n s e}(\mathbf{X})=\sum_{c=1}^{C} w_{c} \cdot\left[\left(\mathcal{S}\left(\hat{\mathbf{p}}_{c}\right)-\mathbf{p}_{c}^{a}\right)^{T} \cdot \mathbf{n}_{c}^{a}\right]^{2}
SIFT 特征约束项:
Esparse(X)=s=1SS(f^s)fs22E_{\text {sparse}}(\mathbf{X})=\sum_{s=1}^{S}\left\|\mathcal{S}\left(\hat{\mathbf{f}}_{s}\right)-\mathbf{f}_{s}\right\|_{2}^{2}
以及 ARAP(As Rigid As Possible)约束:
Ereg(X)=iMjNi(titj)Ri(t^it^j)2E_{r e g}(\mathbf{X})=\sum_{i \in \mathcal{M}} \sum_{j \in \mathcal{N}_{i}}\left\|\left(\mathbf{t}_{i}-\mathbf{t}_{j}\right)-\mathbf{R}_{i}\left(\hat{\mathbf{t}}_{i}-\hat{\mathbf{t}}_{j}\right)\right\|^{2}

参数优化
优化的总的能量函数:
X=argminXEtotal(X)\mathbf{X}^{*}=\underset{\mathbf{X}}{\operatorname{argmin}} E_{total}(\mathbf{X})

优化时,并不是将所有 voxel 的 参数都优化,只优化 TSDF 0 值附近网格点的参数。

优化时作者用了 iterative flip-flop optimization strategy 的优化策略:首先固定 warp field R 优化 t,然后固定 t 再优化 R,两步循环迭代指导收敛。

Data-Parallel Rotation Update
每个 voxel 优化的 deformation field 参数 R 是独立的,并行优化,对于 R 参数优化有闭式解(怎么解出来闭式解的还要再细看参考文献)。

对于 t 优化需要迭代,作者采用 PCG 迭代求解。

Hierarchical Optimization Strategy
作者采用分层优化,将 coarse 层计算结果作为初值赋给 fine 层,这样可以提高收敛范围和优化效率。
融合

融合步骤同 DynamicFusion。