如何实现自动驾驶系统传感器的实时在线标定设计

汽车电子

2371人已加入

描述

自动驾驶车辆上通常会安装多个传感器作为感知输入源,而首先来说它们之间的坐标关系是需要确定的,那么,传感器标定就是自动驾驶的基本需求。一般情况下,整个标定工作可分成内参标定和外参标定两部分。内参是决定传感器内部的映射关系,比如摄像头的焦距,偏心和像素横纵比(+畸变系数),而外参是决定传感器和外部某个坐标系的转换关系,比如姿态参数(旋转和平移6自由度)。

传感器校准是智能车辆稳健性能的基础。传统且常用的标定方法是通过对智驾车辆在工厂下线电检阶段进行的。一旦完成标定和校准,其内外参数在交付至客户手里后将不会自动优化更新。

众所周知,整个智驾感知领域几乎无一例外的用到了计算机视觉相关的AI处理技术,比如深度学习、人工智能、数据驱动的各种优化等。

 

以感知最常规的车道线识别为例。随着自动驾驶时代的到来,需要车道线识别的应用场景也越来越广泛,相应车道线识别技术也越来越重要,具体原因如下:

第一,覆盖场景广,车道线识别存在于自动驾驶大多数的应用场景,是自动驾驶不可或缺的 基础算法;

第二,重要安全保障,车道线识别能精准的识别道路并最终帮助机器决策,也是行车安全的 重要保障。

第三,在高精地图或轻地图构建领域,车道是所有高精地图要素的道路关联的主键,所以车 道线要素在高精地图中是重中之重,车道线识别算法也至关重要。

基于此,自动驾驶对于车道线识别结果精度的超高要求,而我们发现在真正识别过程中,已经有很多Tier1或者Tier2都会或多或少的在实际路测过程中发现一些不利的感知结果。

比如在车辆从产线上下线后上路跑一定时间的路试后,很容易出现车道线跳变,目标感知不准确等结果。实际上这类问题的源头这些算法供应商也是有一定分析和应对能力的。因为大部分这类问题的源头都来自于由标定内外参数所决定的投影矩阵P或单应矩阵H。通常情况下,他们采用的优化方式包括如下几种:

1)如果两条车道线间歇性跳变,则可能是感知算法本身的原因导致的,这时候考虑在规控端做预处理。方法是以两条车道线做原始输入,卡尔曼滤波预测输出行驶中心线;

2)如果是其中一条车道线做间歇性跳变,则考虑是否是传感器的某些内外参数值随着时间推移出现了校准偏差。解决方法是利用车道线和目标来计算一个较好的相机Pitch值,再在后端加上一些平行假设便可以很好的解决这类问题;

3)相机系统的长期运行和免维护优势只能通过自动校准方法来保证,它可以根据需要更新相机参数。然而,在自然环境中,干扰很容易对校准造成挑战。一种可能性是使用已知形状的自然物体来重新校准传感器。如果考虑利用识别到的环境静态目标对传感器进行实时在线标定时,则是利用光流或其他先进的视频跟踪检测技术则可以获得一个高质量的Pitch值。

01

自校准方法概述

常用的相机标定方法需要一些特殊的参考图案,例如棋盘,其物理尺寸等。并且,这些都是事先已知的。然而,当车辆在路上时,这些特殊图案并不容易获得。在这种情况下,自动校准系统就需要从其环境中提取参考信息。

总结起来,对于自动校准的方法而言可归类为如下几种:

1)从道路虚线中提取消失点或道路拐角进行在线标定。

2)接收来自其他汽车的预定义特征点来建立对应模型,用于获取交通摄像头参数。

3)基于定义车辆流的三个消失点来监控摄像头校准。

4)通过将行走的人物目标为垂直线段来完成相同的工作。

自动驾驶系统

实际上,对于自校准方法来说,当前考虑的策略是可以从道路线中提取特征点用于校准,但不可能假设不同区域的道路线宽度相同。此外,由于磨损,沿道路线的轮廓可能存在缺陷。这些伪图像和图像变化将会导致一定的校准错误。

针对以上问题将有两种解决方案。一种方法是在车端设计一个结构化道路环境(在道路上绘制的已知大小的网格),当车辆驶近时,摄像机会检测到该环境。另一种方法使用放置在汽车引擎盖上的几个标记,快速估计车载摄像头的相对位置和方向。然而,这可能会分散其他司机的注意力,假设引擎盖在摄像头的视野范围内,并且如果引擎盖不平坦,则不同车辆的性能可能会有所不同。因此,如上两种方法都不适合真实的驾驶场景。

02

本文提出的优化自校准方案

本文的重点就是研究一种新的优化方案对传感器的实时在线标定。这里的重点是基于识别环境中的交通标志(例如停车标志、限速标志等几类常规的标志)并将其用于重新校准相机的方法。该方法基于检测、几何估计、校准和递归更新几个步骤来具体实现。实时标定的结果可以清楚地显示其收敛和改进的性能。

与设计图案不同,停车标志无处不在。停车标志的物理尺寸由交通部标准化。与城市环境中存在的其他参考信息相比,使用交通标志,尤其是停车标志具有三个优势:

可以亚像素精度检测到足够的特征点(从停车标志的内八角开始至少八个)。

与其他参考对象(例如道路线)相比,停车标志的相关几何属性保持不变,因为它们由对外力具有鲁棒性的金属制成。

车辆在接近停车标志时减速,减少图像模糊和滚动快门效果。

传感器校准是智能车辆稳健性能的基础。在自然环境中,干扰很容易对校准造成挑战。一种可能性是使用已知形状的自然物体来重新校准传感器。因此,我们提出了一种使用停车标志进行自动校准的方法。

整个标定逻辑流程图如下:

如上所描述的检测重点在于如下几个重要的模块处理。

1)交通标志检测:

对于依靠路标进行实时在线标定的情况,需要在行车过程中实时检测道路中的交通标志信息。当前,在卷积神经网络 (CNN) 的帮助下,目标检测一直是一个研究得很好的领域。通用的检测架构(例如 YOLO、YOLOv3)可以轻松地实时运行(45 Hz);而基于提案的架构(例如 Faster R-CNN 、FPN)需要更多资源并且通常需要更长的运行时间,在准确性方面通常优于前者,尤其是对于小物体和复杂场景。此外,标记对象像素的实例分割方法也可用于查找停车标志边界框。

2)形状匹配:

形状匹配是通过使用相似性度量检查需要比较较的两个标志形状的相似性。特别是在我们这种利用停车标志进行在线标定的例子中,检测到的停车标志边缘包围的形状必须是八边形。这里可以用旋转函数表示多边形并测量 Lp 距离。当然,也可以进一步考虑(除了旋转、平移和尺度不变性之外)仿射不变性。

智能汽车实时在线标定系统可分为七个模块(如下图)。

自动驾驶系统

前五个部分从城市图像序列生成角点的 2D-3D 对应对,后两个部分是计算内在参数的最后两个步骤。这里我们将分别进行过程阐述。

1、停止标志检测Stop Sign Detection

标志检测阶段通过使用能够具有 ResNet-50 和特征金字塔网络主干的Mask R-CNN 模型对图像帧进行处理,从而生成 2D 边界框(如上图a中的绿色框)。Mask R-CNN 模型相对较低的速度不会影响我们当前的非实时系统,因为开销主要在于边缘线拟合模块。因此,与 Faster R-CNN 相比,Mask R-CNN 具有更高的停车标志检测率,这可能通过提供更多参考候选来提高我们系统的校准精度。

2、通过颜色分割检测轮廓点

该模块从停车标志中检测红色内八边形的轮廓点(如上图b)。图像预处理阶段,可以使用从 RGB 到 HSV的颜色空间转换来对带阈值的红色部分进行提取。

然后,在 HSV 图像上,使用常规的边缘检测算法(如Canny/Devernay 算法)进行边缘提取,从而以亚像素精度来获得八边形的轮廓点。由于边缘检测算法在本文中是十分重要的。因此,这里可以简单说明下Canny算法和Devernay的技术原理。

A、Canny算法

Canny算法实际上是将高斯滤波器的一阶导数应用于图像检测中,从而可以获得图像梯度,其中边缘点是沿法线方向 n 的局部最大值。

与边缘正交的方向 n 可以用图像梯度近似:

自动驾驶系统

如上公式中, G 和 I 分别是高斯滤波器和图像, * 代表卷积运算符。

B、Devernay 亚像素校正

通过 Canny 算法虽然可以实现基础的边缘检测过程,但是其获得的边缘点是整像素精度级别的。而对于我们的系统而言,处理过程都是需要亚像素精度,这可以通过使用 Devernay 矫正算法对Canny进行算法改进。假设B是用Canny算法得到的像素点(对应法线方向n上的局部梯度最大值)。B 沿 n 的两个相邻点的梯度可以通过线性插值来近似。然后,边缘点的子像素位置被细化为所有这三个点(沿 n)的一维二次插值的最大值。

接下来是需要对处理结果进行轮廓点链接。为了实现这个目的,需要将上述独立的边缘检测点分组形成若干链。为了确保轮廓检测的唯一性,需要采用密集点检测方法,将包含最多点的一个就会选定为内八边形的轮廓。

3、边缘线拟合

如上八边形虽然检测出了整体的轮廓,但是还需要依靠一定的边缘线拟合算法将这些轮廓点拟合成真实的八边形。

操作过程针对给定上面停车标志轮廓上的一组二维点 X ∈ R N×2,将其拟合八条线,每条线的估计都会生成八边形的一条边。通过找到具有最多“支持点”的线,一次估计一条边。当点到线的距离在接近阈值(本文中,阈值固定为 0.5 个像素距离可以确保亚像素被准确估计)内时,则认为该轮廓点可以“支持”对该对应线的估计。

如上轮廓线的选择是通过对原始轮廓点集合运行 RANSAC 算法来完成的。请注意,此处迭代次数受 N2 的限制,方法是遍历所有对。一旦一条边被拟合,所有的支持点都从原始集合中移除,这样就可以重复相同的算法来找到不同的边。

结合概率p ∈ [0, 1) 最终最小二乘线是最受支持的线的概率,迭代次数 K 可以计算参照如下公式:

自动驾驶系统

其中 w =1(8−i)2 , i ∈ {0, ..., 7} 是从支持集中选择一个点的机会,假设 X 中轮廓外的异常值很少。确定 p 涉及考虑估计精度和运行时间之间的权衡。假如当前设定精度比运算效率更重要,则需要将 p 设置为尽可能接近 1(例如 0.999)。

4、垂直搜索线细化

RGB/HSV类型图像梯度的大小可以实际表示出八边形轮廓的位置,其中颜色在邻域中变化最突然。考虑到智能汽车可能行驶在夜间或可见度不足的场景下,这时由于光照不足可能会导致 HSV 空间中的误导性颜色分割,原始点可能会偏离轮廓。因此,线细化是必要的,这里可以通过局部搜索将移动的线调整回真正的八边形边缘。

从估计线开始,我们沿着线的垂直方向搜索局部最大梯度,并旋转线以与其对齐。在曝光不足/曝光过度的情况下,边缘的梯度峰可能会消失。因此,引入细化边界可以很好的解决这个问题。假设细化应该是微妙的,只有当超过一半的 S 细化点在边界内时,才会更新一条线。

细化边界可以用百分比 B ∈ [0, 1] 进行参数化,这意味着细化点最多是白色边界宽度的 100 % 沿垂直方向远离原始位置。为了估计停车标志的白色边框宽度,可以将估计的线段的长度乘以交通标志规则中记录的内部多边形边缘的宽长比。

5、交点估计

八条估计线最多有28 个交点,而其中只有八个是有效的八边形角。一种简单有效且常用的方法是选择靠近线段端点(例如,在 10 像素距离内)的交点。然后,角点数不等于 8 的任何估计都会被丢弃。

例如,按顺时针顺序(相对于点的几何中心)对角点进行排序有助于获得 2D-3D 对应关系。此外,第一个角始终可以设置为字符“S”的左上角,因为停车标志通常是直立的。

为了进一步验证角点的有效性,采用Hausdorff距离方法来保证最终的八点集在仿射变换下形成八边形。

6、平面物体校准

通常这类标准的模型可使用针孔相机模型进行校准。即,将世界坐标中的 3D 点 (X, Y, Z) 投影到图像中作为像素 (u, v)表示。通过以下等式可以将 (u, v) 与 (X, Y, Z) 联系起来:

自动驾驶系统

其中 s 是未知标量,A ∈ R 3×3 是相机固有矩阵(假设无偏斜约束)。r1, r2, r3 是旋转矩阵的列,t 是平移向量。它们通常被称为相机外部参数,因为它们具有将世界坐标点转换为相机坐标系的功能。

在标定过程中,如果 3D 坐标系固定在棋盘或停车标志等平面物体上,则等式 3 中的 Z 分量始终为零,从而得到一个简化的等式:

自动驾驶系统

我们用 M = (X, Y, 1)T 和 m = (u, v, 1)T 分别表示平面物体上一点的位置和它在图像中的位置。它们的关系由单应矩阵 H 定义如下:

自动驾驶系统

很明显,H 是一个 3 × 3 矩阵,直到一个比例因子。可以使用 N ≥ 4 个点来计算单应性矩阵 H。

在我们的系统中,检测到停车标志的 8 个角点后就可以用H =[h1 h2 h3] 来表示 H。由式5可得:

自动驾驶系统

基于 r1, r2 是标准正交的知识,我们得到计算内参矩阵 A 所需的两个约束如下:

自动驾驶系统

这样就可以获得计算内参矩阵 A 所需的两个约束。

在我们的系统中,假设主点固定在图像平面的中心,只有焦距 fx 和 fy 被计算并迭代更新,那么对于棋盘校准,我们也需要出于比较的目的强制执行此假设。

封闭形式的解决方案可以通过最大似然推理进行改进:原始校准需要用作非线性优化问题进行初始推算,也可以使用Levenberg-Marquardt 算法进行求解。目前,这部分不包含在我们的系统中。

7、卡尔曼滤波器校准的时间更新

这里的优化更新目标是随着时间的推移可能会产生其他的一些噪声,这时就需要通过不断地优化来整合相机内参矩阵。我们一般假设该推理过程会引入一些标准的高斯噪声,那么我们就可以使用具有不同噪声协方差矩阵的卡尔曼滤波器来进行优化和更新。

标准的卡尔曼滤波器预测公式如下:

自动驾驶系统

其中 xt, xt+1 是在不同时间估计的相机内参向量。研究的一个基本假设是如果假设内在参数在短期估计内是恒定的,那么F 就可以成为单位矩阵。

此时,整个更新步骤是通过如下公式进行的:

自动驾驶系统

过程噪声和测量噪声 δ 是具有零均值的高斯随机向量。它们的协方差分别由(对角线)矩阵 Q = E( T )、R = E(δδT ) 表示。Q 指定了我们认为内在参数随时间变化的程度,对于较短的估计期应该较低。R 确定一次估计中有多少噪声。直观地说,随着过程的进行,这种测量噪声应该从高值开始降低,因为使用的图像越多,校准就越准确。

03

结论

高阶驾驶辅助系统对其传感器是否具有稳健的性能要求十分严苛,因为这是系统能否实现准确环境感知的关键。从当前的发展趋势看起来,最有前途的传感模式则是成像模式,因为从图像中可以计算出低成本且丰富的环境信息。由于相机系统经常用于距离感知、速度推理和目标检测。对于此类应用,相机参数通常对于重建部分场景和影响测量精度至关重要。影响参数准确性的往往来自原相机的精确校准及自适应优化过程。然而,当摄像头安装在车辆上时,摄像头固有的由于道路颠簸引起的机械振动或天气引起的温度波动参数会发生变化。因此,长期使用反复校准相机也将是一个挑战。

本文提出了一种基于识别交通标志(例如停车标志)并将其用于重新校准相机的方法。该方法是基于检测、几何估计、校准和递归更新来实现的。可以在需要最小相机运动的任务开始之前校准一次相机,因为可以假定相机内部参数是静态的。实际证明,采用这类道路静态目标对相机的实时校准是非常有效且受用的。后续我们可以推断出其他类型的道路静态目标校准方式,比如限速牌,人行横道等典型的标识。实际是越多的图片加入校准库,对于实时在线校准越有利,但是同时也要关注到整个中央域控的运算能力等。







审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分