轻量级神经网络与遥感图像目标检测

2021-10-29 08:28聂子一张璞
电子制作 2021年18期
关键词:残差卷积图像

聂子一,张璞

(1.河北地质大学信息工程学院,河北石家庄,050031;2.河北政法职业学院,河北石家庄,050067)

0 引言

遥感图像是通过航拍得到的图像,随着我国航天技术的不断发展,遥感图像的分辨率越来越高,在国土资源管理、环境监测、气象、军事等不同领域具有越来越重要的价值。基于深度神经网络的目标检测算法参数较多,体积较大,计算速度慢,且由于遥感图像中物体具有排列密集、物体尺度变化大并且物体背景复杂的特点,使得遥感图像中的目标难以被准确的检测,如何根据遥感图像快速检测目标便成为一项艰难的挑战。

为解决上述问题,本文提出将轻量化网络模型与YOLOv3 算法相结合的G-YOLOv3 遥感图像目标检测算法,该算法使用嵌套残差块,在不改变本征特征图大小的情况下,通过线性操作提取本征特征图更深层次的特征,且在残差块中添加了注意力机制,加强了网络的特征提取能力。

当前基于CNN 网络模型的目标检测算法分为两类,基于候选区域的目标检测算法和基于回归的目标检测算法,基于候选区域的目标检测算法也被称为两阶段(two-stage)算法,两阶段检测算法即是将目标检测分为两个阶段处理,第一阶段为输入图像挑选出目标候选区域,第二阶段利用分类器对候选区域目标进行分类识别;R-CNN 是经典的两阶段目标检测模型,在R-CNN 之后相继提出基于CNN的Fast R-CNN、Fater R-CNN 等。基于回归的目标检测算法被称为单阶段(one-stage)检测算法,直接预测出物体所属类别以及目标所在位置,经过单次检测可直接得到最终的检测结果。典型的单阶段检测算法有YOLO 系列算法、SSD 等[1]。单阶段的检测速度要比两阶段的检测速度快,并且在检测精确率这一方面,单阶段检测算法也在逐渐提高,但是检测精确率变高会导致检测速度变慢,如何实现检测速度与检测精确率的平衡、将目标检测算法在移动终端或者嵌入式设备中应用是需要解决的一个问题。文献[1]使用CenterNet 模型做目标检测,将残差模块的标准卷积替换成深度可分离卷积[2],降低了网络的计算量,减少冗余。文献[3]基于原始的S 型网络,设计融入浅层特征融合模块,加强了对图像的特征提取。文献[4]基于VGG 网络,提出将FCN[5]模型与DBSCAN 密度聚类算法[6]相结合的DC-DNN 模型,提高了对遥感图像飞机的目标检测效果且具有较好的泛化能力。上述文献中所提出的方法均存在网络复杂、计算量大且特征图冗余的问题,为解决此问题,本文在保持网络检测精度的条件下,借鉴轻量级神经网络模型[7],提出一种检测速度快,复杂度低的遥感图像目标检测算法G-YOLOv3 算法。

YOLOv3[8]算法的主干网络Darknet-53 使用了大量的1×1 卷积和3×3 卷积,导致网络过于复杂,计算和检测速度也会变慢。G-YOLOv3 算法提出改变网络结构中的卷积方式,利用一系列低成本的线性运算,使用更少的参数生成更多的特征图。经过实验结果得知,G-YOLOv3 算法的参数量是原YOLOv3 算法参数量的三分之二,检测效果也比原算法的检测效果好。

1 G-YOLOv3 算法

■1.1 G-YOLOv3 算法结构

G-YOLOv3 算法框架如图1 所示,该算法使用嵌套残差块,在不改变本征特征图大小的情况下,通过线性操作提取本征特征图更深层次的特征,且在残差块中添加了注意力机制,加强了网络的特征提取能力。

图1 G-YOLOv3 算法模型框架

■1.2 嵌套残差模块

GM 操作将卷积过程分为两步,首先GM 采用正常的卷积计算,得到通道数较少的特征图,然后利用线性操作,对特征图进行线性操作得到更多的相似特征图,最后将不同的特征图连接(Concat)在一起,组合成为新的输出。嵌套残差块的详细信息如图2 所示。

图2 嵌套残差块详解

G-YOLOv3 算法中共涉及4 种不同的残差块,CGM-S模块与GM-S-Conv 模块残差块中添加了SE 注意力机制,抑制了图像中无关的特征信息,从而提升网络的特征表示性能;GM-Conv 模块和GM-S-Conv 模块将浅层特征信息与深层特征信息融合,减少因跨模块而丢失的图像特征。嵌套残差模块融合了多层次的图像信息,有效的减少了网络在训练过程中梯度消失的问题,在保持计算量较小的情况下,加强了网络对遥感图像中较小目标的特征提取能力。

2 实验及结果分析

■2.1 实验准备

本文使用NWPU VHR-10 数据集,是一个用于检测空间物体的10 级地理遥感数据集,目标种类有10 种,将800张图片按照4:1的比例划分为训练集和测试集。本实验使用的是台式计算机,配置为Intel(R) Core(TM) i7-9700K,32 GB 内存,64 位的Windows 10 系统;开发环境为Pytorch 1.6,python3.7。实验采用的评价指标为精确率(P)、召回率(R)、平均检测精度(mAP)和F1 分数。

■2.2 实验结果及分析

实验是在YOLOv3 算法上进行改进的,通过修改主干网络和使用k-means 算法对遥感图像进行聚类分析改变候选框,更加符合数据集目标分布的特点。表1 是YOLOv3 算法和G-YOLOv3 算法对数据集中不同类别的实验对比数据。

表1 各类别的P、R对比

由表1 可以看出,改进后的算法在一些尺度较小的类别中,例如飞机(airplane)、汽车(vehicle)、小船(ship)中的精确度和召回率都比原算法的精度有所提高,且检测效果也比较好。对于尺寸较大的类别,例如篮球场(basketball court)、地面轨道场(ground track filed)的精确度和召回率的提升都不是很明显。整体来看,改进后的算法检测小目标的效果要比原算法的检测效果要好,例如棒球场(baseball diamond)的召回率和桥(bridge)的精确度提高了,证明改进后的算法比原来的算法效果有明显的提升。

经过对原算法和改进后的G-YOLOv3 算法进行训练与测试,随机选取了部分遥感图像目标检测进行分析,实验结果如图3 所示。

图3 检测目标图片效果对比图

从检测的结果中可以看出,G-YOLOv3 算法要比YOLOv3 算法更能够精确的检测出小目标,如羽毛球场(样例1,2),在场景较为复杂的背景图像中,G-YOLOv3 算法识别目标分布较为密集图片,如海港(样例3,4)的效果要比YOLOv3 算法的识别效果要好。使用原YOLOv3 算法和改进后的算法G-YOLOv3 算法做对比试验,实现结果如表2所示。

由图3 和表2 可以看出,改进后的G-YOLOv3 算法在mAP 提升检测2.7%的同时,图片检测的平均时间减少了近二分之一,且G-YOLOv3 算法的参数量也比原来的参数量少了三分之一。改进后的算法检测精度和检测效果都超过了原来的算法,证明改进后的网络在遥感图像上的检测效果具有较好的准确性。

表2 实验结果对比

3 结束语

本文将轻量级神经网络的模型应用到YOLOv3 算法中检测遥感图像,并且针对数据集中目标大小的不同,提出了改进候选框的大小适应当前数据,加强了对密集型目标和小目标的检测能力,同时也减少了网络所需要的参数,提高了精确度和召回率,证明了改进的算法具有一定的合理性。接下来将继续研究如何改变现有的算法,继续将模型轻量化。

猜你喜欢
残差卷积图像
基于全卷积神经网络的猪背膘厚快速准确测定
多级计分测验中基于残差统计量的被试拟合研究*
基于残差-注意力和LSTM的心律失常心拍分类方法研究
基于图像处理与卷积神经网络的零件识别
用于处理不努力作答的标准化残差系列方法和混合多层模型法的比较*
融合上下文的残差门卷积实体抽取
摄像头连接器可提供360°视角图像
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
浅析p-V图像中的两个疑难问题