Direct Sparse Odometry with Continuous 3D Gaussian Maps for Indoor Environments, Deng J, Lang F, Yuan Z, Yang X.
git clone [email protected]:JD-hust/gs-dso.git
We run the code on Ubantu 20.04 with CUDA 11.8.
Install with
sudo apt-get install libsuitesparse-dev libboost-all-dev
Eigen 3.2.8, Follow Eigen Installation.
OpenCV 2.4.9, Follow OpenCV Installation.
Pangolin, Follow Pangolin Installation.
Install with
sudo apt-get install zlib1g-dev
cd dso/thirdparty
tar -zxvf libzip-1.1.1.tar.gz
cd libzip-1.1.1/
./configure
make
sudo make install
sudo cp lib/zipconf.h /usr/local/include/zipconf.h
Libtorch 2.5.1, follow Libtorch Installation.
cd gs-dso
mkdir build
cd build
cmake ..
make -j4
<sequence folder name>
|____________rgb/
|____________data.ply
|____________transfroms.json
|____________groundtruth.txt
|____________associate.txt/rgb.txt
Please adjust your dataset file directory and format as described above.
To process prior lidar map, run it with the following instruction:
./opensplat --val-render ../output -i PATH/to/datasets/ -o ../output/ -n 20000 --keep-crs --sh-degree 1
and then run it with the following instruction for localization:
./gsdso_dataset files=PATH/to/datasets calib=../calib/DATASETS/calib.txt result=../output/ mode=1 preset=0
We provide a pre-trained prior map and an example sequence in the link.There is the instruction to run on the sequence:
./gsdso_dataset files=../example/S2 calib=../calib/ICL/calib.txt result=../example/output/ mode=1 preset=0
For more details on configuration parameters, see Direct Sparse Odometry and OpenSplat.
This work is implemented based on Direct Sparse Odometry, RGBD-DSO and OpenSplat. Thanks to J. Engel et al., who open source such excellent code for community.