0引言
深度学习方法是当下十分热门的研究领域,与传统学习算法[1—2]相比不需要人工设计特征提取,其通过神经网络对大量数据的学习,得到一个能够准确描述数据深层次特征的模型,是一步到位的学习方法,识别效果取决于训练集数据量和学习网络结构的设计。深度网络一般参数量大,所需内存较大,训练数据量大且计算过程复杂,一般要借助GPU加速运算[3]。
YOLO (You Only Look Once) v3是Redmon[4]等人在YOLO v2的基础上融入ResNet网络而来[5],主要特点有以下几个方面:
1)Darknet—53结构。随着网络加深,网络的优化更加艰难,理论上,越深的网络,效果应该越好,但实际上,过深的网络会产生退化问题,效果反而不如相对较浅的网络[6],因此Darknet—53借鉴深度残差网络设计策略,使用Skip Shotcut连接方式构建残差单元,解决深层网络梯度消失和爆炸问题,保证深层网络下仍能收敛,特征表达更丰富[7]。
2)多尺度特征融合。YOLO v2中通过转移层将高分辨率特征抽取后拼接在低分辨率特征后,这种做法不改变最终输出特征的尺度,而改变特征深度,一定程度上破坏了高分辨率特征的结构信息。
YOLO v3使用了upsample(上采样)操作[8],并将大特征图和小特征图upsample后的特征图进行concat,最终输出三个尺度的特征金字塔,这样的特征图既包含丰富的高层抽象特征,又包含精确的位置信息特征[9]。在三个不同的尺度特征下做目标检测,能够适应多种不同大小的目标检测任务。
3)逻辑回归。YOLO v3中也采用先验框策略,在每个尺度上设置3个先验框,3个尺度共设置9个先验框,采用k—means算法对数据集Ground Truth聚类生成先验框尺寸。YOLO v3用逻辑回归(logistic regression)为每一个候选框预测一个目标评分(objectness score),如果某个先验框与Ground Truth的重叠区域为9个先验框的最大值,则相对应目标评分置1,即将该先验框与GroundTruth相匹配,后续计算误差时,仅考虑最佳先验框与Ground Truth的误差,其他先验框不会对坐标或类预测造成任何损失。
4)类别预测。针对同一目标给予多种类型标注时,不再采用softMax分类器,而选择独立logistic分类器,在训练过程中,使用二元交叉熵损失进行类预测。
1 改进YOLO v3结构
YOLO v3中特征提取部分引入残差网络的思想,而目标检测层仍然采用常规卷积形式,为避免梯度消失,增强特征的复用,受残差网络的启发,将6个 DBL单元分解为2个残差单元和2个DBL单元,如图1所示。
特征图的分辨率会影响 目标检测性能指标,低分辨率特征图用来表达深层次信息,但其对小 目标的语义信息丢失严重,一般用作大目标检测,在摄像机视频画面中,飞机占据少部分像素位置,呈现为较小目标。YOLO v3对8倍、16倍、32倍下采样特征进行目标检测,此时对小目标的检测能力较弱,本文舍弃32倍特征的目标检测,而增加对4倍下采样特征的检测,为保留深层特征信息,仍将32倍特征进行上采样后与16倍特征结合,以此增强对小目标检测的能力。改进后的结构如图2所示。
2 改进YOLO v3网络训练
本文研究对象为飞机目标,所搜集数据集总计4 000张图片,其中训练集3 200张,验证集800张,通过打标工具LabelImg进行标注,标注完成自动生成.xml文件。由于数据集数量有限,若对网络中所有参数进行训练,则会产生过拟合现象,模型的泛化能力变差,YOLO v3作者已在ImageNet数据集上对 Darknet—53结构进行了预训练,得到了前74层权重,由于网络的改进位置在检测部分,所以在特征提取部分迁移预训练权重,仅对深层的检测、回归网络进行训练。训练分两步进行,总共进行200 epoch(所有图像训练一轮),第一步训练100 epoch,设置学习率为0.001,第二次训练设置学习率0.0001,若连续三轮次损失值没有减小,则学习率降为十分之一,若达到200 epoCh或连续10 epoch损失值没有减小,则终止训练。
图3给出了训练过程中损失值与epoch的关系,其中▲线为YOLO v3,×线代表改进的YOLO v3,改进结构在前40个epoch loss迅速下降至1以下,约60 epoch下降至0.5以下,并逐渐趋于稳定,改进后的结构loss值整体要低于未改进结构。图4给出了AvgIOU与epoch的关系,改进结构在第50 epoch左右达到0.7,并逐渐稳定在0.85,与未改进结构相比,在第37 epoch 相交后,改进结构的AVgIOU始终高于未改进结构。在训练过程中,训练100 epoch后,每隔10epoch保存一次模型,首先选出mAP(mean Average Precision)最高的模型作为实验模型,通过验证集筛选,YOLO v3在第180epoch处模型、改进YOLO v3在190epoch处模型mAP最高。
3 实验结果及分析
在高性能计算机上训练得到网络模型后,在常规配置计算机(CPU为8核3.5GHz,内存8GB,GPU GTX1050的台式计算机)上进行效果验证。本文对改进YOLO v3、YOLO v3、Faster R—CNN模型进行对比,其中改进YOLO v3和未改进YOLO v3模型由自主训练而得,Faster R—CNN则选用官方模型作为实验模型,实验视频为航展飞行视频。
图5(a)列为FasterR—CNN实验效果,虽然对小目标具有较好的识别能力,但单帧处理耗时约1.3s,显然不能满足实时处理的要求。图5(b)为未改进 YOLOV3实验效果,单帧处理耗时约300 ms,但存在两个问题:其一,识别置信度相比FasterR—CNN模型较低;其二,对小 目标检测能力较差,例如第555帧中, 目标完全不能识别。图5(c)为改进YOLO v3实验效果,单帧处理耗时340 ms左右,相比未改进模型,检测网络的改进中多加入了一次上采样处理,对大尺度特征图进行检测,这是耗时增加的主要原因,也正因为此改进,对小目标的识别能力得到提升。
三种算法对比数据如表1所示,其中准确率为置信阈值设置为0.5的条件下正确识别目标与实际目标的比值。
就准确率而言,改进后的YOLO v3相比未改进YOLO v3提升了约14个百分点,而Faster R—CNN准确率最低,其主要原因是采用的官方模型未进行个人数据集专项训练。本文在考虑准确率的同时处理速度也是重要指标,在研究之初,官方模型运行速度耗时较长,距离实时处理要求较远,因此,未对Faster R—CNN网络进行专项训练。就处理速度而言,改进 YOLO v3虽然单帧耗时有所增加,但仍然在同一量级。
4 结束语
本文在YOLO v3的基础上,为避免梯度消失,增强特征的复用,受残差网络的启发,在特征检测层引入残差网络。针对小目标难以检测的问题,增加对4倍下采样特征的检测,并将32倍特征进行上采样与16倍特征结合,增强对小目标检测的能力。通过与 FasterR-CNN、未改进YOLO v3对比,实验显示,检测准确率提升了14个百分点,能够较好地实现小 目标的检测。
[参考文献]
[1] NASSIH B,AMINEA,NGADIM,et al.DcT and HOGFeature Sets combined with BPNN For EFFicient Face classiFication [J].Procedia computer Science,2019,148:116-125.
[2]OJALAT,PIETIKAINENM,MAENPAAT.Multiresolution gray-scale and rotation inVariant texture classiFication with local binary patterns [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2002,24(7):971-987.
[3]刘晓楠,王正平,贺云涛,等.基于深度学习的小目标检测研究综述[J].战术导弹技术,2019(1):100-107.
[4] REDMON J,FARHADI A.YOLOV3:an incremental improVement[EB/OL].(2020-02-11)[2024-07-28].https://pjreddie.com/media/Files/papers/YOLOV3.pdF.
[5] 欧阳继红,王梓明,刘思光.改进多尺度特征的YOLO-V4目标检测方法[J].吉林大学学报(理学版),2022,60 (6):1349-1355.
[6]耿创,宋品德,曹立佳.YOLO算法在目标检测中的研究进展[J].兵器装备工程学报,2022,43(9):162-173.
[7]邵延华,张铎,楚红雨,等.基于深度学习的YOLO目标检测综述[J].电子与信息学报,2022,44(10):3697-3708.
[8] 张丽莹,庞春江,王新颖,等.基于改进YOLOV3的多尺度目标检测算法[J].计算机应用,2022,42(8):2423-2431.
[9]蔡伟,徐佩伟,杨志勇,等.复杂背景下红外图像弱小目标检测[J].应用光学,2021,42(4):643-650.
2024年第23期第18篇