Tensorflow RealSense ROS上的点云和RGB图像对齐

Tensorflow RealSense ROS上的点云和RGB图像对齐,tensorflow,object-detection,ros,point-clouds,realsense,Tensorflow,Object Detection,Ros,Point Clouds,Realsense,我正在使用深度学习(Tensorflow object detection)和Real Sense D425摄像头开发一个狗检测系统。我使用Intel(R)RealSense(TM)ROS包装器从相机获取图像 我正在执行“roslaunch rs_rgbd.launch”,我的Python代码订阅了“/camera/color/image_raw”主题,以便获得RGB图像。使用这个图像和对象检测库,我能够推断(20 fps)一只狗在图像中的位置(xmin,xmax,ymin,ymax) 我将使用

我正在使用深度学习(Tensorflow object detection)和Real Sense D425摄像头开发一个狗检测系统。我使用Intel(R)RealSense(TM)ROS包装器从相机获取图像

我正在执行“roslaunch rs_rgbd.launch”,我的Python代码订阅了“/camera/color/image_raw”主题,以便获得RGB图像。使用这个图像和对象检测库,我能够推断(20 fps)一只狗在图像中的位置(xmin,xmax,ymin,ymax)

我将使用对象检测信息(xmin、xmax、ymin、ymax)裁剪点云信息 并确定狗离摄像机是远还是近。我想在RGB图像和点云之间逐像素使用对齐信息

我怎么做?有什么话题吗


提前感谢

英特尔将关于相同问题的python笔记本发布在:

他们的工作如下:

  • 获取颜色帧和深度帧(在您的案例中为点云)

  • 将深度与颜色对齐

  • 使用ssd检测色框内的狗

  • 获取检测到的狗的平均深度,并转换为米
  • depth=np.asanyarray(对齐的\u depth\u frame.get\u data())
    #作物深度数据:
    深度=深度[xmin\u深度:xmax\u深度,ymin\u深度:ymax\u深度].astype(浮点)
    #从设备中获取数据刻度并转换为米
    深度\刻度=配置文件。获取\设备()。第一个\深度\传感器()。获取\深度\刻度()
    深度=深度*深度\刻度
    距离=cv2.平均值(深度)
    打印(“检测到距离{0}{1:.3}米。”.format(className,dist))
    

    希望这有帮助

    我认为仅仅用xmin,xmax,ymin和ymax你无法计算距离,因为它可能是一只非常小的狗或一只非常大的狗,差异会很大,对吗?@Albondi你不理解这个问题,用(xmin,xmax,ymin,ymax)我得到了狗所在的RGB图像的边界框。然后我想用点云分析这个框,以确定距离为什么不使用从深度图像上的RGB中获得的边界框?我也是这么想的,仍然找不到答案。