[精翻]DynamicFusion:非刚性场景的实时重建与追踪

DynamicFusion:非刚性场景的实时重建与追踪

网上很少看到有人对DynamicFusion进行详细解读,因此打算翻译全文,初学SLAM,错漏之处还望指出。

摘要

通过融合消费级深度摄像机扫描的RGBD图像,我们首次实现了支持非刚性形变场景的实时稠密SLAM系统。DynamicFusion能重建场景几何,同时不断估计一个密集的6维运动场,其将估计的几何结构映射到实时帧中。像KinectFusion一样,利用多种手段,我们的系统能生成不断降噪、精细化,最后完整的重建结果,同时能实时展示更新的模型。由于不需要模板或者其他先验场景模型,这个方法在移动的物体和场景中有广泛用途。

正文

传统的3D扫描包括分开捕获和离线处理阶段,需要十分仔细地规划扫描过程以确保覆盖所有面。实际上,避免空洞是十分困难的,需要多次迭代捕获、重建、识别空洞,并重新将缺失的部分扫描来保证模型的完整。像KinectFusion一样的实时三维重建系统能让用户不断看见重建结果并自动识别待扫描区域,是一个较大的进步。KinectFusion带动了一系列关于提高追踪鲁棒性、扩展能重建的空间大小的研究。

然而,正如所有的传统SLAM和稠密重建系统,KinectFusion背后最基础的假设是被观测场景是几乎静态的。本文中我们处理的核心问题就是怎样将KinectFusion推广到实时重建和追踪动态的、非刚性的场景。为此,我们提出DynamicFusion,一个基于求解体流场(volumetric flow filed) 的方法——体流场将场景每个时刻的状态转换到一个固定的规范帧上。例如对于一个移动的人,人物的运动会被逆转,每个身体特征都会被映射到第一帧的姿态上。在映射之后,场景实际就是刚性的,可以用标准的KinectFusion更新方法来获得高质量低噪声的重建结果。这种逐渐降噪的重建结果可以用反转图反过来转化为实时帧;每个规范帧的点都被转化到实时帧对应的位置上。

对一个动态移动的场景定义规范的“刚性”空间并不直观。我们工作的一个关键贡献是,对于非刚性变换和融合,我们的方法也能在原本为刚性场景提出的体积扫描融合中保持最优特性。着手点在于逆转场景运动,以将所有观测结果都融合到一个固定的帧上,这可以通过单独计算反转图高效地实现。在这种变换下,每个规范点投影到实时相机帧的一个视线中。由于(针对刚性场景的)最优化参数仅和视线有关,我们可以将优化结果泛化到非刚性的情景中。

我们的第二个关键贡献是高效地表示体翘曲(volumetric warp)并实时计算。实际上,即使是相对较低的分辨率,256^3个成型体素为了在对应帧率下计算也需要一亿个转换参数。我们的求解依赖于结合自适应、稀疏且分层的体积函数,以及为了在消费级硬件上实时计算发明的创新算法。总而言之,DynamicFusion是第一个能使用单一深度摄像机对动态场景进行实时稠密重建的系统。

论文的剩余的部分结构如下:在讨论完相关工作后,我们在第二节给出DynamicFusion的概览,在第三节给出技术细节。第四节展示实验结果,第五节给出总结。

1.相关工作 Related Work

尽管没有在实时、无需模板、非刚性重建方面的先前工作,仍有两类相近的工作:1)实时非刚性追踪算法,2)离线动态重建技术。

实时非刚性模板追踪。大量非刚性追踪的研究都集中在人体的部分,为此会事先学习或人工设计对应的特殊形状和运动模板。最好的几个工作实现了对脸、手、完整身躯或者一些明确物体的高精度的实时捕获。

其他技术直接追踪和成型更一般的网格模型。[论文12]可以追踪一个静态已获得的低分辨率形状模板,然后不断用原模型中没有的高频几何细节更新外观。最近,[论文37]使用GPU加速优化,实现了令人印象深刻的一个类似技术的实时版本。该系统中,物体的稠密表面模型在静态时被捕获,为他们的实时追踪流程生成一个模板。将模板生成和追踪隔离开使得系统只能处理在几何重建阶段完全静止的物体和场景,不能重建像小孩或者宠物那种会乱动的对象。

离线连续的追踪和动态场景重建。离线非刚性追踪和重建方面的技术文献越来越多。一些研究者将ICP算法扩展到能处理小型非刚性形变。 在成对3D形状和较大形变的扫描对齐上的实际改进利用了减少的形变模型参数。特别是,嵌入式形变图使用稀疏采样的一组变换基函数,这些函数可以在空间上高效且密集地插值。类刚性重建也有相关工作。混合系统利用已知的运动结构可以实现非刚性形体降噪。其他工作结合了非刚性网格模板追踪,临时降噪和补全,但是没有获得一个单一的对场景的连续表示。

和我们的工作最为接近的工作是不依赖模板的技术。一个有趣的在无模板非刚性对齐上的方法将非刚性扫描视作一个4D几何观测并进行4D形状重建。[论文30,29]通过成对扫描对齐重建固定的拓扑几何。[论文24]使用的是时空固体不可压缩流,这会导致水密重建,并且有效处理嘈杂的输入点云数据。[论文28]介绍了动画制图,该动画制图还通过开发密集的对应匹配方案来估计形状和每帧变形,该方案以稀疏的地标匹配为种子。最近的使用多个固定kinect相机的工作通过稠密追踪,以及将所有深度图数据融合到一个新颖的方向距离函数表示上提出了更大尺度的非刚体重建。

与实时的要求相比,所有这些技术都需要多三到四个数量级的时间。

2.DynamicFusion概览 DynamicFusion Overview

DynamicFusion将非刚性形变的场景分解为潜在的几何表面,并重构为刚性的规范空间\({\bf{S}}\in{\Bbb{R}}^3\);每帧的体翘曲场(volumetric warp field)将该表面转化为实时帧。系统的三个核心算法组件在每个新深度帧到达时依次执行:

1.估计模型到帧的体翘曲场参数(3.3节)

2.通过估计的翘曲场将当前帧深度图融合到规范空间(3.2节)

3.调整翘曲场结构以捕获新添加的几何特征(3.4节)

3.技术细节 Technical Details

我们现详细描述DynamicFusion的各个部分。首先,我们介绍稠密体翘曲场的参数。这让我们能对场景内的每帧的形变进行建模。翘曲场是对传统重建和SLAM系统中静态空间表示的关键扩展,其估计使得非刚性追踪和场景重建成为可能。

3.1.稠密非刚性翘曲场 Dense Non-rigid Warp Field

我们用体翘曲场表示动态场景运动,其对每个点提供了六维映射:\({\cal{W}}:{\bf{S}}\mapsto{\bf{SE}}(3)\)。尽管稠密三维平移场就足够描述时序几何,我们发现同时使用平移和旋转来表示现实世界的物体会让追踪和重建的结果更好。对每一个规范点\(v_c\in{\bf{S}}\),\({\bf{T}}_{lc}={\cal{W}}(v_c)\)将该点从规范空间转换到实时非刚性形变的参照系。

由于我们需要对每一个新来帧估计翘曲函数\({\cal{W}}_t\),其表示必须能高效优化。一个可行的方案就是对体素进行稠密采样,例如以TSDF(truncated signed distance function 截断符号距离函数)几何表示的分辨率表示一个量化的\({\bf{SE}}(3)\)场。然而,即使是以相对低分辨率(\(256^3\))的典型TSDF体素进行重建,每帧需要的求解的参数数量就是\(6\times256^3\),大约是只需估计一个刚性变换的原始KinectFusion算法1000万倍。显然,对翘曲函数完全稠密的参数化是不可行的。现实中,表面趋向于在空间中平滑移动,依此我们可以使用一组稀疏变换为基础,通过插值定义稠密体翘曲函数。出于计算性能和插值质量的考虑,我们使用对偶四元数混合插值法(dual-quaternion blending, DQB)定义翘曲函数:

\({\cal{W}}(x_c)\equiv SE3({\bf{DQB}}(x_c))\),

单位对偶四元数变换的加权平均值就是\({\bf{DQB}}(x_c)\equiv \frac {\sum_{k\in N(x_c)} {\bf{w}}_k(x_c){\hat{\bf{q}}}_kc} {\|{\sum_{k\in N(x_c)} {\bf{w}}_k(x_c){\hat{\bf{q}}}_kc}\|}\),每个单位对偶四元数\(\hat{\bf{q}}_{kc}\in {\Bbb{R}}^8\)。\(N(x)\)是点\(x\)的\(k\)个最近邻变换点,\({\bf{w}}_k\)是描述径向影响的\({\Bbb{R}}^3\mapsto{\Bbb{R}}\)的权值函数,\(SE3(.)\)表示将四元数变换回\({\bf{SE}}(3)\)的转换矩阵。翘曲场在时刻\(t\)时的状态\({\cal{W}}_t\)可以定义为一组形变节点\({\cal{N}}^t_{warp}=\{dg_v,dg_w,dg_{se3}\}_t\)。第\(i\)个节点(\(i=1...n\))在规范空间中的位置是\(dg^i_v\in {\Bbb{R}}^3\),对应的变换矩阵\({\bf{T}}_{ic}=dg^i_{se3}\),\(dg^i_w\)是控制形变影响范围的权重,\(w_i(x_c)=exp(\frac{-\|dg^i_v-x_c\|^2}{2(dg^i_w)^2})\)。 径向权重\(dg^i_w\)是为了确保这个被采样到的形变节点能够影响到其附近的其他节点,所以与采样的节点矩阵稀疏程度相关。 由于翘曲函数为所有支持的空间定义了刚体变换,因此空间的位置和任何关联的方向都将被变换,例如对表面点\(v_c\)和方向\(n_c\),将按以下方式转换到实时帧\((v_t,1)^T={\cal{W}}_t(v_c)(v^T_c,1)^T\),\((n_t,0)^T={\cal{W}}_t(v_c)(n^T_c,0)^T\)。应当指出,空间的缩放也可以用这种翘曲函数来表示,因为空间的压缩和扩张是由沿会聚和发散方向移动的相邻点表示的。最后,我们还可以提取出一个对体积中所有点共同的刚体变换,例如相机移动。因此引入从隐式翘曲模型到实时相机空间的变换\({\bf{T}}_{lw}\) ,与体翘曲函数复合得到完整的翘曲场:

\({\cal{W}}_t(x_c)={\bf{T}}_{lw}SE3({\bf{DQB}}(x_c))\)

3.2. 稠密非刚性表面融合 Dense Non-Rigid Surface Fusion

原文地址:https://www.cnblogs.com/parachutes/p/11698356.html

时间: 2024-10-11 03:18:51

[精翻]DynamicFusion:非刚性场景的实时重建与追踪的相关文章

《Master Opencv...读书笔记》非刚性人脸跟踪 III

上篇文章中,我们获得了人脸的各种表情模式,也就是一堆标注点的形变参数.这次我们需要训练一中人脸特征(团块模型),它能够对人脸的不同部位(即"标注点")分别进行描述,作为后面人脸跟踪.表情识别的区分依据.本次博文的主要内容: a.      介绍下人脸特征检测器大概有哪些类别 b.      详细介绍随机梯度法,并介绍在人脸团块特征提取时的应用 c.      为了提高训练/跟踪的健壮性,利用上一讲对输入的图像进行大小.角度的约束 人脸特征检测器综述 人脸特征检测与普通的物体检测非常相似

刚性微分方程与非刚性的大概区分(自看,求指点)

(这里的内容是作为自己的一个粗略的总结,不确定是否正确,希望有大佬能够更明确的指出其中的错误,作出指导) 对于刚性和非刚性微分方程的区分,可以简单的转变为在将原方程转换为常微分方程组后,进行一个简单的系数判断: 例如: y''' - 3y'' - y'y = 0, y(0) = 0, y'(0) = 0, y''(0) = -1; 在这里可以设  y1 = y, y2 = y', y3 = y'', 有 y1' = y2,  y1(0) = 0, y2' = y3, y2(0) = 1, y3'

51信用卡金融风控场景下实时计算引擎的设计与实践

https://mp.weixin.qq.com/s/Rx43XfhgdwerQWLn1eI3Ww 51信用卡金融风控场景下实时计算引擎的设计与实践 原创: 周来 51NB技术 5月7日 原文地址:https://www.cnblogs.com/yuanjiangw/p/10961583.html

过原思七精身原件非率比类发样类层每yJXysjvHX2

为了从不同环节,尤其与广大使用人群直接关系的环节反映质量状况,对共享自行车投放点.运营仓库.生产企业等不同环节的产品抽查,覆盖了共享自行车从成品出厂到待投放的关键环节. 该负责人称,根据新车投放情况,结合共享自行车行业市场占有分布特点,本次重点抽查了摩拜.ofo.Hellobike三个品牌的产品,占本次抽查批次总数的83.3%.其中,在天津.无锡.武汉.广州.深圳.东莞6个城市抽查了9批次摩拜产品,占产品抽查批次总数的37.5%,抽查批次合格率88.9%,抽查不合格的1批次产品为待投放于广州市的

《Master Opencv...读书笔记》非刚性人脸跟踪 IV (终)

一.我们目前为止拥有什么 为了有一个连续完整的认识,在介绍最后一节前,先梳理下至今我们训练了哪些数据特征,并且训练它们的目的是什么. 1.      ft_data:利用手工标注工具,获取最原始的样本训练数据,包括以下内容: 图像名称集合imnames:表明在哪幅图像上标注特征点: 二维坐标集合points:手工标准点,后续更高级别特征均围绕这些特征点展开: 对称坐标索引集合symmetry:标注样本图像的镜像图像上的特征点,扩大样本库: 连接索引集合connections:描述手工标注的人脸特

(solr系列:五) solr定时实时重建索引和增量更新

将mysql中的数据导入到了solr中之后,如果数据库中的数据有变动,solr中还是第一次导入的旧的数据,那该如何是好呢?该如何实现mysql数据库中的数据定时同步到solr中呢?下面将做详细的介绍. 准备工作要做好: 1.下载jar包:solr-dataimportscheduler-1.1.jar http://pan.baidu.com/s/1hsySs2S 2.新建文件:dataimport.properties,文件复制下面的就好,具体配置含义已给出注释: ##############

ICCV研讨会:实时SLAM的未来以及深度学习与SLAM的比较

这篇短文写的很好,我把它copy到这里供大家学习 上一届「国际计算机视觉大会(ICCV:International Conference of Computer Vision )」成为了深度学习(Deep Learning)技术的主场,但在我们宣布卷积神经网络(ConvNet)的全面胜利之前,让我们先看看计算机视觉的「非学习(non-learning)」几何方面的进展如何.同步定位与地图构建(SLAM: Simultaneous Localization and Mapping )可以说是机器人

CCF虚拟现实与可视化技术专委会丨面向增强现实的可视计算技术研究进展概述

https://mp.weixin.qq.com/s/I-rNwgXHEtwgdpkWzKtVXw 摘要 新一代增强现实技术需要依赖可视计算理论与方法解决大尺度复杂环境下的场景建模.内容生成.感知交互三个关键科学问题.本文从以上三个方面,介绍了面向增强现实的可视计算技术的主要研究进展.其中,场景建模主要涉及复杂场景定位.重建与建模,包括同时定位与地图构建.场景几何与材质精确重建与数字化.实时高质量动态环境重建等:内容生成主要涉及视觉一致性驱动的高逼真度虚实融合,包括场景渲染参数估计.虚拟物体嵌入

DynamicFusion在ubuntu16.04+显卡GT740+cuda8.0上的实现

介绍 DynamicFusion构建了一个可以实时重建 非刚性变形 动态场景 的系统,随着新的数据融合进模型当中,模型得到降噪.细节更加精细. 论文地址:http://grail.cs.washington.edu/projects/dynamicfusion/papers/DynamicFusion.pdfGitHub地址:https://github.com/mihaibujanca/dynamicfusion注意:这个项目是对论文的复现,但是目前尚未准确复现论文内容,运行速度仍然有待优化,