All Projects → mihaibujanca → Dynamicfusion

mihaibujanca / Dynamicfusion

Licence: bsd-3-clause
Implementation of Newcombe et al. CVPR 2015 DynamicFusion paper

Projects that are alternatives of or similar to Dynamicfusion

Dokai
Collection of Docker images for ML/DL and video processing projects
Stars: ✭ 58 (-78.28%)
Mutual labels:  opencv, cuda
Tsdf Fusion Python
Python code to fuse multiple RGB-D images into a TSDF voxel volume.
Stars: ✭ 464 (+73.78%)
Mutual labels:  3d-reconstruction, cuda
Build Deep Learning Env With Tensorflow Python Opencv
Tutorial on how to build your own research envirorment for Deep Learning with OpenCV, Python, Tensorfow
Stars: ✭ 66 (-75.28%)
Mutual labels:  opencv, cuda
Caer
High-performance Vision library in Python. Scale your research, not boilerplate.
Stars: ✭ 452 (+69.29%)
Mutual labels:  opencv, cuda
Opensfm
Open source Structure-from-Motion pipeline
Stars: ✭ 2,342 (+777.15%)
Mutual labels:  3d-reconstruction, opencv
Neuralsuperresolution
Real-time video quality improvement for applications such as video-chat using Perceptual Losses
Stars: ✭ 18 (-93.26%)
Mutual labels:  opencv, cuda
Tsdf Fusion
Fuse multiple depth frames into a TSDF voxel volume.
Stars: ✭ 426 (+59.55%)
Mutual labels:  3d-reconstruction, cuda
Pine
🌲 Aimbot powered by real-time object detection with neural networks, GPU accelerated with Nvidia. Optimized for use with CS:GO.
Stars: ✭ 202 (-24.34%)
Mutual labels:  opencv, cuda
Sltk
An OpenCV-based structured light processing toolkit.
Stars: ✭ 151 (-43.45%)
Mutual labels:  3d-reconstruction, opencv
Sobfu
real-time 3D reconstruction of non-rigidly deforming scenes using depth data
Stars: ✭ 113 (-57.68%)
Mutual labels:  3d-reconstruction, opencv
Tensorflow Cmake
TensorFlow examples in C, C++, Go and Python without bazel but with cmake and FindTensorFlow.cmake
Stars: ✭ 418 (+56.55%)
Mutual labels:  opencv, cuda
JetScan
JetScan : GPU accelerated portable RGB-D reconstruction system
Stars: ✭ 77 (-71.16%)
Mutual labels:  cuda, 3d-reconstruction
Gocv
Go package for computer vision using OpenCV 4 and beyond.
Stars: ✭ 4,511 (+1589.51%)
Mutual labels:  opencv, cuda
Object Detection And Location Realsensed435
Use the Intel D435 real-sensing camera to realize target detection based on the Yolov3 framework under the Opencv DNN framework, and realize the 3D positioning of the Objection according to the depth information. Real-time display of the coordinates in the camera coordinate system.ADD--Using Yolov5 By TensorRT model,AGX-Xavier,RealTime Object Detection
Stars: ✭ 36 (-86.52%)
Mutual labels:  opencv, cuda
3dv tutorial
An Invitation to 3D Vision: A Tutorial for Everyone
Stars: ✭ 571 (+113.86%)
Mutual labels:  3d-reconstruction, opencv
Msn Point Cloud Completion
Morphing and Sampling Network for Dense Point Cloud Completion (AAAI2020)
Stars: ✭ 196 (-26.59%)
Mutual labels:  3d-reconstruction, cuda
instant-ngp
Instant neural graphics primitives: lightning fast NeRF and more
Stars: ✭ 1,863 (+597.75%)
Mutual labels:  cuda, 3d-reconstruction
gpu-monitor
Script to remotely check GPU servers for free GPUs
Stars: ✭ 85 (-68.16%)
Mutual labels:  cuda
Opencv Python Series
An OpenCV & Python Tutorial Series and Reference.
Stars: ✭ 262 (-1.87%)
Mutual labels:  opencv
LuisaRender
High-Performance Multiple-Backend Renderer Based on LuisaCompute
Stars: ✭ 47 (-82.4%)
Mutual labels:  cuda

DynamicFusion

Implementation of Newcombe et al. 2015 DynamicFusion paper.

This project is still in active development and does not yet reproduce the results of the paper accurately.

The code is based on this KinectFusion implemenation

Building instructions:

Ubuntu 16.04

Clone dynamicfusion and dependencies.

git clone https://github.com/mihaibujanca/dynamicfusion --recursive

Install NVIDIA drivers.

  • Enable NVidia drivers (Search / Additional Drivers) selecting: "Using NVIDIA binary driver - version 375.66 from nvidia-375 (proprietary, tested)" "Using processor microcode firmware for Intel CPUs from intel-microcode (proprietary)"
  • Restart pc to complete installation

Alternatively a good tutorial with some common issues covered can be found here.

For fresh installs (this assumes you cloned your project in your home directory!):

chmod +x build.sh
./build.sh

If you are not on a fresh install, check build.sh for building instructions and dependencies.

If you want to build the tests as well, set -DBUILD_TESTS=ON.
To save frames showing the reconstruction progress, pass -DSAVE_RECONSTRUCTION_FRAMES=ON. The frames will be saved in <project_root>/output

To build documentation, go to the project root directory and execute

doxygen -g
doxygen Doxyfile

Running

./download_data 
./build/bin/dynamicfusion data/umbrella

Windows

Dependencies:

  • CUDA 5.0 or higher
  • OpenCV 2.4.8 or higher (modules opencv_core, opencv_highgui, opencv_calib3d, opencv_imgproc, opencv_viz). Make sure that WITH_VTK flag is enabled in CMake during OpenCV configuration.
  • Boost (libraries system, filesystem and program options. Only used in the demo. Tested with 1.64.0)
  • Ceres solver (Tested with version 1.13.0)

Implicit dependency (needed by opencv_viz):

  • VTK 5.8.0 or higher
  • SuiteSparse, BLAS and LAPACK for ceres Optional dependencies:
  • GTest for testing
  • Doxygen for documentation
  • OpenNI v1.5.4 for getting input straight from a kinect device.

Install NVIDIA drivers and CUDA

Optionals:

Download the dataset.
Create a data folder inside the project root directory.
Unzip the archive into data and remove any files that are not .png.
Inside data, create directories color and depth, and move color and depth frames to their corresponding folders.

To use with .oni captures or straight from a kinect device, use ./build/bin/dynamicfusion_kinect <path-to-oni> or ./build/bin/dynamicfusion_kinect <device_id>


Note: currently, the frame rate is too low (10s / frame) to be able to cope with live inputs, so it is advisable that you capture your input first.

References

DynamicFusion project page

@InProceedings{Newcombe_2015_CVPR,
author = {Newcombe, Richard A. and Fox, Dieter and Seitz, Steven M.},
title = {DynamicFusion: Reconstruction and Tracking of Non-Rigid Scenes in Real-Time},
booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2015}
}

The example dataset is taken from the VolumeDeform project.

@inbook{innmann2016volume,
author = "Innmann, Matthias and Zollh{\"o}fer, Michael and Nie{\ss}ner, Matthias and Theobalt, Christian 
         and Stamminger, Marc",
editor = "Leibe, Bastian and Matas, Jiri and Sebe, Nicu and Welling, Max",
title = "VolumeDeform: Real-Time Volumetric Non-rigid Reconstruction",
bookTitle = "Computer Vision -- ECCV 2016: 14th European Conference, Amsterdam, The Netherlands,
            October 11-14, 2016, Proceedings, Part VIII",
year = "2016",
publisher = "Springer International Publishing",
address = "Cham",
pages = "362--379",
isbn = "978-3-319-46484-8",
doi = "10.1007/978-3-319-46484-8_22",
url = "http://dx.doi.org/10.1007/978-3-319-46484-8_22"
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].