THuman Dataset preprocess
Closed this issue · 11 comments
Hi, I found the program was running so slowly when I ran bash render_batch.sh debug all
, I figured out it stopped at hits = mesh.ray.intersects_any (origins + delta * normals, vectors)
, and the number of rays is the millions, is that the reason why it was too slow?
Pyembree is required for computing ray intersection inside trimesh (https://trimsh.org/), please uninstall and reinstall pyembree and trimesh, and then it should work well.
Same issue in PIFu
thx,now intersects_any()
works fine, but I ran into another problem:
-> rndr = PRTRender(width=size, height=size, ms_rate=16, egl=egl)
(Pdb) c
Traceback (most recent call last):
File "./render_single.py", line 125, in <module>
rndr = PRTRender(width=size, height=size, ms_rate=16, egl=egl)
File "/home/private/project/3d-holographic-reconstruction/ICON/scripts/./../lib/renderer/gl/prt_render.py", line 35, in __init__
CamRender.__init__(self,
File "/home/private/project/3d-holographic-reconstruction/ICON/scripts/./../lib/renderer/gl/cam_render.py", line 32, in __init__
Render.__init__(self,
File "/home/private/project/3d-holographic-reconstruction/ICON/scripts/./../lib/renderer/gl/render.py", line 96, in __init__
glTexImage2DMultisample(GL_TEXTURE_2D_MULTISAMPLE,
File "/home/private/Software/anaconda3/envs/icon/lib/python3.8/site-packages/OpenGL/platform/baseplatform.py", line 415, in __call__
return self( *args, **named )
File "src/errorchecker.pyx", line 58, in OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError
OpenGL.error.GLError: GLError(
err = 1282,
description = b'invalid operation',
baseOperation = glTexImage2DMultisample,
cArguments = (
GL_TEXTURE_2D_MULTISAMPLE,
16,
GL_RGBA32F,
512,
512,
GL_TRUE,
)
)
Is PyOpenGL version or something else? my PyOpenGL==3.1.6
and PyOpenGL_accelerate==3.1.5
Could you send me the ID of this mesh?
0028
, I've tried 0028
and 0000
actually, but both of them can not got reasonable results
By the way, I use headless mode.
I checked my rendering results, and they are correct. These kinds of artifacts are often caused by the disordered face topology, and should be resolved by
mesh = trimesh.load(mesh_file, skip_materials=True, process=False, maintain_order=True, force='mesh')
.
BTW, I am using trimesh==3.9.35
Thank you so much for your reply! everything worked fine after I rebooted the mechine and ran the script again, though I'm not sure what caused this problem.
BTW, is there a way to get depth images that correspond to the RGB images?
set depth=True
in render_single.py, I just updated the dataset readme.