[关闭]
@markheng 2017-05-16T08:22:09.000000Z 字数 6791 阅读 2991

DynamicFusion

fusion


https://rse-lab.cs.washington.edu/papers/dynamic-fusion-cvpr-2015.pdf

newcombe大神的新作,叼的不行。。。

2. Overview

DF将非刚性形变场景分解到隐性几何表面,重建到刚性规范空间中。还有每帧的形变场,将上述表面转换到当前帧中。
每新的一幅深度帧,以下三种算法依次执行:
1. 建立体元的“模型到帧”变形场参数
2. 将当前深度帧通过变形场映射进规范空间
3. 调整变形场的结构以匹配新加入的几何体

3. Technical Details

DNWF方便对场景中的每帧形变进行建模。变形场是所有其他功能的基础。

3.1 Dense Non-rigid Warp Field

变形场,提供一个针对每个点的6自由度变换W:SSE(3)
对规范mesh中的每个点vcS, 变换Tlc=W(vc)把规范空间中的点转换到当前空间。

每一帧深度图像,都需要建立变形公式,Wt,它的表示必须要有效的优化。一种方法是对体素进行密集的取样,但是这样运算量太大,不适用。
实际上,用一个变换的稀疏集合作为基,用插值的方法就可以定义稠密的体素变形方程。

使用如下方式,定义变形函数:
DQB: dual-quaternion blending双四元数混合

Wt(xc)=SE3(DQB(xc)).

其中
DQB(xc)=kN(xc)wk(xc)q^kc||kN(xc)wk(xc)q^kc||

每个单位的双四元数q^kcR8
N(x)是点xk最近邻的变换结点,wk定义了权重来调整每个结点的影响半径。
SE3()将四元数转变回SE(3)变换矩阵。

t时刻的变形场的状态为Wt,定义为n个变换结点集合的值Ntwarp={dgv,dgw,dgse3}t。对结点i=1n,都在标准空间中有个位置dgivR3,相关的变换Tic=dgise3,径向基权重dgw控制变换的程度 wi(xc)=exp(||dgivxc||2/(2(dgiw)2)).

每个半径参数dgiw设定为保证结点的影响能够覆盖到相邻的若干结点,取决于结点取样的系数程度,§3.4详细介绍。

变形场对所有支持的空间都有效,所以可以对位置和朝向(方向向量)都有效。而且,空间的尺度变化也能够通过相邻点的收敛和发散来表示空间的收缩和扩大。最后,可以用因子表示对体素中所有的点都有效的变换。引入将模型变换至当前帧的变换,Tlw,并写入体素变形函数,得到:

Wt(xc)=TlwSE3(DQB(xc)).

3.2 Dense Non-rigid Surface Fusion

此节介绍根据变形场Wt,更新标准模型几何形状。标准空间(canonical space)S,通过取样的TSDF  V:SR2,体素域SN3。取样函数保有每个对应取样点xc的体元xS,二元组V(x)[v(x)R,w(x)R]保有了点v(x)所有投影TSDF目前的加权平均值,w(x)为相关的权重之和。

本文使用跟KinectFusion的方法操作非刚体变形场景。给定深度图Dt,通过建立的变换,将体素中心xcS变换到当前帧(xt,1)=W(xc)(xc,1),通过把变换后的中心投影到深度图来维持TSDF表面融合操作。这就可以让TSDF中的体素通过在变形帧计算投影TSDF更新,而不用必须在当前帧中的变形TSDF进行再采样。变形过的标准点(canonical point)投影的符号距离(signed distance)是:

psdf(xc)=[K1Dt(uc)[uc,1]]z[xt]z

uc=π(Kxt)是体素中心投影的像素点。[]z表示在帧空间的光(z)轴上的距离。K是内参,π是投影变换。对每个体素x, 用TSDF融合,更新TSDF,以便于它包含到变形帧投影的SDF:
V(x)t={[v(x),w(x)],V(x)t1,if   psdf(dc(x))>τotherwise

dc(.)将离散体素点转换到连续的TSDF域中。
τ>0是截断距离,根据加权平均策略,更新TSDF,加权截断方式:
v(x)ρw(x)=v(x)t1w(x)t1+min(ρ,τ)w(x)w(x)t1+w(x)=psdf(dc(x))=min(w(x)t1+w(x),wmax)(1)(2)(3)

权重w(x)表示在深度帧投影点观察的深度的不确定性,也表示与xc处变形函数的关联程度的不确定性。非刚性变形的情况下,点xc离已经映射好和观察到的区域,就越不确定它的变换。

使用xc到它k最近临的形变结点的平均距离作为上述不确定性和尺度的代理:w(x)1kiN(xc)||dgiwxc||2. 用每个体素的变换将相关的体素变换到当前非刚性帧。

3.3 Estimating the Warp-field State

文章基于当前深度图Dt和当前重建V,通过可以被参数最小化的能量函数,构建变形场Wt中的变换dgse3,能量函数为:

E(Wt,V,Dt)=Data(Wt,V,Dt)+λReg(Wt,E)

Data(Wt,V,Dt)为模型到帧ICP的花费,规格化项Reg(Wt,E)防止不平滑的移动场,并且保证被边集合E连接的点进行ARAP变换。λ是平衡系数。

3.3.1 Dense Non-Rigid ICP Data-term

为了构建所有的变换矩阵TicTlw,文章将标准体元中零面(zero level set)提取出来,变换到当前帧中。

surface prediction and data-association
TSDFV中的零面,通过marching cubes方法提取出来,并且以顶点-法向对的方式存储到标准空间:V^=Vc,Nc,通过变形场WtVc^变换到Vw^.

通过将变换后的平面Vw投影到当前帧,渲染出标准空间中的点,来得到(最终)模型的几何和当前帧的数据关联(对应)。
结果可以得到标准模型中在当前帧可见的几何面的预测:P(Vc^).将这个预测保存为图像对{v,n}:ΩP(Vc^),Ω是预测的图像,保存了渲染的标准空间的顶点和法向。

给出当前时间帧优化过的变换参数,预测可见的平面应该会向当前阵的表面变换的更近,噪音更少。当前表面vl:ΩR3,由深度图反投影表示[vl(u),1]=K1Dt(u)[u,1].

每像素的稠密模型到帧的点到面误差可以量化上述变化,文章通过Tukey惩罚函数ψdata,整合了整个图片域Ω:

Data(W,V,Dt)=uΩψdata(n^u(v^uvlu~))

将模型顶点v(u)变换到当前帧的预测位置: T~u=W(v(u)),得到响应的顶点-法向预测值: v^u=T~uv(u),n^u=T~un(u),模型的顶点-法向数据和当前帧顶点-法向数据关联可以通过透视投影像素:u~=π(Kv^u)

每个数据项的加数仅依赖计算变形场W的n的变换的子集。

3.3.2 Warp-field Regularization

非刚体TSDF融合不仅需要估算可见面的变形,要估计整个正规空间S。这样才能够对即将进入场景的面进行建模。但是当前不可见的面不会有关联数据项。文章认为不可见面的运动是分段平滑的。

规则化项

Reg(W,E)=i=0njE(i)αijψreg(TicdgjvTjcdgjv)

E定义了规格化图拓扑,αij定义了边关联的权重,设定为αij=max(dgiw,dgjw)

Hierarchical Deformation Tree
构建层次变形树可以提高变形场的稳定性和减小能量函数优化的开销。

给定当前形变结点集合Nwarp,构建一个规格化结点的层次结构Nreg={rv,rse3,rw},3.4节介绍如何构建。

文章不使用变形函数W中的Nreg,它被用来引入跨越变形函数的长范围(long range)的规格化,这些变形函数已经经过优化,降低了计算复杂度。

规格化图拓扑可以简单的通过把层中(从Nwarp开始)的每个点与它下一层的k临近点添加边来构建。

整个融合过程中需要以帧率的速度更新变形结点和规格化图。

3.3.3 Efficient Optimization

将总能量E最小化,可以估计出所有的变换参数Tlw,dgse3,rse3.
高斯牛顿法求解最小化

最小化能量公式中的复杂度集中在近似化海因公式:JJ=JdJd+λJrJr.

3.4 Extending the Warp-field

这里扩展了变形场的参数,确保所有的变形都被表示出来,不管是新加入场景的平面还是即将被观察到的空间。包括,增量更新图节点Nwarp,然后重新计算层次边拓扑图E以扩展规格化数据,来容纳新的结点。

Inserting New Deformation Nodes into Nwarp
在完成非刚体的TSDF的融合之后,可以提取出标准空间中的估计平面为线模型Vc,给定当前结点们Nwarp,可以计算出每个形变函数可以覆盖到提取平面的程度。这需要计算每个顶点到它们的支持结点的向量距离。当距离满足以下条件时,即为不得到支持的顶点:minkN(xc)(||dgkvvc||dgkw)1. 所有不受支持的点,都会被用半径搜索平均(radius search averaging)的方法进行稀疏降采样,收缩这顶点到新的位置dgv~的集合中,这些位置之间至少相隔ϵ的距离。ϵ定义了运动场(motion field)的有效分辨率。每个新的结点中心dgvdgv~需要当前变换的初始值,通过当前变形的DQB直接得到dgse3Wt(dgv).最后,更新当前变形结点的集合,对应当前的时间Ntwarp=Nt1warp{dgv~,dgse3~dgw~}. 每次结点更新,也会更新预先计算的k临近点域I.

Updating the regularisation Graph E
给定新跟新的变形结点的集合,构建一个L1层级的规格化图结点层次结构,l=0层是Nwarp。计算l=1层是通过在变形场结点dgv上半径搜索再采样到增长抽取的半径ϵβl,βgt1,然后通过在当前更新过的Wt使用DQB计算初始结点变换。

接着构建全新的规格化边集E,从l=0的边开始,到l=1层中的Nreg. 细粒度层(l=0)的每个结点都要添加一条到它在粗粒度层k临近对应结点的边。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注