基于深度学习框架YOLOV5行人跟踪及车辆检测

2022-07-06 05:46张映张志伟崔琳
客联 2022年4期
关键词:计算机视觉深度学习

张映 张志伟 崔琳

摘 要:随着现代技术的迅速发展,在智能交通领域上有着不凡的发展,在行人车辆目标检测在计算机视觉方向的研究有着不凡的研究,目前目标检测算法可以分成3类:传统的目标检测算法:Cascade + HOG/DPM + Haar/SVM;候选区域/框 + 深度学习分类:R-CNN  SPP-net YOLO/SSD/DenseBox 等方法。其中在YIOLO模型中YOLOV5上提出了目標检测算法,研究表明,较传统目标检测算法而言。该算法在目标检测上有着更高的精确度。

关键词:目标检测算法;计算机视觉;深度学习;YOLO模型

一、概述

近几年,我国在智能交通领域迅速发展,人们在出行前通常会提前了解道路出行情况,这个研究对于人们出行有着极大的便利。而目标检测是计算机视觉领域中的难题,对于行车检测,车辆跟踪,其中利用了在深度学习技术,图像处理技术,当然对于目标的选定,分类识别等检查是研究的难点。基于目标检测的阶段数可以分为单阶段目标,两阶段目标以及多阶段目标检测,而本文中使用了单阶段目标检测算法[1]。

二、目标检测算法存在的问题

对于同一检测画面下,对于检测的行人和车辆可能同时存在许多个,目标之间密度大小,物体之间的遮挡问题。在距离不同时,目标的大小随之改变,在距离很远时,对于检测就会产生相当大的难度。外界的光线程度,天气都会影响机器对目标的检测。在识别过程中不仅仅只有行人和车辆这两种物体,不同的物体对于识别判断中也会产生误差。

三、深度学习目标检测方法[2]

(一)One-stage类别的目标检测算法

One-stage算法是针对物体的类别概率和坐标,常用于SSD,DSSD和Retina-Net等。通过主干网络信息对类别和坐标进行分析,使得算法运行速度更快。

(二)Two-stage类别的目标检测算法

Two-stage算法通过卷积神经网络来对候选目标进行检测,使用CNN模型,对目标网络进行训练,其中分为训练RPN网络和训练目标区域检测网络。

四、目标检测算法的基本流程

(一)候选框

输入模块是将我们检测的目标对象图像或视频等,候选框包含了很大背景信息,我们需要的仅仅是一部分,其中我们先向检测目标产生的区域进行划分,然后再对这些可能的位置进行微调。

(二)特征提取

本文采用了动态移动窗口的方法进行提取,然后对每个候选区域模块中的信息进行特征提取,通常我们会采用计算机视觉算法。而计算机视觉提取特征方法一般有三种:底层次、中层次、高层次特征。这里的YOLOV算法通常使用了底层次和中层次两种。

(三)分类器判定目标or背景

在特征提取过后,我们需要使用分类器对目标进行分类,分类器的选择是我们事先通过学习和训练得到的,YOLOV5模型使用的单类别目标检测,只需要确定当前的候选框是候选目标还是背景。在目标识别过程中会存在目标重叠的情况,我们需要一个NMS来将重叠的数量达到真实目标的数目。

(四)NMS

NMS即非极大值抑制,其基本思想是将目标最为准确的确定出来,解决目标重叠问题,使检测结果更加具有准确性。

五、YOLOV5算法

YOLOV5与传统的目标检测算法相比有着较大的不同,其中算法的速度和对目标检测的精确度上有着更好的性能。在YOLO算法上添加了新的功能:分别在输入端、基准网络、Neck网络和Head输出层上进行了一些改动[3]。在输入端对Mosaic数据的修改、自适应锚框计算、自适应图片缩放;在基准网上增加了Focus和CSP结构;在Neck网络上Yolov5中添加了FPN+PAN结构;在Head输出层改进了损失函数以及预测框的筛选。

六、损失函数

目标检测中的损失函数,主要由边界框回归函数和分类损失函数构成。

(一)边界框回归函数

边界框回归损失一般的比较策略是并交比即IOU,其计算公式如公式(1)所示:

IoU可以计算出预测框与真实框之间的距离,但作为损失函数它时存在不足:当两个预测框没有相交,就不能体现出两者的重合程度,就无法得到我们想要的结果。YOLOV5算法采用GIOU作为损失函数,与IoU不同的是GIoU在此基础上做出了改进,其计算方公式如公式公式(2)与(3)所示:

作为边界框损失函数IOU只适用真实框与预测框重叠的区域,而GIOU与IOU不同,对于预测框和真实框非重叠区域也同样适用。

(二)基于分类的损失函数

Gross Entropy Loss是损失函数中非常重要的一类函数,在损失函数领域应用程度占比也是最高的。对于二分类交叉熵Loss主要有两种方式:一种是基于输出标签label的表达方式为{0,1}另一种输出标签label的表达方式为:{-1,1}。而两种不同形式的交叉熵是一样的,只不过是标签的表达方式不同。在模型选择时,使用损失函数对检测异常干扰的程度也就越小,在模型预测表现的结果也就好。

七、多目标跟踪算法

Deep SORT是常用的多目标跟踪算法之一,适用于运动的物体,对行人、车辆的检测有着极大的应用[4]。在Deep SORT算法下当两个或多个物体相互遮挡时仍有可以被检测出来的可能。所以Deep SORT更加成熟,在处理待测目标遮挡上有一定程度的提升,但对于遮挡数目上的精确度仍有较大提升空间。

八、改进的YOLOV5算法[6]

通常我们针对最小化或最大化的函数称之为目标函数,当对其进行最小化处理时,我们称之为损失函数。学习率是SGD算法中的关键参数,随着时间的推移学习率会逐渐下降,而在SGD中引入了一个噪声源数据,当批量梯度达到极小点是,目标函数的数值就变得很小。通过不停的学习率迭代,选择表现最佳的学习率。

九、结束语

本文整合了计算机视觉技术,对于这些检测框架,在特征融合层上表现的性能就很重要,目前两者都是使用PANET,根据研究表明,特征融合层的最佳选择是BIFPN,而YOLOV5使用了PyTorch框架,对用户非常良好,对于模型的训练具有良好的速度,以及在行人和车辆目标检测过程中的识别速度跟准确率都有着不错的效果。

参考文献:

[1]杨晓玲,蔡雅雯.基于yolov5s的行人检测系统及实现[J].电脑与信息技术,2022,30(01):28-30.DOI:10.19414/j.cnki.1005-1228.2022.01.006.

[2]谢富,朱定局.深度学习目标检测方法综述[J].计算机系统应用,2022,31(02):1-12.DOI:10.15888/j.cnki.csa.008303.

[3]马琳琳,马建新,韩佳芳,李雅迪.基于YOLOv5s目标检测算法的研究[J].电脑知识与技术,2021,17(23):100-103.DOI:10.14004/j.cnki.ckt.2021.2402.

[4]黄凯文,凌六一,王成军,吴起,李学松.基于改进YOLO和DeepSORT的实时多目标跟踪算法[J/OL].电子测量:1-8[2022-04-26].http://kns.cnki.net/kcms/detail/11.2175.TN.20220331.1537.096.html

[5]刘彦清.基于YOLO系列的目标检测改进算法[D].吉林大学,2021.DOI:10.27162/d.cnki.gjlin.2021.005205.

[6]纪泽宇,张兴军,付哲,高柏松,李靖波.分布式深度学习框架下基于性能感知的DBS-SGD算法[J].计算机研究与发展,2019,56(11):2396-2409.

猜你喜欢
计算机视觉深度学习
基于深度卷积神经网络的物体识别算法
双目摄像头在识别物体大小方面的应用
机器视觉技术发展及其工业应用
危险气体罐车液位计算机视觉监控识别报警系统设计
有体验的学习才是有意义的学习
电子商务中基于深度学习的虚假交易识别研究
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现