【KITTI】KITTI数据集简介(四) — 标定校准数据calib

        KITTI标定校准文件主要作用是把激光雷达坐标系测得的点云坐标转换到相机坐标中去,相关参数存在data object calib中,共包含7481个训练标定文件和7518个测试标定文件。标定文件的存储方式为txt文本文件。

        calib训练集存储为data_object_calib/training/calib/xxxxxx.txt,共7481个文件。

        calib测试集存储为data_object_calib/testing/calib/xxxxxx.txt,共7518个文件。

        标定校准数据使用请参考Voxelnet中的使用程序,参考:https://blog.csdn.net/suiyingy/article/details/124817919

1 mini data object calib数据集

        为了快速进行算法调试、训练、评估和验证,以及快速下载,我们建立了一个mini kitti数据集,数据集的文件目录结构与完整KITTI数据集保持一致。其中,小型的标定校准数据集,即 mini calib (data_object_calib_mini)保存了20个训练文件和5个测试文件。Mini Kitti数据的下载地址为:minikitti数据集-深度学习文档类资源-CSDN下载。如果需要对应的ImageSets,请下载:train_val_testforminikitti-深度学习文档类资源-CSDN下载,将下载的文件夹重名为ImageSets即可。

 关于KITTI各个部分的介绍请分别参考以下内容:

KITTI数据集简介(一) — 激光雷达数据_Coding的叶子的博客-CSDN博客_雷达数据集

KITTI数据集简介(二) — 标注数据label_2_Coding的叶子的博客-CSDN博客_kitti数据集标注

KITTI数据集简介(三) — 图像数据image_2_Coding的叶子的博客-CSDN博客

KITTI数据集简介(四) — 标定校准数据calib_Coding的叶子的博客-CSDN博客

2 标定校准文件内容解析

        以训练文件中的000000.txt标定校准文件为例,其内容如下图所示。

        图中,0、1、2、3分别代表左边灰度相机、右边灰度相机、左边彩色相机和右边彩色相机。

2.1 内参矩阵

        P0-P3分别表示4个相机的内参矩阵,或投影矩阵, 大小为 3x4。相机内参矩阵是为了计算点云空间位置坐标在相机坐标系下的坐标,即把点云坐标投影到相机坐标系。将相机的内参矩阵乘以点云在世界坐标系中的坐标即可得到点云在相机坐标系中的坐标。

        如果需要进一步将点云在相机坐标系下的坐标投影到像平面,还需要除以Z值,以及内参矩阵的推导请参考:https://blog.csdn.net/qq_33801763/article/details/77033064。

2.2 外参矩阵

        根据上述介绍,我们知道存在三种坐标系世界坐标系、相机坐标系、激光雷达坐标系。世界坐标系反映了物体的真实位置坐标,也是作为相机坐标系和激光雷达坐标系之间相互变换的过渡坐标系。

        点云位置坐标投影到相机坐标系前,需要转换到世界坐标系下,对应的矩阵为外参矩阵。外参矩阵为Tr_velo_to_cam ,大小为3x4,包含了旋转矩阵 R 和 平移向量 T。将相机的外参矩阵乘以点云坐标即可得到点云在世界坐标系中的坐标。

2.3 R0校准矩阵

        R0_rect 为0号相机的修正矩阵,大小为3x3,目的是为了使4个相机成像达到共面的效果,保证4个相机光心在同一个xoy平面上。在进行外参矩阵变化之后,需要于R0_rect相乘得到相机坐标系下的坐标。

2.4 点云坐标到相机坐标

        综上所述,点云坐标在相机坐标系中的坐标等于

内参矩阵 * 外参矩阵 * R0校准矩阵 * 点云坐标

        即:

 P * R0_rect *Tr_velo_to_cam * x

        例如,要将Velodyne激光雷达坐标系中的点x投影到左侧的彩色图像中y,使用公式:

y = P2 * R0_rect *Tr_velo_to_cam * x

        当计算出z<0的时候表明该点在相机的后面 。

        按照上述过程得到的结果是点云在相机坐标系中的坐标,如果需要将点云坐标投影到像平面还需要除以Z。参考2.1节。示例程序可以参考https://blog.csdn.net/suiyingy/article/details/124817919

python三维点云从基础到深度学习_Coding的叶子的博客-CSDN博客_python 三维点云从三维基础知识到深度学习,将按照以下目录持续进行更新。更新完成的部分可以在三维点云专栏中查看。https://blog.csdn.net/suiyingy/category_11740467.htmlhttps://blog.csdn.net/suiyingy/category_11740467.html1、点云格式介绍(已完成)常见点云存储方式有pcd、ply、bin、txt文件。open3d读写pcd和plhttps://blog.csdn.net/suiyingy/article/details/124017716 更多三维、二维感知算法和金融量化分析算法请关注“乐乐感知学堂”微信公众号,并将持续进行更新。

猜你喜欢

转载自blog.csdn.net/suiyingy/article/details/124787636#comments_22686117