基于计算机视觉的智能交通监控系统

前言

    目前,计算机视觉技术在智能交通领域已经取得了比较广泛的应用。其中,主要应用的技术是目标检测与识别、目标跟踪。本文重点分析了这些计算机视觉技术在车辆跟踪、流量统计、车牌识别、闯红灯违章检测、不礼让行人违章检测等方面的应用,并指出了计算机视觉技术在智能交通领域进一步发展所面临的局限和出路。


一、目标检测与识别

    YOLO v4是一个目标检测算法,而目标检测的本质就是识别与回归。处理图像用的最多的就是卷积神经网络CNN,所以YOLO v4实际上就是一个实现了回归功能的深度卷积神经网络。网络结构图如图1所示。
基于计算机视觉的智能交通监控系统_第1张图片

二、目标跟踪

    Sort跟踪方法的基本思路是利用匈牙利算法对当前帧进行目标检测得到的检测框与通过卡尔曼滤波预测的检测框的IOU情况进行线性分配关联帧间ID。Deep sort把目标的外观信息加入到匹配计算之中,这样在目标被遮挡,后来又出现的情形下,还能够正确匹配ID, 从而可以有效减少ID switch频繁的情况。Deepsort算法的具体流程如图2所示:
基于计算机视觉的智能交通监控系统_第2张图片

三、基于计算机视觉的智能交通监控系统

1.系统算法流程

    系统算法流程如图3所示,第一步是多目标检测,采用YOLOV4,将检测结果进行分类,筛选出车辆、行人、交通信号灯三类目标。结合交通管理员设置的卡口范围,确定系统跟踪的车辆。第二步是多目标跟踪,采用Deepsort算法跟踪车辆。第三步是遍历跟踪结果,统计车流量,检测被跟踪车辆的车牌车速,判断该车是否具有违章行为,如果具有违章行为,将当前帧以及违章车辆内写入文件。最后,管理员查看违章记录时采用预训练的模型识别车型,颜色。
基于计算机视觉的智能交通监控系统_第3张图片

2.关键技术

2.1 车辆跟踪

    DeepSort算法的深度外观模型是在行人重识别数据集上训练得到的,用于人的多目标跟踪效果好,用于车辆的跟踪不一定适用,我们下载了VeRi车辆重识别数据集,利用卷积神经网络训练了适用于车辆的深度外观模型。VeRi数据集在不同的视角、光照、遮挡下拍摄每辆车,有利于提高车辆跟踪的鲁棒性,跟踪效果如图4所示。
基于计算机视觉的智能交通监控系统_第4张图片

2.2 流量统计及对比分析

    根据跟踪的结果进行流量统计,采用列表将每一帧为车辆分配的ID记录下来,为了避免未被确认的跟踪对象引起的ID不连续,我们将ID列表转为集合根据ID在集合中的下标作为跟踪车辆的唯一标识呈现给用户。另外,为了对比分析东西向和南北向道路流量情况,系统支持双视频检测,利用多线程同时检测两个方向的道路统计车流量并将流量分析结果可视化。同时将流量统计结果写入文件,管理员查看历史路况即可分析流量高峰。流量统计结果如图5所示。基于计算机视觉的智能交通监控系统_第5张图片

2.3 车速检测+车牌检测

    车速检测是根据get(cv2.CAP_PROP_FPS)获取当前检测视频每秒帧数作为双向队列长度。双向队列记录每辆车的移动轨迹。队满时根据队列首尾的位置得到单位时间内车辆的移动距离,即车速。
    车牌检测是将被跟踪车辆裁剪出来利用开源车牌识别框架HyperLPR进行车牌识别。将识别结果保存在字典中,避免在每一帧中反复识别同一目标,降低程序的执行效率。
基于计算机视觉的智能交通监控系统_第6张图片

2.4 闯红灯行为检测

    闯红灯违章检测检测,首先根据裁剪的红灯灯图片在各颜色分量所占的面积判断交通信号灯状态,然后根据车辆所在车道选择对应的交通信号灯作为判断依据。在红灯期间,车辆通过停止线且位移超过阈值即判定当前车辆发生了闯红灯行为。如图7所示,在红灯期间车牌号为冀DH084A的小汽车越过停止线且发生的位移超过阈值即闯红灯违章行为。
基于计算机视觉的智能交通监控系统_第7张图片

2.5 斑马线不礼让行人检测

    斑马线不礼让行人检测,针对斑马线检测,对输入图片进行预处理,通过Canny提取边缘,求横纵梯度。然后通过滑动窗口预测,统计一定梯度范围内的点数得到点直方图,取峰值方向(梯度一致性)的点数作为判断量,高于阈值判为斑马线。针对不礼让行人违章检测,筛选斑马线上的行人、车辆,跟踪斑马线上的行人判断行人的位移方向,结合车辆和行人的相对位置判断车辆是否不礼让行人。行人往左走,如果车辆在行人左边则该车不礼让行人。如图8所示,在红灯期间车牌号为冀DL029Q的小汽车不礼让行人。
基于计算机视觉的智能交通监控系统_第8张图片

2.6 车型识别

    采用ResNet50网络训练分类模型,添加多标签全连接层,分别对车型和颜色进行分类。管理员查看历史违章记录时系统调用预训练的模型识别违章车辆的车型、颜色。
基于计算机视觉的智能交通监控系统_第9张图片

四 、局限与展望

    虽然计算机视觉技术在智能交通领域已取得比较广泛的应用,但在一些对检测精度、准确度、检测速度有高度要求的领域(例如无人驾驶)中,计算机视觉的应用还受到一定限制。因此,通过摄像头获取的信息还需要和其他传感器(例如雷达等)的信号进行融合,才能得到更为精准的信息。相信随着计算机硬件和深度学习技术的进一步发展,基于视觉检测算法的检测精准度和速度都会有很大的提高,计算机视觉技术在智能交通中的应用也会更加广泛。


演示视频链接:基于计算机视觉的智能交通监控系统演示


第一次在博客上分享成果,还有很多不足之处请大家多多指教。
另外,需要交通路口视频数据集或者源代码的小伙伴欢迎滴滴我。Email:1771729370(a)qq.com

你可能感兴趣的:(算法,python,神经网络,机器学习)