3D目标检测数据集 KITTI(标签格式解析、点云转图像、点云转BEV)

本文介绍在3D目标检测中,理解和使用KITTI 数据集,包括KITTI 的基本情况、下载数据集、标签格式解析、点云转图像、点云转BEV。

目录

1、KITTI数据集中3D框可视化的效果

[2、先看个视频,了解KITTI 的基本情况](#2、先看个视频,了解KITTI 的基本情况)

3、来到KITTI官网,下载数据集

4、标签格式

5、标定参数解析

6、点云3D结果-->图像3D结果(坐标系转换)

6、图像3D结果-->点云3D结果(坐标系转换)

8、点云3D结果-->图像BEV鸟瞰图结果(坐标系转换)


1、KITTI数据集中3D框可视化的效果

2、先看个视频,了解KITTI 的基本情况

KITTI 数据集介绍

3、来到KITTI官网,下载数据集

The KITTI Vision Benchmark Suite (cvlibs.net)

下载数据需要注册账号的,获取取百度网盘下载;文件的格式如下所示

图片格式:xxx.jpg

点云格式:xxx.bin(点云是以bin二进制的方式存储的)

标定参数:xxx.txt(一个文件中包括各个相机的内参、畸变校正矩阵、激光雷达坐标转到相机坐标的矩阵、IMU坐标转到激光雷达坐标的矩阵)

标签格式:xxx.txt(包含类别、截断情况、遮挡情况、观测角度、2D框左上角坐标、2D框右下角坐标、3D物体的尺寸-高宽长、3D物体的中心坐标-xyz、置信度)

4、标签格式

这时可以看看这个视频:

Nuscenes、KITTI等多个BEV开源数据集介绍

5、标定参数解析

然后看一下标定参数;P0-P3:是各个相机的内参矩阵;

R0_rect: 是左相机的畸变矫正矩阵;

Tr_velo_to_cam:是激光雷达坐标系 转到 相机坐标系矩阵;

Tr_imu_to_velo: 是IMU坐标转到激光雷达坐标的矩阵

6、点云3D结果-->图像3D结果(坐标系转换)

当有了点云3D结果,如何投影到图像中呢?本质上是一个坐标系转换的问题,流程思路如下:

  1. 已知点云坐标(x,y,z),当前是处于激光雷达坐标系
  2. 激光雷达坐标系 转到 相机坐标系,需要用到标定参数中的Tr_velo_to_cam矩阵,此时得到相机坐标(x1,y1,z1)
  3. 相机坐标系进行畸变矫正,需要用到标定参数中的R0_rect矩阵,此时得到相机坐标(x2,y2,z2)
  4. 相机坐标系转为图像坐标系,需要用到标定参数中的P0矩阵,即相机内存矩阵,此时得到图像坐标(u,v)

6、图像3D结果-->点云3D结果(坐标系转换)

当有了图像3D结果,如何投影到点云中呢?本质上是一个坐标系转换的问题,和上面的是逆过程,流程思路如下:

  1. 已知图像坐标(u,v),当前是处于图像坐标系
  2. 图像坐标系 转 相机坐标系,需要用到标定参数中的P0逆矩阵,即相机内存矩阵,得到相机坐标(x,y,z)
  3. 相机坐标系进行畸变矫正,需要用到标定参数中的R0_rect逆矩阵,得到相机坐标(x1,y1,z1)
  4. 矫正后相机坐标系 转 激光雷达坐标系,需要用到标定参数中的Tr_velo_to_cam逆矩阵,此时得到激光雷达坐标(x2,y2,z2)

8、点云3D结果-->图像BEV鸟瞰图结果(坐标系转换)

思路流程:

  1. 读取点云数据,点云得存储格式是n*4,n是指当前文件点云的数量,4分别表示(x,y,z,intensity),即点云的空间三维坐标、反射强度
  2. 我们只需读取前两行即可,得到坐标点(x,y)
  3. 然后将坐标点(x,y),画散点图

BEV鸟瞰图效果如下:

后面还会介绍Nuscenes、Waymo等3D数据集。

相关推荐
archko27 分钟前
语音识别-3,添加ai问答
android·人工智能
Bowen_CV2 小时前
AI 赋能防艾宣传:从创意到实践,我的 IP 形象设计之旅
人工智能·3d建模·豆包·造好物·腾讯混元 3d
你是一个铁憨憨2 小时前
使用深度学习预训练模型检测物体
人工智能·深度学习·arcgis·影像
AI算法工程师Moxi3 小时前
什么时候可以开始学习深度学习?
人工智能·深度学习·学习
好评笔记3 小时前
Meta的AIGC视频生成模型——Emu Video
人工智能·深度学习·机器学习·aigc·transformer·校招·面试八股
思通数据5 小时前
AI全域智能监控系统重构商业清洁管理范式——从被动响应到主动预防的监控效能革命
大数据·人工智能·目标检测·机器学习·计算机视觉·数据挖掘·ocr
flex88886 小时前
FramePack - 开源 AI 视频生成工具
人工智能·开源·音视频
jndingxin6 小时前
OpenCV CUDA模块中矩阵操作------范数(Norm)相关函数
人工智能·opencv
何双新6 小时前
第6讲、全面拆解Encoder、Decoder内部模块
人工智能
jzwei0236 小时前
Transformer Decoder-Only 算力FLOPs估计
人工智能·深度学习·transformer