This repo mainly includes basic module for photogrammetry based on unmanned aerial vehicle. Important features include:
- UAV Path Planing
- Structure from Motion for Pose Estimation
- Multi-View Stereo for Dense Reconstruction
- Texture Mapping
- Rendering
The code is tested on a Linux machine of Ubuntu 22.04 with RTX 6000 Ada.
CUDA 11.8
Eigen 3.4.0
Ceres 2.0.0
CGAL 6.0.1
# get the mission planning software
git clone https://github.com/Haonan-DONG/photogrammetry_software.git --recursive
## compile the third library mve
cd mve
make -j
## compile the root
cmake .. -DMVE_ROOT=../third_party/uavmvs/elibs/mve/
make -j
## path planning
bash shell/mission_plan.sh
# get the rgb_reconstruction
## compile colmap
cd third_party/colmap
mkdir build
cd build
### here should change to your own cuda_architecture
cmake .. -GNinja -DCMAKE_CUDA_ARCHITECTURES=89
ninja
## compile openMVS
cd third_party/openMVS
mkdir bin && cd bin
cmake -DVCG_ROOT=[VCG_REPO_PATH] -DCMAKE_CUDA_ARCHITECTURES=89 -DCGAL_DIR=[CGAL_INSTALL_PATH] ..
cd scripts/shell
bash rgb_reconstruction [path_to_third_party] [path_to_data]
The demo data is uploaded into baidu disk, psw:7z9n, After running the mission_plan shell, the path will be visualized as follows:
We provide a sample data in baidu disk from DTU datasets and the password is uts5. For custom data, he data format should be like:
---Project
---images
---A.png
---B.png
- Add Mission planning code for DJI platform.
- Change uavmvs in a cmake lib
- Add MVE as the sfm basic lib
- Test the ndair and oblique path planning
- Test the optimized path planning
- Change uavmvs in a cmake lib
- Released Pipeline for COLMAP for SfM.
- Add openMVS as a library. From rgb input into textured mesh.
- For large-scale dataset, incoorperate parallel-sfm module
- Add lite version to generate the real-time orthorectified image.
- Add GPS info from the exiv file.
- Add Mesh refine module by line constrain.