This is repository for CS492 development project - Differentiable Volumetric Rendering paper. We borrowed mesh generation code for occupancy network ("/utils" and "setup.py" and part of "generator.py") from Occupancy network github. We referenced the mesh refinement code from original code because there are no explanation about this on the paper
type
conda env create --file environment.yaml
conda activate DVR
python setup.py build_ext --inplace
to create conda environment and compile "/utils". You may adjust pytorch version based on your environment.
You can download DTU MVS dataset from Here. The dataset is from Official dvr code github. create "data" folder in the main directory and place the dataset there.
You can download pretrained model Here. Unzip the out.zip and place in main directory. Then, type
python generate.py config/(whatever)/(youwant).yaml
to generate output mesh. For example, if you want to generate mesh for 'skull' scene trained with mvs depth supervision, type
python generate.py config/skull/mvs.yaml
If you want to train the model from scratch, type
python fit.py config/(whatever)/(youwant).yaml
We used official DTU MVS dataset evaluation code Here. Install matlab and run BaseEvalMain_web.m then ComputeStat_web.m. We provided our result meshes. If you want to evaluate your own results, just replace the results in /MVS Data/Surfaces.