Q-SLAM: Quadric Representations for Monocular SLAM
<|reference_start|>Q-SLAM: Quadric Representations for Monocular SLAM: Monocular SLAM has long grappled with the challenge of accurately modeling 3D geometries. Recent advances in Neural Radiance Fields (NeRF)-based monocular SLAM have shown promise, yet these methods typically focus on novel view synthesis rather than precise 3D geometry modeling. This focus results in a significant disconnect between NeRF applications, i.e., novel-view synthesis and the requirements of SLAM. We identify that the gap results from the volumetric representations used in NeRF, which are often dense and noisy. In this study, we propose a novel approach that reimagines volumetric representations through the lens of quadric forms. We posit that most scene components can be effectively represented as quadric planes. Leveraging this assumption, we reshape the volumetric representations with million of cubes by several quadric planes, which leads to more accurate and efficient modeling of 3D scenes in SLAM contexts. Our method involves two key steps: First, we use the quadric assumption to enhance coarse depth estimations obtained from tracking modules, e.g., Droid-SLAM. This step alone significantly improves depth estimation accuracy. Second, in the subsequent mapping phase, we diverge from previous NeRF-based SLAM methods that distribute sampling points across the entire volume space. Instead, we concentrate sampling points around quadric planes and aggregate them using a novel quadric-decomposed Transformer. Additionally, we introduce an end-to-end joint optimization strategy that synchronizes pose estimation with 3D reconstruction.<|reference_end|>
@article{peng2024q-slam:,
    title={Q-SLAM: Quadric Representations for Monocular SLAM},
    author={Chensheng Peng, Chenfeng Xu, Yue Wang, Mingyu Ding, Heng Yang,
  Masayoshi Tomizuka, Kurt Keutzer, Marco Pavone, Wei Zhan},
    journal={arXiv preprint arXiv:2403.08125},
    year={2024},
    archivePrefix={arXiv},
    eprint={2403.08125},
    primaryClass={cs.CV}
}