Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Co Fusion | 414 | 2 years ago | 5 | other | C++ | |||||
Co-Fusion: Real-time Segmentation, Tracking and Fusion of Multiple Objects | ||||||||||
Elasticreconstruction | 407 | 7 years ago | 7 | other | C++ | |||||
3D reconstruction system to creating detailed scene geometry from range video. | ||||||||||
Smvs | 238 | a year ago | 2 | bsd-3-clause | C++ | |||||
Shading-aware Multi-view Stereo | ||||||||||
Npbg | 227 | a year ago | 10 | mit | Python | |||||
Neural Point-Based Graphics | ||||||||||
Morefusion | 201 | 8 months ago | 13 | other | Python | |||||
MoreFusion: Multi-object Reasoning for 6D Pose Estimation from Volumetric Fusion, CVPR 2020 | ||||||||||
Holistic_scene_parsing | 158 | 5 years ago | 6 | mit | Python | |||||
Code for ECCV 2018 paper - Holistic 3D Scene Parsing and Reconstruction from a Single RGB Image | ||||||||||
Robustpclreconstruction | 96 | 4 years ago | 1 | other | C++ | |||||
Robust Point Cloud Based Reconstruction of Large-Scale Outdoor Scenes | ||||||||||
Sobfu | 95 | 5 years ago | 6 | bsd-3-clause | C++ | |||||
real-time 3D reconstruction of non-rigidly deforming scenes using depth data | ||||||||||
Fkmigration.jl | 64 | 3 years ago | mit | Julia | ||||||
A Julia project demonstrating the fast f-k migration algorithm. | ||||||||||
Invsfm | 60 | 4 years ago | other | Python | ||||||
InvSFM: Revealing Scenes by Inverting Structure from Motion Reconstructions [CVPR 2019] |
Authors: Shun-Cheng Wu, Keisuke Tateno, Nassir Navab and Federico Tombari
This is an implementation of our SCFusion on InfiniTAM for open source purpose.
apt-get update
apt install python3-pip
pip3 install cmake
git clone https://github.com/eigenteam/eigen-git-mirror.git
cd eigen-git-mirror; mkdir build;cd build;cmake ..; make install
sudo apt install libpcl-dev
git clone https://github.com/opencv/opencv.git
cd opencv; mkdir build; cd build;
cmake ..; make; make install
apt-get install libglfw3 libglfw3-dev
apt-get install libassimp-dev assimp-utils
git clone https://github.com/edrosten/TooN.git; cd TooN;
./configure && make && make install
Please follow the instruction on NVIDIA offical site. assimp (for data generation).
libTorch : You can download the pre-built version from Pytorch website or build it from source
e.g. https://download.pytorch.org/libtorch/cu117/libtorch-cxx11-abi-shared-with-deps-2.0.1%2Bcu117.zip
If you have nvidia-docker2:
docker pull gn02077706/ubuntu18.04_cuda_dev:torch
else
# only if you haven't installed docker yet
curl https://get.docker.com | sh
sudo systemctl start docker
sudo systemctl enable docker
# set up container toolkits
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
&& curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
# install nvidia-docker2
sudo apt-get update
sudo apt-get install -y nvidia-docker2
# restart docker
sudo systemctl restart docker
The docker image has all the dependencies our method needs.
On your system or withint docker:
git clone --recurse-submodules https://github.com/ShunChengWu/SCFusion.git
cd SCFusion; mkdir build; cd build;
#`-DBUILD_DATA_GENERATOR=True` to build data generator.
#`-DWITH_PYTORCH=True -DPYTORCH_PATH=/path/to/libtorch/` to enable pytorch support
#`-DWITH_GUI=ON` to build with GUI
cmake -DCMAKE_BUILD_TYPE=Release ..;
make
Our system takes a configuration file. You can find an example file under Configurations folder.
It also takes some command line arguments, you can find them by pass --h
or in /SLAMWrapper/include/SLAMTools/Parser.hpp.
The trained model can be downloaded here.
Put the downloaded model SI_ScanNet_0614.pt
under Models folder.
Change libSettings->scParams.pth_to_pb
in a config file to where this file is stored.
To reconstruct
# useGTPose 0: no, 1: assist, 2: yes
./build/App/SCFusion/exe_scfusion_OFusionRGB1Label ./Configurations/Config_ScanNet_CRF.txt --useGTPose 2 --useSC 1 --pthOut /pth/to/output/folder/
# or with GUI (left button: translation; right button: rotation; scrolling: zoom. )
./build/App/SCFusion/exe_scfusion_gui_OFusionRGB1Label ./Configurations/Config_ScanNet_CRF.txt --useGTPose 2 --useSC 1 --pthOut /pth/to/output/folder/
Get mesh
./exe_Map2Mesh_OFusionRGB1Label --pth_in /pth/to/output/folder/ --pth_out /pth/to/output_mesh/folder/
Our dataset is built based on ScanNet, Scan2CAD and ShapeNetCore.v2. You will need to download the dataset from them first in order to build CompleteScanNet.
You will need to download the *_vh_clean_2.labels.ply
and *.sens
files.
Generated ground truth is available at this link. Please make sure you have agreed all the terms of use from ScanNet, Scan2CAD and ShapeNetCore.v2.
Our system uses a different coordinate system than ScanNet. The input ply files must be flipped in order to correctly align it to our system.
It's also possible to use the original ScanNet coordinate system, but you will need to change some codes accordingly. We are working on that.
**Update main 7886e87
**
This is no longer needed. At least in the data generation. Haven't fully tested yet.
# Generate aligned poses
cd ../build/App/extractPoseFromScanNet;
./exe_ExtractPoseFromScanNet --pth_in /pth/to/scannet/scans/ --pth_out /pth/to/output/pose_folder/
replace --fill 1
to --fill 0
if you want to generate not filled ground truth.
# Prepare ground truth
./exe_GroundtruthGenerator_ScanNetScan2CAD \
../../Configurations/Config_ScanNet.txt \
--pth_scan /pth/to/scannet/scans/ \
--pth_shapenet /pth/to/shanetcore.v2/ \
--pth_annotations /pth/to/Scan2CAD/Routines/Script/full_annotations.json \
--gui 0 \
--verbose 0 \
--pthOut /path/to/output/folder/ \
--fill 1 \
--labelNum 12
cd scripts
# Need to change paths
python3 GenerateTrainingData_ScanNetScan2CAD_skip200.py
Please check the network repository: SCFusion_Network
@INPROCEEDINGS{Wu2020,
author={Wu, Shun-Cheng and Tateno, Kesuke and Navab, Nassir and Tombari, Federico},
booktitle={2020 International Conference on 3D Vision (3DV)},
title={SCFusion: Real-time Incremental Scene Reconstruction with Semantic Completion},
year={2020},
pages={801-810},
doi={10.1109/3DV50981.2020.00090}}
This work is supported by the German Research Foundation (DFG, project number 407378162) and the Bavarian State Ministry of Education, Science and the Arts in the framework of the Centre Digitisation Bavaria (ZD.B).