沈阳理工大学 周 越 周开强 曹玉颖
随着当今人们物质生活的极大提高,对于出行的交通工具需求也在不断的提高,车辆成为了当前人们的生活必不可少的东西,随之而来的是交通秩序的混乱,为了减少道路的交通拥堵,交通事故等,保证行车者的安全和便利,对于实时监测车辆安全,必不可少。当前比较普遍的能够实时的监测车辆的算法大部分是基于匹配法、光流法或者帧差法等。后来逐渐出现了卷积神经网络以及CNN还有几何约束算法能够做到实时检测车辆。
本文是基于YOLO算法下的实时车辆检测,YOLO算法是当下比较流行的object detection算法,速度也比较快,大约能每秒处理45帧,它与传统的RCNN系列算法不同,它以不同的处理方式对目标对象进行处理检测,首先将整个的图像放在一个实例中,并预测这些框的边界框坐标和及所属类别概率。YOLO算法可以把在检测失误(把背景中与目标无关的检测成物体)的错误率能够降到一半左右,准确率很高。
与传统的two stage的算法先提取ROIS不同,YOLO的整个的过程就是先利用多层卷积网络提取图片的全局信息,最后用全连接层来进行目标边界框(矩形)的预测和回归。YOLO算法先将整个图片进行分割,把它变成一个SxS的方格(如图1),这样做的目的是为了检测识别出目标。
图1 特征提取示意图
假设在识别过程中某个目标物体的中心落在了一个格子中,这个对应的格子就负责检测出这个目标物体。此时这个格子开始对目标物体进行特征提取,每一个格子都会预测出b个目标物体的边界框,并且预测出每一个格子要检测每个目标物体的概率和偏移量。每个格子的边界框负责预测5个值(x,y,w,h,confidence)。其中x,y分别表示预测的目标物体的边界框的中心坐标,w,h表示的是相对于整个图片来说目标物体的边界框的宽和高。confidence表示的是一个目标物体的边界框是否包含物体的置信度。它的形式化定义如下:(object)表示如果格子中有物体,那么这个值为1,否则为0。后面的IOU表示的是预测的边界框与实际的标签边界框的IOU值。它们的乘积表示的就是一个边界框是否包含物体的置信度。
当格子中检测到存在目标物体时,每个格子预测c个概率,检测时,将C个概率和单个置信度相乘,可以得到基于class即每个类别的概率以及边界框的精确度。公式如下:
YOLO算法的目标检测也就是一种回归问题,它采用的是均方差损失函数,即(预测坐标-实际坐标)的平方+(预测概率-实际概率)的平方,但是实际检测大多数方格是没有目标物体的,损失函数公式如下:
他由四部分组成:
YOLO算法进行目标检测的过程中会根据IOU找到预测物体中最大的物体进行训练,边界框会和实际标注的物体最贴近的最大物体进行检测,所以YOLO算法对图片中的大物体检测的效果最好。
实现对前方街道的实时车辆检测如图2、图3所示。
图2 结果
图3 结果
结论:通过对车辆检测的研究,深入学习了YOLO算法的检测原理和工作流程,针对当下人工智能对实施目标车辆检测即以后的智能交通都很有意义。结果表明YOLO算法的速度快准确率高,可以满足以后的智能交通对目标车辆的检测识别。