ROS1结合自动驾驶数据集Kitti开发教程(八)画出2D检测框

该教程详细介绍了如何利用ROS1和Kitti自动驾驶数据集进行图像处理和标注。内容包括数据预处理,如转换标签和去除无关标注,然后通过OpenCV在图片上绘制2D检测框,并逐步实现每一帧图像的全部物体标注。最后,展示了如何在Rviz中显示标注后的图片,为自动驾驶研究提供可视化支持。

注意:

  • 再学习本系列教程时,应该已经安装过ROS了并且需要有一些ROS的基本知识

ubuntu版本:20.04
ros版本:noetic

课程回顾

ROS1结合自动驾驶数据集Kitti开发教程(一)Kitti资料介绍和可视化
ROS1结合自动驾驶数据集Kitti开发教程(二)发布图片
ROS1结合自动驾驶数据集Kitti开发教程(三)发布点云数据
ROS1结合自动驾驶数据集Kitti开发教程(四)画出自己车子模型以及照相机视野
ROS1结合自动驾驶数据集Kitti开发教程(五)发布IMU数据
ROS1结合自动驾驶数据集Kitti开发教程(六)发布GPS数据
ROS1结合自动驾驶数据集Kitti开发教程(七)下载图像标注资料并读取显示

1.数据分析

上一节,我们已经能把标注数据显示出来了,其中可以看到frame代表着第几帧图像的检测结果,如第零帧数据所示:
在这里插入图片描述

第零帧图像如下所示:
在这里插入图片描述

在第一帧的图像中我们可以从中看到有面包车、自行车和行人,在标注数据中也给我们展示出来了。bbox(left,top,right,bottom)分别是标注的四个顶点,有了这四个顶点的坐标,我们就可以画出物体2D的检测框。

2.数据处理

  • 去除DontCare标签的标注数据。
  • vancartruck标签都转换成car标签。
    代码如下所示:
# 将dataframe的`van`,`car`,`truck`标签都转换成car标签。
data.loc[data.type.isin(['Van','Car','Truck']),'type'] = 'Car'
# 去除`DontCare`标签的标注数据。
data = data[data.type.isin(['Car','Cyclist','Pedestrian'])]
# 展示最新dataframe
data

数据处理结果如下图所示:
在这里插入图片描述

3.画出其中一个物体的检测框

获取其bbox(left,top,right,bottom)的各个值。

data.loc[2,['bbox_left','bbox_top','bbox_right','bbox_bottom']]
----
bbox_left      296.744956
bbox_top       161.752147
bbox_right     455.226042
bbox_bottom    292.372804
Name: 2, dtype: object

可以看到这样就可以把四个顶点的数据提取出来了,这时我们就可以绘制检测框了。

# 将四个顶点的坐标值转换为np格式
box = np.array(data.loc[2,
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

锡城筱凯

你的鼓励是我创造的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值