注意:
- 再学习本系列教程时,应该已经安装过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标签的标注数据。 - 将
van,car,truck标签都转换成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,

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





