autonomousvision / sdfstudio

A Unified Framework for Surface Reconstruction
Apache License 2.0
1.98k stars 185 forks source link

Get bad object mesh on custom dataset #236

Open shenggedeqiang opened 1 year ago

shenggedeqiang commented 1 year ago

I used my own object images (segmented) with neus-facto,but I got bad mesh result like this: {BFC56659-867E-49DB-B6F0-ACC94005617B} png

my process: 1、ns-process-data images --data data/xxx --output-dir outdata/xxx 2、python scripts/datasets/process_nerfstudio_to_sdfstudio.py --data outdata/xxx --output-dir customdata/xxx --data-type colmap --scene-type object 3、ns-train neus-facto --pipeline.model.sdf-field.inside-outside False --pipeline.model.background-model mlp --trainer.max-num-iterations 20000 --vis viewer --experiment-name neus-facto-xxx --pipeline.model.sdf-field.bias 0.3 --pipeline.model.num-neus-samples-per-ray 96 sdfstudio-data --data customdata/xxx 4、ns-extract-mesh --load-config xxx/config.yml --output-path meshes/neus-facto-xxx.ply

Is there any parameter to pay attention to?

niujinshuchong commented 1 year ago

Hi, you could adjust the --pipeline.model.sdf-field.bias 0.3 to some smaller value or you could create a mask for your data and use the mask loss to supervise the sdf field.

shenggedeqiang commented 1 year ago

thanks a lot ! when I changed the "pipeline.model.sdf-field.bias" to 0.2, I got even worse result: Screenshot from 2023-10-31 18-55-33 I also created mask for every pics, and setted the "has_foreground_mask": true, but still can't get good mesh😂

z-x-j commented 10 months ago

"How did you solve this problem?" thanks

hlpan commented 6 months ago

When extracting mesh, try this ns-extract-mesh --load-config config.yml --resolution 2048--marching-cube-threshold 0.001 --create-visibility-mask True --output-path meshes/mesh.ply