PointRcnn论文之KITTI数据集

  在这项工作中,我们提出PointRCNN 3D对象检测器,以自下而上的方式直接从原始点云中生成准确的3Dbox建议,然后通过基于bin的3Dbox回归损失在规范坐标中对其进行完善。 据我们所知,PointRCNN是第一个通过仅使用原始点云作为输入进行3D对象检测的two-stage 3D对象检测器。 PointRCNN在KITTI数据集上进行了评估,并在提交时在所有已发表作品中在KITTI 3D对象检测排行榜上达到了最先进的性能。

object:label,image(图像仅用于可视化),calib,velodyne

以下这篇博文会有较为详尽的解释,是我通过不断筛选出的个人感觉较为优质的相关解析文档。

 https://blog.youkuaiyun.com/lovely_yoshino/article/details/105814646?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

下面这一篇对其中的参数做了很详尽的解释说明(各个文件的解析)

 https://blog.youkuaiyun.com/cuichuanchen3307/article/details/80596689?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.nonecase
1.雷达点云是以二进制形式存储,后缀为.bin

    每行数据表示一个雷达点:x y z intensity,其中(x,y,z)单位为米,intensity为回波强度,范围在0~1.0之间

2.图像数据是以.png格式存储,可直接查看
3.KITTI中雷达点云与图像的配准关系存放在calib.txt

label

    对于Object检测,训练集合的标签数据在文件:data_object_label_2.zip中,其中, 每一帧对应一个标注的.txt文件

下面这篇博文为kitti 3Dobject检测数据集的使用与说明

 https://blog.youkuaiyun.com/hit1524468/article/details/79766805?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

关于KITTI数据集

1.对于3D物体检测,label细分为car, van, truck, pedestrian, pedestrian(sitting), cyclist, tram以及misc组成。
2.KITTI数据集的数据采集平台装配有2个灰度摄像机,2个彩色摄像机,一个Velodyne 64线3D激光雷达,4个光学镜头,以及1个GPS导航系统。
3.数据集中labe(标签数据)和calib(相机矫正数据)解析

     https://blog.youkuaiyun.com/KYJL888/article/details/82844823)

4.kitti数据集中的label,calib,velodyne等分别代表什么数据?
    分别代表人工标注的真值、相机和激光雷达的标定信息和激光雷达扫到的点云。

### 使用 KITTI 数据集实现目标检测项目 #### 获取数据集 为了使用 KITTI 数据集进行目标检测的研究或开发工作,需先访问官方提供的下载页面获取所需的数据文件[^1]。 #### 准备环境 确保安装了必要的库来处理图像和点云数据。常用的Python包有`numpy`, `opencv-python`, 和专门用于3D视觉任务的`open3d`等工具。可以通过pip命令轻松安装这些依赖项: ```bash pip install numpy opencv-python open3d ``` #### 加载与预览数据 KITTI提供了多种类型的传感器数据,包括彩色图片、灰度图以及LiDAR扫描得到的三维点云信息。对于每种模态的数据读取方法如下所示: - **加载RGB图像** 可利用OpenCV或其他图像处理库打开并显示JPEG格式的照片。 ```python import cv2 img_path = 'path_to_kitti_dataset/image_02/<sequence_id>/<frame>.png' image = cv2.imread(img_path) cv2.imshow('Image', image) cv2.waitKey(0) cv2.destroyAllWindows() ``` - **解析标签文件** 标签通常保存在一个文本文件中,每一行代表一个物体实例及其属性(位置、尺寸、类别)。可以编写简单的脚本来提取感兴趣的信息。 ```python def parse_label_file(label_filepath): with open(label_filepath, 'r') as f: lines = f.readlines() objects = [] for line in lines: obj_info = line.strip().split(' ') class_name = obj_info[0] bbox = list(map(float, obj_info[4:8])) # xmin ymin xmax ymax dimensions = list(map(float, obj_info[8:11])) # height width length location = list(map(float, obj_info[11:14])) # x y z (in camera coords.) rotation_y = float(obj_info[14]) # Rotation around Y-axis object_dict = { "class": class_name, "bbox": bbox, "dimensions": dimensions, "location": location, "rotation_y": rotation_y } objects.append(object_dict) return objects ``` - **可视化点云数据** 对于激光雷达产生的点云数据,可借助开源软件如PCL(Point Cloud Library) 或者 Python中的 Open3D 库来进行渲染查看。 ```python import open3d as o3d import numpy as np pcd_path = 'path_to_kitti_dataset/velodyne_points/data/<frame>.bin' points = np.fromfile(pcd_path, dtype=np.float32).reshape(-1, 4)[:, :3] point_cloud = o3d.geometry.PointCloud() point_cloud.points = o3d.utility.Vector3dVector(points) o3d.visualization.draw_geometries([point_cloud]) ``` #### 构建模型架构 针对KITTI的目标检测挑战赛,可以选择现有的先进算法框架作为起点,比如基于深度学习的方法MonoDISMONO, Stereo R-CNN 等。也可以考虑采用两阶段或多视角融合策略提高精度。 #### 训练与评估 完成上述准备工作之后就可以着手训练自己的模型了。记得划分好训练集验证集测试集的比例,并定期在验证集上监控性能指标以调整超参数设置;最终通过提交至KITTIEvaluation Server获得正式的成绩反馈。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值