韩淑梅,王阳萍,2,于 坤,杨景玉,2,张占平,任鹏百,2
(1.兰州交通大学电子与信息工程学院,兰州 730070;2.兰州交通大学甘肃省人工智能与图形图像处理工程研究中心,兰州 730070;3.国华卫星数据科技有限公司,兰州 730050)
铁路沿线存在的违建地物目标不但影响铁路系统正常运营,而且可能导致铁路事故发生,如何快速、高效地检测这些地物目标已成为铁路运营的首要问题.近年来,计算机视觉、航拍遥感技术及边缘计算的快速发展为排查铁路周围的违建地物提供了一种新的解决方法.基于卷积神经网络(convolutional neural networks,CNN)的算法以其鲁棒性强、检测精度高,且能满足复杂背景下多尺度目标需求等特点,被广泛应用于遥感影像目标检测.文献[1]提出了一种面向多类目标检测的IOU(intersection over union)-自适应可变形R-CNN框架,一定程度上减少了训练过程中小目标信息丢失的问题.文献[2]提出一种改进的Faster R-CNN算法用于识别建筑物,采用 DRNet(deformable R-CNN network)和 RoI(region interest)对齐的方式解决区域不匹配问题.但上述两阶段的目标检测方法在实现高精度的同时,计算成本过高,无法达到实际应用需求,带来了速度方面的不足.
以 YOLO(you only look once)系列(YOLOv3[3],FE-YOLO[4],YOLOv4[5]等)为代表的一阶段目标检测算法,可以直接回归目标所属类别及其边界框的位置,使目标实时检测成为可能.文献[6]将Faster R-CNN,YOLOv3和SSD用于遥感影像农业温室地物检测研究中,并从检测精度和速度方面进行对比,得到YOLO算法在检测速度方面优于其他两者.2020年,Bochkovskiy等[5]基于 CSPNet(cross stage partial network)骨干网络、Mosaic数据增强、Mish激活、SPP(spatial pyramid pooling)和 GIOU(generalized intersection over union)损失提出YOLOv4,其结合了大量的目标检测中最新研究技巧,实现了精度和速度的最优平衡,能够得到更快更精确的检测结果.上述地物检测方法模型复杂度较高,且仅适用于计算能力较强的计算设备.近年来,受限于无人机平台的算力,对网络模型进行轻量化,实现无人机航拍设备实时目标检测已成为研究重点.文献[7]提出单阶段遥感影像检测框架DF-SSD(deep framework single shot multibox detector),使用 DepthFire模块改进骨干网络SqueezeNet,以减少计算量并提高处理效率.文献[8]为解决遥感图像机载实时检测,提出轻量级单级多尺度特征融合检测器MSF-SNET(multiscale feature fusion detector-shuff lenet),使用轻量级SNET作为主干网减少了参数量和计算复杂度.文献[9]为实现嵌入式设备对目标的实时检测,提出一种轻量级目标检测网络SSD7-FFAM(SSD7-feature fusion and attention mechanism),通过减少卷积层数节省存储空间和计算量,并使用特征融合和注意力机制方法提高检测精度.文献[10]针对无人机下存在大量的远程小目标,将空间注意模块SAM引入到MobileNetv3中,并将引入SAM后的MobileNetv3作为YOLOv3的骨干网络用于行人检测,验证了改进模型在无人机下的行人检测任务中的表现.然而,现有的轻量化模型虽然能部署到嵌入式设备实现目标检测,但随着模型参数的减少,其检测精度有所下降.
无人机航拍影像检测算法一般部署在无人机或地面站,无人机采集的图像传回地面站进行目标检测会增加信息传输所带来的延迟和能耗,容易导致目标信息丢失等问题.随着无人机数量的增多,对地面设备的性能要求也更高.针对上述问题,为实现地物检测模型在移动、嵌入式设备运行,本文采用轻量级MobileNetv3对YOLOv4骨干网进行改进,以减少模型参数量,同时引入CBAM(convolutional block attention module)注意力机制提高网络性能;最后,提出一种基于差分进化(differential evolution,DE)的最优锚配置算法平衡所有地物类别检测精度.
YOLOv4网络将输入图像调整为固定大小(416像素×416像素或608像素×608像素),并划分为S×S的网格单元作为网络的输入,基于回归获得边界框的位置及其所属类别,从而实现端到端的目标检测.它由输入网络、特征提取骨干网络、Neck部分和输出网络组成.主干网借鉴CSPNet[11]网络以及ResNet[12]残差网络中残差块的跳跃连接思想,将YOLOv3算法中特征提取网络 DarkNet53优化为CSPDarkNet-53,由52个卷积层和1个全连接层组成,激活函数为Mish[13].该网络加入了数据增强模块,以扩大训练数据集的数量.在Neck部分,借鉴了SPP特征金字塔的思想,对CSPDarkNet-53主干网络输出的不同尺度特征图进行多尺度融合处理.由于小尺度特征映射提供较深层的语义信息,而大尺度特征映射提供更细粒度的特征信息,采用多尺度融合的方式将表达出不同尺度目标的特征信息.与YOLOv3算法相比,YOLOv4算法在目前的公开数据集上mAP(mean average precision)和 FPS(frames per second)都有所提高.
尽管YOLOv4在检测速度、模型大小、训练时间和硬件要求方面优于其他算法,但将其用于铁路沿线地物检测中仍然存在模型结构复杂、参数量大、占用资源多等不足,难以满足移动或嵌入式目标检测任务中的实时性需求.因此,本文对其进行轻量化,用于铁路沿线地物检测.
考虑到无人机端使用嵌入式设备,其存储和计算资源受限,而传统的神经网络大多模型复杂,很难应用于移动设备,基于此,本文提出一种轻量化网络模型,并将其定义为YOLOv4-UAV,其使用Mobile-Netv3作为YOLOv4的特征提取网络,同时在网络输出端引入CBAM注意力机制,提高网络检测精度.YOLOv4-UAV模型结构如图1所示.
图1中,Input为输入部分,Backbone为骨干网,Neck介于骨干网和预测结果之间,是为了更好地利用骨干网提取特征的网络颈部部分,Prediction为预测结果;CBH表示对输入特征图进行二维卷积运算,由Conv,BN和Hard-swish激活函数组成,Conv为卷积,BN为批量归一化;CBL由 Conv,BN和Leaky-ReLU激活函数组成;Bneck表示MobileNetv3中的 BottleNeck,是构成 Bneck的基本单元[14],Bneck x由 CBH,DeCBH,SE,Conv,BN组成,DeCBH表示深度可分离卷积,SE为通道注意力机制SENet模块;SPP为特征金字塔,由3个 Maxpool连接而成,Maxpool表示最大池化;CBAM表示通道空间卷积块注意力机制模块,NMS(non-maximum suppress)表示非极大值抑制算法,Detection results表示检测结果,Concat表示连接操作.
图1 轻量级YOLOv4-UAV模型结构Fig.1 Lightweight YOLOv4-UAV model structure
该网络主要由四部分组成:首先将输入图像调整到固定大小,然后经过以MobileNetv3为骨干网络的YOLOv4进行特征提取,再经过Neck部分从输入图像的不同层提取显著特征.该网络设计了一个由特征金字塔和三尺度预测层组成的预测管道,将多个分支的特征转化为预测结果.特征金字塔能够有效地融合从低分辨率显著特征图中获得的有意义语义信息和从早期分支中提取的细粒度信息,利用三尺度预测网络预测边界框的编码参数和类.最后,通过非极大值抑制算法对预测框进行滤波,得到最终的预测结果.
本文使用MobileNetv3作为YOLOv4骨干网络进行特征提取.MobileNetv3主要采用深度可分离卷积,与普通卷积不同,深度可分离卷积主要由深度卷积和逐点卷积组成.普通卷积和深度可分离卷积的计算过程如图2~3所示.
图2 普通卷积Fig.2 Ordinary convolution
图2 中,DF表示输入图像大小,D表示图像矩阵,F表示图像大小为F×F,M表示输入特征图通道数,DK表示卷积核大小,N表示输出通道数.从图2可以看出:普通卷积的卷积核通道数等于输入特征矩阵通道数,输出特征矩阵等于卷积核个数,其计算量ACP如式(1)所示.
从图3(a)可知,深度卷积的卷积核通道数为1,其输入特征矩阵通道数等于卷积核个数及输出特征矩阵通道数.图3(b)中的逐点卷积为特殊的普通卷积,只不过其卷积核大小为1×1.深度可分离卷积的计算量ACD如式(2)所示.
图3 深度可分离卷积Fig.3 Depth-separable convolution
普通卷积与深度可分离卷积的计算量之比如式(3)所示.通常卷积核为3×3,因此,理论上普通卷积计算量约为深度可分离卷积计算量的8~9倍.
普通卷积层由N个尺寸为M DKDK的三维卷积核组成,因此,其参数总量PQp为
而对于深度可分离卷积,其总参数量PQD为
从参数量来看,普通卷积与深度可分离卷积的参数量之比为
所以,在输入输出通道数相同的情况下,使用深度可分离卷积替换全卷积的压缩比为D2K,N的取值往往远大于D2K(D2K=9).从实验分析可得,将 Mobile-Netv3作为YOLOv4骨干网用于特征提取,其模型大小降低约80%.无论是理论分析,还是实验验证,MobileNetv3能够使YOLOv4模型大大减少,因此,其可以用于YOLOv4模型实现快速地物目标检测.MobileNetv3详细结构见表 1,其中:(416,416,3)表示 3通道的输入特征图大小为416像素×416像素;(208,208,3)表示3通道的输出特征图大小为208像素×208像素;(3,3,2)表示2个3像素 ×3像素的卷积核;SE-ratio表示是否使用SE通道注意力机制.
表1 M obileNetv3网络结构Tab.1 MobileNetv3 network parameters
考虑到减少模型参数会影响检测精度,为提高网络性能,在YOLOv4网络的每一层卷积层之后引入CBAM注意力机制,利用通道和空间注意力提取更深层信息,进行自适应细化特征以提高网络性能[15].CBAM由通道注意模块和空间注意模块两部分组成,其结构如图4所示,其中:×表示逐元素相乘.
两个独立模块的原理实现如下:
1)通道注意模块为汇集空间信息.首先,对H×W×C(H和W分别表示输入特征图的高和宽,C表示输入通道数)的输入特征图进行全局平均池化和最大池化;然后,通过两层1×1卷积和sigmoid函数得到每个通道的权重,如图5所示,其中:MLP表示带有一个隐藏层的多层感知器;Mc(F)表示特征图F在通道上的注意.
图5 通道注意模块Fig.5 Channel attention m odule
2)空间注意模块:首先,使用最大池化和平均池化操作聚合通道信息,并将结果连接;然后,通过一个7×7卷积和一个sigmoid函数获得每个点对应的权重,并对图像矩阵边缘进行Padding=3的填充操作,如图6所示,其中:Ms(F)表示特征图F在空间上的注意.
图 4 CBAM 模块Fig.4 CBAM module
图6 空间注意模块Fig.6 Spatial attention module
锚框配置作为网络模型训练的超参数,在很大程度上影响模型的性能.优化的锚框配置可以在不增加额外消耗的情况下提高网络精度,然而,面对遥感影像中地物目标尺度变化较大的情况,YOLOv4中使用的anchor配置方案,即K-means聚类,会导致anchor分配设置有偏差.准确率的提高往往集中在目标数量较多的类别上.之前的研究广泛使用的关键评估指标是mAP分数,它体现为所有类别的AP平均分.过度提高某个类别的AP分数可以在一定程度上提高模型的整体准确率,但是,由于对AP分数非常低的其他类别的检测能力有限,因此,无法进一步改进,这意味着训练后的模型存在偏差.一般来说,更合理的方法是同时考虑所有类别目标数量和大小的分布,并制定一种方案,既能提高神经网络的整体性能,又能平衡所有目标类别的精度[16].
为了更好地捕捉目标尺度和数量之间的关系,提出一种基于差分进化的改进锚配置算法,同时考虑所有类别目标数量和大小的分布,并制定一种方案,以提高神经网络的整体性能并平衡所有目标类别精度.该方法将锚点的高度和宽度作为变量,并将地面真值标签框到锚框的最近距离的总和作为适应度函数;此外,在距离计算中加入一个权重值,以避免神经网络可能的偏置训练;最后,利用差分进化算法求出适应度函数的最小值,达到距离最小的目的.地面真实框truth与锚框anchor距离关系如图7所示.
图7 地面真实框与锚框的距离关系图Fig.7 Distance relationship between ground truth and anchor box
更具体地说,对于给定的数据集,从一个地面真实框到一个锚框的距离可以表述为
其中:IOU(truth,anchor)表示地面真实框与锚框的交并比.交并比的计算公式为
其中:Soverlap为地面真实框与锚框的重叠区域;Sunion为地面真实框与锚框的并集区域.xij与锚框之间的距离可表示为
即选择距离最小的锚框作为最佳匹配,其中:xij表示第i类的第j个地面真实框;θk表示第k个锚框.因此,所有样本(X)与锚框(θ)间的距离可表示为
其中:m1,m2,…,mn表示第 n个类别中地面真实框的样本数.
式(10)中,将适应度函数中不同类别的权重设为与地物目标数量成反比,这有助于消除大量目标物体对更多锚的吸引效应.
在最优锚配置算法中,首先,使用K-means聚类算法对锚框聚类;然后,使用 DE[17]来解决式(10)的优化问题.式(10)中,xij和 θk的真值范围均被缩放到[0,1].DE通过不断的迭代来寻找最小函数的最佳锚点.最优锚配置算法流程图如图8所示,其中:Cr为交叉率;FS为比例因子;Np为种群大小.
图8 基于改进差分进化的最优锚配置算法流程图Fig.8 Flow chart of optimal anchor placement algorithm based on improved differential evolution
在初始化阶段,所提算法对由决策变量Pti组成的种群P执行初始化操作,其中:Pti表示第t次迭代中的第i个个体.初始化的种群根据种群Np分布在一个确定的区域,每个个体代表一个候选解.通常,初始种群应该覆盖整个搜索空间,随着种群大小Np的增加,得到全局最优解的概率也增加.本文中,每个个体被定义为一个特定的锚配置.
在接下来的迭代中,重复执行K-means聚类、微分突变、交叉和选择的步骤.微分变异的目标是创造具有一定概率成为最优解的新个体群体,突变体引起的亲代和子代之间的差异由比例因子FS定量控制;然后,将个体中的元素θj(j=1,2,…,k)通过交叉操作随机交换为当前迭代及其微分突变组,该过程促进种群多样性,交叉概率由Cr控制;最后,比较新生成的个体和当前个体,选择更好的个体传递到下一次迭代,继续迭代,直到找到最佳的个体和目标函数值.通过上述算法,可以得到适应度函数的最小值,对应于最佳锚框值.
本文使用某段铁路沿线地物目标图像1 676张,并用数据增强方法实现数据扩充.数据包括铁路(Rail)、房屋(House)、楼宇建筑(Building)、农田(Farmland)和水池(Pool)五类,并将这五类地物目标作为检测对象,其中:铁路764张,房屋130张,楼宇建筑220张,农田562张,水池372张.数据集详细信息见表2.
表2 数据集信息Tab.2 Data set information
通过旋转、镜像、改变亮度、高斯滤波、平移和缩放对数据集进行扩充,将数据集扩充为原来的3倍,扩充后的数据集共包含地物目标图像5 028张.使用70%的数据集作为训练集,10%作为验证集,20%作为测试集.
本文算法运行环境:操作系统为Windows10,平台为 Keras,语言为 Python,CPU为 Intel(R)Xeon(R)2.40 GHz,显卡为 16 GB的 NVIDIA Quadro P5000,运行内存为128 GB.
为了分别验证轻量级MobileNetv3、CBAM注意力机制和DE算法对地物目标的检测有效性,本文设计了消融实验,部分实验结果如图9所示.其中:图9(a)为遥感影像原图;图9(b)为原 YOLOv4算法检测结果;图9(c)为使用轻量级MobileNetv3作为YOLOv4骨干网的检测结果;图9(d)为在图9(c)基础上引入CBAM注意力机制的检测结果;图9(e)为在图9(c)和图9(d)基础上使用 DE算法的检测结果.客观评价分析见表3.
图9 消融实验结果Fig.9 Results of ablation experim ent
表3中,精确度表示正确预测的百分比,衡量模型的准确性,召回率是衡量模型中捕获所有正例的准确性的指标,F1表示目标预测得分,是体现精确度和召回率的重要指标.
表3 消融实验结果对比分析Tab.3 Comparative analysis of the results ablation experiments
从实验结果可得:通过使用MobileNetv3进行特征提取,模型大小降低了81.83%,提高了检测速度,但检测准确率降低了2.72%,尤其对楼宇建筑存在漏检现象;通过在输出网络之前引入CBAM注意力机制,模型大小基本没有变化,但检测准确率有所提高,对楼宇建筑检测效果明显;通过使用基于差分进化的最优锚配置算法,模型大小没有增加,即没有增加额外的消耗量,但对每一种地物类别检测准确性都有所提高,且对每一类地物目标检测精度有所平衡.实验结果表明,这些改进效果可行.
为了验证本文优化后的轻量化模型在地物检测中的有效性,实验中将本文方法与 YOLOv3,YOLOv4-tiny,YOLOv4,YOLOv5算法在性能方面进行了比较,更直观的预测结果如图10所示.其中:图10(a)为遥感影像原图;图10(b)为 YOLOv3算法检测结果;图10(c)为YOLOv4-tiny算法检测结果;图10(d)为 YOLOv4算法检测结果;图 10(e)为YOLOv5算法检测结果;图10(f)为本文方法检测结果.表4显示了数据集上不同方法的性能.
表4 不同目标检测算法实验结果对比分析Tab.4 Comparative analysis of experimental results of different target detection algorithm s
图10 多种目标检测方法实验结果Fig.10 Experiment resu lts of mu ltip le target inspection methods
表4中,AP表示各个类别的平均精确度.表4表明:本文轻量化模型YOLOv4-UAV在各方面都优于YOLOv3和YOLOv4算法,模型大小仅为45.90 MB,相比于YOLOv3,YOLOv4,YOLOv5分别减少了81.42%,81.67%,19.61%,mAP比原YOLOv4提高了3.22%,因此,本文模型有效提高了铁路沿线地物目标检测效果.虽然本文算法模型大小比YOLOv4-tiny略大,但其精度比YOLOv4-tiny提高了5.91%.从实验结果可知:YOLOv5算法对小地物目标和某一类别目标检测效果较好,尤其对房屋和农田检测效果更好,但其对长条状的铁路目标和密集分布的水池目标检测效果较差;本文模型对长条状铁路目标检测效果明显,并且能够平衡所有地物目标类别检测精度.考虑模型参数和精度两方面的因素,本文算法效果较好,因此,可以将其用于移动或嵌入式设备运行.
本文提出了一种轻量型的YOLOv4-UAV遥感影像地物目标检测模型,在满足模型轻量化的同时,有效提高了地物目标的检测准确性.为了降低模型复杂度,提高检测速度,首先,采用轻量级Mobile-Netv3作为YOLOv4骨干网络进行特征提取;接着,结合时空注意机制CBAM提取地物的重要特征,该模型可以提高地物目标检测精度,且未增加显著的计算开销;在此基础上,提出了一种最优锚配置方案,以解决遥感影像中目标尺度变化较大而难以获得偏锚框的问题;最后,对数据集进行了评估,与先进的目标检测模型比较表明,提出的轻量级模型在处理速度和检测精度等方面具有显著优势,能够运行于移动、嵌入式设备.