赵建东,赵志敏,屈云超,谢东繁,孙会君
(北京交通大学,a.交通运输学院;b.综合交通运输大数据应用技术交通运输行业重点实验室;c.轨道交通控制与安全国家重点实验室,北京 100044)
换道行为是车辆驾驶过程中的普遍行为,但换道不当常导致车辆追尾和碰撞等交通事故,不仅影响道路通行能力,且威胁人们生命安全。精确高效识别车辆换道意图,提前预知车辆行驶状态,对减少交通事故,提高行车效率具有重大意义,是目前自动驾驶领域研究热点之一。
1997年,换道意图概念被首次提出,并利用隐马尔科夫模型识别驾驶意图[1]。张宇惠等[2]基于控制器局域网络(Controller Area Network,CAN)信息采集到的驾驶原始数据,建立隐马尔科夫模型(HMM)识别驾驶换道行为。除了单一的HMM外,许多学者还提出与HMM的混合模型。曲文奇[3]分析了车辆的驾驶行为与马尔科夫过程的相关性,分别使用混合高斯-隐马尔科夫模型(GMM-HMM)对左换道、右换道及车道保持建立了驾驶行为识别模型,结果显示该方法对驾驶行为可以达到及时准确的识别。宋晓琳等[4]建立基于HMM和支持向量机(SVM)的混合模型,比单独的HMM和SVM的识别效率要高。徐婷等[5]基于实际道路实验数据,考虑车辆方向盘转角、转向角速度及相对安全距离这3个特征参数,提出混合了高斯混合模型(GMM)和连续型隐马尔可夫模型(CHMM)的识别模型。
但HMM 相关模型的识别准确度有限,且提升具有瓶颈,一些学者用贝叶斯方法、决策树法及神经网络方法等进行意图识别。DOGAN等[6]用真实的交通数据训练前馈神经网络、递归神经网络以及支持向量机这3种神经网络,进一步对比车辆的换道意图和换道行为准确性。陈亮等[7]基于NGSIM轨迹数据,提出了一种基于多分类支持向量机(Multiclass SVM)的车辆换道识别模型。黑凯先等[8]基于车辆仿真平台采集到的数据,通过随机森林决策树算法,实现了对驾驶员换道行为的识别。蒋司杨等[9]基于实车试验采集的自然驾驶数据,建立XGBoost换道决策识别模型,并运用交叉检验和网格搜索(GS)算法优化模型,结果显示,模型在具体换道决策辨识上具有较好的实时性和准确性。胡鑫[10]基于影像数据,将方向盘转角和车道线距离作为换道行为识别的指标变量,提出一种基于函数分布特性的换道行为识别方法,结果显示,所提方法可以适应更为复杂的交通环境。张海伦等[11]将车辆行驶状态视为时间序列,提出基于自回归积分移动平均(ARIMA)结合在线梯度下降(OGD)优化器的在线预测模型,识别预测驾驶行为意图。
近年来,深度学习被广泛应用,国内外许多学者将深度学习方法应用于意图识别领域。ZYNER等[12]提出一种基于长短期记忆(LSTM)网络模型识别车辆进入交叉路口时驾驶员意图。该模型输入车辆位置、航向角和速度等参数,进行学习训练,达到良好的识别效果。KHOSROSHAHI等[13]使用3D轨迹曲线和长短期记忆网络模型开发了一个用于对道路车辆进行驾驶行为分类的框架。XIE等[14]构建了深度置信网络(DBN)神经网络预测车辆换道决策过程,模型取到良好的预测效果。季学武等[15]基于真实路况信息NGSIM 数据集,提出一种基于LSTM的驾驶意图识别模型,考虑了车辆之间的交互行为,与传统模型相比,该模型具有较高的识别准确率。宋晓琳等[16]提出一种基于长短期记忆网络的换道意图识别方法,能够较为准确地识别周围车辆的换道意图。李晨[17]提出了一种结合梯度提升树(GBDT)、卷积神经网络和长短时记忆网络算法的驾驶行为组合式预测模型,将GBDT在可解释性上的优势和CNN-LSTM泛化能力强的优势有效结合在一起,得到了较好的预测效果。
综上所述,现有研究多采用轨迹离散数据识别换道意图,较少考虑车辆历史行驶信息中存在时序特征和空间特征,这些特征对换道意图识别具有不同程度的影响。因此,本文使用车辆轨迹数据,提出基于CNN_GRU 组合模型并融合注意力机制识别单次自由换道意图。
“下一代仿真(Next Generation Simulation,NGSIM)”数据是在指定路段安装高空摄像头采集,记录摩托车、小汽车以及大型车在一定时间内通过特定路段的轨迹信息,包括:车辆横向位置、纵向位置、速度、加速度以及前后车辆间隙等。本文所用的基础数据为NGSIM数据集中的US-101路段,检测区长度为640 m,数据采集的时间是上午7:50-8:35,检测间隔为10 frame·s-1,车道宽12 feet,约3.66m。研究路段结构如图1所示。
图1 US-101路段结构Fig.1 US-101 section structure
US-101 路段原始数据主要变量的详细说明如表1所示。
表1 原始数据描述Table 1 Raw data description
需要注意的是,车辆轨迹数据的纵向坐标Y是以车辆行驶方向为正方向,横向坐标X 以内侧车道往外侧车道变化的方向为正方向。原始数据的长度单位为“英尺(feet)”,本文将其按1 英尺=0.3048 m进行换算,使各变量的长度单位用“m”表示。
由于不同车辆类型驾驶性能差别较大,且为保证研究数据的纯粹性,本文将摩托车和大型车先剔除,以小汽车单次自由换道为研究对象,仅分析小汽车换道行为。为了避免车辆强制换道及匝道的影响,所用的数据仅包含车道1,2,3,4的车辆轨迹数据。由于原始数据存在一定的误差和噪声,为了避免对实验结果产生影响,采用卡尔曼滤波器平滑处理原始数据的位置坐标和速度等信息。以编号为2的车辆轨迹作为示例,经过卡尔曼滤波器对轨迹数据平滑后的结果和原始数据对比如图2所示。
图2 第2号车降噪效果对比Fig.2 Data smoothing results
由于本文所用的车辆轨迹数据没有对车辆驾驶行为分类,因此,需要将车辆行驶的轨迹先分为向左换道、向右换道和保持直线行驶3类,然后,再对提取出的各类轨迹标注驾驶意图标签。
(1)车辆换道行为
将车辆横向坐标发生单向连续变化的区间视为车辆换道过程,并以此为依据提取换道轨迹数据。具体的提取规则为:首先,找出车道号发生变化的时刻;其次,找出换道起点和换道终点。在文献[18]的基础上,本文对换道起点和换道终点的识别方法做出规定,即
式中:tslc和telc分别为换道起点和终点时间;tl为车辆跨越车道线的时刻;xl为换道车辆跨越车道线时的横向坐标;xt为车辆在t时刻的横向坐标;Wl为车道宽度。
式(1)和式(2)的含义可以用以下文字解释。换道起点:从车道号发生变化的时刻起,向上游追溯,一直到车辆横向坐标第1 次大于等于上一秒的横向坐标(向左换道)或第1次小于等于上一秒的横向坐标(向右换道)。换道终点:向下游追溯一直到车辆横向坐标第1 次小于等于下一秒的横向坐标(向左换道)或第1次大于等于下一秒的横向坐标(向右换道)。换道持续时间Tlc为换道终点的时刻减去换道起点的时刻,即Tlc=telc-tslc。为了保证提取到的全部为换道成功的数据,在提取规则的基础上增加1个约束条件,即换道终点和换道起点车辆的横向坐标距两边车道线的距离大于等于1/4 车道宽度。此约束是为了车辆在换道开始和换道结束时都处于车道的中央附近,去除掉不想换道或换道意愿不强的徘徊车辆。利用上述规则提取换道轨迹如图3所示。
图3 换道轨迹Fig.3 Lane change trajectory
(2)车辆直线驾驶行为
直线行驶数据提取规则如下:首先,在某条车道上车辆横向坐标在一定范围内变化(距离两边车道线1/4 车道宽度);其次,车辆保持直线状态10 s以上。利用以上数据提取规则,绘制车辆轨迹如图4所示。
图4 直线行驶轨迹Fig.4 Straight-line driving trajectory
(3)换道意图数据标注
为了尽可能获取车辆换道意图阶段的数据,将车辆在换到目标车道之前的数据均标注为换道意图数据,并在换道起点往前1 s 也标注为换道意图数据。以车辆向左换道为例,如图5 所示,C为换道临界点,B为换道起点,从B点往前固定时长1 s找到点A,通过滑动时窗法将A到C之间的序列标记为0(左换道)。对于右换道的车辆,其标注方法与左换道车辆相同,标记为1。将直线行驶车辆全程轨迹数据标记为2。
图5 左换道车辆标注示意Fig.5 Schematic diagram of labeling of vehicles changing lanes to left
卷积神经网络(CNN)部分使用一维卷积Conv1D 神经网络,CNN能够从数据中提取更深层次更抽象的特征,其中,一维卷积神经网络主要用于时间序列数据,本文使用车道发生变化之前的包含多个空间特征参数的车辆轨迹序列作为CNN网络的输入数据。内部的计算式为
式中:ct,i为第i个卷积核ωi作用在t时刻输入数据xt上所得到的特征向量;bi为偏置项。
GRU 单元的内部结构如下:首先,通过上一时刻传输的状态ht-1和当前时刻的输入xt利用Sigmoid(即图6 中的σ)函数得到更新门和重置门的门控状态,获得门控状态后,使用重置门值rt得到“重置”数据h′t-1=ht-1⊗rt,与输入xt拼接起来,为了便于计算,需要将数据归一到[-1,1] 之间,这里使用的是tanh 激活函数,得到。在“更新记忆”阶段,使用了更新门zt,表达式为ht=(1-zt)⊗ht-1+zt⊗。可以看到,这里的遗忘zt和选择(1-zt)是链接的,即对于传递的维度信息,模型选择性地遗忘,为了保持“恒定”的状态,有多少权重(zt)被遗忘,模型就会使用包含当前输入的中所对应的权重(1-zt)进行弥补。
图6 融合注意力机制的CNN_GRU模型结构Fig.6 CNN_GRU model structure fused with attention mechanism
注意力模型最早应用于机器翻译领域[19],通过逐渐发展已成为神经网络领域的一个重要概念。注意力机制源于对人类视觉的研究,人类的视觉系统通常更关注图像中一些有助于判断的信息,而忽略不相关的信息[20],并能区分信息的重要性。
注意力机制可以分为3 个步骤:一是输入信息,二是计算注意力权重系数α,三是根据注意力权重系数α计算输入信息的加权平均值。
假设1 个输入信息的序列长度为T,用X=[X1,X2,…,XT]表示,计算注意力权重系数为
式中:s(Xi,q)为注意力打分机制,即
式中:U,V,W为权重矩阵;q为输入序列中和换道意图识别相关的查询向量。
注意力权重系数αi表示为第i个信息受关注的程度,将其与输入Xi进行加权求和,可以得到注意力层输出向量C,其计算公式为
然后,将利用注意力机制求得的特征表示C,使用全连接层,结合Softmax 函数得到换道意图识别结果。
针对换道意图识别存在的时空问题,构造了一种融合注意力机制(Attention)的卷积神经网络(CNN)与门控单元神经网络(GRU)组合模型。模型分为CNN、GRU 和注意力机制这3部分,在考虑环境信息较多时,输入向量的长度和尺寸较高,可能导致模型训练速度和识别准确度下降,而CNN 具有特征提取的作用,可以降低数据结构复杂度,利于后续计算效率;GRU相比于LSTM,参数更少,计算效率更高,而且能够有效处理轨迹序列数据,在对驾驶意图进行识别时,只根据1 个时刻的数据,很难判别出当前时刻的驾驶意图,只有根据一段时间的驾驶数据信息才能更好地判断出当前时刻的驾驶意图。因此,为了能够实现对换道意图进行持续高效识别,同时,为了更好地利用驾驶轨迹数据信息,选取GRU 网络有效预测车辆历史轨迹序列。在CNN_GRU组合模型的基础上,为了优化该模型,加入了注意力机制,该部分负责为特征设置不同的权重,在实际驾驶场景中,周围关联车辆对目标车辆的影响程度是不同的,为了在模型中反映这种情况,在GRU层之后加入注意力机制,通过注意力机制对车辆换道时空特征增加不同的权重系数,主动查询最重要的信息,提升模型识别效果。经过3部分计算之后,输出的多个神经元利用Softmax 函数,将值映射到(0,1)范围内,可以看作换道意图的概率,本文将概率最大的一类当作模型最终的换道意图识别类别,从而达到分类的效果。
模型输入用向量I表示,Ο为模型输出向量。被预测车辆与周围车辆的位置关系如图7所示。
图7 被预测车辆与周围车辆位置示意Fig.7 Schematic diagram of predicted vehicle and surrounding vehicles
周围车辆分别为被预测车辆的前车、后车,左车道的前车和后车,右车道的前车和后车,分别表示为car1,car2,car3,car4,car5,car6,其位置坐标表示为(xi′,yi′),i′=1,2,3,4,5,6 ,速度表示为vi′,i′=1,2,3,4,5,6,被预测车辆的位置信息用(x0,y0)表示,速度为v0,令
式中:∇xi′,∇yi′为被预测车辆与周围车辆的相对位置,即
选取的模型特征向量为被预测车辆本身的位置和速度信息,周围车辆与被预测车辆的相对位置及绝对速度,则换道意图模型的输入向量I为
式中:为i′车在t时刻的位置和速度信息;N为历史时域,即输入车辆轨迹序列的长度。
若被预测车辆周围车辆不存在,则将该车的位置信息和速度信息分别设置为xi′=+∞,yi′=+∞,vi′=v0。
换道意图模型的输出为车辆驾驶行为类别,包括:向左换道、向右换道及直线行驶3种,分别标记为0,1,2,并分别用a1,a2,a3表示,将3种意图类别用one-hot 编码,a1=[1,0,0],a2=[0,1,0],a3=[0,0,1],经过softmax 函数,输出概率向量记为O=(p1,p2,p3),其中,pi″(i″=1,2,3)表示车辆行驶状态发生的可能性,即向左换道,向右换道及直线行驶的概率,为了得到精确的换道意图,选取最大的概率记为1,其他驾驶行为的概率记为0,此时,O就变成了one-hot 向量,再与真实的换道意图进行对比,算出模型精确度。
通过建立提取规则,本文得到了向左换道、向右换道和直线行驶3类数据集,根据提取的数据情况,直线行驶的数据量远远大于其他驾驶行为的数据,为保证模型有良好的分类效果,从3 类数据集中各选取大约10000条数据作为模型所用数据集,并按照7∶1∶2的比例将数据集划分为训练集、验证集和测试集。最后,对所有输入的数据做归一化处理,便于模型训练。模型选取精确率Precision(分类正确的正样本个数占分类器判定为正样本的样本个数的比例)、召回率recall(分类正确的正样本个数占真正的正样本个数的比例)、F1-分数F1-score(精确率与召回率的调和平均值)和准确率Accuracy(分类正确的正样本个数占总样本个数的比例)作为评价指标。
模型使用softmax 函数输出3 类各自的概率,并规定最大概率的类别为预测类别,损失函数为categorical_crossentropy,优化器为Adam,训练周期(epoch)设为150,batch_size 为16,dropout 为0.2,输入轨迹长度N=10,对模型进行训练和测试,所提模型换道意图识别的混淆矩阵和评价指标结果如图8和表2所示。
由图8 和表2 可知,融合注意力机制的CNN_GRU 换道意图识别模型整体准确率达到97.37%,说明意图识别模型能够准确识别车辆的驾驶行为,具有良好的识别能力。向右换道的识别性最好,识别召回率达到99%以上,对直线行驶的识别召回率最低,为94.61%。究其原因,可能是因为换道轨迹中,向左换道和向右换道的特征区分比较明显,因此,很少会识别成相反的类型,而是容易误判为直线行驶类型。
表2 模型性能结果Table 2 Model performance results
图8 换道意图识别模型混淆矩阵Fig.8 Confusion matrix for lane change intention recognition model
为进一步评估所提模型的性能,分别选取LSTM、GRU、CNN_GRU 及CNN_LSTM_Att 等模型与本文所提出的CNN_GRU_Att 模型进行对比,得到评估指标如表3所示。
表3 模型性能对比结果Table 3 Model performance comparison results
为了更加全面评价模型,引入模型计算复杂度反映模型的性能和运算效率,本文模型计算复杂度用模型参数数量和模型训练平均迭代时间两个参数评估,表3中迭代时间表示模型迭代100次,平均迭代1次所用的时间。由表3可知,CNN_GRU_Att模型的准确率高于其他模型,且迭代时间最小,为6.66 s。与CNN_LSTM_Att 相比,准确率提高了2.1%,迭代时间减少3.72 s;与CNN_GRU 相比,准确率提高了5.1%,迭代时间减少5.57 s;与LSTM、GRU 单一模型相比,准确率分别提高了9.89%和7.45%,迭代时间减少了15.98 s 和12.52 s。说明模型对输入特征的提取能力较强,且选用GRU 部分和注意力机制能够有效提高换道意图的识别性能。
为了反映换道意图识别模型在不同预判时间下的识别性能,定义预判时间为车辆输入到模型中的轨迹序列长度N,以召回率作为不同预判时间下的换道行为识别模型性能评价指标,结果如表4所示。
表4 不同预判时间下模型识别性能对比Table 4 Comparison of model recognition performance under different prediction times
由表4 可知,当预判时间为1 s 时,模型的整体识别准确率最高,达到97.37%,在车辆换道前2 s内,模型均能准确识别出换道意图,准确率达到89%以上。通过统计上述提取出的换道数据的换道持续时间,可得换道平均持续时间为6.52 s,假设换道点之前和换道点之后各占3.2 s,则换道意图识别模型在换道的前2 s均能准确识别出车辆的行驶状态,因此,说明所提模型能够在车辆未执行换道动作之前就能做出预判。
本文得到的主要结论如下:
(1)为了实现准确识别车辆换道意图,通过建立提取规则,将车辆的驾驶行为划分为向左换道、向右换道及直线行驶这3 类,并标注换道意图数据,通过提取被预测车辆的行驶信息和周围车辆的行驶信息,考虑车辆之间的交互性,将被预测车辆的横向坐标、纵向坐标、速度及与周围车辆与其之间的相对横、纵坐标与速度作为模型输入特征,并根据实际行驶情况,综合考虑车辆行驶过程的时空特性及不同特征因素对车辆的影响程度不同,提出基于CNN_GRU 并融合注意力机制的换道意图识别模型。
(2)模型的训练集和测试集都使用NGSIM数据集作为基础数据,通过测试集数据评估模型性能,并与 LSTM、GRU、CNN_GRU 及CNN_LSTM_Att 等模型进行对比,实验结果表明,融合注意力机制的CNN_GRU 模型整体识别准确率较高,达到97.37%,迭代时间为6.66 s,准确率比LSTM 单一模型提高了9.89%,比CNN_LSTM_Att组合模型提高了2.1%,且模型迭代时间均小于其他模型。通过分析不同预判时间的模型准确度,可知在换道前2 s 内均能准确识别车辆换道意图,准确度为89%以上。换道意图模型识别精度上的提升能够对车辆实际换道行为意图提供更加精准的感知和判断,进而使车辆合理地规划自身的行驶路线,实现车道级战略决策,从而使各车道的交通流达到均衡的运行状态,对降低换道风险,提高交通安全具有重要意义。