mmdetection3d icon indicating copy to clipboard operation
mmdetection3d copied to clipboard

[Docs] 可视化文档draw_bboxes_3d测试报错

Open xuyuxiang7 opened this issue 1 year ago • 11 comments

Branch

main branch https://mmdetection3d.readthedocs.io/en/latest/

📚 The doc issue

可视化文档draw_bboxes_3d测试报错。下面是报错 Traceback (most recent call last): File "/home/xyx/project/mmdetection3d/results/可视化demo.py", line 16, in visualizer.draw_bboxes_3d(bboxes_3d) File "/home/xyx/project/mmdetection3d/mmdet3d/visualization/local_visualizer.py", line 317, in draw_bboxes_3d line_set.paint_uniform_color(np.array(bbox_color[i]) / 255.) TypeError: paint_uniform_color(): incompatible function arguments. The following argument types are supported: 1. (self: open3d.cuda.pybind.geometry.LineSet, color: numpy.ndarray[numpy.float64[3, 1]]) -> open3d.cuda.pybind.geometry.LineSet

Invoked with: LineSet with 12 lines., 0.0

Suggest a potential alternative/fix

No response

xuyuxiang7 avatar Nov 30 '23 02:11 xuyuxiang7

加油吧,我也是摸索了好多天

  1. 用项目里 docker 文件夹下的Dockerfile制作镜像,避免包之间的版本冲突
  2. Windows下配置好 vcXsrv, 启动时取消勾选 Native opengl

image

guhuajun avatar Dec 04 '23 03:12 guhuajun

请问有解决吗,没有用docker配置环境。

thelandord avatar Jan 25 '24 06:01 thelandord

同问

GODBENGAY avatar Jan 25 '24 07:01 GODBENGAY

windows平台 一样的错误,解决了吗?大佬

18722013889 avatar Feb 20 '24 07:02 18722013889

I got the same issue when running the code in the documentation. Any hint to solve this problem?

import torch
import numpy as np

from mmdet3d.visualization import Det3DLocalVisualizer
from mmdet3d.structures import LiDARInstance3DBoxes

points = np.fromfile('demo/data/kitti/000008.bin', dtype=np.float32)
points = points.reshape(-1, 4)
visualizer = Det3DLocalVisualizer()
# set point cloud in visualizer
visualizer.set_points(points)
bboxes_3d = LiDARInstance3DBoxes(
    torch.tensor([[8.7314, -1.8559, -1.5997, 4.2000, 3.4800, 1.8900,
                   -1.5808]]))
# Draw 3D bboxes
visualizer.draw_bboxes_3d(bboxes_3d)
visualizer.show()

btn6364 avatar Mar 13 '24 14:03 btn6364

I got the same issue when running the code in the documentation. Any hint to solve this problem?

import torch
import numpy as np

from mmdet3d.visualization import Det3DLocalVisualizer
from mmdet3d.structures import LiDARInstance3DBoxes

points = np.fromfile('demo/data/kitti/000008.bin', dtype=np.float32)
points = points.reshape(-1, 4)
visualizer = Det3DLocalVisualizer()
# set point cloud in visualizer
visualizer.set_points(points)
bboxes_3d = LiDARInstance3DBoxes(
    torch.tensor([[8.7314, -1.8559, -1.5997, 4.2000, 3.4800, 1.8900,
                   -1.5808]]))
# Draw 3D bboxes
visualizer.draw_bboxes_3d(bboxes_3d)
visualizer.show()

Hello, did you solve the problem?

Wang0203 avatar Mar 25 '24 08:03 Wang0203

TypeError: paint_uniform_color(): incompatible function arguments. The following argument types are supported: 1. (self: open3d.cuda.pybind.geometry.LineSet, color: numpy.ndarray[numpy.float64[3, 1]]) -> open3d.cuda.pybind.geometry.LineSet

按照上面的描述,报错的代码应该是这个函数调用时传递的参数问题 line_set.paint_uniform_color(np.array(bbox_color[i]) / 255.)

传入的color应该是float64的numpy数组,形状是[3,1],而draw_bboxes_3d的bbox_color参数默认值是一个Tuple[float] = (0, 1, 0),但是这里bbox_color[i]经过索引后形状不再是[3,1]了,我把两处bbox_color[i]改成bbox_color后可以显示点云和bounding box,就是颜色有点奇怪

WZWAsuna avatar Mar 29 '24 01:03 WZWAsuna

visualizer.draw_bboxes_3d(bboxes_3d,(255,0,0)) 调用时传入了设置bbox颜色的元组修改了颜色

TypeError: paint_uniform_color(): incompatible function arguments. The following argument types are supported: 1. (self: open3d.cuda.pybind.geometry.LineSet, color: numpy.ndarray[numpy.float64[3, 1]]) -> open3d.cuda.pybind.geometry.LineSet

按照上面的描述,报错的代码应该是这个函数调用时传递的参数问题 line_set.paint_uniform_color(np.array(bbox_color[i]) / 255.)

传入的color应该是float64的numpy数组,形状是[3,1],而draw_bboxes_3d的bbox_color参数默认值是一个Tuple[float] = (0, 1, 0),但是这里bbox_color[i]经过索引后形状不再是[3,1]了,我把两处bbox_color[i]改成bbox_color后可以显示点云和bounding box,就是颜色有点奇怪

2024-03-29 10-10-24 的屏幕截图

WZWAsuna avatar Mar 29 '24 02:03 WZWAsuna

I have the same problem, It is bug

hitbuyi avatar Mar 31 '24 11:03 hitbuyi

AttributeError: 'Det3DLocalVisualizer' object has no attribute 'view_control'

zkailinzhang avatar Jul 05 '24 09:07 zkailinzhang

import os os.environ['DISPLAY'] = '1' 可以解决

zkailinzhang avatar Jul 05 '24 09:07 zkailinzhang