graspnet / graspnet-baseline

Baseline model for "GraspNet-1Billion: A Large-Scale Benchmark for General Object Grasping" (CVPR 2020)
https://graspnet.net/
Other
521 stars 153 forks source link

关于demo.py中get_and_process_data()使用depth数据的问题 #64

Closed WentangChen closed 1 year ago

WentangChen commented 1 year ago

您好! 首先十分感谢您优秀的工作! 我打算将你的算法应用在搭配了realsense的机械臂上。有几个问题想问一下:

  1. 我在用realsense保存的rgb和depth图像替换demo.py中使用的doc/example_data中的图像,但是得到很奇怪的结果: 2023-07-04_18-19 我排查应该是Depth图像的问题,请问depth.png图像的获取有什么要求吗?或者有什么其他的要求?
  2. workspace_mask.png如何生成?可以直接沿用提供的图片吗?
WentangChen commented 1 year ago

我更改了depth图片的数据格式后,得到以下图像: 2023-07-05_17-26 我这里深度没有显示出来,请问可能会是什么原因呀?

chenxi-wang commented 1 year ago

depth直接保存读取出的数据就可以,可以检查一下是不是在读取或者保存的时候出现了问题 workspace mask是根据实验需要自己划定的,demo里只是个示例 更改depth图片的数据格式是什么意思?

WentangChen commented 1 year ago

depth直接保存读取出的数据就可以,可以检查一下是不是在读取或者保存的时候出现了问题 workspace mask是根据实验需要自己划定的,demo里只是个示例 更改depth图片的数据格式是什么意思?

  1. 请问graspnet数据集在每个scenes保存深度图像的工具有提供吗?我直接读取出来的depth数据和数据集给的depth.png不一样
  2. workspace.mask的问题我已经解决了,感谢!
  3. 就是在保存之前: depth data = np.asanyarray(aligned_depth_frame.get _data(), dtype=np.float32) 选择dtype=np.float32
chenxi-wang commented 1 year ago
  1. 请问graspnet数据集在每个scenes保存深度图像的工具有提供吗?我直接读取出来的depth数据和数据集给的depth.png不一样
  2. workspace.mask的问题我已经解决了,感谢!
  3. 就是在保存之前: depth data = np.asanyarray(aligned_depth_frame.get _data(), dtype=np.float32) 选择dtype=np.float32

depth图像最好保存成 uint16 格式,你保存以后可以直接读出来看看数组的深度值对不对

WentangChen commented 1 year ago
  1. 请问graspnet数据集在每个scenes保存深度图像的工具有提供吗?我直接读取出来的depth数据和数据集给的depth.png不一样
  2. workspace.mask的问题我已经解决了,感谢!
  3. 就是在保存之前: depth data = np.asanyarray(aligned_depth_frame.get _data(), dtype=np.float32) 选择dtype=np.float32

depth图像最好保存成 uint16 格式,你保存以后可以直接读出来看看数组的深度值对不对

非常感谢你这么快的回复! 我保存为uint16格式后运行得到下面的结果: 2023-07-06_16-23 出现这个现象的原因可能是什么? 请问除了color.png和depth.png、相机内参需要提供并更改之外,我还需要提供/更改什么地方吗?

chenxi-wang commented 1 year ago

你是想问为什么出现这么多噪声点吗,这个跟你光照环境,相机位置都有关系,你可以用realsense viewer调一下成像效果

WentangChen commented 1 year ago

你是想问为什么出现这么多噪声点吗,这个跟你光照环境,相机位置都有关系,你可以用realsense viewer调一下成像效果

好的!我拿到设备再试一下。请问获取depth数据前是需要一个处理的过程吗? 另外是不是我预测了之后就可以应用得到的抓取姿态尝试抓取了?

chenxi-wang commented 1 year ago

请问获取depth数据前是需要一个处理的过程吗?

不需要,跟rgb坐标align就行

另外是不是我预测了之后就可以应用得到的抓取姿态尝试抓取了?

是的

WentangChen commented 1 year ago

请问获取depth数据前是需要一个处理的过程吗?

不需要,跟rgb坐标align就行

另外是不是我预测了之后就可以应用得到的抓取姿态尝试抓取了?

是的

十分感谢!我再试一下看看效果如何

WentangChen commented 1 year ago

你好! 非常抱歉又来打扰您了,我经过调节之后试验成功了。 我向问一下您是用什么方式实现实时的抓取位姿检测的?我用的是open3d中的函数:

    vis = o3d.visualization.Visualizer()
    vis.create_window(width=1280, height=720)
    vis.add_geometry(cloud)
    ......
    vis.clear_geometries()
    vis.add_geometry(cloud)
    for gripper in grippers:
        vis.add_geometry(gripper)

    vis.update_geometry(cloud)
    vis.poll_events()
    vis.update_renderer()

但是在显示时当我移动相机后点云变化很奇怪: 初始: 2023-07-14_22-11 稍微靠近后: 2023-07-14_22-13 再回到初始位置后显示不出原来的图像: 2023-07-14_22-13 请问这个问题有什么的解决思路呀?

期待您的回复! 谢谢!

chenxi-wang commented 1 year ago

我没搞懂你的意思,你是想说可视化吗

WentangChen commented 1 year ago

我没搞懂你的意思,你是想说可视化吗

是的,实现实时的可视化