程向红,曹 毅,胡彦钟,张文卓,钱荣辉
(1.东南大学 仪器科学与工程学院·南京·210096;2. 微惯性仪表与先进导航技术教育部重点实验室·南京·210096)
无人机的图像智能感知可以增强其场景理解及提取地物信息的能力,而目标检测技术是无人机对影像智能化感知的关键技术之一[1]。无人机航拍图像一般具有背景复杂、目标分布密集、尺度小、同一类目标角度差大等特点。传统的目标检测算法普遍基于手动提取特征及分类器,对于此类环境复杂、尺度多变的对象难以满足精度要求。随着基于卷积神经网络(Convolutional Neural Networks,CNN)[2]等的深度学习算法在检测速率和识别准确度上的提升,图像处理越来越高效。将深度学习应用于无人机航拍图像的目标检测,提取深度变化特征,可以有效提高检测速率以及检测精度。
目前,深度学习的主流算法有基于候选区域的双阶段(Two-Stage)检测算法,如R-CNN[3]、SPP-Net[4]、Fast R-CNN[5]、Faster R-CNN[6]、R-FCN[7]以及NAS-FPN[8],和基于回归计算的单阶段(One-Stage)检测方法[9],如SSD(Single Shot MultiBox Detector)系列和YOLO(You Only Look Once)[10]系列。随着深度学习技术的发展,双阶段检测算法在检测效果上有了很大提升,但是还不能满足无人机执行目标检测任务对于实时性的要求。2020年提出的单阶段检测方法YOLO V5,检测速率高,可以应用于航拍图像的目标检测。该方法与其他算法相比,模型框架小,部署灵活,检测速率快,适用于无人机智能感知领域[11]。
将YOLO V5目标检测算法应用于无人机航拍图像时有2个难题。一是由于无人机飞行高度较高,拍摄镜头焦距较短,拍摄目标在图像中占比小,背景环境复杂,识别难度大;二是无人机飞行作业时间短,为了提升单次作业的效率,需要简化网络以提高推理速度。这要求在改进的算法中,在保持算法精度的同时,需要改进YOLO V5的主干网络构架,对算法网络模型进行轻量化处理以提升推理速度[12]。
首先,利用无人机航拍图像制作数据集:在对无人机航拍图像分类、标注后,会得到带有类别标签的图像数据集[13]用于训练与测试。本方案中数据集80%的图像作为训练集,20%的图像作为测试集。
在YOLO V5网络的主干网络部分[13],将Focus模块用卷积层替换掉,依次分别串联卷积层模块(Conv+BN+LeakyRelu,CBL)、跨阶段局部网络(Cross Stage Partial Network,CSP)和空间金字塔池化模块(Spatial Pyramid Pooling Layer,SPP)[14]。对于得到的数据集,通过预处理操作得到特征图。将预处理后的特征图输入到改进的YOLO V5网络,就可以得到不同尺度的特征图。将不同尺度的特征图输入到改进后的YOLO V5网络中的Neck部分,经过上采样与特征融合的处理后,获得了不同尺度的张量数据。
对于YOLO V5网络的预测层,优化后剔除大检测头及自适应锚框,输入得到的不同尺度张量数据,计算得出无人机航拍目标的检测框。最终对得到的检测框,从泛化交并比(Generalized Intersec-tion over Union,GIOU)、平均精度(Mean Average Precision,MAP)及推理速度3个方面进行评价,判断该技术的可用性。所提算法框架原理图如图1所示。
图1 所提算法框架原理图Fig.1 Schematic diagram of proposed algorithm
获取到1400张无人机航拍图像,对其进行标注与分类后,将带有类别标签的数据集[15]分为1120张的训练集和280张的测试集,图像大小统一为1024×1024像素。
对于主干网络的改进为将切片层(Slice)替换为卷积层(Conv),以简化数据传输过程(见图2)。具体的特征提取过程为,对数据集中的图像进行预处理,调整为608×608×3;改进后的Focus模块中包括1个卷积层(Conv)和1个卷积层模块,将预处理后的图像输入Focus模块,得到大小为304×304×3的特征图;然后将得到的特征图依次输入到2个卷积层模块、2个跨阶段局部网络模块和1个空间金字塔池化模块,最终得到大小为19×19×256的特征图。
图2 改进YOLO V5 主干网络结构图Fig.2 Backbone network structure diagram of improved YOLO V5
主干网络中的卷积层模块由卷积、归一化、激活函数环节构成。其中使用的激活函数为Leaky激活函数,批量归一化公式与Leaky激活函数如下所示
(1)
(2)
将处理后的特征图输入到跨阶段局部网络模块优化处理,再将处理后的特征图输入至空间金字塔池化模块,通过空间金字塔池化操作,对特征图进行处理,以获得多尺度的图像特征图输入Neck部分。
改进后的YOLO V5网络中的Neck部分由卷积层模块、跨阶段局部网络、系列特征融合模块(Concat)和上采样模块构成。其中使用了能够增强学习能力的深度网络设计的跨阶段局部网络(CSPNet)[16]结构,加强了网络的特征融合能力。将得到的多尺度图像特征图输入Neck部分,通过跨阶段局部网络和卷积层模块进一步提取特征,然后经过空间金字塔池化等操作,分3个尺度对特征图进行处理,最终获得3个不同尺度的张量数据,传递到预测层进行检测。
YOLO V5网络中的预测层部分(见图3)由卷积层和3个大小分别为76×76×255、38×38×255、19×19×255的检测头组成。在改进过程中,针对无人机航拍图像中目标分布杂散、占像素小等问题,优化剔除了针对大目标的76×76×255检测头。在网络训练中,网络在初始锚框的基础上输出预测框,进而和真实框(Groundtruth)进行比对,计算两者差距,再反向更新,迭代网络参数。最后,基于损失函数和反向传播对梯度输出无人机航拍目标的检测框。对于该自适应调整锚框(anchhor box),将原始的锚框调整为[10,14,23,27,37,58]与[81,82,135,169,344,319]。
图3 改进YOLO V5的预测层结构图Fig.3 Structure diagram of prediction layer of improved YOLO V5
对于输出结果,通过泛化交并比损失值(L(GIoU))、平均精度和推理速度3个参数进行评价,解释如下:
泛化交并比损失函数为回归目标框损失函数。泛化交并比作为评价指标时具有非负性、对称性以及尺度不变性。泛化交并比损失的值越小,目标框输出精度越高。其计算公式为
(3)
(4)
L(GIoU)=1-GIoU
(5)
式中,IoU表示交并比的值,在无人机航拍图像识别中,对于2个无人机航拍目标的检测框A、B,找到一个能够同时包含的最小方框C,然后计算C/(A∪B)的面积与C的面积的比值,再用A、B的IoU值减去这个比值,最终得到的就是泛化交并比的值GIoU[17],损失函数取1减去GIoU的值。
平均精度是衡量多标签图像检测精度的一个指标。在多标签图像检测中,同一图像的标签往往不止一个,采用的计算精度方法和信息检索中类似,称为平均精度。目标检测的精度越高,平均精度值也就越大。平均精度是通过绘制PR曲线计算得到,即以准确率(precision)和召回率(recall)作为纵、横轴坐标的二维曲线。
推理速度定义为目标检测过程中1s可检测的图像数目。目标检测网络的实时性越好,推理速度越快。
具体实验环境配置如表1所示。
表1 实验环境
使用DOTA数据集进行仿真。DOTA数据集一共包含了2806张无人机航拍图像,对象类别包括:飞机、港口、船舶、储罐、地面场地、直升机、棒球场、网球场、桥梁、小型车辆、大型车辆、环形交叉路口、篮球场、足球场、篮球场和集装箱起重机。本次实验选择了其中1400张图片,对图像进行分类、标注后,用其中1120张作为训练集,280张作为测试集。训练参数设置:训练轮数为300轮,每次投放16张图片,初始学习率为0.001。图4所示为数据集中被检测目标尺寸的散点热力图,其横轴、纵轴分别为宽度比例值和高度比例值,目标尺寸越集中,散点颜色越深。从图4可以看出,无人机航拍数据集中被检测目标大多为小目标。
图4 被检测目标的尺寸散点热力图Fig.4 Size scatter thermal diagram of the detected target
基于改进YOLO V5的无人机航拍图像目标检测结果由泛化交并比、平均精度、推理速度3个参数进行评价。泛化交并比值越小,说明目标框输出精度越高。平均精度值越大,说明目标检测精度越高。推理速度越快,说明目标检测网络的实时性越好。图5所示为改进的YOLO V5的泛化交并比参数曲线,其横轴为训练轮数,纵轴为泛化交并比值。在迭代约300次后,改进的YOLO V5网络比未改进的YOLO V5的泛化交并比值小,说明改进后的YOLO V5网络目标框输出精度更高,如图6所示。图8所示为改进YOLO V5网络的平均精度参数曲线,其横轴为训练轮数,纵轴为平均精度。在迭代约300次后,改进的YOLO V5网络的平均精度值为77,而未改进的YOLO V5网络的平均精度值为74.6,如图7所示。改进后的YOLO V5网络目标检测精度有小幅度提升。在推理速度方面,改进的YOLO V5网络1s可以检测143张图片,未改进的YOLO V5网络1s仅可以检测100张图片,改进的YOLO V5算法的检测速度提高了31%,具有更好的实时性。
图5 改进前YOLO V5的L(GIoU)参数曲线Fig.5 L(GIoU)parameter curve of YOLO V5 before improvement
图6 改进后YOLO V5的L(GIoU)参数曲线Fig.6 L(GIoU)parameter curve of YOLO V5 after improvement
图7 改进前YOLO V5的MAP参数曲线Fig.7 MAP parameter curve of YOLO V5 before improvement
图8 改进后YOLO V5的MAP参数曲线Fig.8 MAP parameter curve of YOLO V5 after improvement
由以上参数可以看出,改进后的YOLO V5网络提升了识别的准确性和特征提取的性能。本方法简化YOLO V5网络模型的移植过程,进一步提高了YOLO V5网络模型的推理速度,可以实现无人机航拍图像的快速、准确检测目标。
本文针对无人机航拍图像识别中存在的问题以及航拍图像的特点,提出了一种改进YOLO V5网络提高识别速率与准确度的方法。仿真实验模拟结果显示,无人机对小目标的检测能力得到提升,能够满足无人机在识别作业时对于准确性与实时性的要求。在训练30轮后,MAP收敛于一个较理想的结果。但无人机航拍环境复杂,如何提升算法的环境鲁棒性及无人机的智能感知能力还需进一步研究。