All Projects → dunbar12138 → DSNeRF

dunbar12138 / DSNeRF

Licence: MIT license
Code release for DS-NeRF (Depth-supervised Neural Radiance Fields)

Programming Languages

python
139335 projects - #7 most used programming language
C++
36643 projects - #6 most used programming language
Cuda
1817 projects

Projects that are alternatives of or similar to DSNeRF

New-View-Synthesis
Collecting papers about new view synthesis
Stars: ✭ 437 (+27.41%)
Mutual labels:  nerf, neural-radiance-fields
Nerf
Code release for NeRF (Neural Radiance Fields)
Stars: ✭ 4,062 (+1084.26%)
Mutual labels:  nerf, neural-radiance-fields
improved-nerfmm
Unofficial & improved implementation of NeRF--: Neural Radiance Fields Without Known Camera Parameters
Stars: ✭ 172 (-49.85%)
Mutual labels:  nerf, neural-radiance-fields
SMPL-NeRF
Embed human pose information into neural radiance fields (NeRF) to render images of humans in desired poses 🏃 from novel views
Stars: ✭ 29 (-91.55%)
Mutual labels:  nerf, neural-radiance-fields
gnerf
[ ICCV 2021 Oral ] Our method can estimate camera poses and neural radiance fields jointly when the cameras are initialized at random poses in complex scenarios (outside-in scenes, even with less texture or intense noise )
Stars: ✭ 152 (-55.69%)
Mutual labels:  nerf
MISE
Multimodal Image Synthesis and Editing: A Survey
Stars: ✭ 214 (-37.61%)
Mutual labels:  nerf
Nerf-Gun-Call-of-Duty-Warzone-Controller
DIY Call of Duty Warzone controller built using a nerf gun powered by the Raspberry Pi 4.
Stars: ✭ 18 (-94.75%)
Mutual labels:  nerf
cv-arxiv-daily
🎓Automatically Update CV Papers Daily using Github Actions (Update Every 12th hours)
Stars: ✭ 216 (-37.03%)
Mutual labels:  nerf
CIPS-3D
3D-aware GANs based on NeRF (arXiv).
Stars: ✭ 562 (+63.85%)
Mutual labels:  nerf
NeuRay
[CVPR2022] Neural Rays for Occlusion-aware Image-based Rendering
Stars: ✭ 291 (-15.16%)
Mutual labels:  nerf
mvsnerf
[ICCV 2021] Our work presents a novel neural rendering approach that can efficiently reconstruct geometric and neural radiance fields for view synthesis.
Stars: ✭ 533 (+55.39%)
Mutual labels:  nerf
neurecon
Multi-view 3D reconstruction using neural rendering. Unofficial implementation of UNISURF, VolSDF, NeuS and more.
Stars: ✭ 697 (+103.21%)
Mutual labels:  nerf
SCNeRF
[ICCV21] Self-Calibrating Neural Radiance Fields
Stars: ✭ 383 (+11.66%)
Mutual labels:  nerf
hypernerf
Code for "HyperNeRF: A Higher-Dimensional Representation for Topologically Varying Neural Radiance Fields".
Stars: ✭ 735 (+114.29%)
Mutual labels:  nerf
torch-ngp
A pytorch CUDA extension implementation of instant-ngp (sdf and nerf), with a GUI.
Stars: ✭ 1,317 (+283.97%)
Mutual labels:  nerf
instant-ngp
Instant neural graphics primitives: lightning fast NeRF and more
Stars: ✭ 1,863 (+443.15%)
Mutual labels:  nerf
tiny-cuda-nn
Lightning fast & tiny C++/CUDA neural network framework
Stars: ✭ 908 (+164.72%)
Mutual labels:  nerf
NerfingMVS
[ICCV 2021 Oral] NerfingMVS: Guided Optimization of Neural Radiance Fields for Indoor Multi-view Stereo
Stars: ✭ 253 (-26.24%)
Mutual labels:  neural-radiance-fields

Depth-supervised NeRF: Fewer Views and Faster Training for Free

Project | Paper | YouTube

Pytorch implementation of DS-NeRF. DS-NeRF can improve the training of neural radiance fields by leveraging depth supervision derived from 3D point clouds. It can be used to train NeRF models given only very few input views.

Depth-supervised NeRF: Fewer Views and Faster Training for Free

CVPR, 2022

Kangle Deng1, Andrew Liu2, Jun-Yan Zhu1, Deva Ramanan1,3,

1CMU, 2Google, 3Argo AI


We propose DS-NeRF (Depth-supervised Neural Radiance Fields), a model for learning neural radiance fields that takes advantage of depth supervised by 3D point clouds. Current NeRF methods require many images with known camera parameters -- typically produced by running structure-from-motion (SFM) to estimate poses and a sparse 3D point cloud. Most, if not all, NeRF pipelines make use of the former but ignore the latter. Our key insight is that such sparse 3D input can be used as an additional free signal during training.

Results

NeRF trained with 2 views:

DS-NeRF trained with 2 views:

NeRF trained with 5 views:

DS-NeRF trained with 5 views:


Quick Start

Dependencies

Install requirements:

pip install -r requirements.txt

You will also need COLMAP installed to compute poses if you want to run on your data.

Data

Download data for the example scene: fern_2v

bash download_example_data.sh

To play with other scenes presented in the paper, download the data here.

Pre-trained Models

You can download the pre-trained models here. Place the downloaded directory in ./logs in order to test it later. See the following directory structure for an example:

├── logs 
│   ├── fern_2v    # downloaded logs
│   ├── flower_2v  # downloaded logs

How to Run?

Generate camera poses and sparse depth information using COLMAP (optional)

This step is necessary only when you want to run on your data.

First, place your scene directory somewhere. See the following directory structure for an example:

├── data
│   ├── fern_2v
│   ├── ├── images
│   ├── ├── ├── image001.png
│   ├── ├── ├── image002.png

To generate the poses and sparse point cloud:

python imgs2poses.py <your_scenedir>

Testing

Once you have the experiment directory (downloaded or trained on your own) in ./logs,

  • to render a video:
python run_nerf.py --config configs/fern_dsnerf.txt --render_only

The video would be stored in the experiment directory.

Training

To train a DS-NeRF on the example fern dataset:

python run_nerf.py --config configs/fern_dsnerf.txt

It will create an experiment directory in ./logs, and store the checkpoints and rendering examples there.

You can create your own experiment configuration to try other datasets.

Use depth-supervised loss in your own project

We provide a tutorial on how to use depth-supervised loss in your own project here.


Citation

If you find this repository useful for your research, please cite the following work.

@InProceedings{kangle2021dsnerf,
    author    = {Deng, Kangle and Liu, Andrew and Zhu, Jun-Yan and Ramanan, Deva},
    title     = {Depth-supervised {NeRF}: Fewer Views and Faster Training for Free},
    booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
    month     = {June},
    year      = {2022}
}

Acknowledgments

This code borrows heavily from nerf-pytorch. We thank Takuya Narihira, Akio Hayakawa, Sheng-Yu Wang, and for helpful discussion. We are grateful for the support from Sony Corporation, Singapore DSTA, and the CMU Argo AI Center for Autonomous Vehicle Research.

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].