nrhints

Official Code Release for [SIGGRAPH 2023] Relighting Neural Radiance Fields with Shadow and Highlight Hints

https://github.com/iamncj/nrhints

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.3%) to scientific vocabulary

Keywords

nerf neural-rendering neural-representation relighting siggraph

Keywords from Contributors

mesh interactive hacking
Last synced: 6 months ago · JSON representation ·

Repository

Official Code Release for [SIGGRAPH 2023] Relighting Neural Radiance Fields with Shadow and Highlight Hints

Basic Info
  • Host: GitHub
  • Owner: iamNCJ
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage: https://nrhints.github.io
  • Size: 1.47 MB
Statistics
  • Stars: 170
  • Watchers: 6
  • Forks: 12
  • Open Issues: 4
  • Releases: 0
Topics
nerf neural-rendering neural-representation relighting siggraph
Created over 2 years ago · Last pushed 12 months ago
Metadata Files
Readme License Citation

README.md

Relighting Neural Radiance Fields with Shadow and Highlight Hints

Chong Zeng · Guojun Chen · Yue Dong · Pieter Peers · Hongzhi Wu · Xin Tong

SIGGRAPH 2023 Conference Proceedings


Project Page | Paper | arXiv | Data


Setup

Environment

The code is developed and tested on Linux servers with NVIDIA GPU(s). We support Python 3.8+ and PyTorch 1.11+. After getting a required Python environment, you can setup the rest of requirements by running:

bash git clone https://github.com/iamNCJ/NRHints.git cd NRHints pip install -r requirements.txt

Data

Our data is compatible with NeRF Blender Dataset, except that we have extra fields in each frame for point light position.

You can download our data here.

Usage

Configuration System

We use tyro for configuration management. Description to all configurations can be found by running python main.py -h.

Training

bash python3 main.py config:nr-hints --config.data.path /path/to/data/ --config.scene-name XXX

Refer to train_synthetic.sh and train_real.sh for training on synthetic and real data, respectively.

Note: 1. Our code automatically detects the number of GPUs and uses all of them for training. If you want to use a subset of GPUs, you can set the CUDA_VISIBLE_DEVICES environment variable. 2. For training on real captured scenes, we recommend turning on camera optimization by using config:nr-hints-cam-opt, which can significantly reduce the blurry effects. Since this is an improvement after the paper submission, details are described in the author's version.

Testing

bash python3 main.py config:nr-hints --config.data.path /path/to/data/ --config.scene-name XXX --config.evaluation-only True

Refer to eval_synthetic.sh and eval_real.sh for testing on synthetic and real data, respectively.

Our pretrained models can be downloaded here.

Data and Models

Real Captured Scenes

| Object | Data | Pre-trained model | | ----------- | :----------: | :-----------: | | Cat | Link | Link | | Cluttered Scene | Link | Link | | Pixiu Statuette | Link | Link | | Ornamental Fish | Link | Link | | Cat on Decor | Link | Link | | Cup and Fabric | Link | Link | | Pikachu Statuette | Part1 Part2 | Link |

Synthetic Rendered Scenes

Note: Our synthetic data rendering scripts are released at here.

| Object | Data | Pre-trained model | | ----------- | :----------: | :-----------: | | Diffuse | Link | Link | | Metallic | Link | Link | | Glossy-Metal | Link | Link | | Rough-Metal | Link | Link | | Anisotropic-Metal | Link | Link | | Plastic | Link | Link | | Glossy-Plastic | Link | Link | | Rough-Plastic | Link | Link | | Short-Fur | Link | Link | | Long-Fur | Link | Link | | Translucent | Link | Link | | Fur-Ball | Link | Link | | Basket | Link | Link | | Layered Woven Ball | Link | Link | | Drums | Link | Link | | Hotdog | Link | Link | | Lego | Link | Link |

You can use the script download_data.sh to download all data.

Citation

Cite as below if you find this repository is helpful to your project:

@inproceedings {zeng2023nrhints, title = {Relighting Neural Radiance Fields with Shadow and Highlight Hints}, author = {Chong Zeng and Guojun Chen and Yue Dong and Pieter Peers and Hongzhi Wu and Xin Tong}, booktitle = {ACM SIGGRAPH 2023 Conference Proceedings}, year = {2023} }

Acknowledgement

Some code snippets are borrowed from NeuS and Nerfstudio. Thanks for these great projects.

Owner

  • Name: NCJ
  • Login: iamNCJ
  • Kind: user
  • Location: Somewhere I Belong
  • Company: TBD

Graphics | Previous Research Intern @microsoft @UCSD | Master@ZJU

Citation (CITATION.cff)

cff-version: 1.2.0
message: "Cite as below if you find this repository is helpful to your project"
url: "https://github.com/iamNCJ/NRHints"
preferred-citation:
  type: conference-paper
  authors:
  - family-names: "Zeng"
    given-names: "Chong"
  - family-names: "Chen"
    given-names: "Guojun"
  - family-names: "Dong"
    given-names: "Yue"
  - family-names: "Peers"
    given-names: "Pieter"
  - family-names: "Wu"
    given-names: "Hongzhi"
  - family-names: "Tong"
    given-names: "Xin"
  doi: "10.1145/3588432.3591482"
  title: "Relighting Neural Radiance Fields with Shadow and Highlight Hints"
  booktitle: "ACM SIGGRAPH 2023 Conference Proceedings"
  year: 2023

GitHub Events

Total
  • Issues event: 3
  • Watch event: 16
  • Issue comment event: 2
  • Push event: 4
Last Year
  • Issues event: 3
  • Watch event: 16
  • Issue comment event: 2
  • Push event: 4

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 16
  • Total Committers: 3
  • Avg Commits per committer: 5.333
  • Development Distribution Score (DDS): 0.5
Past Year
  • Commits: 7
  • Committers: 2
  • Avg Commits per committer: 3.5
  • Development Distribution Score (DDS): 0.143
Top Committers
Name Email Commits
NCJ me@n****i 8
doyleconan c****e@g****m 7
dependabot[bot] 4****] 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 8
  • Total pull requests: 1
  • Average time to close issues: 19 days
  • Average time to close pull requests: 1 minute
  • Total issue authors: 8
  • Total pull request authors: 1
  • Average comments per issue: 1.5
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 2
  • Pull requests: 1
  • Average time to close issues: 6 days
  • Average time to close pull requests: 1 minute
  • Issue authors: 2
  • Pull request authors: 1
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 1
Top Authors
Issue Authors
  • yxuhan (1)
  • jinjiujiujin (1)
  • AryamanSharma17 (1)
  • arpit2412 (1)
  • GrumpySloths (1)
  • HarryPeverell (1)
  • jxl0131 (1)
Pull Request Authors
  • dependabot[bot] (2)
Top Labels
Issue Labels
Pull Request Labels
dependencies (2)

Dependencies

requirements.txt pypi
  • PyMCubes ==0.1.2
  • einops *
  • imageio ==2.24.0
  • imageio-ffmpeg ==0.4.8
  • jaxtyping ==0.2.19
  • lpips ==0.1.4
  • numpy *
  • opencv-python ==4.7.0.68
  • scipy *
  • tensorboardX ==2.5.1
  • torch *
  • torchinfo ==1.8.0
  • torchmetrics ==1.0.0
  • tqdm *
  • trimesh ==3.18.0
  • tyro ==0.5.4
  • wandb *