Code Monkey home page Code Monkey logo

vica-nerf's Introduction

ViCA-NeRF: View-Consistency-Aware 3D Editing of Neural Radiance Fields

This is the official implementation of VICA-NeRF.

Project-Page

Installation

Install pytorch and NeRFStudio (1.0.0):

Recommented: Follow the instructions on the NeRFStudio.

Directly install:

conda create --name vica -y python=3.8 -y
conda activate vica

pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 --extra-index-url https://download.pytorch.org/whl/cu118 
pip install ninja git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch
pip install nerfstudio==1.0.0 torchtyping

Install VICA-NeRF

git clone https://github.com/Dongjiahua/VICA-NeRF
cd VICA-NeRF

pip install --upgrade pip setuptools
pip install -e .

Usage

To edit the NeRF, it should be firstly trained on a scene. Following the instructions on NeRFStudio, it can be trained by:

ns-train nerfacto --data {PROCESSED_DATA_DIR}

The model will be saved in outputs/.../nerfstudio_models. You can use the following command to edit the NeRF:

ns-train vica --data {PROCESSED_DATA_DIR}  --load-dir {outputs/.../nerfstudio_models}  --pipeline.prompt {"Instruction"}

Options

Our method supports great controll on the final result by 2D edits. The following options can be used:

--pipeline.control {bool} # Whether to mannuly set the target content. Default: False
--pipeline.warm_up_iters {int} # The number of iterations to warm up the model. Default: -1 (automatically set the warm up iterations)
--pipeline.post_refine {bool} # Whether to refine the result by post-refinement. Default: False. May hurt the result for large scene.

Other tips for hyper-parameters

One previous work Instruct-NeRF2NeRF give great suggestions on some tips for editing hyper-parameters. Please refer to their suggestions for better results.

Acknowledgments

Our code is integrated based on the code framework of Instruct-NeRF2NeRF, thanks to their wonderful work

Citation

@inproceedings{dong2023vica,
  title={ViCA-NeRF: View-Consistency-Aware 3D Editing of Neural Radiance Fields},
  author={Dong, Jiahua and Wang, Yu-Xiong},
  booktitle={Thirty-seventh Conference on Neural Information Processing Systems},
  year={2023}
}

vica-nerf's People

Contributors

dongjiahua avatar

Stargazers

Yongjia Ma avatar Quantum Cat  avatar Chengkun Li avatar Khushal Sharma avatar Grandad avatar Jose Cohenca avatar Czvvd avatar YiChenCityU avatar Hyunjin Kim avatar Jing Yang avatar Yu Li avatar Neko "Tian" Asakura avatar Xusy2333 avatar ManGyu Gong avatar Qingyuan Shan avatar Leo avatar hrz avatar  avatar  avatar Markus Rauhalahti avatar Jeff Carpenter avatar Jingnan Gao avatar Xiyi Chen avatar Lu Ming avatar  avatar Jorge Bustos avatar Hu Zhu avatar GDRS avatar Shuhong Zheng avatar  avatar

Watchers

Hu Zhu avatar  avatar

Forkers

peterzs

vica-nerf's Issues

How to debug your model?

Thank you for your outstanding work, but I would like to debug in your model, how can I achieve this?

Local Editing

I couldn't find the partial editing code and implementation you provided. Can you provide the relevant code and data. And I noticed that some of the results in the paper did not use local editing, why is that? In theory, for editing tasks of key objects in a scene, keeping the background unchanged can improve the results. Thank you!

Incorrect result

I tested according to your method (performed 2x downsampling), but the result shown below is not good.
1、"Give him a cowboy hat"
frame_00001
frame_00008
frame_00033
2、“Turn him into Spider man with mask”
frame_00001
frame_00019
May I ask what the reason is? I have not made any modifications to your code and parameters. I conducted the experiment using version 1.1.0 of nerfstudio on Windows. I hope you can answer any doubts and provide a generation plan that is consistent with your paper's results. Thank you.

I cannot reproduce the results :)

Hi,

Thanks for this great work.

I was trying to use your code and reproduce the results, but so far I'm not able to. Could you please guide me where/how to debug the problem, because I literally use 'Turn him into iron man' prompt, and results are not comparable with the ones in the paper. I'm using Nerfstudio 1.0.0

Thanks for your help!

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.