APP下载

基于路面指纹的高精度车辆定位

2018-09-10王相龙胡钊政李祎承

交通运输系统工程与信息 2018年4期
关键词:子块指纹路面

王相龙,胡钊政,李祎承,黄 刚,蔡 浩

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

0 引言

目前,主流的基于视觉的车辆定位方法为:基于SLAM(Simultaneous Localization and Mapping)的车辆定位和基于地图的车辆定位.基于SLAM的车辆定位同时进行建立地图步骤和定位步骤,适合在未知的环境下,但SLAM计算复杂度高且需要进行大量优化计算,并且在没有GPS/INS(Global Positioning System/Inertial Navigation System)提供绝对定位信息的情况下,存在累积误差.而基于地图的车辆定位方法利用构建的高精度地图实现车辆定位,定位精度高且稳定,受到越来越多的研究者关注.

基于地图的车辆定位主流方法之一是利用图像实现车辆定位,该方法利用前视或侧视图像实现车辆定位.Valgren等[1]前视摄像头采集图像,通过匹配SIFT(Scale-Invariant Feature Transform)特征和SURF(Speeded-Up Robust Features)特征实现车辆定位.Wong等[2]利用前视摄像头和侧视摄像头采集的街景图像,通过匹配SURF特征从而实现车辆定位.由于前视和侧视图像易受运动物体,如车、人等干扰且光照对两个视角采集的图像影响较大,从而使图像特征匹配的鲁棒性变差进而降低定位精度.由于路面比街景变化小且通过补光等方法使光照环境稳定,因此利用俯视路面图像实现车辆定位的方法受到关注.张黎明等[3]利用SURF匹配路面图像并结合单应矩阵实现车辆定位.以上基于地图的车辆定位均需要找到1个距离待定位节点最近的地图节点,而该步骤需要遍历地图节点,由于地图中的节点数量巨大,导致耗时较长.传统方法利用GPS缩小遍历范围.由于GPS误差为10 m,因此通过GPS筛选后依然存在较多的地图节点.

针对车辆定位效率的问题,本文提出一种具有唯一性和稳定性的表征模型——路面指纹.该模型包括GPS、路面特征和图像特征.通过引入路面特征从而在GPS初定位的基础上进一步筛选地图节点,提高定位效率.在路面特征密集和稀疏的路段进行实验,本文的创新点为:

(1)提出利用路面指纹对路面进行表征,路面指纹包含GPS、路面特征、图像特征.相比于传统方法使用GPS对地图节点筛选,路面指纹利用路面特征信息对地图节点进一步筛选,提高定位效率.

(2)利用CNN和连通区域识别路面特征.相比于传统方法利用CNN对整张图像进行识别,本文利用CNN对图像子块进行识别,并利用连通区域方法去除噪声子块从而识别路面特征,使CNN在采集图像数量较少的情况下具有较高的识别精度.

(3)提出一种基于路面指纹的多尺度定位方法.该方法采用多尺度渐进的定位策略,经过GPS初定位、路面特征信息定位、图像级定位和度量级定位,从而实现车辆定位.

1 本文算法

1.1 路面指纹

路面指纹是一种融合GPS,路面特征和图像特征的具有唯一性和稳定性的表征模型,如图1所示.路面指纹通过引入路面特征,从而进一步筛选地图节点,缩小候选节点范围,提高定位效率.

图1 路面指纹Fig.1 The pavement fingerprint

本文利用基于路面指纹的多尺度定位方法实现车辆定位.多尺度定位方法为:

(1)GPS初定位,通过匹配待定位节点和地图节点中的GPS,筛选地图节点以减少搜索范围.

(2)路面特征信息定位,通过匹配待定位节点和地图节点的路面特征,进一步减小搜索范围.

(3)图像级定位,通过比较待定位节点和地图节点的局部图像特征点数量,找到与待定位图像最相似的地图图像.

(4)度量级定位,利用匹配的局部图像特征、单应矩阵和支撑平面计算旋转矩阵和转移矩阵,得到最终定位结果.

流程图如图2所示.

1.2 基于GPS的初定位

通过匹配待定位节点和地图节点的GPS,筛选地图节点以减少搜索范围,实现初定位.设待定位节点GPS为P={(a,b)},地图节点DGPS为,计算待定位节点P与地图节点qi的距离,通过设定的阈值k对地图节点进行筛选,得到与待定位节点相近的地图节点为

式中:qi表示为第i个地图节点,由于GPS的精度为10 m,因此k=10.

图2 基于路面指纹的多尺度定位流程图Fig.2 The flow-chart for multi-scale localization referring to pavement fingerprint

1.3 基于路面特征的定位

由1.2节得到筛选后的地图节点,再通过基于CNN和连通区域的方法识别待定位图像的路面特征,利用路面特征进一步筛选地图节点.通过搭建一个9层的CNN识别路面特征,其网络结构如图3所示.搭建的CNN由3个卷积层,3个池化层和3个全连接层组成.卷积层由大小为3×3的卷积核组成,卷积核的数目分别为64,128,256.池化尺寸为2×2,步长为2.最后3层为全连接层 FC1,FC2,FC3,其中FC1,FC2层包含4 096个神经元,FC3为2路的softmax输出层,在FC1,FC2和FC2,FC3之间加入了dropout以减小过拟合.

图3 用于路面特征识别的CNN结构Fig.3 The structure of CNN for pavement feature recognition

目前,没有针对路面图像的公开数据集,导致训练集图像较少从而降低CNN识别正确率.将图像切割成M个80×80的图像子块,利用图像子块代替整张图像作为训练样本,从而增加训练集数量.CNN将图像子块分为2类,分别为:①标志特征子块,即图像子块中包含裂纹,车道线,减速带等;②无标志特征子块,即图像子块中只有路面.由于路面存在油斑,水渍,从而导致CNN识别错误,识别错误的子块为噪声子块,如图4(b)所示,通常情况下噪声子块为孤立子块,通过连通区域识别噪声子块,即当识别为标志特征子块的八邻域内存在标志特征子块的数量小于设定的阈值时,则为噪声子块,通常情况下阈值为1.经过噪声块去除后,当图像中存在标志特征子块,则该图像为包含标志特征的路面;反之,则为无标志特征路面,如图4(c)所示.

图4 路面特征识别Fig.4 The pavement feature recognition

通过上述方法以离线和在线方式识别地图图像和待定位图像的路面特征,以待定位图像的路面特征为匹配条件,进一步筛选地图节点,缩小候选地图节点范围,提高定位效率.

1.4 基于图像特征的图像级定位

本文利用ORB[4]匹配地图图像和待定位图像的局部特征点并利用RANSAC消除错误的匹配点,根据匹配特征点的数量实现图像级定位.ORB是一种结合oFAST特征检测算法和rBRIEF特征描述符的图像匹配算法.相比于SURF和SIFT算法,ORB不仅速度快而且匹配精度不低于两种算法.

ORB算法利用oFAST检测图像特征点.oFAST是FAST(Features from Accelerated Segment Test)的改进算法,通过灰度质心法对FAST特征点赋予方向信息.具体而言,以特征点为圆心构成图像块I,通过式(2)定义图像块的力矩.

式中:I(x,y)表示x,y处的灰度值,其质心为

特征点的方向为

根据求取的特征点方向θ,构建旋转矩阵Rθ为

通过oFAST检测特征点,再利用Harris对检测的特征点进行排序,根据角点响应值大小筛选前1 500个角点,然后利用rBRIEF特征描述子对特征点进行编码.以角点p为例,在角点p周围选取n个点对,将n个点对的映射结果作为描述符,其中,映射方式为

式中:P(x)为x处的像素灰度值,通过式(7),得到角点p的BRIEF描述符为

为了使BRIEF描述子具备旋转不变性,首先对角点建立1个2×n矩阵S为

通过旋转矩阵Rθ构建Sθ为

得到具备旋转不变形的steered BRIEF特征描述符为

ORB通过贪婪搜索筛选出相关性不高的steer BRIRF,即 rBRIEF,详见文献[4].再利用RANSIC算法消除错误的匹配点,最后根据待定位图像和地图图像匹配的特征点数量,找到1张与待定位图像匹配特征点数量最多的地图图像,实现图像级定位.

1.5 度量级定位

通过地图图像和待定位图像的匹配局部特征点建立2D关系,利用支撑平面[5]统一2张图像的世界坐标系,支撑平面为1个放置在路面上的棋盘格,如图5所示.路面可视为1个平面,通过支撑平面建立世界坐标系,并通过H矩阵变换,从而统一地图图像和待定位图像的世界坐标系,得到相对位置关系,实现度量级定位.具体而言,通过对放置在路面上的棋盘格标定得到H矩阵为

式中:[u v1]T和[X Y1]T分别为图像局部特征点在图像坐标系和世界坐标系的齐次坐标;λ表示比例因子.

再通过分解式(11)得到的H矩阵,从而获得摄像机的内外参.

式中:K表示摄像机内参数;r1,r2,t为摄像机外参数,分别表示x轴与y轴方向的旋转角度和平移向量.由于外参数表示摄像机坐标系与世界坐标系的相对位置,因此当车辆发生移动时,摄像机位置也发生了改变,导致拍摄的路面图像对应不同的世界坐标系,通过统一世界坐标系,即可得到2个节点之间的相对关系,从而实现度量级定位.

图5 支撑平面Fig.5 The support plane

以地图节点P1和待定位节点P2为例,由于待定位图像和地图图像为平面图像,因此通过单应矩阵H2建立地图图像和待定位图像之间的关系为

式中:[u1v11]T,[u2v21]T分别为地图图像和待定位图像的匹配特征点在图像坐标系的齐次坐标,通过单应矩阵H3将待定位图像的特征点映射到地图图像的世界坐标系中,即

式中:H1为地图节点P1的单应矩阵.

通过分解待定位节点P2的单应矩阵H3得到旋转矩阵R2和平移矩阵T2为

同理,通过地图节点P1的单应矩阵H1计算得到旋转矩阵R1和平移矩阵T1,进而地图图像和待定位图像的相对位置为

以此类推,可得到地图节点Pn和待定位节点Pn+1的位置关系.

2 实验分析

本次实验的地点在武汉理工大学余家头校区附近,选取2段具有代表性的路面,如图6所示,分别为路面特征稀疏和密集的路段.

图6 实验场景和采集的图像Fig.6 Collected images and scenarios for the experiment

本次选择阴天采集实验数据,需要指出的是目前通过补光等方法可以消除光照和阴影对图像的影响,因此本次试验结果适用于晴天.通过在移动平台上搭建1台盈芯RGB图像采集器和1台DGPS采集实验数据,如图7所示.本次实验采集的路面图像分辨率为640×480,并且实验地点开阔,GPS信号良好.每次试验进行两轮实验数据采集,两轮实验采集图像信息和GPS信息,第1轮数据作为地图数据,第2轮数据作为待定位数据.两轮间隔时间不少于4 h.为了验证算法在不同距离下的有效性,采集的地图节点和待定位节点的横向距离分别为100 mm,200 mm和300 mm.同时为了保证测量精度,通过测绘尺测量确定地图节点和待定位节点的位置.

2.1 路面特征识别

将14 000张路面图像作为训练集,将每一张图像切割成48个80×80的图像子块,通过人工挑选图像子块得到正负样本,其中正样本为包含路面裂纹、减速带、车道线和路面文字的图像子块,负样本为沥青路面图像子块.训练网络的学习率为0.9,训练批大小为30,训练网络的代价函数在200个训练周期不下降或训练周期大于1 000次时停止训练.利用CNN结合连通区域识别路面特征,识别路面特征耗时如表1所示,识别1张图像路面特征的平均耗时为42 ms.处理数据的电脑配置为:i7CPU,主频3.30GHz,GTX1080GPU,显存8G.

图7 数据采集平台和采集方式Fig.7 Data acquisition platform and method

表1 路面特征识别耗时Table 1 Time consuming for pavement feature

本次试验对229张图像进行路面特征识别,其中有标志特征的路面图像117张,无标志特征的路面图像112张.正确识别有标志特征和无标志特征的路面图像分别为110张和109张.实验利用精确率、召回率和F-measure作为路面特征识别的评价指标.根据式(17)~式(19)计算精确率P、召回率R和F-measure为

式中:TP表示正样本识别正确的数量;FP表示正样本识别为负样本的数量;FN表示负样本识别为正样本的数量.

路面特征识别的精确率,召回率和F-measure如表2所示.

表2 路面特征识别的精确率、召回率和 F-measureTable 2 The precision,recall and F-measure for pavement feature recognition (%)

2.2 基于路面指纹的定位测试

本次试验分别在路面特征稀疏和密集的路段上采集90和312个待定位节点,实验的定位误差如图8所示,横坐标表示节点个数,纵坐标表示误差值.

在特征稀疏路段,定位最大误差为159.6 mm,最小误差为1.4 mm,平均误差为48.0 mm,误差的方差为31.7,其中,误差值小于100 mm的结点个数为84,约占93.3%.在特征密集路段,定位最大误差为228.3 mm,最小误差为0.1 mm,平均误差为47.2 mm,误差的方差为38.5,其中,误差值小于100 mm的结点个数为281,约占90.1%,在特征稀疏和密集的路段,定位误差均值为47.4 mm,满足车辆的高精度定位要求.

为了进一步验证该方法,选用文献[3]和[6]作为对比试验,利用相同的数据进行对比实验,本次对比试验将耗时和定位精确作为对比指标,其结果如表3所示.

图8 指纹定位误差Fig.8 Localization error for pavement fingerprint

表3 对比实验Table 3 The comparison experiment result

文献[3]运用SURF结合H矩阵实现车辆定位,SURF相比于ORB匹配耗时较长,与文献[3]定位耗时相比,本算法定位耗时减少347 ms,耗时减少约20.3%,同时定位精度提高61 mm.文献[6]运用基于M加权ICP实现车辆定位并利用无损卡尔曼滤波(Unscented Kalman Filter,UKF)减少定位误差,由于ICP算法迭代次数较多,与文献[6]定位耗时相比,本算法定位耗时减少3 747 ms,耗时减少约73.4%,同时定位精度提高73 mm.

3 结论

本文提出一种基于路面指纹匹配的高精度车辆定位方法,通过GPS初定位后再利用CNN和连通区域识别路面特征,根据路面特征进一步筛选地图节点,再利用ORB算法结合RANSIC实现图像级定位,最后利用单应矩阵、匹配的图像特征点和支撑平面,计算待定位节点与地图节点的相对位置关系,实现相对定位.经实验验证,结论如下:

(1)利用CNN和连通区域识别路面特征,在特征稀疏和密集的路面下,该方法识别路面特征的F-measure值为95.6%.实验结果表明,利用该方法能有效地识别路面特征.

(2)通过基于路面指纹的多尺度定位方法实现定位,与文献[3]相比,定位耗时减少20.3%;与文献[6]相比,定位耗时减少73.4%.实验结果表明,利用路面指纹可有效地提高定位效率.

(3)实验分别在路面特征密集和稀疏的道路上经行验证,定位的平均误差为47.4 mm.实验结果表明,定位精度满足智能车定位要求.

猜你喜欢

子块指纹路面
基于八叉树的地震数据分布式存储与计算
基于特征值算法的图像Copy-Move篡改的被动取证方案
像侦探一样提取指纹
为什么每个人的指纹都不一样
用艺术修补路面
基于两层分块GMM-PRS 的流程工业过程运行状态评价
基于波浪式矩阵置换的稀疏度均衡分块压缩感知算法
基于自适应稀疏变换的指纹图像压缩
可疑的指纹
一款透水路面养护车