YumengXiu / 3D-reconstruction-for-tunnel-inspection-based-on-RGB-D-data

16833 final Project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

3D-reconstruction-for-tunnel-inspection-based-on-RGB-D-data

16833 final Project

NeRF-based Method

NeRF-based method is based on NICE-SLAM repo. First follow the readme of NICE-SLAM repo to install all the requirement and run the demo successfully.

Then prepare the data of tunnel in the same format of ScanNet (the one used in the deme above). Change the path cd nerf-based and run the following command to run the NeRF-based SLAM. To run the simulation, run python -W ignore run.py configs/Demo/new_sim.yaml --nice instead.

python -W ignore run.py configs/Demo/new.yaml --imap

To visualize the results of tracking and mapping, run the following with the real data. For the simulation, run python visualizer.py configs/Demo/new_sim.yaml --nice --no_gt_traj --save_rendering instead.

python visualizer.py configs/Demo/new.yaml --imap --no_gt_traj --save_rendering

SfM-based Method

This method is based on COLMAP SFM. Follow the readme to install Colmap and run it. feedBagInput.py is the file to extract rgb images as well as poses and then feed the pose into the colmap database. Note that in this process, make sure the data(.bag), image dir and colmap workspace are in same dir. To run Colmap, follow the instructions on COLMAP SFM to install colmap and run it through either command line or GUI. To input pose estimation to COLMAP: run

python feedBagInput.py -h 

for instructions and follow it to extract data, feed pose. After that, put the generated database file into colmap workspace, specify workspace and source input (images) to COLMAP and run the algorithm.

ASH

This method is based on W. Dong, Y. Lao, M. Kaess and V. Koltun: ASH: A Modern Framework for Parallel Spatial Hashing in 3D Perception, arXiv, 2021. and Open3D. Follow the instruction here for the installation.

To run, checkout to ASH/ and run belows,

python src/dense_slam_gui.py --config configs/tunnel_config.yml \   # or simulation_config.yml
                             --device cuda:0                        # or cpu:0 if no cuda device

About

16833 final Project


Languages

Language:C 62.5%Language:C++ 32.4%Language:Python 2.2%Language:Cuda 1.9%Language:CMake 0.6%Language:MATLAB 0.1%Language:Shell 0.1%Language:Batchfile 0.1%Language:Makefile 0.0%Language:GLSL 0.0%Language:Dockerfile 0.0%Language:Roff 0.0%