PointRCNN 3D框点云和图像可视化

PointRCNN 3D框点云和图像可视化

由于pointRCNN源码的训练和inference很详细,但是没有可视化的代码,本文介绍其3d框结果的可视化方法

1. 跑通pointRCNN

https://github.com/sshaoshuai/PointRCNN

pointRCNN的运行本文就不赘述了。

我是下载的作者训练好的模型,跑了一遍inference,因为生成的检测结果在下面可视化时会用到

2. 将pointRCNN预测结果拷贝到KITTI数据集

pointRCNN的结果存储在:(里面包含000001.txt等等,存的是3d框的预测结果)

PointRCNN/output/rcnn/default/eval/epoch_no_number/val/final_result

把整个文件夹复制到kitti数据集的training目录下,文件夹命名pred

数据组织结构如下:
(注意,这里的training里面是全部7481张图,不然会报错没有000000.txt)

kitti
    object
        testing
            calib
            image_2
            label_2
            velodyne
        training
            calib
            image_2
            label_2
            velodyne
            pred # 这个是需要自己复制过来的

3. 运行可视化源码kitti_object_vis

源码地址https://github.com/kuixu/kitti_object_vis
下载源码并进到源码文件夹

git clone https://github.com/kuixu/kitti_object_vis 

把上述kitti数据集的object/目录,链接到data/目录下过去,并命名为obj(因为这个源码需求)

cd kitti_object_vis/data
ln -s /home/ubuntu/dataset/KITTI/object obj

下载源码和源码所需的库(mayavi之类的),照readme里面去做

运行命令分为几种:
(1) 只显示LiDAR 仅真值

cd kitti_object_vis
python3 kitti_object.py --show_lidar_with_depth --img_fov --const_box --vis

终端按回车键进行下一张图

(2) 显示LiDAR和image 仅真值

python3 kitti_object.py --show_lidar_with_depth --img_fov --const_box --vis --show_image_with_boxes

终端按回车键进行下一张图

(3) 显示特定某张图的LiDAR和image 仅真值

python3 kitti_object.py --show_lidar_with_depth --img_fov --const_box --vis --show_image_with_boxes --ind 100 

ind 100表示就是图像编号为000100.txt

注:红色是预测框,绿色是真值框

在这里插入图片描述

(4) 显示pointRCNN预测值+真值对比
在以上所有命令后面加 -p
例:

python3 kitti_object.py --show_lidar_with_depth --img_fov --const_box --vis --show_image_with_boxes --ind 6 -p

在这里插入图片描述
在这里插入图片描述

目前有几个疑问:

image中只能显示gt,无法显示预测结果。
0是啥意思?类别吗,但个别的带人的图上面标号也都是0,如下:
(运行kitti的tracking数据,三维显示数据框里面没有标记出label,只有红色框?)
在这里插入图片描述


感谢前辈:https://blog.csdn.net/tiatiatiatia/article/details/97765165

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/2157.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 史上最全Java多线程面试题及答案[通俗易懂]

    史上最全Java多线程面试题及答案[通俗易懂]这篇文章主要是对多线程的问题进行总结的,因此罗列了40个多线程的问题。这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过,但是本文写作的重心就是所有的问题都会按照自己的理解回答一遍,不会去看网上的答案,因此可能有些问题讲的不对,能指正的希望大家不吝指教。 1、多线程有什么用?一个可能在很多人看来…

    2022年8月27日
    5
  • Pycharm2021.5 激活码获取的方式及使用(最新序列号破解)

    Pycharm2021.5 激活码获取的方式及使用(最新序列号破解),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    72
  • python中for循环语句例子_for循环语句格式

    python中for循环语句例子_for循环语句格式有时候我们在使用python进行编程的时候,想使用for语句,下面来介绍一下for语句的使用方法工具/原料pythonfor语句的使用方法和实例方法/步骤1第一步我们首先需要知道python中for语句主要用于迭代遍历字符串,列表,元组等,首先输入“foriin”abcdefg”:print(i)”遍历字符串,如下图所示:2第二步运行py文件之后,可以看到将字符串abcdefg中的元素全部遍…

    2022年8月12日
    3
  • 再eclipse查看某个java类属于哪个jar包

    再eclipse查看某个java类属于哪个jar包

    2021年7月16日
    153
  • 什么是虚拟机?什么是Java虚拟机?

    什么是虚拟机?什么是Java虚拟机?什么是虚拟机?什么是Java虚拟机?虚拟机介绍虚拟机,就是虚拟的计算机,可以执行一系列虚拟计算机指令,大体上可以分为系统虚拟机和程序虚拟机。它们运行时,都会受到虚拟机提供的资源的限制。系统虚拟机:仿真模拟系统的,比如VisualBox,VMware。程序虚拟机:为执行单个计算机程序设计的,比如Java虚拟机。JAVA虚拟机Java虚拟机是一台执行字节码的虚拟机计算机,但是字节码不一定是由Java语言编译而成。只要使用这一套虚拟机规则的语言,就可以享受到跨平台,垃圾收集以及可靠的即时编译器

    2022年7月8日
    18
  • Qt中QMap键值对基本用法(键值对)

    Qt中QMap键值对基本用法(键值对)本文主要总结Qt中键值对QMap的基本用法。1.1原型讲解QMap是一个键值对类,跟标准C++的map类基本类似,声明原型如下:QMap<T1,T2>map1T1为键值对中的键key,T2为键值对中的值。通过键值对中的键可以搜索到值。一般来说,键值对中的键是唯一的,不可重复,而值没有要求,可以重复。并且QMap具有自动排序功能,对输入的键进行排序。1.2下面是一…

    2022年5月29日
    48

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号