分享

知荐 | 自动驾驶中的感知定位优化策略(二)

 ZHAOHUI 2019-11-14

前文提到两种基本的关于优化自动驾驶常规定位策略的方法,其中基于GPS的传统定位系统可以达到初级自动驾驶定位效果,其定位精度可以达到米级,一般应用在对于精度要求不太高的辅助驾驶功能中,比如隧道限速,弯道限速等。而针对更高级别的自动驾驶功能需要提供更高精度的定位策略,甚至高达厘米级,如需要进行精准的车道限速,车道线信息识别等,传统的定位策略就无法满足检测要求。故此,诞生了基于激光雷达的高精度定位策略,考虑到价格因素,该方案也未被大量广泛的应用。
在实际应用过程中,需要通过不断地对比分析实现定位策略优化,本文将进一步讨论另外两种定位优化策略。
基于视觉传感器运动估计定位策略
基于视觉方案的传感器定位策略主要是利用摄像头搭载到车辆前端或侧端检测环境信息,以便计算车辆运动。大致原理是通过对输入的视频流进行一定的处理,利用视频之间的变换矩阵(实际是记录每一个车身姿态)来复现车辆运行轨迹。一个典型的基于视觉传感器的定位步骤如下:

从以上图中可以看出,视觉估计基础算法的第一步是进行场景探测生成图像序列,第二步是对图像序列进行特征点提取,第三步是将提取的特征点与先验的图像信息进行帧匹配,第四步是根据匹配图像进行运动向量估计,也即计算出i帧图像与i-1帧图像之间的变化量,这里我们用变换矩阵T来表示,第五步是使用视觉分析中常用的光流跟踪法对局部轨迹特征进行估计和更新。
然而在实际操作过程中,针对运动向量估计的方法包含了两种不同的硬件方案,即单目摄像头方案和多目摄像头方案。原则上单目视觉方案是没有办法探知到实际的深度信息的,从下图中即可看出:当不同远近的三个物体分别由摄像头A进行探测时,其发射到摄像机图像平面的点是在同一个位置,这样来说,实际是无法完全由A相机来分辨三个物体远近的。然而,此情况对于摄像机B来说却是投射到不同的相机平面坐标系中,这样便可以很轻松的通过几何关系找出三个物体的远近信息。这就是通过双目(甚至多目)摄像机检测深度信息的原理。

然而,针对搭载到车辆端的单目摄像机,其车辆的运动会导致摄像头并未处于静止状态,其运动特性对于环境中同一个点的探测便成为类似B相机观测的图像数据类型。这样对于环境目标的深度信息便可以大致的探测出来了。
对于视觉传感器的估计方法中针对不同的视觉传感器配置,会产生完全不同的视觉分析结果,下面分别就单目摄像头配置和双目摄像头配置对环境探测产生的不同影响进行对比分析。
单目摄像头定位策略
具体的单目视觉估计方案的关键步骤是利用摄像机移动探测到的视频序列进行运动向量估计,其估计方法如下:
1)检测并存储第一帧数据,这里称之为关键帧intraframe,这里表示为fi-1;
2)检测下一帧数据,并将关键帧fi-1和当前帧fi均进行特征点提取;
3)以关键帧fi-1为基准,将当前帧和关键帧进行特征点匹配得到匹配后的运动向量值M=(x,y,t);其中(x,y)表示平移向量,t表示旋转向量;
4)接下来其他N帧数据分别以前一帧数据作为参照进行运动向量估计,即;

5)由于每次数据均是参照前一帧进行估计,可能形成较大的估计误差,故需要设置一定的代价函数cost值,当cost值在一定程度上大于设置阈值时,认为估计不精准,需要重新插入关键帧,进行重新估计;

单目摄像头检测方案中,均需要保证摄像头的相对运动才能从变化的视频序列中估计出车辆运动信息,然而这样的探测方案对于车辆所处的绝对位置是未知的。因此相对运动和三维结构都必须遵从二维数据的计算规则。一般情况下,第一帧和第二帧姿态之间的距离通常设置为固定值,以建立初始的三维结构。当检测到下一帧图像数据时,利用初始化的三维结构信息可以确定相对于前两帧的尺度信息和姿态信息。如下图所示:

 
双目摄像头定位策略
双目摄像头估计也是通过检测连续的图像之间位置信息来估计运动向量,然而,这里的连续图像是包含立体信息的图像,因为针对同一个环境点信息检测,并不需要依靠摄像机的运动来实现,而是完全可由两个相机之间的相对位置(或运动)来实现检测。这样对于先验的绝对位置信息就有比较清晰地提前检测。
相应的检测过程如下:
1、首先需要对双目相机进行标定,得到两个相机的内外参数、单应矩阵。
2、根据标定结果对原始图像校正,校正后的两张图像位于同一平面且互相平行。
3、对校正后的两张图像进行像素点匹配。
4、根据匹配结果计算每个像素的深度,从而获得深度图。
如下图表示了一种立体视觉的检测与处理方式。
 

上图为双目的典型工作流程图。双目最后输出的是一张深度图,用颜色深浅来代表距离。

这里需要注意双目虽然不需要识别目标,但是双目需要级化分割(Segmentation),且双目最关键的环节在立体匹配。立体匹配过程如果存在错误的估计点将会对深度图象输出产生致命的影响,从而无法准确估计出图像帧之间的变换矩阵,也就无法准确估计出车辆当前的实际运行轨迹。解决这一问题的具体方法是采用鲁棒性较高的估计器,他可以容忍一定的错误点匹配。
小结
如上所述,单目和双目摄像机均可实现对自车信息的运动状态估计,但是他们却有如下不同:
1) 对单目估计来说,要想获得距离信息,必须先识别目标,然后对目标进行框图边界分割,分割并识别后是估算距离,且单目估算距离主要是根据像素大小,这种方法准确度不高。
如下图所示:由于距离因素,行人3和行人2的像素大小是非常接近的,但行人2和行人3与车辆距离距离差别很大,但是在单目看来,距离是完全一样的。

2) 双目相对于单目来说在运动估计上则是通过两个摄像头内外参数标定通过一定的公式(如下图)实现距离测量,而非通过单个摄像头运动位置来估算运动轨迹。准确度比单目要高得多。

3) 双目可以在不识别目标类型的情况获得深度(距离)数据。即针对目标距离测量时,双目估计可以直接把目标当成一个识别点不用考虑其像素值大小(如上图)。
4) 双目需要对每一个像素点都做立体匹配,运算量很大,故双目估计对于中央处理器要求更高,其设备运行成本也越高。
基于智能轮速传感计数定位策略
自动驾驶定位中常常要求车辆具备智能轮速传感器,其功能是采集的车轮转动齿数测量车轮转速,同时利用车轮偏向角测量整车航向角,而轮式编码器则可以将相应收集到的车轮向及轮速转化为车轮相对于地面的位移,也即车辆的行驶位移。并利用在规定时间内已知的轮胎航向角和车速信息来确定当前车辆的具体位置,实际是该方案实现了一种里程计数器。行业内有使用了阿克曼转向来提供一种比较精确地航向分析及里程计数定位方案,表示如下图:

 如上阿克曼约束方程表示为:

其中α是内测车轮转角,β是外侧车轮转角,K为轮距,L为纵向轴距。
然而,这种基于里程计数的方式实际是一种随着时间推移逐步进行增量积分的方式,积分就意味着不可避免的误差积累,这些误差包含两类:系统误差和非系统误差。
1) 系统误差:车轮直径、轴距、质心与标称值误差,编码器分辨率、采样频率不足等;
2) 非系统误差:路面不平坦、湿滑,车轮滑移等;
以上误差累积分析中,轴距小的车辆比轴距打的车辆更容易出现定位误差。航向角度误差积累到一定程度后会造成较大的位置误差,而位置误差积累就会造成运动轨迹的误差积累,最终测量的车辆实际运行轨迹将会不准确,对于整车定位来说将导致置信度降低,甚至不可用。
这里举个比较简单的例子说明一种误差积累会造成对ADAS功能怎样的性能影响。比如AEB会根据轮速智能轮速传感器输入的轮速及轮向来判定当前车身姿态及运行位移,同时通过前雷达测定的前方车辆相对位移及相对速度预估潜在碰撞时间TTC,从而选择合适的制动时机。但是打滑状态下,AEB对于测量的距离及航向可能不准,这就造成无法准确判断出前方危险,造成功能漏触发。
为了减少以上里程计数误差对定位产生的误差影响,可以采用如下的方案进行优化:
1) 为了优化编码器性能,提高采样频率及分辨率,可以增加两个基本旋转式编码器拖车;
2) 为了提高测量精度,可以对车辆进行精确校准;
3) 增加参照物,比如利用两个编码机器作为互相参照以提供相应的相对位置坐标以作为对方的参考;
4) 内部位置误差修正,这种方式需要车辆定时对内部测量误差进行修正,其参考数据是来自于外部参照物提供的绝对位置坐标;
通过以上四章我们了解到,不同的传感器方案可以分别实现不同的车辆路径追踪及定位系统,并各自具备自己的优缺点,事实上,由于每一种传感器都有其各自的优缺点,在无人驾驶车辆中,必须来自多个传感器的数据结合起来才可以提高可靠性和安全性。故为了达到最优的定位效果,我们可以采用如下的多传感器融合定位方式实现精准定位(如下图)。
 

备注:本文为焉知原创稿件


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多