Recent advancements in 3D Gaussian Splatting (3DGS) have made a significant impact on rendering and reconstruction techniques. Current research predominantly focuses on improving rendering performance and reconstruction quality using high-performance desktop GPUs, largely overlooking applications for embedded platforms like micro air vehicles (MAVs). These devices, with their limited computational resources and memory, often face a trade-off between system performance and reconstruction quality. In this paper, we improve existing methods in terms of GPU memory usage while enhancing rendering quality. Specifically, to address redundant 3D Gaussian primitives in SLAM, we propose merging them in voxel space based on geometric similarity. This reduces GPU memory usage without impacting system runtime performance. Furthermore, rendering quality is improved by initializing 3D Gaussian primitives via Patch-Grid (PG) point sampling, enabling more accurate modeling of the entire scene. Quantitative and qualitative evaluations on publicly available datasets demonstrate the effectiveness of our improvements.
sudo apt install libeigen3-dev libboost-all-dev libjsoncpp-dev libopengl-dev mesa-utils libglfw3-dev libglm-dev
git clone --recursive https://github.com/NAIL-HNU/MemGS.git
./build.sh
./scripts/download_replica.sh
./scripts/download_tum.sh
./scripts/replica_mono.sh
./scripts/replica_rgbd.sh
./scripts/tum_mono.sh
./scripts/tum_rgbd.sh
In the file examples/realsense_rgbd.cpp
, we provide an example with the Intel RealSense D455
./scripts/realsense_d455.sh
For ease of evaluation, we also uploaded the baseline code and added code snippets for saving results.
It is worth noting that in order to maintain consistency with the original directory structure, the locations of these startup scripts are different.
To run these scripts, follow the steps below:
git checkout eval/Photo_SLAM
# run scripts
./scripts/replica_mono.sh
./scripts/replica_rgbd.sh
./scripts/tum_mono.sh
./scripts/tum_rgbd.sh
git checkout eval/MonoGS
# run scripts
./scripts/replica.sh
./scripts/tum.sh
git checkout eval/SplaTAM
# run scripts
./bash_scripts/replica.sh
./bash_scripts/tum.sh
git checkout eval/GS_ICP_SLAM
# run scripts
./replica.sh
./tum.sh
git checkout main
# run scripts
./scripts/replica_mono.sh
./scripts/replica_rgbd.sh
./scripts/tum_mono.sh
./scripts/tum_rgbd.sh
We extend our gratitude to the developers of the repositories listed below for making their code available.
- HuajianUP/Photo-SLAM: A real-time framework for visual odometry-based tracking and mapping of 3DGS
- muskie82/MonoGS A multi-process framework for tracking and mapping based on 3DGS
- spla-tam/SplaTAM: The first open source 3DGS-based SLAM framework
- Lab-of-AI-and-Robotics/GS_ICP_SLAM: A novel SLAM framework combining G-ICP and 3DGS