[ICRA'26] MRASfM: Multi-Camera Reconstruction and Aggregation through Structure-from-Motion in Driving Scenes
[Lingfeng Xuan†, Chang Nie†, Yiqing Xu, Yanzi Miao, and Hesheng Wang^]
Abstract: Structure from Motion (SfM) estimates camera poses and reconstructs point clouds, forming a foundation for various tasks. However, applying SfM to driving scenes captured by multi-camera systems presents significant difficulties, including unreliable pose estimation, excessive outliers in road surface reconstruction, and low reconstruction efficiency. To address these limitations, we propose a Multi-camera Reconstruction and Aggregation Structure-from-Motion (MRASfM) framework specifically designed for driving scenes. MRASfM enhances the reliability of camera pose estimation by leveraging the fixed spatial relationships within the multi-camera system during the registration process. To improve the quality of road surface reconstruction, our framework employs a plane model to effectively remove erroneous points from the triangulated road surface. Moreover, treating the multi-camera set as a single unit in Bundle Adjustment (BA) helps reduce optimization variables to boost efficiency. In addition, MRASfM achieves multi-scene aggregation through scene association and assembly modules in a coarse-to-fine fashion. We deployed multi-camera systems on actual vehicles to validate the generalizability of MRASfM across various scenes and its robustness in challenging conditions through real-world applications. Furthermore, large-scale validation results on public datasets show the state-of-the-art performance of MRASfM, achieving 0.124 absolute pose error on the nuScenes dataset. The code is available at https://github.com/IRMVLab/MRASfM.
- Clone this repository:
git clone https://github.com/IRMVLab/MRASfM.git- Create the conda environment:
conda create -n mrasfm python=3.10 -y
conda activate mrasfm
pip install --upgrade pip
pip install -r requirements.txt - Install MRASfM
Install COLMAP dependencies** using the COLMAP build guide.
cd MRASfM/colmap
mkdir build && cd build
cmake .. -GNinja
ninja && sudo ninja install
- KITTI odometry
python make_odometry_input.py --yaml_path <odometry_sfm.yaml>
- NuScenes
python make_nuscene_input.py --yaml_path <nuscene_sfm.yaml>
- Scene Merge
python make_merge_input.py --yaml_path <merge_sfm.yaml>
@misc{xuan2025mrasfmmulticamerareconstructionaggregation,
title={MRASfM: Multi-Camera Reconstruction and Aggregation through Structure-from-Motion in Driving Scenes},
author={Lingfeng Xuan and Chang Nie and Yiqing Xu and Zhe Liu and Yanzi Miao and Hesheng Wang},
year={2025},
eprint={2510.15467},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2510.15467},
}