Closed EchoTHChen closed 1 year ago
Do you run the first stage with prolificdreamer-scene.yaml? I think for this setting, the geometry could be very bad because the camera itself has a fixed position during optimization, even if the visualization seems good.
You may need to set system.model.radius
in prolificdreamer-geometry.yaml
to be the same as prolificdreamer-scene.yaml
.
You may need to set
system.model.radius
inprolificdreamer-geometry.yaml
to be the same asprolificdreamer-scene.yaml
.
Segmentation fault happened again when i set the system.geometry.radius=5
to be the same as prolificdreamer-scene.yaml
.
Do you run the first stage with prolificdreamer-scene.yaml? I think for this setting, the geometry could be very bad because the camera itself has a fixed position during optimization, even if the visualization seems good.
Yes. I run the first stage with prolificdreamer-scene.yaml.
Maybe you need to debug line by line to see which line caused the segmentation fault in the create_from
function in models/geometry/tetrahedra_sdf_grad.py
. I've successfully extracted the mesh from a scene using system.geometry.radius=5
although it's pretty bad:
NeRF:
Extracted mesh:
Hi! After I debug line by line. I found that it occurred in the function initialize_context
of threestudio.utils.rasterize.py
. If I initialize the context with the type of 'gl'. Line 16: dr.RasterizeGLContext(device=device)
will throw the error:Segmentation fault. If I use the context type of 'cuda', the segmentation fault disappeared. But the geometry extracted is bad like this:
Almost nothing is extracted. I wonder how to avoid this problem.
The rendered result in first stage trained by NeRF looks like: (Now, I'm using the text prompt:"Inside of a smart home, realistic detailed photo, 4k")
Are you able to run the fantasia3d pipeline correctly?
Are you able to run the fantasia3d pipeline correctly?
It seems that Fantasia3D works correctly when extracting the geometry. ("gl"context type in my environment still caused Segmentation Fault. So I used "cuda" context type instead):
Did you try a lower system.geometry_convert_override.isosurface_threshold
(default to 25) when extracting the scene geometry?
The result turns out much better. But a black hole still exists. (Now I set system.geometry_convert_override.isosurface_threshold=10
)
I set system.geometry_convert_override.isosurface_threshold
lower (such as 5). The hole disappeared completely.
I'm trying to extract the geometry of the generated result when i run the script:
The log shown in terminal is:
I guess that the room-level mesh extraction may take a lot of memory (RAM or VRAM). But I don't know how to solve it. Do you have any idea?