dSPACE Sensor Vehicle是数据驱动开发工作的示例
近年来,数据驱动开发成为各个行业软件开发最重要的一个方法。汽车行业独占鳌头,该行业注重自动驾驶车辆问题,高质量数据在其中起着关键作用。为进一步开发自身的工具、为汽车行业提供先进功能,dSPACE打造了一个生态系统来收集高质量数据。公司采用了专门为此自主研发的传感器车辆。
dSPACE Sensor Vehicle
作为上述生态系统的关键组成部分,dSPACE Sensor Vehicle配备下列传感器:
• 高分辨率Velodyne Alpha Prime LiDAR,有128个通道。
• 9个环绕立体声摄像头,分辨率为2,880 x 1,860像素。
• 一个 4-D UHD激光雷达。
• 一个高精度定位GPS传感器,精度高达厘米级。
这些传感器每小时共生成约10 TB数据。车顶的dSPACE AUTERA Autobox数据记录器记录所有传感器的数据,并以约23 GBit/s的传输速率将其写入SSD。传感器数据采集和系统管理由RTMaps中间件软件处理,执行所有硬件同步、系统进程管理和数据记录等任务。
然而,开始数据收集之前,必须执行传感器校准等一些先决条件,从而支持数据收集后的数据驱动开发管道中的某些流程。
传感器校准:原因及用途
什么是传感器校准?传感器校准通常是指测量传感器输出与传感器实际测得数据的对应关系的过程。然而,对于在利用传感器进行数据采集的情况下,传感器校准一词是指传感器的几何校准。校准一般分为两种:内部校准和外部校准。
内部校准是指传感器进行自身校准,让测得的数据与实际数据达到几何匹配。比如,内部摄像头校准又称摄像头标定,包括估算镜头和图像传感器参数。估算出的参数可以用来消除镜头引起的图像失真。
外部校准是指一个传感器校准另一个传感器,让两个传感器测得的数据实现几何匹配。例如,在配备LiDAR和摄像头的传感器设置中,外部校准包括估算估计定义传感器相对位置的参数,利用这些参数可以将测量数据从LiDAR传输到传感器设置中的摄像头。
为何需要校准传感器?校准通常用于验证传感器的精度和可重复性。要将信息从一个传感器传输到另一个传感器,就需要几何校准。对于自动驾驶车辆的操作而言,需要对不同的传感器进行相互校准,从而协调从多个传感器接收到的信息。比如,很多3D目标检测算法将摄像头图像与LiDAR点云数据相结合,以提高目标检测性能。此外,可以精确标记3D LiDAR点云中的目标,生成3D边界框标签,这些标签很容易应用于一个或多个摄像头的2D图像,训练目标识别神经网络。这就需要针对LiDAR对摄像头进行内部和外部校准。
如何校准传感器
自动驾驶应用中最常见的传感器校准示例是摄像头和LiDAR传感器校准。首先,必须进行摄像头内部校准。传统的摄像头内部校准方法是用平面棋盘目标来计算摄像头矩阵和失真参数。在图像中检测棋盘关键点或角落。然后,将在图像中检测到的关键点与棋盘格上已知的实际关键点进行比较,计算各个参数。为提高校准精度和稳健性,可以采用某些启发式算法,确保在不同目标位置进行关键点检测,并且每个目标位置都有足够的样本。计算出的内部参数还可以用于外部校准流程。
对于外部校准,必须检测摄像头图像和LiDAR点云数据中的关键点。相对于图像数据量,LiDAR点云数据量比较稀疏,校准目标上的关键点较难检测。校准质量取决于两个传感器数据的关键点检测准确性。为研究传感器设置的校准精度,可以使用多个校准目标来测量校准性能。传统方法是使用平面棋盘目标进行关键点检测。然而,最新的先进方法提出采用带有圆孔的3D目标,这也适用于在点云稀疏的情况下检测关键点。
启发式算法可以确保只保留准确的关键点检测结果,实现可靠校准。将在摄像头坐标系中检测到的关键点与LiDAR坐标系中的相应关键点进行比较,计算外部校准参数,这些参数定义了坐标系相对于彼此的平移和旋转。RTMaps软件内置内部和外部校准算法,高质量记录实时关键点检测情况,评估校准算法的性能。
由于采用了高分辨率LiDAR,两种方法都具有高精度,外部校准的重投影误差在1±0.1像素范围内。对于传感器设置,基于棋盘格的校准收敛速度要比基于3D目标的校准快,因为棋盘格模式包含的关键点比3D目标多三倍。计算出的校准参数可用来将图像的RGB数据与LiDAR点云数据合并,或将LiDAR点云数据的深度信息与图像合并。