科技魔方

英伟达提出基于单目RGBD视频的6DoF追踪和三维重建方法

AR/VR

2023年08月04日

  计算机视觉中的两个基本问题是从单目RGBD视频中进行六自由度姿态追踪和未知对象的3D重建。解决所述问题将开启在增强现实和机器人操作等领域的广泛应用。

  以前的研究通常将这两个问题分开考虑。例如,神经场景表示在从真实数据创建高质量3D对象模型方面取得了巨大成功。然而,所述方法假设已知的camera姿态和/或ground truth对象掩模。另外,通过动态移动的摄像头捕捉静态对象会阻碍完整的3D重建(如果物体放在桌面,则永远看不到物体的底部)。

  另一方面,实例级六自由度对象姿态估计和追踪方法通常需要事先对测试对象进行纹理化的3D模型,以进行预训练和/或在线模板匹配。尽管类别级方法可以泛化到同一类别中的新对象实例,但它们难以处理分布外的对象实例和未见过的对象类别。

  为了克服所述局限性,英伟达在名为《BundleSDF: Neural 6-DoF Tracking and 3D Reconstruction of Unknown Objects》的论文中提出将这两个问题联合起来解决。

  所述方法假设对象是刚性的,并且在视频的第一帧中需要一个2D对象掩模。除了这两个要求外,在整个视频中,即便发生严重的遮挡,对象都可以自由移动。英伟达的方法与之前在对象级SLAM中的研究相似,但放宽了众多常见的假设,从而允许处理遮挡,高光,缺乏视觉纹理和几何线索,以及突然的对象运动。

  所述方法的关键是一个在线姿态图优化过程,一个并发的Neural Object Field神经对象场来重建三维形状和外观,以及一个内存池来促进两个过程之间的通信。所述方法的鲁棒性在图1中突出显示。

  给定单目RGBD序列和2D物体掩模(仅在第一帧中),所述方法可以执行六自由度追踪和未知对象的3D重建。

  英伟达方法概述如图2所示:

  给定单目RGBD输入视频,以及仅在第一帧中感兴趣对象的分割掩模,英伟达的方法通过后续帧追踪对象的六自由度姿态,并重建对象的纹理3D模型。所有的处理都是causal(不访问未来的帧)。

  对象假定为刚性,但不需要特定数量的纹理,这一方法可以很好地处理没有纹理的对象。另外,不需要对象的实例级CAD模型,同时不需要类别级先验,例如事先在同一对象类别进行训练。

  为了给随后的在线姿态图优化提供一个良好的初始猜测,研究人员在当前帧Ft和前一帧Ft−1之间计算一个粗略的对象姿态估计˜ξt∈SE。

  首先,利用跨对象视频分割网络在Ft中分割目标区域。选择这种分割方法是因为它不需要对象或交互代理(例如人手)的任何知识,因此允许框架应用于广泛的场景和对象。Ft和Ft−1之间的RGB特征对应关系是通过基于transformer的特征匹配网络建立。

  与深度一起,由基于RANSAC的姿态估计器使用最小二乘法对识别出的对应进行滤波。然后选择最大内层数的姿态假设作为当前帧的coarse姿态估计。

  为了减轻会导致长期的追踪漂移的forgetting,保留过去帧的信息非常重要。先前研究采用的一种常用方法是将每个观测值融合到一个显式的全局模型中。然后使用融合的全局模型与随后的新帧进行姿态估计(帧到模型匹配)的比较。然而,由于至少两个原因,这种方法不适合英伟达所考虑的具有挑战性的场景。

  首先,姿态估计中的任何缺陷在融合到全局模型时会累积,给后续帧的姿态估计带来额外的误差。当对象没有足够的纹理或几何线索,或者信息在帧中不可见时,经常发生这种错误。错误会随着时间的推移而积累,并且不可逆转。

  其次,在长期完全遮挡的情况下,大的运动变化使得全局模型和再现帧观测之间的配准变得困难和次优。

  所以,团队引入了一个关键帧内存池P来存储信息量最大的历史观察结果。为了构建内存池,将自动添加第一帧F0,从而为新的未知对象设置规范坐标系。对于每个新帧,通过与内存池中的现有帧进行比较来更新其粗姿态ξt,以产生更新的姿态ξt。

  只有当认为帧的视点(由ξt描述)足以丰富池中的多视点多样性,同时保持池的紧凑性时,才将帧添加到P中。更具体地说,将ξt与池中所有现有内存帧的姿态进行比较。由于平面内对象旋转不提供额外的信息,这种比较考虑了旋转测地线距离,而忽略了围绕camera光轴的旋转。

  忽略这种差异允许系统在空间中更稀疏地分配内存帧,同时保持相似数量的多视图一致性信息。与之前的研究相比,当选择相同数量的memory帧来参与在线姿态图优化时,所述技术可以联合优化更大范围的姿态。

  给定一个具有粗姿态估计的新帧Ft,研究人员从内存池中选择K个memory帧的子集来参与在线姿态图优化。新框架对应的优化位姿成为输出估计位姿ξt。这一步在CUDA中实现近实时处理,使其足够快地应用于每个新帧,从而在整个视频中追踪对象时产生更准确的姿态估计。

  Neural Object Field用于协助此优化过程。内存池中的每一帧都有一个二进制标志b(F),表示特定帧的姿态是否已被Neural Object Field更新。

  当一个帧第一次添加到内存池时,b(F) = FALSE。这个flag在随后的在线更新中保持不变,直到帧的姿态被Neural Object Field更新,此时它永远设置为TRUE。在更新新帧Ft的姿态的同时,在线姿态图优化所选择的帧子集的所有姿态同样更新到内存池中,只要它们的flag设置为FALSE。

  flag设置为TRUE的帧继续被更可靠的Neural Object Field处理更新,但它们不再被在线姿态图优化修改。

  英伟达方法的一个关键是学习一个以对象为中心的SDF,它在调整memory框架的姿态时学习多视图一致的3D形状和对象的外观。

  它是根据每个视频学习,不需要预先训练就可以泛化到新的未知对象。所述Neural Object Field神经对象场在与在线姿态追踪并行的单独线程中进行训练。在每个训练周期的开始,Neural Object Field从池中消耗所有的memory帧(连同它们的姿态)并开始学习。

  当训练收敛时,将优化后的姿态更新到memory池中,以帮助后续的在线姿态图优化,每次获取更新后的memory帧姿态,以减轻追踪漂移。

  学习到的SDF更新到随后的在线姿态图中,以计算一元损失Ls。然后通过从池中抓取新的memory帧来重复神经对象域的训练过程。

  HO3D的定量结果见表1和图5。英伟达的方法在六自由度姿态追踪和3D重建方面都大大优于比较方法。对于DROID-SLAM, NICE-SLAM和KinectFusion,当在以独享为中心的设置中工作时,可以用于追踪的纹理或几何线索明显较少,导致性能较差。

  图5给出了追踪误差随时间的变化。尽管BundleTrack实现了与英伟达方法相似的低平移误差,但它在旋转估计方面不佳。相比之下,英伟达方法在整个视频中保持了较低的追踪误差。

  图4显示了三种最具竞争力的方法的示例定性结果。尽管存在严重的手部遮挡、自我遮挡、中间观察中纹理线索少和强烈的光照反射等多重挑战,英伟达的方法依然沿着视频准确追踪,并获得高质量的3D对象重建。

  值得注意的是,英伟达预测的姿态有时比ground truth情况更准确,这是由多摄像头多视图配准利用手部先验进行注释。

  BEHAVE的定量结果如表3所示。在没有利用人体先验的单视图和zero shot transfer设置中,所述数据集显示出极端的挑战。例如,当人携带物体并且脸远离摄像头时存在长期完全遮挡;由于人对物体的自由摆动,经常出现严重的运动模糊和突然位移物品性质各异,大小差异较大;视频是在距离摄像头较远的地方拍摄,难以进行深度感知。

  因此,对该基准的评估推向了一个更困难的设置。尽管存在所述挑战,英伟达的方法依然能够在大多数情况下执行长期鲁棒追踪,并且比以前的方法表现得更好。

  团队研究了方法在HO3D数据集的有效性,因为它具有更准确的姿态注释。结果如表4所示。Ours w/o memory实现了非常糟糕的性能,因为没有机制来减轻追踪漂移。在Ours-GPG中,即使有类似的计算量,由于handcrafted losses,它都会在物体或观察中遇到很少的纹理或几何线索。

  除了对象姿态追踪,, Ours w/o memory,Ours w/o NOF和Ours-GPG缺乏3D对象重建模块。Ours w/o hybrid SDF忽略了轮廓信息,并且在校正memory帧的姿态时可能受到假阳性分割的偏置。这导致不太稳定的姿态追踪和更多噪点的最终3D重建。

  总的来说,英伟达提出了一种基于单目RGBD视频的六自由度目标追踪和三维重建方法。所述方法只需要对初始帧中的对象进行分割。利用两个并行线程分别执行在线图形姿态优化和神经对象场表示,所述方法能够处理具有挑战性的场景,例如快速运动和部分遮挡,缺乏纹理和高光等等。在几个数据集的比较都展示了优异结果。

  当然,团队表示未来的研究将旨在利用形状先验来重建不可见部分。

+1

来源:映维网

延展资讯