Skip to content

huangjuite/jaxneus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JaxNeuS

This is a JAX implementation of NeuS: Learning Neural Implicit Surfaces by Volume Rendering for Multi-view Reconstruction.

drawing drawing drawing drawing

Installation

recommend using conda

conda env create --file conda.yaml
conda activate jaxneus

prepare datasets

./download.sh

Running

  • Training without masks
python exp_runner.py --mode train --conf ./confs/womask.conf --case <case_name>
  • Training with masks
python exp_runner.py --mode train --conf ./confs/wmask.conf --case <case_name>
  • Extract surface from trained model
python exp_runner.py --mode validate_mesh --conf <config_file> --case <case_name> --is_continue # use latest checkpoint

The corresponding mesh can be found in exp/<case_name>/<exp_name>/meshes/<iter_steps>.ply.

  • View interpolation
python exp_runner.py --mode interpolate_<img_idx_0>_<img_idx_1> --conf <config_file> --case <case_name> --is_continue # use latest checkpoint

The corresponding image set of view interpolation can be found in exp/<case_name>/<exp_name>/render/.

Notes

Follow the NeuS code structure and command line for experiments. The rendering function is designed to handle a single ray and vectorized to apply to a batch of rays. The rendering procedure is optimized for speed using just-in-time compilation (JIT).

About

JAX implementation of NeuS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published