KITTI Odometry数据集使用很广泛,但对于新手来说,即使了解过了pin-hole成像原理、camera instrinsics & extrinsics、旋转矩阵这些知识,碰到GT文件中诸多矩阵也难免有点懵。前面在看相关内容的时候发现,针对数据集GT本身的内容描述很少,所以希望记录一下自己的理解。
1. 传感器安装位置
Kitti传感器主要包含相机(Cam0-4)、GPS/IMU、激光雷达(Velodyne Laserscanner)。其中,cam0的原点为车辆坐标系原点(Origin of Vehicle Coordinate System),各传感器相对于世界坐标系的变换 T s e n s o r x → w o r l d T_{sensor_{x} \to world} Tsensorx→world可以由其相对cam0坐标系变换 T s e n s o r x → c a m 0 T_{sensor_{x} \to cam0} Tsensorx→cam0叠加cam0对世界坐标系变换 T c a m 0 → w o r l d T_{cam0 \to world} Tcam0→world得到。了解了这些基本的关系后,下面主要结合数据集结构介绍一下这些坐标系变换的计算。
2. KITTI Odometry 数据集结构
数据集主要结构如下:
- sequences
- 01
- image2
- image3
- calib.txt
- times.txt
- 02
...
- pose
- 00.txt
- 01.txt
...
这其中主要就是calib.txt文件与pose文件夹下的xx.txt文件需要详细说明一下。
3. calib.txt文件及pose/xx.txt文件说明
这部分可以详细参考我的文章中的推导,如有错误,欢迎指正。