THU-DA-6D-Pose-Group / GDR-Net

GDR-Net: Geometry-Guided Direct Regression Network for Monocular 6D Object Pose Estimation. (CVPR 2021)

Home Page:https://github.com/THU-DA-6D-Pose-Group/GDR-Net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

关于xyz_crop生成问题

hellohaley opened this issue · comments

王博你好,我在使用tools/lm/lm_pbr_1_gen_xyz_crop.py生成xyz_crop文件的过程中遇到了这个问题。

Traceback (most recent call last):
File "tools/lm/lmo_pbr_1_gen_xyz_crop.py", line 228, in
xyz_gen.main()
File "tools/lm/lmo_pbr_1_gen_xyz_crop.py", line 137, in main
bgr_gl, depth_gl = self.get_renderer().render(render_obj_id, IM_W, IM_H, K, R, t, near, far)
File "tools/lm/lmo_pbr_1_gen_xyz_crop.py", line 98, in get_renderer
self.renderer = Renderer(
File "/data/hsm/gdr/tools/lm/../../lib/meshrenderer/meshrenderer_phong.py", line 26, in init
self._fbo = gu.Framebuffer(
File "/data/hsm/gdr/tools/lm/../../lib/meshrenderer/gl_utils/fbo.py", line 22, in init
glNamedFramebufferTexture(self.__id, k, attachement.id, 0)
File "/data/hsm/env/gdrn2/lib/python3.8/site-packages/OpenGL/platform/baseplatform.py", line 415, in call
return self( *args, **named )
ctypes.ArgumentError: argument 1: <class 'TypeError'>: wrong type

我认为可能是在 https://github.com/THU-DA-6D-Pose-Group/GDR-Net/blob/main/lib/meshrenderer/gl_utils/fbo.py#L19 中传入的k类型不匹配所以出错。图片为debug中显示的glNamedFramebufferTexture函数要求传入的数据类型。
图片
在issue中没有找到与我类似的问题,请问有人有任何解决这个问题的相关建议吗?

建议你先看看https://github.com/thodan/bop_toolkit 或者 https://github.com/DLR-RM/AugmentedAutoencoder ,检查下egl是否能正常工作

王博你好,我在使用tools/lm/lm_pbr_1_gen_xyz_crop.py生成xyz_crop文件的过程中遇到了这个问题。

Traceback (most recent call last): File "tools/lm/lmo_pbr_1_gen_xyz_crop.py", line 228, in xyz_gen.main() File "tools/lm/lmo_pbr_1_gen_xyz_crop.py", line 137, in main bgr_gl, depth_gl = self.get_renderer().render(render_obj_id, IM_W, IM_H, K, R, t, near, far) File "tools/lm/lmo_pbr_1_gen_xyz_crop.py", line 98, in get_renderer self.renderer = Renderer( File "/data/hsm/gdr/tools/lm/../../lib/meshrenderer/meshrenderer_phong.py", line 26, in init self._fbo = gu.Framebuffer( File "/data/hsm/gdr/tools/lm/../../lib/meshrenderer/gl_utils/fbo.py", line 22, in init glNamedFramebufferTexture(self.__id, k, attachement.id, 0) File "/data/hsm/env/gdrn2/lib/python3.8/site-packages/OpenGL/platform/baseplatform.py", line 415, in call return self( *args, **named ) ctypes.ArgumentError: argument 1: <class 'TypeError'>: wrong type

我认为可能是在 https://github.com/THU-DA-6D-Pose-Group/GDR-Net/blob/main/lib/meshrenderer/gl_utils/fbo.py#L19 中传入的k类型不匹配所以出错。图片为debug中显示的glNamedFramebufferTexture函数要求传入的数据类型。 图片 在issue中没有找到与我类似的问题,请问有人有任何解决这个问题的相关建议吗?

您好,请问您解决了吗

大概率是egl环境配置的问题,可以把 https://github.com/thodan/bop_renderer/blob/master/samples/renderer_test.py#L56 设置成vispy, 用 https://github.com/thodan/bop_toolkit 检查下vispy能否正常使用egl。

Hello @wangg12 ,

I am getting the same error while running code to generate xyz_crop:
image

Do you know how to resolve it?

Also, (1) what is the use of xyz_crop? (2) why does it use renderer? (3) Can it use Open3D headless renderer (link)? Do you know what code to change to use open3D instead of EGL/OpenGL/GLFW renderer?

Thank you,
Supriya