基于深度学习的交通路口自动识别
2022-10-24胡蓉韩宇徐永许伟辉李诚
胡蓉,韩宇,徐永,许伟辉,李诚
(福建工程学院,福建省大数据挖掘与应用重点实验室,福建 福州 350118)
0 引言
随着互联网和智能手机的快速发展,基于位置的服务(location-based services,LBS)已经成为人们日常生活中重要组成部分(如导航、 点外卖、 线上生活超市等),从而对电子路网地图的实时更新产生了更高的需求.因此全自动道路检测技术成为研究热点,许多学者提出了基于远程遥感图像的方法[1-2],以及光探测和测距点(激光雷达)云数据[3]来提取路网信息.这两种方式数据获取成本高且提取的信息往往滞后于实际路网的改变[4].近年来,大多数车辆运营车辆(出租车、 公共汽车、 货车)都装有全球定位系统(GPS),这些设备能收集大量的位置信息,记录了包括车辆经纬度、 速度、 时间戳、 航向角等信息,这些轨迹信息相互联系代表了一定的交通模式,因此通过挖掘和分析车辆轨迹数据来更新数字地图就成为一种新型低成本而实时有效的方式[5].交叉路口是路网的重要部分,能够提供非常有用的信息,比如连通性、 拓扑,以及允许移动的方向.为了从大规模的网络中自动产生完整的交通路口地理数据,许多研究者对此展开了研究,以实现让车辆安全通过路口的目的[6-8].
目前已有的路口识别方法主要分为3种基本的类型: 一类是基于空间几何特征和聚类的方法,如Wu等[9]通过聚类方法寻找停止点和转弯点来识别路口; 一类是利用轨迹数据在路口呈现的空间几何特征提取路口,如Xie等[10]通过在每一对轨迹中寻找共同子轨迹,并将其起始点作为采集的连接点,最后对连接点采用核密度估计方法检测路口; 第三类是学习方法,如利用决策树方法构建轨迹片段分类模型及轨迹线剖分模型建立交叉口区域变道轨迹片段提取方法,然后对这些片段进行聚类提取中心线获取道路交叉口结构[11],以及通过深度学习产生地图[12-13].
在轨迹数据来源上, 有研究者通过分析众源GPS车辆轨迹数据来获取道路地图及交通路口信息,如Wang等[14]通过分析航向差从高采样频率GPS轨迹中提取转弯曲线,将交叉路口建模成圆形区域,最后通过聚类的方法获取路口的位置信息.Keler等[15]基于分析出租车轨迹数据,为每个实体创建单独的轨迹作为多线段表示,然后从所有轨迹多线段中提取交叉点.为了提高交叉口的几何识别精度,Li等[16]采用融合相似方向并保持冲突方向的独立性方法,通过调整主要方向来提取路口从而减少位置偏移和道路变形带来的识别误差.为了识别路口的详细结构,最近Chen等[17]提出扩展分类利用几何特征道路交叉口,并获得了较好的召回率和整体性能.Wang等[18]通过分析车辆运动方向熵来有效识别路口,采用统计模型评估上游车辆的停车位置并进而估计停车流的数量、 坐标和方向.
为避免受人工设置阈值的影响,本研究提出一种基于长短期记忆(long short time memory,LSTM)深度学习的方法对车辆在路口的转弯轨迹模式进行建模学习,从而自动寻找路口转弯轨迹点; 然后,针对路口转弯轨迹点的稀疏性缺陷,提出一种基于计算补偿点和转弯角度变化幅度联合确定路口候选点的方法,并通过基于密度聚类(density based spatial clustering of applications with noises,DBSCAN)方式对路口候选点自动提取路口中心位置.采用福州市鼓楼区出租车实际轨迹数据验证该方法.实验结果表明, 该方法能快速自动识别转弯轨迹和交通路口,有助于该领域自动识别系统的研发.
1 研究方法
基于LSTM在处理时间序列数据方面的优势,对具有时序特性的轨迹数据建模.首先,对浮动车轨迹段打上直行、 左转、 右转、 掉头和小转弯5类标签,提取经度、 纬度和航向角作为输入特征,然后通过建立LSTM模型识别轨迹类别; 其次,针对低频轨迹导致路口转弯点比较少这个缺陷,提出一种基于补偿点计算和转弯角度变化联合确定路口中心候选点的方法; 最后,通过DBSCAN聚类自动识别出路口中心.
1.1 一种基于LSTM的浮动车转弯轨迹自动提取方法
该方法分为两个步骤.首先是构建轨迹特征向量,作为LSTM模型的输入; 然后是基于LSTM转弯轨迹的自动提取.
1.1.1 时空特征的轨迹段特征向量矩阵构建
轨迹数据是记录车辆或行人的行驶轨迹序列,具有时间连续性及空间几何特性,在行至路口时因航向改变而具有几何特点.假设轨迹数据平均回传率为1/20 Hz(每20 s传回一次),空间上考虑每个样本点间距为50 m,根据路口转弯特点,考虑4个轨迹样本点可描述路口转弯特性,有如下定义.
定义1: 一个轨迹样本点为xi(loni, lati,φi),其中lan, lat,φ分别是车辆行驶时实时传回的经度、 纬度、 航向角.
定义2: 每天传回轨迹数据的车辆集合为{id(i),i=1, 2, …,N}.
定义3: 所有车辆一天的行驶轨迹点的集合为T={T(id(i))},i∈1, 2, 3, …,N
定义4: 每台车一天采集到的轨迹点的数量为n.
定义5: 将每辆车(id(i))的行驶轨迹集合定义为{Tr(id(i))=(x1,x2, …,xn)}.
定义6: 轨迹点按照时间顺序每4个点构成一个子轨迹
定义7: 轨迹特征向量为一个4行3列矩阵,选取每个样本点的3个特征,其中loni、 lati和φi分别为第i个轨迹点的经度、 纬度和航向角,形成一个子轨迹Tri矩阵列,每一个输入矩阵都对应于一种轨迹类型: 直行、 左转弯、 右转弯、 掉头或小转弯,通过人工为每个子轨迹打上对应的标签构成后续LSTM模型的训练样本数据集,如图1所示.式(1)所示是一个独立样本的示例.
(1)
1.1.2 基于长短期记忆网络(LSTM)深度学习自动提取路口转弯轨迹点
深度学习领域中,循环神经网络(recurrent neural network, RNN)被广泛用来分析时间序列数据的结构,其中LSTM是一种可以通过门控机制控制输入、 输出和神经元记忆间的信息流,主要应用在语音识别、 图像说明、 语言翻译等,近来也被用来分析轨迹数据[19].
LSTM是一种循环神经网络,与传统的前馈神经网络不同,它具有反馈机制,不仅可以用来处理单个的数据,也可以用来学习时间序列的数据.其特点是重复利用之前的隐藏层输出,使得神经网络可以重复学习前面学到的东西,并结合上下文的内容进行学习分析,从而对序列数据的处理有独特的优势.
通过LTSM模块的特征提取学习,输入子轨迹Tri=X, 如式(1)所示作为输入向量,输出为预测的轨迹类别.模型包含输入、 4个隐藏层(每层神经元1 024个,激活函数sigmoid)、 一个dropout 层(随机丢弃率设置为0.1、 全连接层,最后输出预测结果,优化方法选择Adam, 学习率设置0.001, 损失函数采用交叉熵,如下式所示.
(2)
1.2 一种补偿点计算和临近入口点计算的路口候选点选取方法
其中: (xi,yi)(i=1, 2, 3, 4)是转弯轨迹点pi的经纬度.
(4)
由图3可知,如果Φ1角度大于Φ2,则pi+1离路口点更近,可作为路口中心候选点; 反之, 则pi+2离路口点更近而作为路口中心候选点.
为了确定补偿点和候选点的距离是否超过路口的范围,要根据路口覆盖范围确定一个距离阈值.如图4所示,一个大型路口的覆盖半径一般为60 m左右,因此当补偿点与最近路口点的距离超过了覆盖范围的直径120 m即可判定补偿点已经偏离路口,此时将以靠近路口点作为路口中心的候选点.
1.3 基于DBSCAN的路口识别
如节1.1和1.2方法获得路口候选点后,采用DBSCAN对候选点进行聚类,类族族心就是路口位置.该算法能找到多维数据的内在特征关系,在聚类数目未知的情况下,可以发现任意形状,任意大小的噪声数据集的簇,并且支持空间数据.该算法需要用户根据实际情况和经验确定簇内最小数目MinPts及簇间最小距离ε,这两个参数的选择是影响结果的重要因素-轮廓系数来评价的.
通过实验选取18<ε<30,MinPts取5~15,计算出当各个组合的轮廓系数最大,S(i)=0.760 593、 簇间最小距离ε=25 m、 簇内最小数目MinPts=10、 噪声比为3.27%时,该聚类的结果是最合理,将采用DBSCAN对前面获得的路口候选点进行聚类,聚类后的每个族代表一个路口,从而识别出路口的大致位置.
2 实验结果与分析
采用福建省营运车轨迹数据,该数据是福建省交通厅对福州市内约15万部营运车辆(主要是出租车)在道路运营行驶中进行实时采集而获得,提取并预处理2018年5月3—5日的福州市鼓楼区的浮动车轨迹数据,得到12.5万条轨迹数据,将5月4—5日的数据打上标签作为训练数据训练模型.为了验证模型的有效性,用5月3日的数据(模型没用过的数据)作为输入数据测试模型,输出y为每一种轨迹类别的概率,选取概率最大的值作为轨迹类别的标签.通过所得到的输出,提取出左转与右转的轨迹数据,并基于计算补偿点和临近路口点方法选取路口候选点,最后通过DBSCAN聚类识别路口中心.首先,将2018年5月4—5日的轨迹数据分为3部分,70%为训练数据构建模型,20%作为验证数据用于检验和评估模型的准确率.为了辅助模型的构建,剩下的10%用来做交叉验证数据.
2.1 数据描述
所选的福州市鼓楼区为福州市的经济、 政治和文化交流中心,具有代表性,所用的出租车轨迹数据的经纬度范围为: (119.286 7°, 26.065 6°)~(119.352 21°, 26.108 13°).该数据的平均采样频率为1/20 Hz,主要采样属性包括: 车辆ID、 经度、 纬度、 时间戳、 速度和航向角.
2.2 基于LSTM转弯轨迹识别结果的分析
通过使用LSTM模型进行轨迹类别的识别,训练初期,模型的训练与测试的准确率提升较快速.
为了验证模型的准确性,用2018年5月3日福州市鼓楼区内浮动车轨迹数据(模型未接触过的数据)作为模型路口识别效果的测试数据.该数据作为训练好的模型的输入数据以自动获取转弯轨迹,分类结果如表1所示.
表1 测试分类结果
2.3 补偿点与候选点相结合的路口中心提取结果与比较
如前所述有的路口点通过补偿点计算存在轨迹点偏移情况,导致后续识别出的交叉口偏移正确位置.为此,在转弯轨迹中计算靠近路口的中心点,然后结合二者确定路口候选点,以弥补补偿点计算的不足,图5给出转弯补偿点纠正前后的对比,可以看出路口候选点比较集中,较好地纠正补偿点的不足.
2.4 路口的识别结果分析与讨论
通过计算补偿点和临近点相结合的方法确定了候选路口点之后,采用DBSCAN聚类算法对路口候选点进行聚类,从而最终识别出路口中心.通过试错找出轮廓系数选取簇间最小距离ε=25 m,簇内最小数目MinPts=10,对这些簇内的路口点求经纬度均值后,得到路口中心位置,如图6所示,红色的点为算法识别出的路口中心.从图中可以看出,红色点基本都是在路口中心处.
为量化评估所提出的路口识别方法的效果,通过计算查准率、 查全率和F-score等来实现.查准率表示正确识别的路口在算法所识别的路口中所占的比例; 查全率表示正确识别的路口在真实的路口中所占的比例; F-score综合考虑两者的影响.通过对比百度地图进行人工核查,评估结果如表2所示.
表2中,TP指实际地图上有路口被正确识别为路口,FP指实际地图上有路口没有被识别为路口,TN指地图上没有路口识别为非路口(本实验只识别路口,非路口就是道路,不做识别),FN指地图上实际没有路口被错误识别为路口.在该数据覆盖范围内百度地图上显示一共有238个路口,通过方法识别路口214个,TP=207,FP=7,FN=24.查准率=0.967,查全率=0.896,F1-score=0.93,准确率=0.87%.
表2 路口识别率评估
路口识别错误的原因主要有3种: 一是两个路口太靠近,导致算法得到的路口点很接近,识别成一个偏移实际位置的路口; 第二种情况是小区或者景区的入口,由于确实会有车辆在该处转弯,导致误判为路口; 第三种路口漏识别的主要原因是有的路口的交通流量特别大,导致转弯轨迹及转弯候选点较多,附近的小路口交通流量少且距离大路口过近,容易当成噪声点.
传统方法中通过轨迹数据中的航向角变化计算获取转弯轨迹点,然后采用聚类方法对转弯轨迹点直接聚类提取路口信息(如Wu等[9]称之为CHD(change of head direction).本研究提出的方法采用LSTM学习轨迹模式自动提取转弯轨迹点,然后通过结合补偿点计算和临近路口点计算联合确定路口候选点,最后通过聚类候选点获取路口位置信息,称之为LSTM+CCI (LSTM+compensation and closest to intersection).两种方法的识别率比较如表3.从表中可以看出,本研究提出的方法明显优于通过仅航向角来识别路口的方法,无论是识别率还是查全率、 查准率都高于CHD方法.
表3 不同算法下路口识别结果比较
综上,提出了基于LSTM深度学习对浮动车轨迹模式建模,通过采用福州市出租车一天的轨迹数据验证该方法可以快速(1 min之内,环境: Intel CoreTMi5-5200U CPU@ 2.20 GHz)自动从轨迹中识别出转弯轨迹点.提出一种补偿点计算和临近路口点相结合的路口候选点确定方法; 通过补偿点和临近点计算两种情况对比, 可以看出该方法能有效地解决因采样或GPS质量影响带来的路口识别困难; 最后通过DBSCAN聚类方法识别路口.通过对比百度地图与识别结果进行人工核查,该方法能准确有效快速(仅一天的轨迹数据)识别道路交叉口,为快速持续更新电子地图和基于位置的服务应用提供关键技术支持.
3 结语
电子地图信息是地理位置信息的关键组成部分,是城市规划、 智能交通、 位置服务等应用中的关键技术之一.GPS轨迹数据为产生电子地图提供一种快速的方法,交通路口是电子地图的重要组成部分,在已有的研究中还存在因轨迹数据采样频率和GPS信号质量等因素影响的挑战.
本研究创新性地提出采用LSTM深度学习方法对车辆轨迹模式进行建模学习,不仅可实现对路口转弯轨迹的自动提取,而且还能自动过滤掉不属于路口的转弯模式(如驶入停车场、 小区、 加油站等).提出一种补偿点计算和临近路口点计算的路口候选点选取方法,能有效解决受GPS轨迹采样频率和信号等影响带来的识别精度不高的问题.通过采用福州市真实的轨迹数据验证了本方法可以快速实时(一天的轨迹数据仅一分钟内)地检测出交通路口变化,为电子地图的实时更新和自动驾驶导航等应用需求提供技术支持.