基于深度学习的遥感目标检测技术

2024-02-22 08:02章程军胡晓兵魏上云
计算机工程与设计 2024年2期
关键词:网络结构精度特征

章程军,胡晓兵,魏上云,郭 爽

(1.四川大学 机械工程学院,四川 成都 610065;2.四川大学 宜宾产业技术研究院,四川 宜宾 644000)

0 引 言

相比于传统自然场景图像目标,遥感目标具有尺度差异明显、成像视角特殊方向多样、目标小且分布密集、背景环境复杂等特点,这给快速精准完成遥感目标检测造成困难[1-3]。

传统目标检测算法主要分为感兴趣区域(region of interest,ROI)搜索、区域特征提取、分类器分类3个步骤[2],由于传统算法手工设计特征的局限性,限制算法检测精度以及迁移性。深度学习因其不需要人为设计特征,能够自主实现检测目标特征识别,具有更好的鲁棒性与迁移性。王金传等[4]基于Faster R-CNN算法,通过特征融合实现遥感图像中舰船等目标的识别,虽然在检测精度上取得一定效果,但检测效率不高。Lu等[5]基于SSD算法提出一种注意力特征融合结构,通过将遥感目标多层特征融合增强网络检测能力,但网络对于图像分辨率要求较高,例如桥梁等某些特定目标检测效果不佳,检测实时性存在不足。考虑到遥感目标复杂性,本文基于深度学习技术,对遥感目标快速准确检测展开研究。

1 YOLOv5网络结构

目前基于深度学习的目标检测算法主要有R-CNN[6,7]、YOLO[6,8-10]、SSD[6]系列。综合各网络特点,选用YOLO网络实现遥感目标检测。

YOLO目标检测算法在检测时,会将输入图片划分为若干个(SxS)网格,每个网格负责预测中心点在其内部的目标,这包括目标边界框位置、置信度、目标类别信息。作为YOLO系列中最新版本的检测算法,YOLOv5中每个网格预测3个边界框(bounding box)的坐标信息 (x,y,w,h)、 置信度和条件类别概率信息。目前YOLOv5包含4种不同宽度和深度的网络结构模型,见表1。

表1 YOLOv5不同宽度深度模型

YOLOv5网络相比于前4个版本,在目标检测的精度与速度上均得到提升,这与其网络结构的改进以及合适训练技巧的应用密不可分。其网络结构由4部分组成:①输入端(Input):对图像进行统一尺寸、计算最优锚框等预处理操作,同时进行数据增强以丰富数据集提高网络检测能力;②主干网络(Backbone):主干网络是实现目标特征提取的关键部分,其主要有Focus、CBL、CSP、SPP这4种模块组成。Focus模块是YOLOv5相较于YOLOv1-v4所独有的模块,其将输入主干网络的图片进行2倍下采样的切片操作,每个特征图被分成4份后在空间通道进行拼接,图片W、H信息转成空间信息并不会造成目标特征信息减少,相比于通过卷积实现下采样操作,网络能够提取更多目标特征信息。CSP模块借鉴跨阶段局部网络[11](cross stage partial network,CSPNet)网络思想对残差结构进行改进,从网络结构设计角度出发,解决网络模型在推理过程中梯度信息重复问题,在一定程度上减少网络计算量的同时增强了网络目标特征提取能力,SPP模块是通过空间金字塔池化实现多尺度特征融合;③颈部网络(Neck):用于生成特征金字塔实现对主干网络提取的目标特征进行增强,提高网络对多尺度目标的检测精度。YOLOv5颈部网络为FPN-PAN结构,FPN[12]对主干网络提取特征图进行上采样,将深层语义信息与浅层目标位置信息进行融合,在此基础上融合PAN[13]结构,对上采样得到的特征图进行下采样,这种自顶向下和自底向上方式全面提升网络对深层语义信息和浅层定位信息的学习性能;④输出层(Head):由3个检测头组成,分别对应20×20、40×40、80×80大小特征图,每个检测头会生成对应大小的特征向量,用于预测目标边界框位置,目标类别以及对应置信度信息。YOLOv5网络结构如图1所示。

图1 YOLOv5网络模型结构

2 YOLOv5模型改进

综合比较单阶段和双阶段网络,虽然单阶段网络在检测精度上低于双阶段网络,对于网络检测速度却有明显优势,YOLOv5在速度和精度方面得到较好的平衡,网络对于目标检测的效果较好。由于YOLOv5在提出来时主要以COCO数据集为研究对象,针对特定领域的目标检测虽然能够达到较高的检测精度满足实时性要求,但仍有一定提升空间。考虑到遥感目标尺度差异大,小目标占比多。本文对原有网络进行改进,提出一种基于密集连接的YOLOv5遥感目标检测网络。将网络主干部分用于提取特征信息的CSP模块替换为采用DenseNet[14]网络结构思想的CSP-D模块,在不同尺度上捕获目标特征信息,从而获取更有效的目标特征;采用BiFPN[15]结构对颈部网络进行改进,充分考虑浅层位置信息和深层语义信息,实现特征信息多尺度融合,避免网络过多注重深层次信息进行目标预测,提高网络对于遥感目标检测能力。改进YOLOv5模型如图2所示。

图2 改进YOLOv5网络模型结构

2.1 主干网络(Backbone)改进

目前基于深度学习的目标检测网络都是利用卷积神经网络(CNN)进行目标特征提取,本文针对YOLOv5提取目标特征的主干网络,对网络中CSP模块进行改进,借鉴DenseNet网络思想,以提高网络对目标特征提取能力。

为了提高网络检测精度,通过加深加宽网络结构被证明为一种有效的手段,但随着网络的加深,梯度消失成为限制网络精度的重要问题。残差网络[16](ResNet)的提出有效解决了梯度消失问题,常用于目标检测领域中作为主干网络进行目标特征的提取,但残差网络提取特征信息不具有细粒度特征,对于小样本数据集容易产生过拟合。密集连接网络(DenseNet)网络的提出为目标特征提取提供一种新思路,其不同于通过加深加宽网络结构以提高网络预测精度的思想,而是直接从特征图(feature)入手,更加充分利用特征图信息。相比于ResNet网络,DenseNet网络不仅减轻梯度消失问题;它加强了feature传递,更加有效地利用feature,特征提取能力更强,特征表达能力更多样化;Dense Block结构的设计使得DenseNet网络更窄,网络参数和计算量(FLOPs)更少;在一定程度上抑制过拟合问题,对于小样本数据集目标检测效果更好。ResNet与DenseNet网络差异主要是由于两者对特征聚合方式不同,ResNet网络聚合特征信息采用求和方式,这种方式虽然增加了来自上一层的输入,但随着网络结构的加深,浅层特征信息会逐渐稀释,网络预测结果更加注重深层信息;而DenseNet网络聚合特征信息采用密集连接(concat)方式,当前层会连接前面所有层作为输入,这种方式充分考虑浅层和深层特征信息,浅层特征信息不会随着网络的加深逐渐稀释,每层都具有不同大小感受野信息,可以捕获不同尺度目标特征,使得输出可以综合考虑浅层和深层特征信息对目标进行检测,更加有利于目标特征提取。Dense Block网络结构如图3所示。

图3 Dense Block结构

DenseNet所采用的这种密集连接方式随着网络的加深,聚合前面层特征越逐渐增多,会造成特征冗余,增加运行成本,一定程度上降低网络效率,使得目标预测速度变慢。为了能够保证网络特征提取能力的同时解决特征冗余造成的问题,我们对网络密集连接方式进行改进,每层不再连接前方所有层特征信息,而是直接在最后一层对所有层特征进行融合,这种方式在利用深层和浅层信息同时,降低运行成本,避免因密集连接导致目标检测速度降低。本文针对YOLOv5改进的CSP-D模块,将输入特征图分为两部分,一部分直接聚合到模块末层,另一部分则通过改进的Dense Block模块;将两部分特征信息在模块末层进行融合,加强特征图信息传递,充分利用不同层之间特征信息,实现网络不同梯度信息组合。CSP-D模块结构如图4所示。

图4 CSP-D模块结构

2.2 颈部网络(Neck)结构改进

作为主干网络(Backbone)与输出层(Head)之间的过渡层,颈部(Neck)网络会进行特征增强以提高网络检测精度。在深度学习领域早期的研究中,目标检测算法主要结构都是采用自底向上的前向过程,这种方法直接利用深层特征信息对目标进行预测,浅层信息没有直接参与网络检测结果预测,且随着网络加深,浅层信息逐渐稀释,导致预测结果只注重深层语义信息,对于浅层位置信息利用不充分,目标检测时定位误差较大。随着研究的进一步发展,特征增强模块FPN(特征金字塔)的提出有效解决了深层语义信息与浅层位置信息利用不平衡的问题,成为目前目标检测和实例分割等领域重要组成模块。相比于早期纯粹的利用前向过程进行目标预测,FPN(特征金字塔)网络在原有网络基础上添加了自顶向下结构即将深层特征进行上采样获得新的特征图,通过横向连接与原有网络特征信息进行融合。这种特征增强结构将深层语义信息连接到浅层特征中,实现融合后不同大小特征层与输出层相互对应,对多尺度目标检测以及小目标检测能力有所提升,同时提高目标检测时目标定位精度。由于FPN结构对深层的小尺度特征图进行上采样会导致一些目标详细信息的丢失,从而限制大中型目标的检测精度的提升。在YOLO系列中,YOLOv3已经融合FPN结构,YOLOv5为进一步改进网络性能,在此基础上借鉴PANet网络结构进行改进,在FPN基础上为了使浅层丰富的位置信息与深层丰富的语义信息进行充分融合,添加了下采样的金字塔结构,自底向上将底层信息传递到高层。这种方式加强了在相邻层之间信息的融合,对于非相邻层间的语义信息和位置信息并没有过多注重。无论是FPN结构还是PANet结构,在进行特征融合时都是平等对待不同尺度的特征信息,为了能够使特征信息高效进行多尺度融合,我们借鉴BIFPN(加权双向特征金字塔)结构,引入权重以对不同尺度的特征信息进行融合。颈部网络(Neck)结构如图5所示。

图5 颈部网络(Neck)结构

本文颈部网络(Neck)包含两条通路,一条为自顶向下进行上采样通路,将高层特征的语义信息传递到底层;另一条是自底向上进行下采样通路,将底层特征位置信息传递到顶层。颈部网络删除只有一条输入的节点,确保每个节点至少有两条输入边以保证特征融合,对于原始输入节点和输出节点,若两者处于同一层具有相同大小特征信息,则会额外添加一条连接,使输出结果充分考虑原始输入特征信息,在不增加过多运算成本的情况下融合更多特征信息。这种引入权重以平衡不同尺度信息的融合方式提高具有多尺度特征信息数据集的检测精度。

3 实验过程与分析

3.1 实验数据集

3.2 实验环境与评价指标

本实验采用操作系统为Linux系统,使用软件为python3.7+Torch1.6.0;实验硬件配置为处理器(CPU)为因特尔Core(TM)i9-990 0k 3.60 GHz、显卡(GPU)为NVIDIA GeForce RTX 2080Ti、内存11 G。实验训练模型时采用随机梯度下降法(SGD)法更新网络训练参数,以减少算法收敛时间。实验设置网络超参数见表2。

表2 网络训练超参数

为衡量改进前后网络性能优劣,实验结果从召回率(recall)、查准率(precision)、平均准确率均值(mean average precision,mAP)、各个类别的平均准确率(ave-rage precision,AP)、推理时间(s)以及浮点运算量(FLOPs)6个方面来对比网络性能。相关计算公式如下

(1)

(2)

(3)

(4)

召回率(recall)和查准率(precision)指所检测到正样本数量分别占标记真实样本数量和检测到的所有样本数量比率,为平均准确率(average precision,AP)与平均准确率均值(mean average precision,mAP)计算基础。在式(1)、式(2)中TP、FP、FN关系见表3。

表3 TP、FP、FN关系

3.3 模块改进对比分析

为验证各个模块改进是否提高网络检测精度,进行消融实验,见表4。

表4 改进网络消融实验

3.4 YOLOv5改进前后对比分析

为验证改进对网络性能影响,改进YOLOv5s与原网络训练结果对比分析见表5、表6。

表5 改进前后网络性能对比

表6 目标平均准确率(AP)对比

由表5可以看出,改进YOLOv5s相比于原网络查准率(precision)、召回率(recall)、平均准确率均值(mAP)均有所提高,其中查准率提高1.7%、召回率提高1.9%、mAP值提高2.1%。改进后模型推理时间为0.011 s,相比于原网络0.007 s虽有升高,仍能达到毫秒级别,满足实时性要求。

表6为网络模型改进前后数据集20个目标类平均准确率(AP)对比表,相比原YOLOv5s,改进网络对于每个目标类检测AP值均有所提升,其中Train station目标类AP值提升最高,达到6.60%;bridge目标类AP值也提升4.2%。

已有研究表明,通过增加网络深度和宽度可以提高网络对目标检测精度,但此方法同时增加网络复杂度,浮点运算量(FLOPs)作为衡量网络模型复杂度指标,表7为不同大小YOLOv5模型与改进后模型对比分析。

表7 模型复杂度对比

表7表明,YOLOv5m模型通过增加网络深度宽度,相比于YOLOv5s模型mAP值提升1.4%,但网络浮点运算量(FLOPs)大幅升高,为YOLOv5s网络浮点运算量3倍多。改进YOLOv5s网络相比于YOLOv5m网络mAP值高出0.7%,并且浮点运算量更少,网络复杂度低。

网络改进前后总损失值和平均准确率(mAP)对比曲线如图6所示,从图6(a)、图6(b)中看出,网络在训练批次迭代到60次时基本达到稳定。随着迭代次数的增加,网络趋于稳定后改进网络mAP值稳定高于YOLOv5s网络;总损失值不断降低,整体低于YOLOv5s网络。

图6 YOLOv5s改进前后总损失值和mAP值对比

图7为网络改进前后实际检测效果对比图,其中左侧为原始网络实际检测效果,右侧为改进后网络实际检测效果。与改进YOLOv5s网络相比,YOLOv5s网络针对不同密度目标虽能检测出大部分目标,但仍存在漏检、误检问题,且已检目标置信度要低于改进网络。如前4幅图中,针对harbor类目标,YOLOv5s网络存在漏检情况;后两幅图中,YOLOv5s网络将非ship类目标检测为ship类目标,出现误检情况。改进YOLOv5s网络模型缓解原网络漏检、误检问题,提高网络检测性能。

图7 实际检测效果对比

4 结束语

本文选用单阶段网络YOLOv5s作为遥感目标检测模型,在原网络基础上,对主干网络采用新设计CSP-D模块替代原网络中CSP模块,提高主干网络对目标信息提取能力;借鉴BiFPN结构改进颈部网络,使特征信息能够进行更高效的多尺度特征融合,提高网络对不同目标检测精度。在遥感目标数据集DIOR进行实验后表明,改进YOLOv5s相比于原网络平均准确率均值(mAP)有所提高,总损失低于原网络模型,提升各个类目标检测精度,缓解YOLOv5s网络漏检误检问题;虽然增加网络推理时间以及模型复杂度,仍能满足实时性要求,并且相比于通过加深加宽网络以提升检测精度方法,相对降低网络模型复杂度。改进YOLOv5s相比于原网络整体性能有所提升,但对于实际中包含各种复杂因素的遥感目标检测,还具有一定局限性,后续将进一步研究以提升深度学习领域对遥感目标检测性能。

猜你喜欢
网络结构精度特征
如何表达“特征”
不忠诚的四个特征
基于DSPIC33F微处理器的采集精度的提高
抓住特征巧观察
GPS/GLONASS/BDS组合PPP精度分析
基于互信息的贝叶斯网络结构学习
知识网络结构维对于创新绩效的作用机制——远程创新搜寻的中介作用
沪港通下A+ H股票网络结构演化的实证分析
复杂网络结构比对算法研究进展
改进的Goldschmidt双精度浮点除法器