1. 引言
随着高速公路通车里程不断增加以及交通流量日益增长,车辆在高速公路上的异常行为事件,如违规变道、超速行驶、低速行驶、停车等引发的交通事故和交通拥堵问题愈发严重[1]。传统的交通监控与管理手段在面对复杂多样的车辆行为时,存在效率低、漏检误检率高等问题[2]。利用计算机视觉和深度学习技术可以实现车辆异常行为自动检测,成为提升高速公路交通安全与管理水平的关键方向,而高质量数据集是该技术研究与应用的基础[3]。
随着深度学习的快速发展,利用计算机视觉技术中的卷积神经网络(Convolutional Neural Network, CNN)、YOLO (You Only Look Once)系列等目标检测模型可快速准确检测图像或视频中的车辆及行人异常行为,对提高交通安全,优化交通信号设备,改进交通管理具有重要意义。2023年Ma等人[4]提出了一种长短期记忆残差(Long Short-Term Memory-Residual, LSTM-R)算法来实时检测异常驾驶行为。而YOLO系列自2015年被首次提出后更是广泛应用于车辆异常行为检测方面,何佳桥和葛晓东[5]基于改进的YOLOv5利用无人机获取的图像进行车辆检测,郭雨[6]更是建立了一种基于YOLOv5轻量化的车辆检测方法。
相比于其他YOLO系列,YOLOv8凭借其精确度更高、速度更快等优势,被广泛应用于智能安防与监控[7]、智能交通和自动驾驶以及无人机巡检等众多领域。Mane等人[8]提出了一种集成模型,使用YOLOv8方法进行交通事故的检测。Guo等人[9]首先采用FasterNet网络代替YOLOv8骨干网络并应用车辆自动驾驶中的自动识别技术。Dou等人[10]针对城市交通监控系统中的车辆和行人检测问题,提出了一种改进的YOLOv8模型,引入多尺度特征融合模块和改进的非极大值抑制(Non-Maximum Suppression, NMS)算法,通过实验验证了改进后模型的检测性能良好。
2. 基于改进的YOLOv8检测方法
2.1. YOLOv8网络结构
YOLOv8延续了YOLO系列经典的三段式架构,但通过模块化改进实现了性能的跃升,其算法结构主要包括主干网络(Backbone)、颈部网络(Neck)和检测头(Head)三部分,如图1所示。在主干网络中,YOLOv8在YOLOv5的CSPDarknet53基础上,将C3模块替换为C2f (Cross-convolution with 2 filters)模块,大大增强了梯度流动;在颈部网络中,YOLOv8结合路径聚合网络(PANet)和特征金字塔网络(FPN),通过自顶向下和自底向上的双向特征融合增强了多尺度信息交互[11]。同时YOLOv8采用的解耦头(Decoupled Head)将分类与回归任务分离为独立分支,降低了任务耦合的干扰,从而提升检测精度[12]。
Figure 1. YOLOv8 algorithm structure diagram
图1. YOLOv8算法结构图
然而,YOLOv8其主干网络虽然能高效提取局部特征,但对远距离特征依赖关系的建模能力较弱。为解决这一问题,本文基于YOLOv8算法网络结构通过Swin Transformer结构替换Backbone网络实现关键区域特征增强与时空关联建模针对高速公路场景中车辆异常行驶行为进行检测,从而判定车辆运行状态,其改进后网络结构如图2所示。
2.2. Swin Transformer 基本原理
Swin Transformer是一种基于Transformer架构的模型[13],它引入了滑动窗口(Shifted Window)机制,使得Transformer [14]能够处理计算机视觉任务,如目标检测、图像分割等。相较于传统的Transformer在处理图像时,其由于计算量与图像分辨率的平方成正比,难以直接应用于高分辨率图像,Swin Transformer则通过将图像划分为不重叠的窗口(Window),在每个窗口内进行自注意力计算,大大降低了计算复杂度。同时,滑动窗口机制使得相邻窗口之间能够进行信息交互,增强了模型对全局信息的捕捉能力。
Figure 2. Structure diagram of the improved YOLOv8 algorithm
图2. 改进后YOLOv8算法结构图
在Swin Transformer Backbone中,输入640 × 640的图像后Patch Partition将输入图像划分为不重叠的小块(Patch),每个小块作为一个基本单元后续处理,Linear Embedding对划分后的Patch进行线性变换,将其映射到高维特征空间,得到初始特征表示。每个Stage都包含Patch Merging、基于窗口的多头自注意力机制(W-MSA)、移位窗口的多头自注意力机制(SW-MSA)和多层感知机(MLP)。Patch Merging用于下采样,减少特征图分辨率并增加通道数;W-MSA在固定窗口内计算自注意力,捕捉局部信息;SW-MSA通过移位窗口打破窗口边界,实现跨窗口信息交互;MLP对特征进行非线性变换,进一步提取特征,随着Stage的推进,逐步提取更高级、更抽象的特征。
2.3. 车辆异常判定原理
本文通过非极大值抑制(Non-Maximum Suppression, NMS)算法过滤重复的检测框,保留置信度高且无重叠的边界框,最终通过统计图像中所有有效边界框的数量,基于多组车辆计数结果判定数量异常实现车辆数量的识别。
(1) 关键参数设置
在目标检测中,模型可能因为车辆不同部位特征或检测阈值设置导致对同一车辆生成多个重叠的边界框。NMS算法通过抑制重叠度高的低置信度框,保留最优检测结果,避免重复计数,本文置信度阈值(Confidence Threshold)设置为0.5,仅保留置信度 ≥ 0.5的框。交并比(IoU, Intersection over Union)阈值是衡量两个边界框的重叠程度,当两个框的IoU超过设定阈值时,认为它们检测的是同一目标,其计算公式为:
(1)
(2) 车辆数量统计
对所有类别(car、truck等)完成NMS处理后,统计各组剩余的有效检测框数量,即为图像中对应类别的车辆数量。总车辆数 = car组有效框数 + truck组有效框数。
(3) 车辆数量异常判定的底层逻辑
车辆数量异常判定的底层逻辑为“空间–时间关联性验证”。若监测点间存在车流关联(如同一断面的上下游、互通区的进出车流),理论上车辆数应符合交通流规律(如车流连续时,上下游计数差异应在合理阈值内);若两组计数结果偏离规律(差异超出阈值),则判定为数量异常,可能对应漏检、误检、交通事件等情况,其中差异度计算公式如下。
(2)
若为“进入–驶出”关系,公式同理,替换为N进入与N驶出。
3. 案例应用
3.1. 高速公路区段车辆行驶事件数据集建立
基于深度学习的检测模型效果很大程度上受车辆行驶数据集的影响,为确保模型具有足够准确和充足的数据,本文构建高速公路区段车辆行驶事件数据集,提升模型检测精度与泛化能力,从而推动智能交通系统在高速公路场景下的应用,为交通管理部门提供科学决策依据,辅助交通指挥与事故预防,保障高速公路安全、高效运行。
(1) 车辆行驶数据集建立
本研究在利用高速公路选定地点的高清监控摄像头,进行参数设置和设备调试,确保设备正常运行且画面质量符合要求,收集基于高速公路环境下的车辆行驶数据,并进行筛选分类便于后续数据处理与检索,数据集制作流程如图3所示。
Figure 3. Flow chart of data set establishment
图3. 数据集建立流程图
(2) 车辆图像数据帧截取及筛选
为实现行驶车辆异常检测需要大量的高速公路环境下的车辆图像数据,本文获取的高速公路监控视频来自山东高速淄博发展有限公司,选取济潍高速淄川区路段(S6 K35 + 850上行、S6 K38 + 000下行、S6 K35 + 120上行),通过采集一天中不同时段、不同方向和不同天气状况下的高速公路车流图像获取原始数据并进行筛选,数据样本如图4所示。
Figure 4. An image of the highway section was captured
图4. 高速公路区段截取图像
(3) 图像增强
由于不同光照条件下,图像整体亮度存在差异,需要通过改变图像像素的灰度值来实现亮度调整,提升图像整体亮度均匀性,让在不同光照条件下拍摄的车辆图像都能具有合适的亮度,便于模型准确识别车辆特征,避免因过暗或过亮导致特征丢失或误判。
(4) 数据标注与划分
为满足高速公路车辆行驶事件检测模型的训练需求,需要将图像数据标注与划分构建高质量数据集,使用LabelImg标注工具,绘制车辆目标矩形框并标注车辆类别,生成初始XML标注文件,如图5所示。采用分层随机划分策略,根据车辆行驶事件类别对数据进行划分生成新的数据子集,包括训练集500张,测试集300张和验证集200张,总计1000张图像。通过上述生成高速公路环境下车辆行驶事件的数据集后,需要对划分后的txt标注文件,再进行坐标归一化处理以适配YOLO模型的输入要求。
Figure 5. Calibration of image data
图5. 图像数据标定
3.2. 实验环境配置
本实验基于Python语言进行编程对各参数进行设置,配置实验环境如表1所示。
Table 1. Experimental environment configuration table
表1. 实验环境配置表
设备类别 |
设备名称 |
内容 |
硬件环境 |
CPU |
Intel(R)Core(TM) i7-8750h |
显存 |
6 GB |
硬件环境 |
内存 |
512 GB |
GPU |
NVIDIA GeForce GTX 1060 |
软件环境 |
操作系统 |
Windows11 |
平台 |
pytorch1.21.0 |
Cuda版本 |
torch-2.4.1 + cu124 |
实验中图像输入尺寸为640 × 640,每次输入图片数量为8,设置优化器Transformer,初始学习率设置为0.01,循环学习率为0.01,批次大小batch size为16,训练轮数epoch为500次,衰减系数0.005。
3.3. 评价指标
本文采用3个评价指标分别为精确率(Precision, P)、召回率(Recall, R)和平均精确率(Mean Average Precision, mAP) [15] [16]。其中在式(2)中TP表示模型正确预测为正例的样本数量,FP表示模型错误地将负例预测为正例的样本数量;式(3)中FN表示模型错误地将正例预测为负例的样本数量,N为类别数量。
(3)
(4)
(5)
3.4. 实验结果与分析
Figure 6. Model training diagram
图6. 模型训练图
图6为模型训练图,横坐标为训练轮次epoch,纵坐标为损失值,包括边框损失曲线(train/box_om和train/box_oo曲线)、分类损失曲线(train/cls_om和train/cls_oo曲线)、分布匹配损失曲线(train/dfl_om和train/dfl_oo曲线)、平均精确率曲线包括metrics/mAP50(B)曲线和metrics/mAP50-95(B)曲线以及精确率曲线metrics/precision (B)和召回率曲线metrics/recall (B)。从图中可以看出,随着训练迭代次数的增加,各损失值显著降低,精确率与召回率均呈逐步上升趋势,表明在高速公路区段车辆行驶事件检测的模型训练过程中,该模型能够有效提升对高速公路车辆行驶事件的检测能力,包括更准确的定位、更精准的分类以及更低的误检和漏检率,增加了预测的可靠性。
Figure 7. The P-R curve
图7. P-R曲线图
Figure 8. Visualization of the detection results
图8. 检测结果可视化图
图7为测试集精确率–召回率(Precision-Recall, P-R)曲线图,从图中可以看出随着召回率的增加,精确率呈现下降趋势,且图中所有分类类别的准确率为94.4%,对于truck和car类型车辆的检测效果良好,表面该模型有助于准确识别对应类型车辆的相关行驶事件,检测结果可视化见图8。
在测试集中选取了16幅图像进行检测结果的可视化,图像中分别包括car和truck类行驶车辆,可以看出该模型在高速公路环境下的车辆识别能力表现较好。
图9中呈现了高速公路不同位置的监测画面(S8K3B + 000下行、S8K35 + 120上行等),建立时间关联为同一段检测数据,空间关联为互通区“进入–驶出”关系,运用NMS算法实现高速公路环境下车辆数量识别技术,将检测框按类别(car和truck)分组,对每组独立执行NMS,按置信度从高到低排列检测框,通过交并比(IoU)衡量框间重叠程度,保留置信度最高的框作为“最优框”,剔除与最优框IoU超过阈值0.6且置信度较低的重复框,直至所有框处理完毕。
例如,图9画面1中上游计数N1 = 5,画面2 (下游)计数N2 = 2,差异度|(5 − 2)/5| = 60% > 20%。
车辆异常判定逻辑,若车流无特殊事件(如出口分流),则可能存在:
(1) 下游监测点漏检(模型对特定车辆识别失败,如夜间反光干扰、远距离小目标);
(2) 上游监测点误检(模型将非车辆目标判定为车辆,如广告牌、护栏阴影);
(3) 发生的交通通事件:事故导致车辆停滞在上游,未流向下游。
Figure 9. Abnormal number of vehicles
图9. 车辆数量异常图
3.5. 实验精度结果对比
Table 2. Comparison of experimental results
表2. 实验结果对比
模型 |
P/% |
R/% |
mAP 0.5/% |
mAP 0.5:0.95/% |
YOLOv5 |
79.1 |
90 |
80.3 |
56.2 |
YOLOv8 |
82.3 |
96 |
83.1 |
60.1 |
改进YOLOv8 |
92.5 |
98 |
94.4 |
74.5 |
为进一步验证改进后YOLOv8模型的性能效果,将其与基础模型进行对比获得表2和图10。由表2可知无论是在单个指标精确率P和召回率R上,还是在综合指标平均精确率mAP上,改进YOLOv8模型的性能指标都比YOLOv5模型以及原始YOLOv8模型要高,其检测性能更优,冗余框显著减少,检测结果更可靠,检测结果对比如图10所示。
Figure 10. Comparison of the detection results
图10. 检测结果对比图
4. 总结
针对高速公路车辆异常行驶事件检测需求,本文提出一种基于改进YOLOv8的检测方法,通过替换主干网络提升模型对长距离特征和时空关联的建模能力,将模型应用到实际高度公路环境中进行验证。通过可视化实验结果可知,改进YOLOv8模型可提升高速公路智能监控效率,有助于实时异常事件检测,对交通流量分析、事故预防、智慧交通系统等提供技术支持。
NOTES
*通讯作者。