APP下载

基于YOLO改进残差网络结构的车辆检测方法

2020-09-17胡臣辰陈贤富

网络安全与数据管理 2020年9期
关键词:候选框网络结构残差

胡臣辰,陈贤富

(中国科学技术大学 微电子学院,安徽 合肥 230027)

0 引言

车辆是目标检测任务中的重要对象之一,在自动驾驶、目标追踪等领域有着十分重要的应用。以梯度方向直方图(Histogram of Oriented Gradient,HOG)和支持向量机(Support Vector Machine,SVM)结合的传统目标检测算法先计算候选框内图像梯度的方向信息统计值,再通过正负样本训练SVM,使用传统方法受限于候选框提取效率、HOG特征尺度鲁棒性,在实时性以及遮挡目标检测等诸多方面有着明显缺陷[1]。近年来,基于深度学习的目标检测方法以强特征提取能力、高检测率取得了惊人的成果。近年来深度学习网络在计算机视觉上因AlexNet在2012年的ImageNet大赛中大放异彩而进入飞速发展。2014年VGGNet在追求深层网络的性能时,发现增加网络的深度会提高性能,但是与此同时带来的梯度消失问题不可避免。2015年ResNet网络较好地解决了这个问题,深层残差网络可以减少模型收敛时间、改善寻优过程,但应用尺度大的卷积核的同时增加了网络模型的参数量与计算量,降低了模型的训练与检测速度[2]。

计算机视觉中的目标检测任务关注图像中特定目标的位置信息,现有方法分为two-stage和one-stage两类。two-stage方法先产生包含目标的候选框,再通过卷积神经网络对目标进行分类,常见的方法有RCNN、Fast-RCNN、Faster-RCNN。 one-stage方法直接使用一个卷积网络对给定输入图像给出检测结果,以YOLO为代表的one-stage目标检测方法在检测时,将候选框的生成与目标的分类回归合并成一步,基于YOLO的检测算法大大提高了检测速度,但检测精度仍有待提高[3]。本文选择在基于YOLO方法的基础上改进主干网络的残差网络结构,设计了一种新的网络模型,经实验表明提高了检测准确率。

1 相关工作

1.1 残差网络结构

2015年何凯明等人在论文中正式提出了ResNet[4],其针对常规网络在进行加深深度时出现的梯度消失、浅层网络无法提高网络的识别能力等问题取得了重大突破。残差结构的表达式为:

若不使用残差结构,当输入为x时,经网络后输出为 F(x,{Wi}),而引入残差结构后,需要学习的特征为 F(x,{Wi})-Wsx,使用残差结构的网络对于微小变化更显突出。

图1所示的残差网络结构中,先使用1×1的卷积核缩小通道数,最后通过1×1的卷积核恢复通道,使用1×1与3×3组合结构可以减少计算量与参数。

图1 三层残差学习网络结构

1.2 YOLO系列算法

2016年REDMOND J提出 YOLO(You Only Look Once)算 法[5],将 特 征 图分为S×S的网格,每个网格负责预测中心点落在网格中的目标,YOLO将生成候选框与分类预测合并成一步,加快了检测速度。

2018年REDMOD J发布了YOLO的第三个版本—YOLOV3[6],YOLOV3算法采用了不含全连接层的darknet53网络作为主干网络,darknet53借鉴了ResNet结构,复用残差结构(Res-block),加强主干网络提取特征的能力。

图2所示的Res-block是组成darknet53的重要部分,它由一个下采样的卷积块(Con-block)与若干残差单元(Res-unit)组成,其中 Con-block由卷积层、归一化层、激活函数层构建,Res-unit由包含两个 1×1与 3×3的卷积核的 Con-block组成。

图2 组成darknet53网络的基本组成单元

YOLOV3在预测时,使用特征金字塔网络(Feature Pyramid Networks,FPN)选取主干网络上的三个尺度进行预测,有效增强不同大小的目标检测效果,同时将高层特征上采样堆叠到低层特征上,加强低层特征的语义信息。图3所示的FPN结构有三个尺度的输出,格式均为 S×S×(3×C),其中 S为特征图的网格大小,3代表每个网格负责预测3个候选框,5代表每个候选框的位置信息(相对网格左上角偏移值及候选框的宽高)及包含物体的置信度,C表示候选框所要预测目标的置信度。本文检测单一的车辆目标,C的数值为 1。

YOLOV4算法[7]的主干网络上采用了CSPdarknet53,它借鉴 CSPNet网络结构[8],重复使用含有三个卷积块及n个Res-unit单元组合而成的网络结构(Csp-block),在激活函数的选择上,使用 Mish函数替换LeakyReLu函数。

图4所示的卷积块使用的激活函数为Mish函数:

YOLOV4选用Mish激活函数针对ReLu函数在负值时直接截断,梯度下降不够平滑进行了优化。

2 算法改进

2.1 模型改进

YOLOV4在YOLOV3的结构基础上使用诸多了技巧,在MSCOCO数据集上mAP-50达到了65.7%,相对于YOLOV3提高了大约10%。但是所用技巧对特定场合下的目标检测效果并不是均有益。本文结合CSPdarknet53网络结构、darknet53网络结构,重新设计了一种新残差单元结构NRes-block,将输入单元分为两个部分,第一部分进行一次激活函数为Mish的卷积单元操作,再复用若干残差单元;第二部分只进行一次激活函数为Mish的卷积单元操作,最后堆叠这两部分,具体结构如图5所示。

图4 CSPdarknet53网络的残差网络结构

图5 改进的残差网络结构

新设计的模型复用NRes-block,以此构建主干网络,网络输出采用FPN结构,整个网络模型如图6所示。

图6所示的改进结构输入为尺寸416×416的三通道图像,复用卷积块和NRes-block网络结构后,从 52×52,26×26,13×13 三个尺度进行输出预测,13×13尺度下的特征图经5次卷积块后上采样与52×52尺度下特征图进行堆叠,堆叠后的特征图经上采样与52×52尺度下的特征图进行堆叠。最终13×13尺度下的特征图负责预测大目标,26×26尺度下的特征图负责预测中等目标,52×52尺度下的特征图负责预测小目标。

2.2 数据预处理

在YOLO系列算法中,训练与检测的输入图像需要经过变换固定到416×416的大小,但是任意进行图像变换会造成目标的变形,对训练与检测有着一定影响。本文预先获取图像的宽高w、h,使用max(w,h)确定变换后的一边,之后再对图像另一边进行变换,具体公式如下:

其中Rel、Res表示图像变换之后的边长,最后再对图像进行填充,使得满足训练与检测的尺度(416×416)。

图7所示原图像尺寸大小为1 020×680,从图中可见预处理后的图像(右下)与直接使用OpenCV的resize方法处理后的图像(左下)对比效果。

图6 改进后网络结构

图7 有无经预处理的图像对比

3 实验分析

3.1 模型训练

自制训练集包括1 200张含有车辆目标的图像,训练集与验证集划分比例为 9:1,图像目标标绘工具为labelImg。

本文使用的硬件平台:CPU采用Intel E5-2678v3,GPU采用 NVIDAI GTX1080Ti,操作系统为 Ubuntu16.04,训练框架采用 Pytorch1.2。

Batchsize设定为 16,初始学习率设定为 1e-3,经 1 000次迭代后,学习率设定为 1e-4,继续训练 400次结束训练。 训练 Loss为 13×13、26×26、52×52三个尺度下坐标、边框、置信度及类别损失值的总和,每经过50次epoch训练后记录Loss值,通过对比YOLOV3模型,结果如图8所示。

对比发现,改进残差网络结构的模型训练Loss下降较YOLOV3模型快,经600代训练后,Loss逐渐稳定,且比 YOLOV3低。

3.2 模型测试结果

在目标检测模型的评估中,精准率P(precision)、召回率 R(recall)通常是衡量模型的重要指标,具体计算公式如下:

其中TP(True Positives)表示样本被检测为正样本并且检测正确,FP表示样本被检测为正样本但是检测错误,FN表示样本被检测为负样本但是检测检测错误。

图8 训练过程中Loss下降对比

精准率与召回率一般具有:精准率高、召回率低;召回率高、精准率低的特点。本文使用结合了精准率随召回率变化生成的PR函数与坐标轴围成的面积——平均精度mAP(mean Average Precision)来衡量模型性能。本文检测单一目标,mAP即为AP,计算公式如下:

将本文改进的模型与YOLOV3模型在自定义数据集上进行实验对比,本文设计的网络模型mAP为 90.63%,YOLOV3的 mAP为 86.47%,较 YOLOV3提高4.6%。

对于部分图像的检测结果如图9所示。

图9 检测结果

4 结束语

本文基于YOLO系列模型,通过研究ResNet、darknet53、CSPdarknet53的网络结构,对模型结构中的残差模块进行了重新的设计,并对网络输入时的图像进行了预处理操作,最后在自行收集标绘的数据集上进行训练、测试。实验结果表明,本文设计的检测网络较YOLOV3的性能有着一定提升。本文设计的模型针对的是单一目标,检测目标所处背景环境非复杂场景,后续将进行复杂场景下的车辆目标识别。

猜你喜欢

候选框网络结构残差
重定位非极大值抑制算法
基于双向GRU与残差拟合的车辆跟驰建模
面向自然场景文本检测的改进NMS算法
基于Soft-NMS的候选框去冗余加速器设计*
基于残差学习的自适应无人机目标跟踪算法
基于递归残差网络的图像超分辨率重建
一种针对特定目标的提议算法
基于互信息的贝叶斯网络结构学习
知识网络结构维对于创新绩效的作用机制——远程创新搜寻的中介作用
沪港通下A+ H股票网络结构演化的实证分析