资讯详情

KITTI立体匹配数据集解析

点击上面的计算机视觉车间,选择星标

第一时间送达干货

77b554fef96ceb56c3eaef14b1a2cafe.png

作者丨HawkWang

来源计算摄影

高质量的数据集对于三维匹配的研究至关重要。即使是最新一代的数据也集中在一些静态室内场景中,如下图所示。

与此同时,在另一个领域——自动驾驶——人们逐渐开始思考问题:视觉设备能否在自动驾驶中发挥关键作用?当时,激光雷达是自动驾驶系统的主流传感设备GPS或者雷达加高精度地图。于是,人们迫切需要一个更加复杂,更加贴近自动驾驶场景的高质量数据集,能同时用于对立体匹配、光流、视觉里程计/SLAM、3D研究许多任务,如目标识别。

构建这样的数据集是一项需要精心设计和高性能软硬件系统支持的工作。我今天介绍的是一个非常有名的数据集,广泛应用于自动驾驶领域:KITTI数据集。主要制作人是德国卡尔斯鲁厄理工学院(Karlsruher Institut für Technologi)的Andreas Geiger和Philip Lenz,芝加哥丰田技术研究所(Toyota Technological Institute at Chicago)的Raquel Urtasun。

他们的成就首先发表在2012年的下面一篇文章中,并利用这个数据集和相关评价指标建立了公开名单。

2012年构建的数据包括389对立体匹配和光流数据对,长达39.视觉里程计2公里/SLAM数据,2000多个真实拥挤的场景k的3D目标标注信息(每帧图像中最多有15辆车和30名行人)显然比较明显MiddleBurry数据要复杂得多。在这个页面上,我们关注的是立体匹配的数据集和列表信息cvlibs.net/datasets/kit

接下来,我将介绍数据收集、传感器校准、数据标记、评估指标以及典型算法在这个数据集中的性能。在了解了这些基本信息后,我将带您了解作者后来构建的内容Stereo Evaluation 从2020年开始,2015名单和2020名单逐渐公布KITTI-360数据集。

一. KITTI 2012

1.1 数据采集

让我们先来看看作者复杂的采集设备,这里有一段视频要介绍:

这是大众帕萨特的改装B6车。我们很容易看到车顶上安装了各种传感器。事实上,车内还配备了一个传感器RAID系统的八核i7计算机运行Ubuntu Linux实时数据库,实时记录车载数据。

我们关注图中的传感器,包括:

  • 1个GPS/IMU型号为惯导系统OXTS RT 实际使用时,位置精度为3003<5cm

激光雷达1:Velodyne HDL-64E。激光雷达每秒旋转10周,每周可获得约100周k个3D有效距离为64m,垂直分辨率为64。该设备可在室外运动场景中提供非常准确的3D上述信息GPU/IMU惯导设备用于纠正其自漂移误差。

两个140万像素40万像素,彩色摄像头2个140万像素,型号分别是Point Grey Flea 2 (FL2-14S3M-C)和Point Grey Flea 2 (FL2-14S3C-C)。这两组镜头都是高精度的工业摄像头,与激光雷达同步,每秒采集10帧图像,分辨率为1392x512,FOV为90?× 35?。快门速度快门速度,最大快门时间为2ms,我们可以看到相机响应很快。

安装图的细节如下。我们可以看到两组相机构成了两组立体视觉系统,相机的基距为54cm,彩色和灰度相机之间的间距应尽可能小,以便使用彩色相机进行分割和目标测试任务,并使用高灵敏度的灰度相机进行三维匹配和光流,并对齐两种任务的结果。

为了使成像更清晰,还使用了4个变焦镜头,焦距4~8mm,型号:Edmund Optics NT59-917

作者在中型城市卡尔斯鲁厄、农村地区和高速公路上驾驶汽车,实时收集原始数据。以下视频显示了驾驶场景:

能够提供准确性Ground Truth对于标记数据,在下一节中介绍这些传感器进行重要的。

1.2 传感器标定

该系统有许多传感器,因此采用以下步骤来校准传感器。

首先是相机内外参数的标定,作者贴在墙上 棋盘格,然后通过优化重投影误差来校准相机,然后用校准参数对图像进行三维校正。有关基本知识,请参阅我之前的文章:67. 三维重建2-相机几何参数标定和69. 三维重建4-立体校正(Recitification)

其次是激光雷达和参考相机的校准和对齐。

由于数据中的大量噪音,这个过程并不容易。因此,作者采用了分为几个步骤的半自动方法:

首先用A. Geiger对齐激光雷达和相机等人发明的自动对齐方法的参考文献是

这相当于初始对齐步骤,当然结果还是有很多误差的。

接下来,在激光雷达点云和图像中手动标记一些明显的物体边缘曲线,并使用选定的三维匹配算法计算视差图。现在需要做的是迭代优化激光雷达和相机之间的几何参数,使点云匹配点的重投影误差和三维匹配过程中的错误点数量最小化——这是一个联合迭代优化的过程。

激光雷达与相机对齐的参数通过这两步获得。

最后,惯导系统的地理坐标与激光雷达对齐。作者认为这个问题是机器人学中的手眼校准问题,这是一个相对成熟的问题,有很多方法可以使用。

在固定停车场获取激光雷达点云数据并使用ICP算法对齐拼接在一起,然后采用以下文章中的方法自动校准:

到目前为止,几个传感器的数据可以通过校准结果对齐。

1.3 Ground Truth数据生成

作者生成了多种类型的作者Ground Truth这里主要关注的是立体匹配研究中使用的标准视差数据。在感兴趣的图像帧中,作者收集了前5帧和后5帧的点云数据,并通过ICP算法对齐并投影到感兴趣的图像帧上——你可以理解目标是获得图像的每个像素3D这些信息自然可以通过校准数据转换为视差图。作者删除了窗户、围栏等容易出错的目标。同时,由于激光雷达的特性,被遮挡物体的3D坐标和视差值无法稳定恢复,因此作者没有插入结果来填写信息,因此实际生成的视差图中约50%的像素包含理想的视差值。

1.4 评价指标和典型算法表现

作者实际上通过上述系统方法获得了约3个TB原始数据。作者从这些数据中选择了具有代表性的子集,以评估各种立体匹配算法和光流算法的优缺点。这种方法很有趣。事实上,它首先将每个图像表示为144维描述子,通过聚类算法将图像分为多个类别,然后选择靠近每个类别中心的代表样本。在此过程中,作者还手动去除了照明条件差的图像。

KITTI以下视频显示了光流和立体匹配数据集的介绍。它包括大约194组训练数据和195组测试数据,图像大小约为0.5M Pixel。我们可以看到,数据包含了许多困难的场景,包括镜面反射表面、大视差、各种不同的材料和变化的照明条件,这对当时的各种三维匹配算法提出了严峻的挑战。

作者通过计算错误像素的比例来评估算法的优缺点。由于图像尺寸较大,作者在实际测试算法时没有降低采样图像,因此采用不同的错误阈值删除不同数量的错误匹配像素数量。默认情况下,如果超过3个像素的匹配误差,则视为错误匹配。

作者在当时测试了几种特别有代表性的立体匹配算法,它们在MiddleBurry其他数据集表现良好,有趣的是KITTI2012年的数据集表现不佳。论文中总有一张表格来解释这一点,这表明在真实的自动驾驶场景中,我们需要更多的算法。

比如,OpenCV里面实现的SGBM算法的典型表现如下(上:参考图像; 中:错误图; 下:计算出的视差图),肉眼可以看到很多区域匹配失败。

正如作者在论文总结中所说,新数据集的提出弥补了以前的形象MiddleBurry这种数据集的缺陷给立体匹配领域带来了新的挑战,使得这些算法无法再拟合到有限的数据集中。此外,由于作者收集了大量的原始数据,上述数据Benchmark只选了一小部分,作者计划在当时逐渐增加数据集的难度,也就是几年后KITTI 2015年数据集奠定了伏笔。

我们用论文中一张图表结束这一小部分,这个图表展示了KITTI 2012年立体匹配数据集与其它现有数据集的区别(但请记住,这是2012年的情况,MiddleBurry2014年和2021年都更新了数据集,尺寸和数量都有所提)

二. KITTI 2015

正如我前一节所说,作者当时收集了大量的数据。第一批只选择了2012年的一小部分静态场景作为数据,这相对简单——下一步是继续增加难度。

因此,在2015年,作者升级了数据集,以研究密集的运动场估计。密集的3D据估计,操场在移动机器人和自动驾驶中起着重要作用,而之前的数据集相对简单,只包括静态场景。这就是作者创建新数据集的关键原因。

作者没有重新收集数据,而是从之前获得的3TB400组数据中提取了大量的运动元素,其中。因为我们只关心立体匹配,我跳过了其他类别数据的解释。现在场景中有大量的运动物体,甚至采集系统本身也在运动,我们的激光雷达使用卷帘快门,帧率很低(10fps),很难准确恢复运动物体的3D点云。所以作者将3D获取点云分为两步。

第一步是获取场景的静态物体的点云。这里首先需要同时利用GPU/IMU惯导系统和激光雷达系统来联合优化,得到了多个帧高精度对齐后的点云信息,其中只包括了静态目标。而运动目标的信息则被移除掉,留待下一步填补。

第二步则是处理动态物体。由于动态物体的3D点云无法仅通过激光雷达得到,所以作者采用了用AutoCAD制作的标准3D模型抽样映射的方式,来恢复动态物体的3D点云。这就涉及到需要把原始点云与AutoCAD 3D模型相匹配的过程——这本来要求场景中每个车都有对应的3D模型,这显然是不可能的。所以作者采用的是用最接近场景目标的3D模型来代替的方案(这里选用了16种3D车模),可以看下面的示意图。其中左列里面,绿色点是CAD的模型点(每种模型抽取了约3000个点),红色十字架是手工标注的需要和CAD模型对齐的点。通过类似ICP算法,可以把CAD模型和上述红色十字点对齐到一起,这样点云就变成了右列的样子,对应的视差图(右下)也就相应得到了优化。

这个过程中还有一些细节,但由于篇幅原因,我就略过不讲了。感兴趣的读者可以自行参考作者在CVPR2015中发表的论文。

我个人觉得,由于KITTI2015的数据中一些关于动态物体的信息是用上述方法合成的,因此用于评价立体匹配算法的优劣时可能会出现偏差,因此在KITTI2012的静态场景表现好的方法到了KITTI2015中可能表现不够好。而如果在KITTI2015中表现好的算法,则和理想的结果很可能有差距。

总之,KITTI数据集发布后,吸引了大量学术界、工业界的专家提交结果,验证自己算法的优劣。

我目前查到的KITTI Stereo Evaluation 2012页面上共有206个算法,而KITTI Stereo Evalutation 2015页面上则有302个算法,而之前介绍的MiddleBurry立体匹配数据集的评价页面(vision.middlebury.edu/s)上则只有170个算法。

三. KITTI-360

技术永远是在不断前进的,KITTI数据集出现后确实改变了整个自动驾驶的研究状态,但毕竟其数据集有限,且精度也有待进一步提升。于是,作者们也没有止步不前。从2020年开始,他们释放了一个更新、更庞大、更精确的数据集:KITTI-360,介绍页面在这里(cvlibs.net/datasets/kit)

从立体采集设备上讲,这次仅有1对彩色摄像头,基距60cm。

但第1个最大的不同是增加了一对鱼眼镜头,位于车身的左右两侧:

另外一个很大的变化是增加了一个激光扫描仪SICK LMS 200在车顶,它被配置为Pushroom模式,所以可以同时获取360度的3D信息。这就使得这套系统能比之前KITTI的采集系统获得更加准确的3D点云数据

KITTI-360目前并未设置立体匹配的评价榜单,而主要集中于自动驾驶的其他关键问题上,所以我就略过不展开了。但我相信,这个数据集一定能再次提升人们对自动驾驶技术的认识,所以这里搬运作者的视频,打开声音看这个视频,能让你非常激动:

四. 总结

今天我介绍了KITTI数据集,包括2012年的初始静态数据集,2015年的动态场景数据集,还有最新的KITTI-360数据集。因为专栏的这一部分重点在关注立体匹配,所以我也仅仅介绍了跟立体匹配相关的信息。实际上,KITTI数据集对自动驾驶的很多关键技术的研究都有重要的作用,包括分割、3D目标检测、跟踪、光流等等,读者感兴趣还可以进一步查阅资料研究之。

我们要特别注意的是,在别的评价数据集(如MiddleBurry Stereo)上表现良好的算法,在KITTI数据集上表现不一定好,有的甚至很差,相反亦然——这就说明现在很多算法都对特定数据集是过拟合的。这也说明我们还有很大空间去提升算法的泛化性和总体性能。

五. 参考资料

1、KITTI数据集介绍:cvlibs.net/datasets/kit

2、Andreas Geiger and Philip Lenz and Raquel Urtasun, Are we ready for Autonomous Driving? The KITTI Vision Benchmark Suite, CVPR 2012

3、Moritz Menze and Andreas Geiger, Object Scene Flow for Autonomous Vehicles, CVPR2015

4、KITTI-360数据集介绍:cvlibs.net/datasets/kit

本文仅做学术分享,如有侵权,请联系删文。

后台回复:即可下载国外大学沉淀数年3D Vison精品课件

后台回复:即可下载3D视觉领域经典书籍pdf

后台回复:即可学习3D视觉领域精品课程

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进4.国内首个面向工业级实战的点云处理课程5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

14.ROS2从入门到精通:理论与实战

15.国内首个3D缺陷检测教程:理论、源码与实战

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在

也可申请加入我们的细分方向交流群,目前主要有等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。也请联系。

▲长按加微信群或投稿

▲长按关注公众号

:针对3D视觉领域的五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

 圈里有高质量教程资料、答疑解惑、助你高效解决问题

标签: 3b6传感器32002105nt1传感器passat氧传感器17701024sick传感器1392传感器a设备开停传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台