改进YOLOv5的遥感图像目标检测

2022-10-12 06:11李惠惠范军芳陈启丽
弹箭与制导学报 2022年4期
关键词:卷积聚类尺寸

李惠惠,范军芳,陈启丽

(1 北京信息科技大学高动态导航技术北京市重点实验室,北京 100192;2 北京信息科技大学自动化学院,北京 100192)

0 引言

遥感图像包括车辆、飞机等敏感目标,因此基于遥感图像的目标检测在城市管理,国防安全等领域具有重要意义。通过遥感图像进行目标检测的首要目的,在于找出其中的特定目标并准确识别出目标的具体类别。但是遥感图像普遍存在目标密集、目标遮挡、背景复杂等难题,降低了目标检测与识别的准确率。由于小目标覆盖面积小、像素面积占比少、特征表达不充分、拍摄距离较远、图像覆盖范围较大等特点,俯瞰角度拍摄导致的目标形态畸变,使得基于遥感图像的小目标检测具有更大挑战。因此提高遥感图像的小目标检测精度是一个具有较高研究价值的方向。

传统的遥感图像目标检测方法一般采用滑动窗口进行区域选择,再利用尺度不变特征变换等方法对目标进行特征提取,最后选用机器学习方法进行分类,存在识别准确率低、检测速度慢、泛化能力较差,在复杂背景下检测效果不佳。目前,卷积神经网络已成为目标检测与识别的主要方向。基于深度学习的目标检测算法主要包含两类:一类是双阶段的目标检测算法,如Faster R-CNN、Mask R-CNN等;另一类是单阶段的目标检测算法,如SSD、YOLO系列等。YOLOv3是2018年 Redmon等提出的,使用图片的全局区域进行训练,能够将目标和背景更好的区分。张裕等以YOLOv3为基础,提出了多尺度特征稠密连接的遥感图像目标检测模型YOLO-RS,保留了图像更多的目标信息,提高了不同尺度的特征层之间的信息交互。在2020年4月,Bochkovskiy等在YOLOv3的基础上提出了YOLOv4,新增CSP和PAN结构,并且采用了一些实用的技巧实现了检测速度和精度的权衡。余培东等在YOLOv4的基础上嵌入SE模块,根据待检测目标尺度特点调整锚点框,平均准确率得到了显著提升。2020年6月,Ultralytics公司开源了新的目标检测网络框架YOLOv5,总体架构和YOLOv4类似,在细节上进行了改进,在检测速度和精度上都更胜一筹。但目前主流的深度学习算法随着卷积网络的加深,感受野缓慢增长,容易被大目标主导,而小目标在检测器提取的特征较少,在整个学习过程中容易被忽略,从而不能发挥其最优效果。因此提出一种基于YOLOv5的改进算法,并通过实验验证了该算法的优越性。

1 YOLOv5算法

YOLOv5算法由输入端、主干网络、Neck网络和输出端4个部分组成。其网络结构图如图1所示。

图1 YOLOv5结构图

1.1 输入端

YOLOv5的输入端采用和YOLOv4一样的Mosaic数据增强。其主要原理是:选定1张图片和随机3张图片进行随机裁剪,再拼接成一张图片作为训练集图片送入神经网络。这样不仅可以丰富数据集的背景,提高系统的鲁棒性,而且减少了GPU内存的损耗,加快了网络的训练速度。

1.2 主干网络

YOLOv5的主干网络是CSPDarknet53,主干网络包括Focus结构、CSP1_X结构、SPP模块等。其中Focus结构主要用来进行切片操作,在不损失任何信息的情况下通过增加特征图的维度来缩小特征图的尺寸,目的是为了使特征图在每一个特征信息没有变化的前提下增加图像的特征数。骨干网络采用CSP1_X结构,加入残差结构后在进行反向传播,加强了特征融合能力并有效防止了梯度消失。SPP模块采用4种尺寸最大池化操作,然后进行Concat合并组合,能够增大特征网络的感受野,有效分离特征信息,最终将输出恢复到同初始输入一致。

1.3 Neck网络

Neck网络采用FPN结合PAN的结构,加强了网络的特征融合能力,FPN结构利用上采样的方式提高对小目标的测试能力。PAN结构使底层的定位信息更好地传递到顶层。两个结构相融合,提高了对遮挡目标的测试效果。

1.4 输出端

YOLOv5以GIOU_Loss做为损失函数,数值越小,代表预测结果越好,改善了模型预测效果。网络采用加权非极大值抑制对多个目标框进行筛选,保留最优目标框,提高了目标识别的准确性。

2 改进的YOLOv5算法

文中提出的算法是在YOLOv5网络的基础上进行改进的,网络结构图如图2所示。下面分别从聚类优化锚框尺寸、优化特征提取器和引入卷积注意力机制3个方面进行详细介绍。

图2 改进的YOLOv5结构图

2.1 聚类优化锚框尺寸

在不增加训练成本的前提下,为了使原始数据集中的数据更好的满足训练需求,需要对原始数据进行预处理。YOLOv5模型中的初始锚框是由COCO数据集设计生成的9个锚框,涵盖了大小不同的目标,并且目标大小的差距很大。为了更精确识别小目标,需要对数据集中目标边界框进行尺寸优化。实验训练的数据集大多数都是小目标,针对存在的问题,采用车辆和飞机的数据集做目标检测,部分锚框的设计并不是最合理,因此需要聚类优化锚框尺寸,尽可能增加先验框与实际目标框的匹配度,使其与训练的数据集更加匹配。在数据集进行聚类,以矩形框的平均交并比作为相似度对车辆和飞机的所有标注目标进行训练,使得数据集得到最合适的锚框,提高了YOLOv5算法测试性能。

2.2 优化特征提取模型

原始图像经过8倍、16倍、32倍下采样后送到特征融合网络在检测层得到13×13小尺寸、26×26中尺寸、52×52大尺寸的特征图,3种尺寸的特征图用来检测不同大小的目标,原始特征提取模型如图3所示。

图3 原始YOLOv5特征提取模型

在卷积神经网络中,深层卷积得到的特征图语义信息丰富,但是会丢失位置信息,且对目标的位置信息不够精确,因此在原始算法的基础上增加下采样,有利于小目标的检测。原始图像经过4倍、8倍、16倍、32倍下采样后送到特征融合网络得到13×13小尺寸、26×26中尺寸、52×52大尺寸以及新尺寸的特征图,4种尺寸的特征图用来检测不同大小的目标,改进后的模型如图4所示。本次改进得到的新尺寸特征图,有利于更好的学习目标特征,使得检测的目标位置更加准确,特征图感受野更小,提升目标检测效果。

图4 改进后的特征提取模型

2.3 引入卷积注意力机制

注意力机制能够聚焦图像的局部信息,针对不同部分的特征图赋予不同的权重,获取感兴趣的信息,抵制无用信息。为了使模型获取更优特征,本文引入轻量的卷积注意力模块(convolutional block attention module, CBAM),其网络结构如图5所示。在卷积神经网络任意给定一个中间特征图,CBAM会分别沿着通道和空间两个独立的维度推断注意力图,然后将注意力与输入特征映射相乘来进行特征的自适应细化。为了更加关注感兴趣区域,特别是受遮挡的目标,在主干网络引入卷积注意力机制,强化了目标特征,提高了目标的检测精度。

图5 CBAM网络结构图

3 实验

3.1 数据集与实验环境

使用Google Earth软件对车辆和飞机的图像进行截取,包括目标密集、目标遮挡、背景复杂的遥感图像。自制数据集共包含1 000张图片,其中包含500张车辆图片和500张飞机图片,训练集、测试集、验证集划分比例为8∶1∶1。对数据集进行YOLO格式的标注,使用VOC数据集进行训练测试。数据集的可视化结果如图6所示,分别为数据集类别、数据集物体中心点位置分布、数据集分布大小。

图6 数据集的可视化结果

实验在Win10 系统,i7-10750H CPU、NVIDIA GTX 2060 显卡下,使用Python 语言以Pytorch框架搭建运行环境,并使用CUDA 10.1以及对应的CUDNN 添加到环境中使用GPU提高计算效率。

3.2 评价指标

准确率是指预测为正的样本中是真正的正样本的比例,计算方式为:

(1)

式中:为指被分配正确的正样本;为被错误分配的正样本。

召回率为指样本中的正样本被预测正确的比例,计算方式为:

(2)

式中:为被分配正确的正样本;为被错误分类的负样本。

(3)

(4)

3.3 模型训练

实验的参数配置如表1所示。

表1 参数设置

图7 模型的mAP曲线

图8 模型的损失函数

3.4 实验结果分析

为了验证改进算法的有效性,对比了YOLOv3、YOLOv4、Faster-RCNN、YOLOv5以及改进的YOLOv5,得到的对比结果如表2所示。

表2 不同算法检测结果对比

为了进一步证明改进算法的优越性,将在不同场景下对比原始YOLOv5和改进YOLOv5的检测效果,对比结果如图9~图12所示。其中,图9(a)~图12(a)为原始算法的检测效果,图9(b)~图12(b)为改进后算法的检测效果。从图9~图12可以看出,图9中原始算法在检测遮挡目标时,存在漏检;图10中原始算法在目标与背景相似时,出现漏检;图11中原始算法出现了误检;图12中原始算法在边界区域且存在遮挡的飞机目标出现漏检。而改进后的算法弥补了这些不足,比原始算法具有更好的鲁棒性和抗干扰能力。

图9 车辆目标密集场景

图10 车辆背景相对复杂

图11 飞机远距离且存在负样本

图12 飞机遮挡且目标密集场景

3.5 消融实验

将以原始模型YOLOv5在预处理中加入下采样算法的YOLOv5+下采样,使用聚类算法的YOLOv5+聚类,使用CBAM模块的YOLOv5+ CBAM以及提出的算法进行对比实验,得到的结果如表3所示。

表3 YOLOv5和改进的YOLOv5检测结果对比

通过表3可知,在YOLOv5中使用聚类算法,对目标边界框进行优化,相对原始算法,mAP、Precision、Recall分别提升0.7%、3.8%、3.3%,验证了聚类算法提高目标检测的准确度;在YOLOv5中引入下采样,在检测层增加新尺度特征,相对原始算法,mAP、Precision、Recall分别提升1.0%、3.8%、3.0%,验证了下采样能更加关注小目标的信息,提高小目标检测精度;在YOLOv5中引入CBAM注意力机制,对无用信息进行抑制,更加关注目标信息,相对原始算法mAP、Precision、Recall分别提升1.1%、4.1%、3.3%,验证了引入卷积注意力机制可提高目标检测性能;在YOLOv5中同时引入CBAM注意力机制、聚类算法、下采样,相对原始算法,mAP、Precision、Recall分别提升2.2%、4.3%、4.4%,验证了提出的算法更有效。

4 结论

针对遥感图像小目标检测存在的目标密集、背景复杂、存在负样本等问题,提出了一种改进YOLOv5遥感图像小目标检测算法,该算法对锚框尺寸进行优化,使得到的每个锚框大小更准确,有效提升YOLOv5算法测试性能。通过增加卷积注意力机制,更加关注感兴趣区域,抑制无用信息,抑制复杂背景对目标识别的干扰。通过增加下采样,有利于更好的学习目标特征,使得检测的目标位置更加准确。本算法检测性能最好,对于存在遮挡场景的目标也可以准确的检测,相对其他算法具有优越性。接下来我们将对网络进行压缩,剪枝等处理,对模型进行轻量化,能够更好的移植到嵌入式平台。

猜你喜欢
卷积聚类尺寸
基于全卷积神经网络的猪背膘厚快速准确测定
基于图像处理与卷积神经网络的零件识别
基于数据降维与聚类的车联网数据分析应用
CIIE Shows Positive Energy of Chinese Economy
基于深度卷积网络与空洞卷积融合的人群计数
基于模糊聚类和支持向量回归的成绩预测
卷积神经网络概述
基于密度的自适应搜索增量聚类法
佳石选赏
佳石选赏