APP下载

基于改进ACGAN算法的车道排队车辆估计及其分类①

2020-12-19郭海锋杨宪赞金峻臣

高技术通讯 2020年11期
关键词:散度排队车道

郭海锋 杨宪赞 金峻臣

(*浙江工业大学信息工程学院 杭州 310023)

(**银江股份智慧交通研究院 杭州 310030)

0 引 言

在交通需求日益增长的情况下,及时准确地获取当前或未来时刻的交通状态,对交通治理和管控具有重要意义。在已有研究中,通常用车流密度的高低[1]、延误时间的长短[2]、行车速度的快慢[3]、交通流量的大小[4]等来表征交通状态。相比于这些宏观的交通流指标,交叉口排队车辆数可更直观地表征交通状态,尤其是车道级的排队车辆数具有更微观、更细致的表征能力,可直接用于交通控制及交通态势分析。

传统的排队车辆研究大都采用模型驱动的方法,如二流理论[5]、排队理论[6]、集散波理论[7]等。随着估计算法与检测技术的发展,一些学者开始寻求其他方法和途径对排队车辆进行研究。文献[8]根据各流向的时空相关性,利用神经网络和最大期望算法对排队车辆进行估计,但所用的检测器数据易缺失。文献[9]通过分析视频图像像素距离到物理距离的转换关系对车辆排队长度进行检测,但实际中许多交叉口视频监控的安装位置和角度并不理想。文献[10]根据时间占有率和空间占有率的关系,利用指数平滑递推算法对路段车辆数进行估计,但前提是检测器要位于路段中间位置。文献[11]利用浮动车数据建立基于队尾浮动车位置的排队长度估计模型,但方法过于繁琐且计算复杂。

由于交通环境的复杂性和多变性,现实中无法明确交通数据的时空关系和真实概率分布,这使得以模型驱动的排队车辆估计方法难以建立理想状态下的物理模型。并且由于检测器易损坏、覆盖率低等原因造成的数据缺失问题也使得这类研究方法应用困难。

生成对抗网络(generative adversarial networks,GAN)作为一种新兴的生成式模型,无需构建复杂的概率分布,可直接对样本进行采样和推断,避免了马尔可夫链的学习机制,即使在概率密度不可计算的情况下,仍可根据真实数据的潜在分布直接生成同分布的样本,大大降低了计算成本。

目前,GAN已在图像视觉、时间序列处理[12,13]中取得成功应用。基于此,一些学者将其应用于交通数据修复[14]、交通数据增强[15]、交通空间建模[16]及平行交通系统[17]中,但其或只是作为辅助手段,没有真正用于交通状态的估计与预测,或没有从微观层面给出具体的分析细节。

本文从微观的车道级交通状态角度出发,考虑现实中获取数据的成本及方法的普适性,采用速度数据,根据速度变化序列与排队车辆的对应关系,借助双向长短时记忆(bi-directional long short-term memory,Bi-LSTM)网络处理时间序列的能力和辅助分类器生成对抗网络(auxiliary classifier generative adversarial network,ACGAN)[18]数据生成与分类的能力,实现从速度到车道排队车辆数的估计与分类。最后通过仿真实验与其他算法进行对比,验证了本文算法的性能和优势。

1 问题描述

图1是杭州市一典型的十字交叉口,其中1~17为各车道检测器编号,也可代表车道编号。在估计时,首先对每个方向进行功能车道划分,不考虑不受相位控制的右转车道,该交叉口有8个功能车道,然后以所有功能车道的特征数据为条件输入,同时估计所有功能车道的排队车辆数,即以整个交叉口为估计对象。

图1 城市单交叉口路网

为获得车流集结和消散情况,对信号周期内的最小、最大排队车辆数进行估计。绿灯结束时刻排队车辆数最小,红灯结束时刻排队车辆数最大。本文将影响排队车辆数的几个指标,如信号周期时长、绿灯时长、绿灯运行时刻、红灯时长、红灯运行时刻、车道平均速度作为多重输入指标,以提高估计精度。在每个信号周期,对每个功能车道分别取红灯和绿灯结束时刻往前T个时间步长(s)的对应指标,如图2所示。

图2 红绿灯期间的多时刻指标

(1)

则构建的输入矩阵表示如下:

I=[I1,I2,…,It]

(2)

(3)

(4)

2 ACGAN算法

GAN由Goodfellow等人[19]提出,模型框架包括2个相互对抗的多层感知机,即生成器(G)和判别器(D)。G接收噪声z并尽可能学习真实数据Xreal的分布,D的目的是将生成数据Xfake与真实数据区分开来,为了在博弈中胜出,2个网络不断进行优化,最终实现一个纳什均衡。

针对GAN学习模式过于自由导致训练过程不可控的问题,条件生成对抗网络[20](conditional generative adversarial network,CGAN)在生成器和判别器中加入标签信息,将无监督的GAN模型变为有监督模型。ACGAN[18]在CGAN的基础上作了进一步改进,它只有生成器接收标签信息,判别器除了判别样本真假外,还增加了一个辅助分类器(C)用来输出样本标签的后验概率估计,其结构如图3所示。

图3 ACGAN网络结构

判别器的一个输出通过Sigmod激活函数将数据映射到0、1之间,用于真假判断;另一个输出通过Softmax多分类器得到类别后验概率,用于分类预测。故目标函数包括真假数据对数似然损失LS和预测类别的对数似然损失LC2部分,分别表示如下:

LS=Ε[logP(S=real|Xreal)]

+Ε[logP(S=fake|Xfake)]

(5)

LC=Ε[logP(C=c|Xreal)]

+Ε[logP(C=c|Xfake)]

(6)

在训练过程中,判别器的目标是最大化LS+LC,生成器的目标是最大化LC-LS。

3 改进的ACGAN算法

本文中,要将训练好的判别器提取出来用于分类,所以在训练时,判别器的输入中应避免出现标签数据,ACGAN正符合本文思路。在此基础上,利用循环神经网络(recurrent neural network,RNN)中Bi-LSTM的特点,构建其与ACGAN结合的结构RACGAN-JS(目标函数基于JS散度),进一步引入Wasserstein散度代替JS散度来衡量生成序列与真实序列的距离,并对目标函数进行优化,提出改进算法WRACGAN-div。

3.1 模型结构

原始的ACGAN网络并不适用于时间序列数据,Bi-LSTM在处理时序数据上具有优异的性能,它赋予网络一种“记忆”功能,可根据历史的前后顺序信息捕获数据随时间发展的趋势。借此优点,将Bi-LSTM作为ACGAN网络的生成器,其模型结构如图4所示。

图4 WRACGAN-div网络结构

(7)

(8)

式中,f(·)表示Bi-LSTM输出,w1、w2为隐藏层之间的权重,w3、b0、δ为全连接层的权重、偏置、激活函数,·表示矩阵之间的点乘。

原始ACGAN真假判别目标函数存在的缺陷是,当判别器最优(近似)时,网络训练目标等价于最小化真实样本分布Sreal与生成样本分布Sgen之间的JS散度,若2个分布没有交集,就会导致生成器梯度消失。相比JS散度,Wasserstein距离在衡量分布距离上具有优越的平滑特性,即使2个分布没有重叠部分,它也可以反映二者的远近。

文献[21]以Wasserstein距离作为目标函数,很好地解决了训练不稳定的问题。但Wasserstein距离受Lipschitz连续条件的限制,即导函数不能超过某个值,作者通过把判别器的权重裁剪到某个范围内的方式,强制满足Lipschitz条件,但该方式过于粗暴,限制了判别器的拟合能力。Wasserstein距离的对偶式表示如下:

(9)

式中,f(·)为连续函数,sup表示取上界,‖f‖L≤1为Lipschitz条件。

文献[22]在此基础上提出了Wasserstein散度的概念,既摆脱了Lipschitz条件的限制,又保证了Wasserstein距离的优点。Wasserstein散度表示如下:

(10)

式中,inf表示取下界,Ω为一阶可微函数空间,γ、η为可调参数,▽f(·)为函数的梯度,Scom为前2个分布的线性插值。

式(10)中没有Lipschitz条件约束,Wγ,η是真正意义上的散度,前2项就是Wasserstein距离,这意味着当对散度取下界,并且最小化前2项训练生成器时,是真正在缩小2个分布的距离,且不会有梯度消失的问题,保存了Wasserstein距离的优点。

以Wasserstein散度衡量分布距离,属于回归任务,故去掉原ACGAN真假判别中的Sigmod函数。判别器采用卷积网络以提高特征提取能力和分类性能,网络的一个全连接层输出一维标量用来计算Wasserstein散度,另一个全连接层输出类别概率值用来计算多分类交叉熵。

3.2 目标函数

(11)

GS=GW+Gmse

(12)

(13)

(14)

式中,GW为Wasserstein距离损失。

分类目标函数与原ACGAN一样,不作修改,则总的判别器损失为最大化DS+LC,生成器损失为最小化GS-LC。

4 实验过程

4.1 数据准备

为验证模型的可靠性,本文选取杭州市解放东路-富春路交叉口作为测试对象,该路口信号周期为169 s,进口方向都为5车道,根据图5(a)、图6和表1,在SUMO仿真器中搭建仿真路网。车辆到达率设置在0~0.5 辆/s之间随机采样,每25个周期变化一次。仿真运行3 000个周期,运行过程如图5(b)所示,获取每秒所有车道的平均速度和排队车辆数。

图5 交叉路口

图6 相位信息

表1 控制方案信息

不考虑不受相位控制的右转车道,根据车道功能,对各车道数据进行聚合。为加快网络的收敛速度,对每个车道所有周期的特征进行标准化处理,以消除特征数据之间的量纲影响,表示如下:

(15)

式中,Yn, j为第n个车道的第j列特征矩阵,μn, j、σn, j分别为该车道第j列的均值和方差。

统计排队车辆的数据分布,再结合交通情况,将最小、最大排队分别分成4类并打上标签。表2内容为各类别的车辆数范围,其中0至3类分别表示畅通、缓行、拥挤、拥堵。

表2 排队车辆数分类区间

4.2 训练细节

随机划分数据集,80%为训练集,20%为测试集,批尺寸(batchsize)设为32,网络训练2 000次。生成器采用双层网络,隐藏层包含128个神经元,根据相位中最小的绿灯时长设置步长为38 s;判别器采用4层卷积神经网络,每一层都使用Leaky ReLU激活函数,除第1层外,其他层设置批标准化(batch normalization,BN),损失函数中γ设为2,η设为6。2个网络均采用Adam优化器,学习率为0.0001。为防止训练时出现过拟合现象,为生成器和判别器设置神经元失活,失活率Dropout为0.25。

4.3 实验结果与分析

为了解网络的对抗过程,作出目标函数修改前后的网络损失变化曲线。图7(a)为RACGAN-JS的网络损失变化过程,图7(b)为本文引入Wasserstein散度后的网络损失变化过程。可看出,图7(a)在训练初期出现了剧烈的震荡,尽管慢慢趋于稳定,但网络仍有较大的震荡幅度;而图7(b)不管是在初始对抗期还是收敛期都只有小幅的波动,显示出了良好的稳定性。在收敛速度方面,图7(a)在迭代约500次后趋于稳定,图7(b)在迭代约250次后便快速收敛,这说明以Wasserstein散度为目标函数加快了网络的收敛。另外,图7(b)中判别器损失稳定在0附近,这说明生成数据与真实数据的分布距离已非常小,判别器无法区分它们,生成器已能生成与真实排队车辆分布近似的样本。

图7 目标函数修改前后的网络损失变化曲线

训练完成后,将生成器提取出来评估其估计性能,在测试集上将其与文献[10]中模型驱动的指数平滑(exponential smoothing,ES)递推方法、LSTM算法、RACGAN-JS算法进行对比。图8为这4种算法对功能车道1的最大排队车辆估计结果,选取50个周期展示。可以看出,ES方法虽然能跟踪排队车辆的变化趋势,但受递推算法的限制,其估计结果有较强的滞后性。LSTM、RACGAN-JS、WRACGAN-div的估计滞后性都较小,并且精度均优于ES递推方法,这说明与固定不变的物理模型相比,采用数据挖掘的方式能更准确、高效地跟踪交通态势。与LSTM相比,本文算法结构在优化前后均有更高的精度,这得益于生成对抗网络对真实数据的复制能力。另外,虽然图8(c)和(d)显示采用Wasserstein散度与采用JS散度都能达到较高的精度,但从图7可知,引入Wasserstein散度后,网络的收敛速度与稳定性得到了提升,保证了生成数据的质量。

图8 车道1最大排队车辆估计结果

表3为各功能车道排队车辆数估计值的均方误差,加粗的数字为最小误差,表示对应的算法性能最佳。可以看出,无论是最大还是最小排队车辆,WRACGAN-div算法均在超过半数的车道上获得了最小的误差,总体估计性能要优于其他3种方法。另外,从ES算法到本文算法,整体误差是在不断减小的,这说明数据驱动的估计算法比模型驱动的传统估计算法有更好的普遍性和适用性。

表3 各方法排队车辆估计误差

在测试集上评估判别器的分类性能,用准确率(Acc)、精确率(Pr)、召回率(Re)、F1值、kappa系数(Kc)作为综合评价指标,各指标均是越高越好,分别表示如下:

(16)

(17)

(18)

(19)

(20)

式中,Ti、Fi、ni分别为正确预测为第i类的个数、错误预测为第i类的个数、第i类实际的个数。

分类报告见表4,从中可看出,每个类别的精确率、召回率、F1值都达到了90%左右,总体分类准确率为93.29%, kappa系数为0.91。这表明本文算法对每类交通拥堵情况都能比较精准的确定,可满足绝大部分的交通需求。

表4 WRACGAN-div算法分类报告

表5是本文算法与K最近邻(k-nearest neighbor,KNN)、支持向量机(support vector machine,SVM)、朴素贝叶斯(naive Bayesian,NB)、LSTM 4种机器学习分类算法的比较结果,从中可看出前4种算法分类精度都不到90%,本文算法分类精度与之相比分别高出3.96%~9.62%,分类性能明显占优。

表5 不同算法的分类准确率

5 结 论

本文从车道级的交通状态角度出发,以整体交叉口为目标,实现了从速度到功能车道排队车辆数的估计与分类。该思路使用完整性较好的速度数据,避免了流量估计排队车辆时数据易缺失的问题,对交通数据的挖掘与多样运用有一定的帮助。另外,结合车道排队车辆数和拥堵类别可更细致地表征交通状态,有利于具体相位的控制方案调整,可提高信号优化效率。

针对传统排队车辆研究建模困难的问题,本文结合Bi-LSTM和ACGAN的特点,提出一种数据驱动模型,并引入Wasserstein散度对原始ACGAN算法进行改进。该算法无需对交叉口空间关系建模,采用数据生成数据的方式估计交通状态。实验结果表明,所提算法具有较好的稳定性和收敛速度,估计与分类性能均优于其他对比算法,验证了利用速度估计车道排队车辆数的可行性,可满足绝大部分的交通需求。

下一步工作将利用具体的交通环境对本文算法的适用性进行验证。

猜你喜欢

散度排队车道
带势加权散度形式的Grushin型退化椭圆算子的Dirichlet特征值的上下界
北斗+手机实现车道级导航应用
怎样排队
避免跟车闯红灯的地面车道线
定常Navier-Stokes方程的三个梯度-散度稳定化Taylor-Hood有限元
浅谈MTC车道改造
具有部分BMO系数的非散度型抛物方程的Lorentz估计
巧排队列
三角龙排队
基于f-散度的复杂系统涌现度量方法