threestudio
threestudio copied to clipboard
magic3d visual gap between the end of coarse and the beginning of refine
Thank you a lot for your nice share! I try to train magic3d with prompt "ironman, full body". 4 V100 cards and batchsize = 2 for each card
After the coarse stage of magic3d training,the visual images are as follows
https://github.com/threestudio-project/threestudio/assets/30063446/1cf21bd6-d60f-4a20-83a4-3f7208c226f2
But the initial visualization of refine stage is very different from the end of coarse stage, after loading the weights.
the initial visualization of refine stage are as follows
This gap seems a bit big, is this result normal? The final result of refine stage is as follows
https://github.com/threestudio-project/threestudio/assets/30063446/f588139c-9547-475f-a058-d7ace5eb5499
Hi, the reasons are as follows:
- The extracted geometry is not accurate enough, due to inappropriate choice of isosurface threshold. By default, the threshold is automatically determined but often fails (leading to floaters and bbox that's not tight enough). You may manually specify a threshold value by
system.geometry.isosurface_threshold=some_float_value
, based on the automatically determined value shown in the console:
In your case, you should probably use a larger threshold value.
- Magic3D coarse stage uses predicted normals, which are not true geometric normals. However, the refinement stage uses true geometric normals of the mesh, which brings an appearance gap. This is the expected behavior. If you want to keep appearance consistency across stages, I recommend you using analytic normals in the coarse stage by setting
system.geometry.normal_type=analytic
.
Let me know if things get better.
@bennyguo answered and @chenglong0313 hasn't replied in 3 weeks... I recommend we close this issue.