点击下方卡片,关注「3D视觉工坊」公众号
选择星标,干货第一时间送达
来源:3D视觉工坊
添加小助理:cv3d001,备注:方向+学校/公司+昵称,拉你入群。文末附3D视觉行业细分群。
扫描下方二维码,加入「3D视觉从入门到精通」知识星球,星球内凝聚了众多3D视觉实战问题,以及各个模块的学习资料:近20门秘制视频课程、最新顶会论文、计算机视觉书籍、优质3D视觉算法源码等。想要入门3D视觉、做项目、搞科研,欢迎扫码加入!
0. 论文信息
标题:DATAP-SfM: Dynamic-Aware Tracking Any Point for Robust Structure from Motion in the Wild
作者:Weicai Ye, Xinyu Chen, Ruohao Zhan, Di Huang, Xiaoshui Huang, Haoyi Zhu, Hujun Bao, Wanli Ouyang, Tong He, Guofeng Zhang
机构:Zhejiang University、Shanghai AI Laboratory
原文链接:https://arxiv.org/abs/2411.13291
1. 导读
本文提出了一种简洁、优雅和健壮的管道来估计平滑的相机轨迹并获得野外休闲视频的密集点云。传统的框架,如particles FM ~ cite { Zhao 2022 particles FM },通过顺序计算相邻帧之间的光流来获得点轨迹,从而解决了这个问题。然后,它们通过运动分割移除动态轨迹,并执行全局束调整。然而,估计两个相邻帧之间的光流并将匹配链接起来的过程会引入累积误差。此外,与单视图深度估计相结合的运动分割经常面临与尺度模糊相关的挑战。为了应对这些挑战,我们提出了一种动态感知跟踪任意点(DATAP)方法,该方法利用了一致的视频深度和点跟踪。具体来说,我们的DATAP通过估计视频序列中的密集点跟踪并预测每个点的可见性和动态来解决这些问题。通过引入一致的视频深度先验,增强了运动分割的性能。随着DATAP的集成,通过对分类为静态和可见的点跟踪执行全局束调整,而不是依赖于增量相机配准,可以同时估计和优化所有相机姿态。在动态序列(例如Sintel和TUM RGBD动态序列)和野生视频(例如DAVIS)上的大量实验表明,即使在复杂的动态挑战场景中,所提出的方法在相机姿态估计方面也实现了最先进的性能。
2. 引言
从单目视频中估计运动相机的姿态在计算机视觉和机器人学领域发挥着基础性作用,在自动驾驶、增强现实等多个领域均有应用。在日常随意拍摄的视频中,相机通常处于移动状态,而复杂的前景运动,包括人物、车辆和其他移动物体,占据了视频帧的大部分。这给在此类场景中实现稳健的相机姿态估计带来了重大挑战。
传统的间接SLAM或SfM方法通过提取和匹配高质量特征点,并利用非线性优化技术来估计相机姿态和重建三维点云,从而最小化几何重投影误差。相比之下,直接SLAM或SfM方法通过优化光度误差(假设视频外观一致)来进行相机跟踪。虽然这些方法已显示出良好效果,但在包含大量动态物体的场景中,它们往往难以实现稳健定位。这一局限性在动态物体常见的真实场景中尤为明显。
为解决这一问题,一些视觉里程计或SLAM方法使用语义或几何先验来减轻由特定类型潜在动态物体(如人或车辆)引起的干扰。然而,在实际自然场景中,一些看似静止的物体也可能呈现运动状态,例如水杯被拿起或移动,或柳枝在风中摇曳。这使得上述依赖语义约束的方法失效。另一方面,一些端到端的视觉里程计或SLAM方法通过训练数据隐式建模场景物体的复杂运动,并通过关注静态区域来估计相机姿态。然而,这些方法在推广到野外视频时面临挑战。
最近,ParticleSfM提出了一种方法,该方法涉及构建点轨迹,应用轨迹运动分割以解决动态轨迹干扰,并执行全局捆集调整以改进姿态估计。该方法在泛化性能和姿态估计准确性方面显示出前景,但也存在明显局限性:(1)基于成对光流匹配的点轨迹构建无疑会带来长期累积误差。(2)使用单目姿态估计进行运动分割存在尺度模糊问题。
基于最近表现突出的二维点跟踪方法,如TAPIR、CoTracker和Omniotion,我们提出了一种新颖的方法,称为动态感知跟踪任意点(Dynamic-Aware Tracking Any Point,DATAP),通过利用一致的视频深度估计和长期点跟踪来解决上述问题。具体而言,DATAP是一种以滑动窗口方式运行的Transformer网络。它估计视频中采样点的点跟踪和可见性。Transformer网络融合了自注意力机制和交叉注意力机制,将滑动窗口内的每条轨迹视为一个整体。这有助于利用轨迹特征之间的相关性,并促进轨迹内和轨迹间的信息交换。在滑动窗口内,每个查询点的轨迹最初设置为0。网络将通过Transformer的迭代逐步细化这些初始估计。随后的重叠窗口将基于前一个窗口的细化预测来初始化轨迹和可见性,并更新新帧的轨迹和可见性。
为估计轨迹的动态运动标签,我们在跟踪特征中融入了多层感知层。这一附加层预测动态运动的概率,类似于预测可见性的方式。这样做旨在解决仅使用二维点跟踪进行动态预测时可能出现的模糊性。受ParticleSfM启发,我们利用深度信息并设计了一个Transformer模块,以消除二维点运动分割中的模糊性。考虑到单目视频单视图深度估计所带来的尺度模糊问题,我们建议使用一致的视频深度估计进行深度初始化。
结合DATAP,我们构建了一个简洁、优雅且稳健的野外运动恢复结构(Structure from Motion,SfM)流程。在MPI Sintel数据集和TUM RGBD动态序列上的实验表明,我们的动态感知点跟踪方法结合SfM可有效提升动态场景中相机定位的准确性。我们还在如DAVIS等野外随意拍摄的视频上验证了该方法,证明了其在复杂挑战性场景中的定位鲁棒性。
3. 效果展示
给定随意的视频,我们的方法可以获得平滑的摄像机轨迹和动态场景的完整点云。从上到下:视频样本、来自COLMAP、ParticleSfM和我们的结果。
MPI Sintel数据集上摄像机姿态估计的定性结果。我们的方法优于现有的SOTA方法。
4. 主要贡献
我们的贡献总结如下:
• 我们提出了一种新颖的动态感知跟踪任意点(DATAP)网络,能够以滑动窗口的方式同时估计点跟踪、可见性和动态性,并利用一致的视频深度先验进一步提升性能。
• 结合DATAP和全局捆集调整,我们提出了一种简洁、优雅且稳健的流程,可从随意拍摄的单目视频中生成平滑的相机轨迹和密集的点云。推荐课程:单目深度估计方法:算法梳理与代码实现。
• 大量实验表明,所提方法在复杂动态挑战场景中优于当前最优方法(State-Of-The-Art,SOTA)。
5. 方法
我们的目标是通过随意拍摄的单目视频实现平滑的相机轨迹和一致的视频深度。为此,我们提出了一种动态感知跟踪任意点方法,即DATAP,以估计视频中点的轨迹及其可见性和动态特性。结合DATAP,我们正式提出了一个简洁、优雅且稳健的野外运动恢复结构流程。图2概述了我们的方法流程。
6. 实验结果
MPI Sintel数据集是一个合成自然视频序列,包含23个复杂且具有挑战性的场景,如高度动态场景、运动模糊场景、非刚性运动场景等。遵循ParticleSfM的方法,我们移除了对评估单目相机位姿无效的序列,如静态相机运动序列,留下14个序列用于比较。我们将本文方法与经典的特征点SfM方法COLMAP及其变体,以及最新的深度学习方法进行了比较。表2中的定量位姿估计结果表明,COLMAP及其变体只能在某些序列上进行位姿估计。而基于学习的最先进方法,如DROID-SLAM在动态场景中表现不佳,难以获得准确的相机轨迹。虽然最近的ParticleSfM在大多数场景中表现良好,但本文基于动态感知点跟踪的SfM方法远优于它们,在所有数据集上的绝对轨迹误差(ATE)提高了19.37%,在COLMAP子集上的ATE提高了28.57%。
TUM RGBD数据集是评估不同挑战下SLAM或SfM算法性能的基准。为了评估本文方法在动态室内场景中的性能,我们选择了9个包含动态对象(如移动的人)的序列。由于ParticleSfM在动态场景中通常表现更好,我们选择ParticleSfM作为主要比较对象。通过运行ParticleSfM的开源代码,实验表明,ParticleSfM在TUM的9个数据集中会出现系统失败,而本文方法能够解算出相机位姿,这显示了本文方法的鲁棒性。在ParticleSfM的子集中,本文方法在ATE上提高了26.62%。
DAVIS数据集是评估视频对象分割和跟踪(无真实相机位姿)的基准。它包含许多挑战,如多对象遮挡、复杂运动、运动模糊等。为了进一步证明本文方法的泛化能力,我们从DAVIS数据集中选择了15个序列,并定性可视化了本文方法的效果。实验表明,COLMAP只能运行DAVIS的15个序列中的10个,而ParticleSfM只能运行8个序列。它们难以获得满意的位姿估计。我们还在图5中展示了更多的定性结果。
7. 总结 & 局限性
本文提出了一种具有动态感知点跟踪的结构从运动(SfM)方法,用于准确的位姿估计。本文方法能够为野外随意拍摄的视频中的动态场景获得平滑的相机轨迹和完整的点云,并且在动态场景中优于现有的SfM和SLAM方法。
局限性。尽管本文方法能够在动态场景中进行鲁棒的位姿估计和一致的视频深度估计,但它不能像实时SLAM系统那样运行,即使我们采用了基于滑动窗口的点跟踪机制。开发一种高效的动态感知点跟踪方法是一个有前景的方向。探索大规模且多样的互联网视频来训练点跟踪方法将进一步提高其鲁棒性。我们将其留作未来工作。
对更多实验结果和文章细节感兴趣的读者,可以阅读一下论文原文~
本文仅做学术分享,如有侵权,请联系删文。
3D视觉交流群,成立啦!
目前我们已经建立了3D视觉方向多个社群,包括2D计算机视觉、最前沿、工业3D视觉、SLAM、自动驾驶、三维重建、无人机等方向,细分群包括:
工业3D视觉:相机标定、立体匹配、三维点云、结构光、机械臂抓取、缺陷检测、6D位姿估计、相位偏折术、Halcon、摄影测量、阵列相机、光度立体视觉等。
SLAM:视觉SLAM、激光SLAM、语义SLAM、滤波算法、多传感器融合、多传感器标定、动态SLAM、MOT SLAM、NeRF SLAM、机器人导航等。
自动驾驶:深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器、多传感器标定、多传感器融合、自动驾驶综合群等、3D目标检测、路径规划、轨迹预测、3D点云分割、模型部署、车道线检测、Occupancy、目标跟踪等。
三维重建:3DGS、NeRF、多视图几何、OpenMVS、MVSNet、colmap、纹理贴图等
无人机:四旋翼建模、无人机飞控等
2D计算机视觉:图像分类/分割、目标/检测、医学影像、GAN、OCR、2D缺陷检测、遥感测绘、超分辨率、人脸检测、行为识别、模型量化剪枝、迁移学习、人体姿态估计等
最前沿:具身智能、大模型、Mamba、扩散模型、图像/视频生成等
除了这些,还有求职、硬件选型、视觉产品落地、产品、行业新闻等交流群
添加小助理: cv3d001,备注:研究方向+学校/公司+昵称(如3D点云+清华+小草莓), 拉你入群。
3D视觉工坊知识星球
「3D视觉从入门到精通」知识星球,已沉淀6年,星球内资料包括:秘制视频课程近20门(包括结构光三维重建、相机标定、SLAM、深度估计、3D目标检测、3DGS顶会带读课程、三维点云等)、项目对接、3D视觉学习路线总结、最新顶会论文&代码、3D视觉行业最新模组、3D视觉优质源码汇总、书籍推荐、编程基础&学习工具、实战项目&作业、求职招聘&面经&面试题等等。欢迎加入3D视觉从入门到精通知识星球,一起学习进步。
3D视觉工坊官网:www.3dcver.com具身智能、3DGS、NeRF、结构光、相位偏折术、机械臂抓取、点云实战、Open3D、缺陷检测、BEV感知、Occupancy、Transformer、模型部署、3D目标检测、深度估计、多传感器标定、规划与控制、无人机仿真、C++、三维视觉python、dToF、相机标定、ROS2、机器人控制规划、LeGo-LAOM、多模态融合SLAM、LOAM-SLAM、室内室外SLAM、VINS-Fusion、ORB-SLAM3、MVSNet三维重建、colmap、线面结构光、硬件结构光扫描仪等。
3D视觉模组选型:www.3dcver.com
点这里👇关注我,记得标星哦~