基于尾灯灯语的混行交通流车辆驾驶意图识别模型研究

2024-03-08 05:58赵树恩赵东宇
关键词:尾灯意图车辆

赵树恩,赵东宇

(重庆交通大学 机电与车辆工程学院,重庆 400074)

0 引 言

随着新一代通信技术和人工智能的飞速发展,车辆的智能化驾驶水平也在逐步提升。相对于人工驾驶车辆(human-driven vehicle,HV),自动驾驶车辆(autonomous vehicle,AV)在应对复杂场景时的周密感知、周围目标“预行为”的准确理解、人机共融的协同等方面还存在着诸多挑战,HV和AV混行的交通状况还将长期存在。AV必须准确感知周围环境,并对HV的驾驶意图进行识别,才能保证在多车交互环境中准确评估出HV驾驶行为风险态势,做出最优的决策规划。

车辆动态信息可作为当车辆启动后检测驾驶人早期意图的有效指标[1]。对于车路协同通信技术而言,吕能超等[2]采用DSRC技术与路边通讯设施及周边车辆之间进行信号交互,获得了周边道路的基本信息和驾驶人的意图信息;杨炜等[3]利用车联网技术将前车的驾驶意图和路面信息传递给周围车辆,并调整优化了AV的制动预警及执行逻辑。长期存在的复杂混行交通场景使得车-车、车-路协同实施的难度较大,在网联交通环境未形成之前,通过研究车-车之间的鸣笛[4]、灯语等通信手段来提升车-路的协同效果具有很强的现实性。

在实际驾驶场景中,车尾信号灯是车辆向外界释放驾驶意图的一种标准方式,也是行车过程中辅助驾驶决策的一个关键因素[5]。LIU Cenbi[6]基于发光二极管开关特性,探究了光技术在驾驶场景中的应用,研究结果表明:光源信息可用于V2V的通信中。目前对尾灯分割定位方法多是通过识别检测尾灯的纹理、边缘、形状、颜色等信息来完成。对尾灯灯语识别的研究主要分为:基于机器的学习方法和基于深度的学习方法。田强[7]提出了一种基于最小二乘支持向量机的尾灯灯语识别方法,通过尾灯HSV三分量直方图构建了特征向量训练最小的二乘支持向量机来区分不同类别的尾灯状态,但该方法只单独提取了图像中的HSV特征,丢失了大量的原始图像信息;于莉媛等[8]针对夜间道路环境,根据RGB直方图对图像进行分割,从背景中提取尾灯光源与光晕等高亮光斑来定位尾灯位置,但光晕特征无法很好地从光照强烈背景下提取,在日间行车时并不适用;陈勇[9]提出了一种基于深度学习的尾灯灯语识别算法,通过VGG模型对车辆尾灯进行分类,实现了对前车灯语识别,但该方法未考虑尾灯闪烁的时间序列;L.C.CHEN等[10]开发了一种对称性尾灯状态识别系统,通过搜索感兴趣区域内车灯响应函数的峰值,能快速找到尾灯位置,并通过响应函数变化对车辆驾驶意图进行判别,该方法检测效率高,但精度较差;梁军等[11]采用光通道增益算法对自车后方车辆前照灯的光辐射通量变化进行了计算,提出了一种识别后方车辆示意意图的模型,该方法仅考虑了后方车辆的驾驶意图,对其余场景要素未做到准确理解。

基于此,笔者建立了基于Mask R-CNN的车辆检测模型;将其分割结果作为RoI限制区域,并转化到HSV空间对HV尾灯进行分割[12],利用尾灯位置相关性定位左右尾灯;运用CSRT算法跟踪不同帧数中的同一个目标,得到多目标时序信息,以基于时间序列的灯语识别算法为基础,构建了基于尾灯灯语的驾驶意图识别模型;最后利用交通流数据对所提出的驾驶行为识别模型进行验证。

1 混行环境下的车辆检测

为提高尾灯识别精度、减少行驶道路中其他因素干扰,准确识别前方HV驾驶意图,笔者提出了一种基于尾灯灯语的驾驶意图识别方法,其技术路线如图1。

图1 技术路线Fig.1 Technology roadmap

HV在行驶中,驾驶人对前方车辆的关注点主要集中于车尾及车尾灯部分,以此来判断前方HV的运动状态和周围的行车环境。在HV、AV混行的交通场景中,AV对周围HV的检测为尾灯状态识别、驾驶意图识别提供了位置信息和决策依据,混行交通流场景如图2。图2中:扇形区域为前置车载摄像头视觉范围。为增加AV行驶场景图像转换到HSV色域空间的区域限制,缩小灯语识别算法的识别范围,避免算法识别到类似于尾灯颜色的假性目标,笔者采用Mask R-CNN算法来自动识别AV前方HV的位置、轮廓等信息,构建基于Mask R-CNN的车辆检测模型,准确提取图2中扇形框区域内HV的车尾图像。

图2 混行交通场景Fig.2 Mixed traffic scene

1.1 Mask R-CNN工作原理

基于卷积神经网络的主流检测模型包含两阶段模型和单阶段端到端模型[13],Mask R-CNN网络框架是两阶段模型中Faster R-CNN算法的扩展。在自动识别目标车辆并定位生成检测框的基础上,并行增加了另一个Mask分支来预测每个感兴趣区域的RoI分割掩码,并实现了对周围行驶车辆的实例分割。Mask R-CNN网络结构如图3。

图3 Mask R-CNN结构Fig.3 The structure of Mask R-CNN

图3中:第1部分为卷积主干网络,属于整个网络的特征提取阶段。运用ResNet层的远跳连接方式保留和提取驾驶场景中的高层次视觉特征,同时结合FPN层横向连接金字塔结构,将多阶段的特征图进行语义融合,可更高效地提取HV特征。

第2部分为目标区域生成网络(region proposal network,RPN)。将输入任意尺寸的图像进行全卷积操作,以滑动窗口方式在特征图上输出多组锚点框及对应置信度,运用全连接层对每个锚点框进行分类和回归,通过目标建议层对锚点框置信度进行排序,将锚点框再进行非极大值抑制(non maximum suppression,NMS)过滤,将得到的RoI候选框输入到RoIAlign层中。

第3部分为功能网络。由于传统特征提取方法所提取的层数过低,无法对目标深层特征进行有效表达[14],故增加RoIAlign层用于特征图映射。在对RoI进行池化操作时,运用双线性插值法精确地匹配前后特征图中每个像素点的坐标,使得该网络能更精确地对HV和其尾灯区域进行定位和检测,通过掩膜分支生成HV的分割掩膜,最终对行驶场景中的HV进行实例分割,缩小后续算法扫描范围。

1.2 基于Mask R-CNN的车辆检测模型

为使神经网络能快速、准确地识别目标,需要大量的训练样本作为训练输入。在COCO数据集训练权重基础上,运用迁移学习法,以Cityspaces中所采集到的图像训练Mask R-CNN主干网络,并使用标注软件VIA-2.0.8对每张图像进行注释。

神经网络采用反向传播对网络中的参数进行优化从而减少损失,通过引入总损失函数L来计算检测模型的损失,从而准确描述Mask R-CNN网络训练过程中预测结果与实际结果的差距。总损失函数L定义为:

L=Lc+Lr+Lm

(1)

式中:L为Mask R-CNN总损失;Lc为分类损失,用于衡量网络对目标分类的准确性;Lr为回归损失,用于衡量网络对目标边框定位的准确性;Lm为平均二元交叉熵损失,用于衡量掩膜形状与位置的准确性。

通过取SoftMax损失函数的对数得出Lc:

Lc(u,v)=-log(u)

(2)

式中:u=(u0,u1,…,uk)为SoftMax函数计算类别的概率;v对应车辆的类别。

定义smooth损失函数Lr-smooth:

(3)

计算实际HV检测框的回归损失Lr:

(4)

2 基于时间序列的灯语识别模型

2.1 尾灯颜色分割

在对AV和HV混行的交通场景进行分析过程中,基于颜色特征的物体分割、检测和跟踪方法得到了快速发展。尾灯最明显的特征就是颜色特征,是HV和AV之间交互信息传递的重要依据。采用基于HSV空间的尾灯分割算法扫描Mask R-CNN检测出的每一个独立的HV,分割出对应的尾灯区域,分割结果如图4。

图4 Mask R-CNN检测结果Fig.4 Test results of Mask R-CNN

AV摄像头采集到的图像多为RGB图像,但RGB空间中R、G、B等3个分量相互联系,白天受光照影响,在进行尾灯分割时会受到诸多限制。尾灯相较于背景车辆,最大差异在于颜色和亮度,HSV颜色空间可很好地将颜色的明度和亮度区分开。因此,将RGB图像像素点通过式(5)缩放至[0,1]内:

(5)

由缩放结果,令Cmax=Max(R′,G′,B′),Cmin=Min(R′,G′,B′),D=Cmax-Cmin;将RGB图像转换到HSV色域空间,像素转换如下:

V=Cmax

(6)

(7)

(8)

为准确提取HV尾灯部分,根据统计结果设置红色尾灯的HSV分割阈值,如式(9):

(9)

对于不规则形状的尾灯,若只在HSV阈值条件约束下,无法获得完整的尾灯信息二值图像。为保持尾灯信息提取的完整性,对二值化尾灯进行形态学膨胀运算。结合检测结果,对复杂混行交通场景中的HV尾灯进行分割,如图5。

图5 尾灯分割结果Fig.5 Results of taillight segmentation

Mask R-CNN检测模型能有效提供HV尾灯区域,降低转入HSV色域空间中的像素计算量。但同时分割出的高位刹车灯、雾灯等干扰会造成对左右尾灯的定位误差。

2.2 尾灯配对与检测

为准确定位HV左右尾灯并理解行驶场景中每个HV单独且特定的驾驶意图,提出了一种基于位置相关性的方法。通过清除车尾部分红色区域,并在纵横方向上添加约束以达到对尾灯进行定位的目的,如图6。

图6 HV尾灯检测区域Fig.6 HV taillight detection area

图6中:边框为Mask R-CNN检测出的目标RoI;上下部分为清除区域。由于在区域内尾灯呈不规则图形,运用多边形三角剖分方法,将不规则尾灯剖分为i个顶点坐标为{[(x11,y11),(x12,y12),(x13,y13)],[(x21,y21),(x22,y22),(x23,y23],…,[(xi1,yi1),(xi2,yi2),(xi3,yi3)]}的三角形。通过顶点坐标计算得到每个三角形的质心坐标,计算出HV左右尾灯质心A、B的图像坐标为(Lx,Ly)、(Rx,Ry)。为了在纵向上增加对RoI区域和尾灯相对位置的限制,清除区域应满足:

(10)

式中:Z为通过Mask R-CNN得到的检测框RoI高度值。

为消除HV车尾横向区域的错误匹配,还应满足约束:

1.5× min(Rw,Lw)

(11)

通过在纵横向位置对检测出的HV添加约束,进一步清除高位刹车灯、雾灯及可能不是尾灯的红色区域,如图7。

图7 定位验证Fig.7 Location verification

2.3 灯语识别算法

HV尾灯的变化不仅仅是静态图像像素的变化,也是与时间序列响应的动态变化。因此考虑到HV灯语变换状态所对应的动态交通变化情况,提出了一种基于时间序列的灯语识别算法,来判断前方HV是否有正常行驶、刹车、右转(右换道)、左转(左换道)等动态驾驶意图,算法框架如图8。

图8 识别算法框架Fig.8 Framework of recognition algorithm

为获得前方HV尾灯状态的时序信息并减少误检率,在检测出HV后,采用CSRT跟踪算法跟踪每个HV的尾灯区域,并统计尾灯的时序信息和状态,已检测跟踪的HV为Ui(i=1,2,…,N)。若Ui集合非空,通过跟踪检测HV尾灯区域来判断Ui是否存在黄色转向灯。如果Ui中某一元素的黄色二值化像素Y≠0,则统计该元素2 s内的Y出现的次数M[15]。若M∈(1,5],将Ui的车尾RoI分为L、R左右两区域,设每一区域可能的灰度值为zk(k=1,2,…,L-1),并分别计算出左右区域能表征二值矩阵的亮度和质量的灰度均值及标准差。

以320 × 640的RoI作为输入,则灰度级zk出现的概率p(zk)可表示为:

(12)

式中:nk为尾灯灰度像素在RoI中出现的次数。

由p(zk)可得到二值化图像矩阵均值与标准差,如式(13):

(13)

由此可得出区域矩阵Y的灰度总值,进而判断HV左右转向(换道)的驾驶意图。若Y=0,判断不同帧数之间红色的H、V值差是否大于设定阈值,刹车灯灭和刹车灯亮时尾灯HV分量如图9。图9中:当HV刹车灯亮时,尾灯在[120,180]区间内的红色H分量值所占像素大于未亮时,红色V分量值所占像素大于未亮时。故若前后帧Hmin均值的差值D1满足D1>16,Vmin均值的差值D2满足D2>4,则判断为车辆刹车;反之,引入判断帧分析是否处于灯语交叉状态区域,若符合判断帧条件,则识别为转向(换道),未处于该区域,则判定为正常行驶。

图9 不同状态尾灯H &V分量值Fig.9 H &V component values of taillights in different states

为避免当转向灯呈周期性闪烁状态时,识别时刻点可能处于交叉状态区域,对HV驾驶意图识别引起偏差,模型引入判断帧作为参考,结合历史信息进一步提升对HV驾驶意图的识别准确率。尾灯动态变化如图10。

图10 尾灯状态时序Fig.10 Taillight status timing sequence

设T为识别时刻点,若将灯语识别视为静态像素,当HV尾灯处于转向闪烁状态时,T时刻无论转向尾灯还是正常行驶的尾灯均处于“灭”状态,识别算法无法正确区分前方车辆驾驶意图;但实际尾灯处于转向和正常行驶状态在时序图上动态差异较大,因此灯语识别模型引入判断帧:

(14)

式中:I为系统每秒处理的帧数;F为当前车灯的闪烁频率,取F=1.5;P为判断帧的帧数范围。

在当前I帧每秒的系统处理速度下,T时刻检测到目标车辆尾灯对,以频率信息作为参考,判断过去P帧中是否存在大于或等于一帧有车灯黄灯点亮的情况,以此来降低模型误识别率。

2.4 驾驶意图识别模型

综合考虑混行交通环境及尾灯状态变化,结合车辆检测模型和灯语识别模型优势,提出了一种基于尾灯灯语的混行交通流车辆驾驶意图识别模型,模型结构如图11。

图11 驾驶意图识别模型Fig.11 Driving intention recognition model

图11中:Mask R-CNN层从标注样本中学习车辆目标特征,建立基于Mask R-CNN的车辆检测模型,以定位目标RoI,缩小算法扫描区域;灯语判断层通过CSRT跟踪算法捕捉HSV颜色空间中HV尾灯的亮度变化情况,建立基于时间序列的灯语识别模型;最终将两组模型结合成为基于前车尾灯灯语的车辆驾驶意图识别模型。该模型能有效减少模型算力要求,降低尾灯误识别率,提高驾驶意图的识别准确率。

3 结果与分析

3.1 尾灯检测模型验证

基于Cityspaces数据集,笔者选取5 000张车载图像,并将训练集和验证集以9:1制作训练样本。运用COCO数据集对模型中的特征提取网络Resnet 101进行预训练,在TensorFlow-GPU模式下通过迁移学习方式进行训练。为确保损失曲线收敛,训练epoch设置为60,每个epoch设置200步。网络在验证集上的L、Lc、Lr、Lm随迭代次数增加而变化,迭代变化趋势如图12。

图12 验证集损失函数迭代变化Fig.12 Iterative variation of validation set loss function

图12中:车辆检测网络在40个epoch后,验证集的总损失降至0.25以下,在55个epoch后损失函数收敛,且在验证集上并未发生过拟合,这说明网络对训练样本有正确输出。选择混行交通流下共400组车辆进行模型验证,μ为Mask R-CNN检测准确度的评价指标,由正确检测出的HV数量Sd与所有HV数量Sc比值计算,即:

(15)

为评估尾灯检测模型性能,计算尾灯检测结果的准确率、召回率、真阳性(ture positive,TP)、假阴性(false negative,FN)。准确率表示正确识别尾灯与总尾灯数量之比;召回率表示正确识别尾灯与RoI中存在的尾灯数量之比;TP、FN评估类型如表1。

表1 尾灯检测类型示意Table 1 Schematic diagram of taillight detection types

运用位置相关性检测HV尾灯的结果如表2。

表2 尾灯检测结果Table 2 Results of taillight detection

表2中:基于Mask R-CNN的车辆检测模型漏检率为2.3%;对于400组车辆,模型正确检测出尾灯对数量为384组,TP值为96.0%;未在车辆RoI区域内检测出的尾灯对数量为8组,FN值为2.1%;模型准确率和召回率分别为96.0%和98.2%。车距过远或光线较差导致车辆尾灯区域不明显,是发生漏检的主要原因。基于HSV的尾灯检测模型对于复杂交通流环境下的尾灯识别具有较高适用性。

3.2 驾驶意图识别模型验证

运用CSRT跟踪算法追踪视频中被检测出的尾灯对,统计连续帧中400组HV的灯语状态,包括156组正常行驶车辆;102组刹车车辆;70组左行驶车辆;72组右行驶车辆。驾驶意图识别模型在日间混行交通流下对灯语的识别情况如图13。

图13 灯语识别结果Fig.13 Results of taillight status recognition

文中模型与机器学习模型(SVM、LSSVM)、深度学习模型(VGG)在混行交通流图像上对前方车辆驾驶意图识别的结果如表3。表3中:文中模型对于不同尾灯灯语状态总识别率为95.9%,漏警率为4.1%,单帧识别平均耗时为20 ms。结果表明:相较于机器学习和另一种深度学习方法,基于灯语的驾驶意图识别模型在AV与HV混行交通流中能有效地定位HV尾灯并进行尾灯灯语状态判断,从而准确地识别周围车辆驾驶意图。

表3 驾驶意图识别结果对比Table 3 Comparison of driving intention recognition results

4 结 论

针对传递驾驶意图的车辆尾灯,提出了一种基于尾灯灯语的混行交通流车辆驾驶意图识别方法,得出如下结论:

1)运用多目标判别相关性的滤波CSRT对车辆尾灯进行跟踪,统计不同帧下同一目标的时序信息,提出了基于时间序列的灯语识别算法;

2)结合基于Mask R-CNN的车辆检测模型及基于时间序列的灯语识别模型,共同构建了基于尾灯灯语的车辆驾驶意图识别模型,并在交通视频流上进行验证和对比。结果表明:所建模型能在日间混行交通环境下有良好表现,可准确识别周围车辆的驾驶意图;

3)由于光照和隧道等阴影变化会影响模型识别,图像处理方法的可扩展性较为局限,因此该方法还有待于进一步探索研究。

猜你喜欢
尾灯意图车辆
原始意图、对抗主义和非解释主义
陆游诗写意图(国画)
风的渴望
易于尾灯匹配的结构探讨
制定法解释与立法意图的反事实检验
侧围外板尾灯处排料困难的解决方案
车辆
冬天路滑 远离车辆
车辆出没,请注意
重型汽车尾灯支架振动疲劳分析及优化