基于YOLOv3的高速公路多目标车辆跟踪算法研究
2020-06-21覃蒋圣
摘要:针对高速公路行车速度快的特点,文章分析了YOLOv3算法的优势,并利用YOLOv3算法对目标车辆跟踪的两个步骤进行改进:在车辆检测阶段利用YOLOv3算法模型及Resnet-18算法模型构建双线性分类模型,提高目标车辆检测准确性及检测速度;在车辆跟踪阶段则引入深度分类的方法,能有效减少目标车辆标识跳变的问题,改善目标车辆跟踪效果。通过实验表明,所提出的基于YOLOv3的高速公路多目标车辆跟踪算法具有较高的识别速度及跟踪准确性。
关键词:YOLOv3;车辆检测;车辆跟踪;深度分类
0 引言
根据交通部数据显示,截至2018年年底,全国高速公路交通视频监控设施(含路段互通、收费站、桥隧、服务区)总规模达到21.4万套,平均布设密度达4 km/套,如何合理挖掘丰富的高速公路视频监控数据资源成为急需解决的问题。利用多目标车辆跟踪技术能够实现对高速公路上行驶的车辆自动检测并对车辆进行跟踪,从而将高速公路监控数据变为有用信息,是近年来重点研究的方向之一。
多目标车辆跟踪一般分为两步:第一步是进行车辆检测,即识别出视频初始帧中所有的车辆;第二步是进行目标车辆跟踪,即在之后的视频帧中对识别出来的目标车辆进行跟踪。由于高速公路车辆行驶速度较快,导致传统的多目标车辆跟踪算法识别效果不理想,会产生误检、漏检、目标丢失等问题。因此,本文基于YOLOv3算法从目标车辆跟踪的两个步骤进行改进,有效提升算法识别速度和跟踪效果。
1 YOLOv3算法介绍
目前,目标检测算法按照实现步骤分為两类。第一类算法是将目标识别和目标定位分为两个步骤分别完成,典型代表是R-CNN、fastR-CNN、faster-RCNN等。这类算法是通过提取候选区域,并对相应区域进行深度学习的方法[1]。第二类算法是将目标识别和目标定位在一个步骤中完成,典型代表是YOLO、SSD、YOLOv2、YOLOv3等。这类算法使用了回归的思想,将目标检测任务转换成一个回归问题,实现端到端的识别[2]。第一类算法是目前主流的目标检测算法,但是这类算法存在一个很明显的问题——检测速度很慢,不能满足实时的目标检测需求。高速公路行车速度快,视频监控场景中对实时检测要求高,因此本项目选择第二类端到端识别算法中的YOLOv3算法来进行车辆检测[3]。
YOLOv3算法的核心思想是首先将输入视频的某一帧进行N*N(本项目是13*13)的栅格化得到N*N个网格单元,最终将该帧图片中车辆位置的预测任务交给车辆中心位置所在网格单元的回归边框来完成。上述过程可以认为是一种很粗糙的区域推荐,通过网格单元的方式告诉模型,视频某一帧中目标车辆是由该目标车辆中心落在网格单元的某些范围内的某些像素组成。模型接收到这些信息后就在中心网格单元周围以一定范围去寻找所有满足目标车辆特征的像素,最终完成车辆检测。
从纵向的角度考虑,由于基于区域的目标检测方法在候选区域提取阶段计算相对复杂,想要实现实时检测仍面临巨大挑战。从横向的角度考虑,YOLOv3借鉴了残差网络结构形成更深的网络层次,并实现多尺度检测,相比YOLO、YOLOv2提升了识别精准度及小物体检测效果。总的来说,YOLOv3在不损失太多精度的同时,速度有了极大的提升,适合在高速公路的视频监控场景中做目标检测。
2 车辆检测
经过上述YOLOv3算法,我们已经完成了目标的粗粒度分类,即把不同种类的目标进行区分,比如可以区分有着显著差异的摩托车与汽车。但是如果我们想区分货车还是轿车等车辆类型,YOLOv3算法则容易出现误检的问题,由此引出了细粒度分类。细粒度分类是把同一类物体继续细分成确切子类,由于不同子类之间的视觉差异很小,往往只能借助微小的局部差异才能分出不同的子类,使得细粒度分类十分具有挑战性[4]。
第一步车辆检测是第二步车辆跟踪的前提,因此本文在车辆检测时提出构建基于弱监督的分类模型——双线性分类模型进行细粒度分类,即用上述YOLOv3算法模型及Resnet-18算法模型这两个并列的模型进行局部建模(如图1所示)。两个算法模型相互协调作用,提高车辆检测准确性,为下一步车辆跟踪提供有力支撑。
双线性分类模型的优势主要在于它可以根据类抽象递减的顺序多个输出层预测分类结构,简化了梯度计算。同时,双线性分类模型采用新型训练策略——分支训练策略,即使用粗级标签先学习低级特征激活卷积神经网络的浅层,平衡了先验的严格性和调整输出层参数的自由度,以最大限度减少损失。另外,双线性分类模型与传统的卷积神经网络模型一样简单,仅使用了现在卷积神经网络的组件作为构建块,训练策略与修改学习速率一样容易。
3 多目标车辆跟踪
完成第一步车辆检测后,我们需要在之后的视频帧中对识别出来的目标车辆进行跟踪。为了达到高速公路车辆监控的实时性要求,同时兼顾跟踪的准确性,本项目基于YOLOv3算法引入深度分类的方法来进行多目标车辆跟踪。
具体的跟踪流程为:首先将YOLOv3算法检测到的结果作为对象输入,然后判断上一次检测到的每一个目标车辆与当前检测到的目标车辆是否匹配。如果匹配则认为目标车辆跟踪成功;如果长时间没有匹配,则认为该目标车辆跟踪过程结束。
是否匹配的判断使用深度分类的方法,即使用运动信息匹配与表观特征匹配结合的方法来进行匹配判断,其由以下三个步骤来完成:第一步是运动信息匹配,即使用基于常量速度模型和线性观测模型的标准卡尔曼滤波器对目标车辆的运动状态进行预测,预测结果与当前检测结果之间的马氏距离d(1)(i,j)表示匹配度度量:
d(1)(i,j)=(dj-yi)TSi-1(dj-yi) (5)
其中,dj——当前检测到目标车辆的状态(u,v,r,h);
yi——卡尔曼滤波器对目标车辆的预测状态(u,v,r,h);
Si——当前检测到目标车辆的位置与卡尔曼滤波器预测的目标车辆位置之间协方差矩阵。
单独使用马氏距离为匹配度度量会导致标识跳变情形严重,特别是当视频画面存在抖动时可能会导致马氏距离度量失效。因此,第二步引入了表观特征匹配:利用深度网络提取每一个目标车辆最近成功匹配的k帧中的每一帧的特征向量,并组成特征向量集r(i)k。本项目中k取100,则用当前检测结果的特征向量与特征向量集r(i)k间的最小余弦距离d(2)(i,j)表示匹配度度量:
d(2)(i,j)=min{1-rjTr(i)k|r(i)k∈Ri}(6)
最后一步是将运动信息匹配与表观特征匹配结合的匹配度度量进行线性加权得到的ci,j作为最终的匹配度度量:
ci,j=λd(1)(i,j)+(1-λ)d(2)(i,j) (7)
其中λ是超参数,用于调整不同项的权重,本项目中λ取0.1。若ci,j小于特定阈值时,则表示匹配成功。考虑到运动的连续性,本项目使用卡方分布的0.95分位点作为阈值t,则匹配的最终公式为bi,j[7]:
bi,j=∏[JB([]ci,j≤t[JB)]] (8)
在实时目标追踪过程中,深度分类的方法采用运动信息匹配与表观特征匹配结合的方法,从而减少了45%的标号交换的数量,避免产生目标标识跳变的问题,可以提高有遮挡情况下的目标追踪效果。而且,深度分类的方法将大部分计算复杂性放入离线的预训练阶段,解决了在高帧率下的整体竞争性能不影响整个监控过程的实时性问题。
4 算法实验
本项目以G80广昆高速公路南坛段的高速公路监控录像作为算法数据集,对算法进行训练,并以该路段实时监控视频作为实验对象进行400次实验。实验环境为英伟达1080Ti GPU,评价标准为多目标跟踪(MOT)性能评价指标,具体实验结果如表1所示。从实验结果来看,本项目提出的基于深度学习的高速公路目标车辆识别及跟踪算法具有较高的识别速度及准确性。
5 结语
本文从目标车辆跟踪的两个步骤进行算法改进:在车辆检测阶段利用YOLOv3算法模型及Resnet-18算法模型构建基于弱监督的双线性分类模型实现目标车辆检测,该方法在简化了梯度计算的同时也获得了较高的准确率;在车辆跟踪阶段则利用YOLOv3算法模型及深度分类的方法,有效减少目标车辆标识跳变的问题,改善目标车辆跟踪效果。通过实验表明,本文提出的基于YOLOv3的高速公路多目标车辆跟踪算法在高速公路车辆行驶速度较快的情况下,仍能实现实时识别并具有较高的识别速度及跟踪效果。目前,本项目用于算法模型训练的样本资源有限,下一步计划扩充样本库,进一步训练本文算法。
參考文献:
[1]韩 凯,张红英,王 远,等.一种基于Faster R-CNN的车辆检测算法[J].西南科技大学学报,2017,32(4):65-70,94.
[2]阮 航.基于卷积神经网络的车辆识别[D].南京:南京航空航天大学,2018.
[3]周晓彦,王 珂,李凌燕.基于深度学习的目标检测算法综述[J].电子测量技术,2017,40(11):89-93.
[4]吴 凡.基于深度学习的车型细粒度识别研究[D].厦门:厦门大学,2017.
[5]杨 兴.基于B-CNN模型的细粒度分类算法研究[D].北京:中国地质大学,2017.
[6]Lin,TsungYu,RoyChowdhury,et al.Bilinear CNN Models for Finegrained Visual Recognition[EB/OL].https://arxiv.org/abs/1504.07889,2015-04-29.
[7]Nicolai Wojke,Alex Bewley,Dietrich Paulus,Simple Online And Realtime Traltime With a Deep Association Metric[EB/OL].https://arxiv.org/abs/1703.07402,2017-03-21.
作者简介:覃蒋圣(1990—),助理工程师,研究方向:交通信息化。