APP下载

“道路指纹”关键技术及其在智能车路系统中的应用*

2020-03-01胡钊政陶倩文王相龙

交通信息与安全 2020年5期
关键词:高精度全局指纹

胡钊政 陶倩文 黄 刚 王相龙

(武汉理工大学智能交通系统研究中心 武汉 430063)

0 引 言

近年来,智能化与通信技术的飞速发展极大程度推进了汽车、基础设施与交通系统的发展水平,并由此而催生智能网联汽车、智慧公路、车路协同、Vehicle-to-X(V2X)等全新的载运工具与交通系统。然而,这些系统目前均面临着一个共同的技术问题,即高精度定位技术。高精度定位不仅在无人驾驶系统中(如感知、决策与控制等模块中)起着至关重要的作用,也是实现车路协同、V2X的技术基础。目前,高精度定位技术仍然是制约这些新系统的核心瓶颈技术。例如,2020年中国科协发布了10大工程难题,其中之一即为“无人车如何实现在卫星不可用条件下的高精度智能导航”[1]。

传统的高精度定位技术主要基于卫星信号定位,典型的系统包括GPS与北斗。通常普通GPS或北斗系统的定位精度都在1~10 m,难以满足智能网联汽车与交通的技术要求。因此,GPS定位系统往往需要结合地面差分基站,并配合惯性导航等技术,从而可以大幅度提高定位精度(如厘米级精度)[2]。然而,实际的交通场景中存在大量无卫星信号区域(即卫星信号盲区)。在这些信号盲区,这种基于GPS的高精度定位方式失效。为了保证高稳定性、高精度的定位性能,近年来许多研究人员开展了大量的研究工作。从定位所用的传感器的类型来划分,目前的定位算法主要有基于图像的视觉定位方法[3-4]与基于LiDAR数据的激光定位方法[5-6]等。基于道路标志标线的视觉定位方法[7]被广泛应用于车路辅助驾驶与自动驾驶中,是一种典型的基于路标的视觉定位算法[8]。此外,还可以利用道路场景中广泛存在的交通标志、路面方向箭头等作为定位路标。而基于视觉SLAM的定位算法[9]可以针对更通用的道路场景,可以在构建地图的同时完成定位工作。一些代表性的工作包括 FAB-MAP[10],ORB-SLAM[11]等。目前,基于视觉定位算法无论是在定位精度还是在稳定性方面都存在较大问题。一方面,视觉SLAM系统主要利用视觉三维重建的方法获取参考位置信息,其定位精度仅能达到亚米级,不能满足智能车高精度定位需求。此外,视觉特征受光照、动态变化等外在因素影响大,定位稳定性较差,不能满足高稳定性的定位需求。

近年来,激光雷达技术不断取得突破,被广泛的应用于智能车路系统中。基于激光雷达的定位方法也得到了极大的发展。基于激光雷达的定位方法核心是利用2帧之间的点云估计出运动信息,从而获取目标的轨迹,实现定位。一些经典的点云配准算法包括ICP、NDT算法[12-13]以及基于它们的扩展算法等。近年来,许多研究人员提出了更精细的激光点云特征描述算法。例如,Zhang等[14]提出了平面点、角点等特征提取算法,并在此基础上提出了LOAM雷达实时里程计建图算法。该算法通过激光里程计来获取高精度的位姿信息,并产生实时点云地图。点云地图同时还可以有效校正定位误差,获得更加精确稳定的定位效果。百度Apollo团队的激光定位算法则是通过实现建立高精度的激光点云地图的方式实现[15]。该定位系统实现复杂、地图数据量巨大、成本昂贵,不利于进行大规模推广应用。与视觉定位算法相比,基于激光雷达的定位方法在定位性能上表现更为优异。但是,激光雷达定位的本质仍然是里程计定位,其在定位过程中产生的累计误差需要及时得到消除。特别是,针对大范围GPS盲区环境,如何及时有效地消除累计误差,提高激光定位系统的精度与稳定性,仍然是亟待解决的核心技术问题。

本文针对智能车路系统中对高精度定位的技术需要,提出“道路指纹”的新概念及基于道路指纹的定位方法。道路指纹是从车载传感器采集的数据中提取的高稳定性、高辨识度的道路场景特征。通过道路指纹可将道路场景的几何结构信息与位置信息进行唯一性关联,构建道路指纹库。从而,在定位过程中,通过道路指纹匹配,即可实现车辆的高精度定位。这种新的定位方法与手段可为智能车路系统高精度定位提供新的解决方案。

1 道路指纹表征方法

道路指纹是通过车载传感器采集的数据提取的道路特征。车载传感器数据本质上是从不同的频段对道路场景的映射,反映了道路场景不同的特性。因此,各种不同类型的传感器(如摄像机、激光雷达、毫米波雷达、超声波雷达等)都为道路指纹的构建提供数据。本文将针对2种最常用的传感器,即摄像机与激光雷达,提出道路指纹构建方法。需要指出的是,在实际应用中,可以仅仅使用从摄像机数据构建的视觉指纹或激光雷达数据构建的LiDAR指纹。

图1 从多视角多传感器数据中构建道路指纹Fig.1 Road fingerprint construction from multi-view and multi-sensor data

在道路指纹表征中,本文也借鉴人类指纹的计算方法,提出了构建道路指纹的4大基本原则:①唯一性,即要求构建的指纹要能反应道路场景独有的特征,从而可以通过指纹信息区分不同的场景与位置。为了解决这个问题,本文从多视角、多传感器的角度(见图1)来获取充分的道路场景数据,并在此基础上提取特征,从而提高表征的唯一性。②快捷性,即要求指纹计算(特别是在线计算)要足够快速,满足智能车路系统实时定位需求。本文是从全局特征与语义特征2个方面来对场景进行高度抽象,提高计算效率。③鲁棒性,本文将充分利用深度卷积网络(deep convolutional neural network,D-CNN)[16]在模式识别中的优异性能来抽取场景的不同层次的特征,提高表征的鲁棒性。④精准性,即要求道路指纹中应包含局部点的特征信息。特征点反映了该点附近的几何或纹理特性,不仅为场景的表征提供丰富的信息,同时也通过特征点自身的三维坐标与道路指纹建立几何关联。基于以上的4个考虑,本文提出了基于全局、语义、深度学习以及局部等特征的提取方法,并在表1中将人类指纹与道路指纹进行了对比。

1.1 全局特征提取

全局特征是获取的图像或LiDAR数据中提取的总体特征。本文中提出利用经典的ORB特征描述算子来提取全局特征。ORB是Rublee等[17]提出的特征点提取与描述算法,具有速度快、表征能力强等特点。在前期的工作中,提出将ORB用于全局特征提取。其核心思想是将一整帧图像作为特征点的邻域,运用ORB全局描述符进行特征提取[18-19]。具体而言,首先将场景图像灰度化处理,并将每帧图像缩放至63×63(pixel),标准化场景图像可有效弥补ORB特征算子不具备尺度不变性的缺陷。其次,运用ORB中的BRIEF描述场景全局特征。对于每帧场景图像用s表示,在s上由映射算法提取图像全局特征,见式(1)。

式中:t1与t2分别为s中2不同像素坐标,s()t1与s()t2为对应坐标处的灰度值。在s中选取n对像素点,并由式(2)对s的特征描述符进行计算。

经过大量数据的充分验证,将s的长度设置为256,此时所得到的高斯分布性能最佳。至此,将1帧场景图转化为了1个256位二进制字符串组成的全局特征描述符,图2为任意一道路场景图像计算所得到的全局特征提取结果。所得全局特征在定位时通过计算海明距离(即异或计算)的大小实现特征匹配。通过ORB提取的全局特征,可以实现目标的快速匹配,因此可以用作指纹匹配过程中的粗匹配过程。表1为道路指纹与人类指纹对比。

图2 利用ORB进行全局特征提取结果Fig.2 ORB holistic feature extraction results

1.2 语义特征提取

道路场景中通常会包含各种各样的语义目标,这些语义目标包括标志标线、桥梁、树木、房屋、路面的各种裂缝、轮胎擦痕、井盖、路杆等。通过对这些语义目标进行识别,识别结果亦可形成对场景的表征。语义特征提取过程中,语义目标的检测与识别是至关重要的一步。近20年来,许多研究人员针对道路场景中的目标检测与识别开展了大量的研究工作。例如,针对道路标志的检测与识别、车道线检测与识别、路面裂缝检测与识别、井盖识别等算法。随着深度学习的飞速发展,越来越多的卷积神经网络被用于道路场景中目标检测与识别,并且识别率可以高达95%以上。此外,近年来出现的目标识别与分割一体化的卷积神经网络(如Mask R-CNN)等[20]可以快速准确地从输入的图像数据中完成目标检测与分割,直接实现语义目标的提取(见图3)。

表1 道路指纹与人类指纹对比Tab.1 Comparison of road fingerprint and human fingerprint

见图3,从原始图像数据中,通过语义分割等算法,可以实现场景中语义目标的提取。从而可将场景分割成一块块的特定区域,而每个区域都有其明确的语义含义,如路面、道路标线、交通标志、树木、车辆等。这些语义目标在一定程度上完成了场景的内容表征。语义目标检测与识别的结果,通过语义的逻辑关系(如语义树),可以形成更高层次的场景表征模型。

图3 从道路图像中提取语义目标Fig.3 Semantic objects extraction from road images

1.3 深度学习特征提取

基于这样的考虑,传统的特征主要利用人的经验与知识,设计一定的规则进行提取。因此这种提取的特征称为手工提取特征。手工提取的特征受环境影响较大,鲁棒性不足。近年来,深度学习的快速发展为目标检测与识别提供了更加精准和稳定的解决方法。随着研究的深入,人们发现,深度卷积神经网络不仅可以用以检测与识别特定目标,而且可以利用网络的中间层提取不同层次的特征。见图4,除了最后的输出结果外,中间下抽样层、卷积层、全连接层都可提供不同层次的特征图。由于深度学习方法具有更好的鲁棒性与准确性,从而,利用卷积神经网络提取的特征(称之为深度学习特征:与手工特征相比,也具有更好的鲁棒性与准确性。本文在道路指纹构建过程中,也引入深度学习特征,用以提高道路指纹表征的鲁棒性与准确性。见图4,从图像输入到识别结果输出,各层的特征维度也在逐渐降低。其中,浅层的特征维度大,表征能力强,但是需要的存储空间多,在后续匹配过程中计算复杂度高。而深层次的特征维度小,表征抽象能力强,需要的存储空间少,匹配过程中计算复杂度更低。因此,在实际应用中,可根据应用的需求(如存储量、计算速度需求等)选择合适的层抽取特征。

图4 利用深度卷积神经网络进行不同层级的特征表征Fig.4 Representation of different feature layers by using D-CNN

需要指出的是,随着激光雷达技术的飞速发展,针对3D激光LiDAR数据的深度学习网络也被广泛研究。近年来,研究人员提出的Point Net[21]及Point Net++[22]等3D深度学习网络可以有效从3D点云数据中完成道路场景中的目标检测,同时也可以实现道路场景特征提取与表征。

1.4 局部特征提取

局部特征是指道路场景中具有差异性的点特征。在激光LiDAR数据中,这种点特征可以为点云中的某一3D点提取的属性(如几何属性等);在图像数据中,点特征则可以利用计算机视觉中常用的局部特征提取算法来计算。这些常用的局部特征提取算法包括SIFT(Scale-Invariant Feature Transform)[23]、SURF[24]、ORB与FAST[25]等。图5给出了4种常用的特征提取算法及其实验结果。局部特征提取算法的选取需要考虑算法的计算效率以及提取特征点的匹配效果等。

图5 利用不同的特征描述算法提取的道路局部特征Fig.5 Road local features extraction by using different feature descriptor algorithms

局部特征提取一般包含2个步骤,特征点定位与局部特征描述符计算。特征点定位是从数据中计算出具有差异性的点,即特征点。与普通点相比,特征点携带更加丰富的信息,因此能在指纹匹配过程中提供较强的约束。在定位出特征点后,可以从特征点邻域计算出特征描述符。特征描述符反应了该点的属性信息。

1.5 基于特征层次化表征的道路指纹构建

以上提取的各类特征在表征中有着不同的用途。例如,全局特征计算快捷,但是表征能力不足,因此常用作快速匹配或粗匹配。局部特征计算繁琐,但是表征能力强,常用于最后阶段的精确匹配。因此,本文提出基于特征层次化表征的道路指纹构建方法见图6。其中,全局特征用作粗匹配,用于获取候选集合;语义特征一方面可用于快速匹配,另一方面也可用作匹配校验;深度学习特征鲁棒性强,表征能力较好,用作匹配校验。匹配校验的作用是从输入的候选集合中挑选出最佳匹配。最后,利用场景局部特征,即可完成道路指纹的精确匹配工作。需要指出的是,在实际应用中,可以仅仅使用上述特征中2~3种特征进行道路指纹构建并实现车辆位姿计算,比如:先采用全局特征进行快速匹配,再采用局部特征进行精确匹配;又比如:先采用语义特征进行快速匹配,再采用深度学习特征进行匹配校验,最后采用局部特征进行精确匹配。

图6 基于特征层次化表征的道路指纹构建Fig.6 Road fingerprint construction based on feature hierarchical representation

因此,利用见图6的层次化特征表征,可以实现从粗到细的层次化道路指纹构建。这种层次化的构建方法可以综合考虑道路指纹在匹配过程中的计算复杂度与匹配准确性。

2 道路指纹库及定位方法

道路指纹可以形成对道路场景中某一特定位置的特征表征。通过计算道路场景中各个位置对应的道路指纹,就可以形成道路指纹库。如同人类指纹库一样,指纹不仅能提供匹配信息,还能提供更多的与指纹对应的属性信息。在道路指纹库中,笔者将各个道路指纹对应的位置信息作为指纹对应的属性信息。

本文提供的位置属性信息中包含2个方面的信息,即局部位置信息与全局位置信息。见图7。其中,局部位置信息为局部坐标系中特征点对应的几何位置信息。以路面为例,利用采集的路面俯视图像,可以通过摄像机标定的方法,完成路面的三维重建。此时,可以利用当前的摄像机坐标系定义局部坐标系。在该局部坐标系下,可以计算出路面上的特征点对应的坐标,此即为局部位置信息。在道路指纹采集过程中,需要高精度定位设备和技术手段来获取车辆在各个时刻的在全局坐标系(如GPS坐标系)位置与姿态信息。在当前摄像机采集数据的同时,路面上的局部特征点在全局坐标系下的坐标也可以通过摄像机(车辆)的全局位姿信息获得。从而,可以获取路面局部特征点对应的全局坐标。通过以上手段,可将位置信息与道路指纹进行关联,从而为后续的基于道路指纹定位的算法提供精确的参考位置信息。

图7 道路指纹与位置信息进行关联Fig.7 Road fingerprint association with position information

通过构建的道路指纹库,即可完成智能车高精度定位。提出多尺度定位策略完成定位过程,包含:①粗定位;②指纹匹配定位;③度量级定位。其中,粗定位主要是利用GPS或者拓扑定位等实现。粗定位的作用是将智能车定位在某个范围之内,从而可以减少后续的搜索区域,减少计算过程。通过粗定位,可以确定在限定范围的道路指纹集合。通过上文所提出的全局特征匹配,可以进一步缩小定位范围,产生更加稳定的指纹匹配集合。接着,利用语义特征或者深度学习特征对产生的指纹匹配集合进行校验,将最能满足校验的指纹作为匹配的道路指纹,实现了当前指纹与道路指纹中一对一的匹配,本文将该步骤称为道路指纹匹配定位。

度量级定位则是利用道路指纹库中指纹对应的位置信息来推算车辆当前的精确位置,其计算过程见图8。

图8 利用匹配的道路指纹进行位置推算Fig.8 Position calculation by matching with road fingerprint

首先,利用道路指纹中的局部特征(即特征点)实现当前指纹与其指纹库中匹配指纹的特征点匹配(匹配过程见文献[26-28])。本文选取路面特征点作为指纹的局部特征,因此可以很容易利用摄像机的标定参数,计算出路面特征点对应的物理坐标。从而,利用特征点的匹配关系,可以利用二维欧氏变换计算出2个摄像机之间的位置关系。

式中:[xcyc]为查询指纹;[xdyd]为匹配指纹;P1为二维欧式变换矩阵,通过旋转角度与平移量来描述。在道路指纹库构建过程中,也存储了特征点对应的全局坐标。通过存储的全局坐标与局部坐标,可以建立如下变换关系。

从而,利用式(3)~(4)可以计算出车辆当前时刻在全局坐标系下的位置。

3 应用案例分析

利用上文构建的道路指纹库与定位方法,即可完成高精度定位工作。下面用3个案例展示道路指纹的应用。

3.1 基于多视角视觉指纹的智能车定位

目前,传统的车载视觉定位方法一般采用单一前视视角摄像机采集场景数据,或者使用单一特征提取方法对图像数据进行特征提取。此类方法在场景相似度较大的情景进行应用时,由于连续帧图像相似度大,且单一特征无法对相似度大的图像进行有效区分,使得图像误匹配率较高,进而使得定位的鲁棒性较差,定位误差较大。因此,有必要引入多视角定位和多层次特征表征方法,提升车载视觉定位的精度和鲁棒性。

图9 基于二视图道路指纹的智能车高精度定位Fig.9 High precision localization of intelligent vehicle based on road fingerprint of two-view

文中在领域内提出基于多视角摄像机和多层次特征的道路指纹库构建方法[29-31],以及基于道路指纹库的多尺度定位方法。见图9,为基于多视角摄像机和多层次特征的道路指纹库构建方法示意图。智能车上搭载前视视角摄像机和俯视视角摄像机,采集场景前视图像和俯视图像。同时智能车上搭载高精度IMU,采集节点的轨迹。利用采集的车载传感器数据,处理并生成道路指纹库中每个节点数据。每个节点数据通过“三要素”模型进行表征,即包含视觉特征、三维信息和轨迹3个要素。在视觉特征处理方面,提取前视视角图像的全局特征和俯视视角图像的局部特征;在三维信息计算方面,利用三角法对路面上的特征点进行三维重建;在轨迹信息计算方面,利用IMU采集的数据进行节点之间的位姿关系计算。基于所构建的道路指纹库,提出1种多尺度定位方法,首先利用全局特征匹配的快速性,将当前图像的全局特征与道路指纹库进行匹配,快速获取粗定位候选集;然后,在此基础上利用当前图像的局部特征与候选节点进行匹配,确定距离最近的指纹库节点;最后利用局部特征的匹配关系,以及节点中存储的三维信息和轨迹信息,计算车辆的位姿。经过实际场景实验验证,文中所提出的定位方法平均定位误差为16 cm,相比单一视角单一特征视觉定位方法,能够有效提升定位的精度和鲁棒性。

与传统方法相比,所提出的方法的特点主要体现在以下3个方面:①将俯视视角图像引入至道路指纹库每个节点数据的构建,相比于基于单一前视视角图像的场景模型构建方法,俯视图像能够有效提升节点的唯一性;②引入全局特征表征方法,对前视视角图像进行表征,能够有效提升图像匹配效率;③利用全局特征快速匹配的特性和局部特征精确匹配的特性,达到又快又好的定位效果。

3.2 基于LiDAR道路指纹的智能车定位

基于激光雷达的智能车高精度定位是近年来智能车领域的研究热点。目前绝大部分方法都是采用基于激光雷达的即时定位与制图(SLAM)方法,该方法的定位误差随着时间增加而逐渐增加,无法长时间提供可靠有效的定位结果。此外还有部分方法采用基于激光雷达高精度地图的定位方法,然而由于激光数据量大导致地图检索困难,导致无法达到智能车定位的实时性要求。因此,有必要引入轻量的多层次特征表征方法以实现快速的地图匹配与检索方法,提升激光地图定位的效率与鲁棒性。

笔者团队首次在领域内提出了基于激光雷达道路指纹的高精度定位方法[32-33]。见图10,首先利用激光雷达采集道路激光点云数据,将点云投影在地平面上生成投影图像并提取局部特征,然后再提取点云数据中的语义特征与三维特征,同时利用高精度定位系统来获取摄像机在采集过程中的位姿信息,按照上节方法构建激光雷达道路指纹库。在定位过程中,通过GPS完成粗定位,通过局部特征与指纹库匹配实现快速的地图检索,通过语义特征进行验证,最后通过三维特征匹配实现度量级定位完成全局定位。该方法定位精度可达20 cm。与传统方法相比,笔者团队将三维激光点云投影成二维的图像,并通过快速的计算机视觉算子实现指纹库匹配提高了地图检索的速度;通过语义特征验证提高了定位结果的鲁棒性。

图10 基于激光LiDAR指纹的智能车高精度定位Fig.10 High precision localization of intelligent vehicle based on LiDAR road fingerprint

3.3 基于路面指纹的道路资产管理系统

路面损坏情况分析是道路资产管理系统中的核心问题。许多年来,研究人员提出了许多针对路面裂缝自动化检测与识别的方法。然而,目前绝大部分方法都是直接通过采集的图像数据或3D激光数据对裂缝进行检测与识别,没有利用历史的裂缝检测与识别结果。实际上,裂缝在短时间(如半年期或1年期)内具有比较稳定的状态,这就意味着上1个周期内裂缝分析的结果将对本次分析具有重要的参考价值。一方面,可以利用前次检测的结果,来对当前的裂缝位置进行预估,这样可以大大提高检测效率与准确性。另一方面,通过对2次检测的裂缝进行关联后,可以直接计算裂缝的生长规律,为路面诊断与保养提供宝贵的支撑数据。

图11 构建路面指纹库Fig.11 Construction of pavement fingerprint

图12 基于路面指纹高精度定位的路面裂缝检测与分析系统Fig.12 Pavement crack detection and analysis system based onhigh precision localization of pavement fingerprint

团队首次在领域内提出路面指纹的概念以及基于路面指纹的高精度(亚像素级)定位方法[34-37]。需要说明的是,本案例中仅采用了俯视摄像机提取路面图像中的特征信息进行道路指纹构建,因此,将本案例中所构建的道路指纹又称为路面指纹。见图11,首先利用俯视摄像机采集路面图像数据,同时利用高精度定位系统来获取摄像机在采集过程中的位姿信息,按照上节方法构建路面指纹库。在定位过程中,通过GPS完成粗定位,通过指纹库匹配完成帧级定位,最后通过度量级定位完成全局定位。该方法定位精度可达5 cm。在路面裂缝检测过程中,通过历史裂缝的位置,对当前图像中的裂缝位置进行预测,并通过预测的区域构建裂缝像素的灰度分布模型。从而,可以利用该分布模型来进一步检测裂缝像素。见图12,通过路面指纹高精度定位,可以利用历史路面裂缝信息来预测当前裂缝信息,提高裂缝检测的效率与稳定性。实验中,检测算法的精度与召回率分别为95.4%与84.3%,检测性能较之传统的检测算法具有极大的提升。此外,算法还成功地对裂缝的生长情况进行定量化分析,为道路资产管理系统提供重要的数据与决策支撑。

4 结 语

本文针对智能车路系统中的核心技术问题——高精度定位问题,提出了道路指纹的概念,并在道路指纹的基础上,提出了高精度定位方法。道路指纹表征模型可以将不同视角、不同类型的传感器数据进行特征提取,然后通过对这些特征进行层次化表征,实现对道路场景的指纹表征。通过将道路指纹与高精度位置信息进行关联,可以事先构建道路路网的指纹库。在定位过程中,通过实时匹配道路指纹库,即可完成高精度定位。利用3个典型的案例对道路指纹技术进行应用展示,显示出道路指纹在智能网联汽车、道路资产管理等典型智能车路系统具有较好的应用前景。

猜你喜欢

高精度全局指纹
Cahn-Hilliard-Brinkman系统的全局吸引子
量子Navier-Stokes方程弱解的全局存在性
像侦探一样提取指纹
为什么每个人的指纹都不一样
基于Niosll高精度超声波流量计的研究
高精度PWM式DAC开发与设计
高精度PWM式DAC开发与设计
落子山东,意在全局
高抗扰高精度无人机着舰纵向飞行控制
基于STM32的高精度电子秤设计