MAC-Ego3D: Multi-Agent Gaussian Consensus for Real-Time Collaborative Ego-Motion and Photorealistic 3D Reconstruction
Xiaohao Xu*, Feng Xue*, Shibo Zhao, Yike Pan, Sebastian Scherer, Xiaonan Huang
University of Michigan, Ann Arbor & Carnegie Mellon University
The full code will be released in 2025 Feb. Please stay tuned! 😃
MAC-Ego3D leverages parallel Intra-Agent Gaussian Consensus and periodic Inter-Agent Gaussian Consensus to enable real-time pose tracking and photorealistic 3D reconstruction using a shared 3D Gaussian map representation.
To set up the required environment, follow these steps:
-
Create and activate a new Conda environment:
conda create -n macego python==3.9 conda activate macego
-
Install necessary dependencies:
conda install pytorch==2.0.0 torchvision==0.15.0 torchaudio==2.0.0 pytorch-cuda=11.8 -c pytorch -c nvidia conda install nvidia/label/cuda-11.8.0::cuda-toolkit pip install -r requirements.txt
-
Install PCL for
fast-gicp
submodule:pip install pcl
-
Install additional submodules:
conda activate macego pip install submodules/diff-gaussian-rasterization pip install submodules/simple-knn
-
Build and install the
fast_gicp
submodule:cd submodules/fast_gicp mkdir build cd build cmake .. make cd .. python setup.py install --user
-
Download model weights for the
salad
submodule:Follow the link to download the weights:
Loop Closure Detection Model WeightsAfter downloading, place the weights in the
submodules/salad
directory.
Replica (Multi-Agent Version from this repo)
-
Download the Replica dataset:
bash download_replica.sh
-
Adjust directory structure:
Update the directory structure to match the following:
Original Structure:
Replica - {scene_name} - {scene_name_agent_id} - results (contain rgbd images) - frame000000.jpg - depth000000.png ... - traj.txt
Required Structure:
Replica - {scene_name} - {scene_name_agent_id} - images (contain rgb images) - frame000000.jpg ... - depth_images (contain depth images) - depth000000.png ... - traj.txt
-
Download the 7Scenes dataset:
7Scenes Dataset -
Configure the dataset:
Some sequences in certain scenes may have missing frames. Make sure to remove any empty folders after processing.python 7Scene2ICP.py # Modify the script to reflect the correct dataset and output paths
To run all the experiments on the Multi-Agent Replica dataset:
bash multitest.sh
To run all the experiments on the 7Scenes dataset:
bash multitest_7scene.sh
If you find this repository useful, please cite our paper:
@article{xu2024macego3d,
title={MAC-Ego3D: Multi-Agent Gaussian Consensus for Real-Time Collaborative Ego-Motion and Photorealistic 3D Reconstruction},
author={Xu, Xiaohao and Xue, Feng and Zhao, Shibo and Pan, Yike and Scherer, Sebastian and Huang, Xiaonan},
journal={arXiv preprint arXiv:2412.09723},
year={2024}
}
For questions or further inquiries, please report an issue or reach out to: Xiaohao Xu
Email: xiaohaox[at]umich.edu