• 工作总结
  • 工作计划
  • 心得体会
  • 领导讲话
  • 发言稿
  • 演讲稿
  • 述职报告
  • 入党申请
  • 党建材料
  • 党课下载
  • 脱贫攻坚
  • 对照材料
  • 主题教育
  • 事迹材料
  • 谈话记录
  • 扫黑除恶
  • 实施方案
  • 自查整改
  • 调查报告
  • 公文范文
  • 思想汇报
  • 当前位置: 雅意学习网 > 文档大全 > 公文范文 > 正文

    基于改进YOLOv4-tiny的无人机航拍目标检测

    时间:2023-06-08 15:45:18 来源:雅意学习网 本文已影响 雅意学习网手机站

    吴 靖, 韩禄欣, 沈 英, 王 舒, 黄 峰

    (福州大学机械工程及自动化学院,福州 350000)

    近年来,随着智能制造技术的不断提升,在民用方面,越来越多的无人机应用于城市交通监管、电力巡检、农业保障工作等领域;
    在军事上,无人机可用于战场的侦察、监视及目标的搜索定位,为作战提供有效信息的同时还能干扰敌方电子设备,从而大大降低伤亡率。然而,无人机由于航拍视场大、背景复杂多样、目标分布不均、尺度变化大且小目标数量多,导致对目标的检测难度加大[1]。因此,快速准确地识别航拍图像是实现无人机融入社会发展的重要研究内容。

    伴随着计算机硬件设备性能的与日俱增,基于深度学习的目标检测技术发展的蒸蒸日上。目前,实际应用较为广泛的目标检测算法可分为两类,一类是双阶段检测算法,另一类是单阶段检测算法。其中,双阶段检测算法先经过候选区域(Region Proposal)提取目标建议框,再进行目标的分类及位置的预测,它的优点是检测精度高,但是计算资源开销大,检测速度较慢,较难达到目标的实时检测目的,如R-CNN[2],Fast R-CNN[3],Faster R-CNN[4]。而单阶段检测算法直接预测图像中的目标类别及其位置信息,检测精度较高,检测速度快,适用于实时监测的场景,如YOLO[5],YOLO9000[6],YOLOv3[7],YOLOv4[8],SSD[9]。不同于自然场景的检测,无人机航拍目标检测难度相对更高。吕晓君等[10]提出强化Faster R-CNN主干网络底层特征提取能力,并改进网络特征层的融合规则以提升对小目标的识别精度,但检测速度达不到实时性的要求;
    刘英杰等[11]提出在Cascade R-CNN[12]网络中加入并行的特征金字塔层的双线性插值上采样融合,强化其在无人机航拍目标上的检测能力,但在网络结构扩展的同时检测速度也降低了;
    刘芳等[13]提出一种基于多尺度特征,能够自适应无人机航拍图像候选区域生成相应锚框的网络,并且在实现网络轻量化的同时提高了检测精度,然而检测速度相对于单阶段网络仍然存在较大差距,并且受限于无人机所能搭载的计算资源和硬件功耗,部署庞大的深层网络是不符合实际的。

    为了解决上述问题,本文提出一种基于改进YOLOv4-tiny的无人机航拍目标检测方法。首先,在YOLOv4-tiny的基础上扩大了检测尺度范围,并将深层特征和浅层特征信息自下而上进行融合,以丰富小尺寸目标的语义信息;
    其次,引入了注意力模块,使每个尺度的特征信息经过二次提取,过滤了冗余的信息,保留了重点关注区域的特征信息;
    最后,与YOLOv4-tiny进行对比实验,结果表明本文所提算法在保证实时检测的前提下,提升了对无人机航拍目标的检测精度。

    YOLOv4-tiny是YOLOv4的压缩版,模型参数量是YOLOv4的1/10,检测速度更快,其主干部分采用了CSPDarknet53-tiny结构,包含15个卷积层,由2个暗网基础卷积(DBL)单元和3个ResBlock模块构成,如图1(a)所示。其中,DBL单元由卷积层(Conv)、批归一化处理(BN)和激活函数Leaky ReLU构成,如图1(b)所示。ResBlock模块参照ResNet[14]和CSPNet[15]将4个DBL单元进行残差嵌套组合,再经过最大池化处理,如图1(c)所示。其目的是为了在增加网络深度的同时解决网络退化问题,缓解梯度弥散,使数据传递更加通畅。

    图1 YOLOv4-tiny结构Fig.1 Structure of YOLOv4-tiny

    输入的图片通过CSPDarknet53-tiny分别经过16倍和32倍下采样输出为特征层1和特征层2。其中,特征层2经过特征再提取输出小尺度特征信息,特征层1借鉴特征金字塔算法[16],通过上采样和DBL单元将特征层2提取的高层语义信息与自身提取的低层语义信息自顶向下地融合,再经过卷积变化输出大尺度特征信息。将小尺度和大尺度特征信息分别传递至检测头1和检测头2两个模块中,并沿用YOLOv3的边框回归和分类算法,在2个尺度上进行大目标和小目标的检测。

    原始YOLOv4-tiny模型能实现对大、小目标的检测,但检测尺度范围不广阔,特征提取不精细,不适合无人机航拍目标小、数量多的检测。因此,在扩大检测尺度范围的同时融入特征金字塔算法保证获取更丰富的特征信息,并引入注意力机制进行信息过滤以实现对原始模型的改进。

    2.1 注意力机制的引入

    YOLOv4-tiny只依靠神经网络自发地传递特征信息,没有经过重点信息筛选,对于小目标、部分遮挡目标的信息会产生部分忽略。而引入注意力机制,能够对感兴趣区域的特征数据进行动态权重系数加权,提高网络对重点区域的关注,解决由小目标、部分遮挡目标引起的识别困难问题。本文引入了卷积区域注意力模块(Convolutional Block Attention Module,CBAM)[17],数据输入后依次经过通道注意力模块和空间注意力模块的独立推断,可描述为

    (1)

    (2)

    I′=FC(I)⊗I

    (3)

    I″=FS(I′)⊗I′

    (4)

    CBAM结构如图2所示,其中,通道注意力模块采用并行的方式分别将最大池化和平均池化提取的通道信息经过卷积层压缩过滤并融合,最后使用Sigmoid实现数据归一化从而提高感兴趣通道权重,降低非兴趣通道权重。空间注意力模块则是并行过滤空间信息并融合,再通过卷积提取重要空间信息。两个模块相辅相成,实现感兴趣区域通道和空间信息的提纯。

    2.2 AttYOLOv4-tiny网络

    YOLOv4-tiny模型只对输出的2个尺度的特征图进行目标检测,检测范围有限,这对于多数量目标容易产生漏检的问题,并且16倍下采样后的特征层1包含的空间信息较少,易造成对小目标、部分遮挡目标漏检、错检的发生。因此,为了获取更大范围的目标信息及包含更多特征信息的特征图,降低由目标数量多、尺寸小和部分遮挡导致的漏检、错检的概率,在原网络基础上添加8倍下采样处理后的特征图进行目标检测,这样不仅提升了检测范围,还能提供更丰富的浅层特征信息。

    改进后的AttYOLOv4-tiny网络如图3所示,在保持原始的主干网络CSPDarknet53-tiny的前提下,为了得到更多的语义信息,将16倍下采样的深层特征经过2倍上采样和特征提纯后与8倍下采样的浅层特征融合形成新的尺度进行检测。同时,由主干网络输出的8倍、16倍、32倍下采样特征均要经过CBAM模块进行第1次重点信息筛选,并且在每个尺度检测前要经过由n个卷积核大小为1×1的DBL单元和2n个卷积核大小为3×3的DBL单元交替组成的6个DBL单元对特征信息再提纯以及CBAM模块实现第2次信息过滤,其结构如图4所示。

    图3 AttYOLOv4-tiny网络Fig.3 AttYOLOv4-tiny network

    图4 DBL和CBAM组合Fig.4 Combination of DBL and CBAM

    YOLOv4-tiny网络预测时,为每个尺度设置3种符合输入图像尺寸的预测锚框,这些锚框是由K-means算法对数据集中训练集目标的宽高进行聚类得到,对模型的检测精度有很大影响。由于AttYOLOv4-tiny网络增加了1个检测尺度,所以锚框个数由6增加到9,锚框大小随着设定的标准化尺寸也发生改变,对VisDrone数据集[18]聚类后得到9个锚框,分别为(2,4),(3,9),(5,16),(8,9),(9,23),(15,14),(16,38),(28,25),(45,59),与训练集中所有目标大小的平均重叠率达到67.83%,相较于原始网络6个锚框的平均重叠率62.73%有了显著的提升,使模型预测时能更加接近目标原始尺寸,进而提升模型的检测精度。

    YOLOv4-tiny网络参数少、结构简单,是目前能较好地实现无人机实时检测的标志性算法。因此,将本文提出的AttYOLOv4-tiny网络与YOLOv4-tiny网络进行对比实验。本文实验在Ubuntu18.04操作系统下,基于Tensorflow深度学习框架,配有Intel Xeon CPU Silver 4216,在搭载64 GiB内存和单张NVIDIA RTX 2080Ti的工作站上运行。

    3.1 数据集概述

    VisDrone数据集包括了14个不同城市的市区和郊区的拍摄图像,是目前规模最大的无人机航拍目标的视觉分析算法评估和研究的数据集。VisDrone数据集包含6471张训练集图像,548张验证集图像,1610张测试集图像。训练集中平均每张图像涵盖53个目标,而测试集中平均每张图像涵盖71个目标,每个类别的目标还有不同程度的遮挡状况。数据集中包含10类对象,即Awn,Bicycle,Bus,Car,Motor,Pedestrian,People,Tricycle,Truck,Van,每个种类在数据集中的数量如表1所示。

    表1 VisDrone数据集中各类目标的数量Table 1 The number of various targets in VisDrone dataset

    3.2 网络训练细节

    实验过程中,YOLOv4-tiny和AttYOLOv4-tiny设置相同参数进行训练,训练分为2个阶段,每个阶段的动量(momentum)和权重衰减(decay)分别为0.9和0.000 5、批量大小(batch size)设为16。第1阶段,初始学习率(learning rate)为10-3,迭代次数(epoch)设置为100;
    第2阶段,初始学习率为10-4,当验证损失函数5次迭代没有下降时,学习率按照0.5的比例进行缩小,迭代次数为200,当迭代10次以内验证集的损失函数没有降低则停止网络的训练。

    3.3 网络测试结果及分析

    为了验证所提算法相比YOLOv4-tiny在实际场景中的识别效果,选取部分环境进行定性分析。在VisDrone数据集上白昼和黑夜的检测结果可视化分别如图5和图6所示(图中左列为YOLOv4-tiny,右列为AttYOLOv4-tiny)。图5(a)是包含沙地、草坪和道路的复杂背景下检测结果对比,可以发现,YOLOv4-tiny由于卡车部分被周围物体遮挡没有检测到,而AttYOLOv4-tiny则能够正确识别出目标从而避免漏检。图5(b)是在普通道路上的检测结果对比,可以发现,YOLOv4-tiny对汽车存在深色框的重复检测以及未能识别到左上方的摩托,而AttYOLOv4-tiny能够避免对目标的错检和漏检。图6(a)是包含高楼、树木和道路的复杂背景下的检测对比,图6(b)是在较为黑暗的背景下的检测对比。通过比较可以发现,YOLOv4-tiny存在将面包车错检为小汽车、小汽车识别不完全的问题,而AttYOLOv4-tiny在黑夜依然能够正确识别目标,减少对目标的漏检。

    图5 不同网络在白昼的目标检测结果Fig.5 Target detection results of different networks in the daytime

    图6 不同网络在黑夜的目标检测结果Fig.6 Target detection results of different networks at night

    YOLOv4-tiny模型检测时会对输入的图像进行尺寸标准化,形成一个高宽比一致的图像,将原始图像进行等比例的缩放,并对图中未铺满的空间进行灰色像素填充。尺寸设置越大,图像分辨率越接近原始尺寸,平均精度均值(mean Average Precision,mAP)也会更高,但是检测速度会有所下降。因此对输入图像的不同尺寸进行对比实验,结果如表2所示。综合检测精度和速度,当设置输入尺寸为832像素×832像素时,仍能够保持实时的检测性能,因此选定图像输入后的设定尺寸为832像素×832像素。

    表2 输入不同尺寸图像的平均精度均值和检测速度Table 2 Mean average precision and detection speed of different sizes of input image

    实验使用精准率P和召回率R以定量分析目标检测网络的错检率和漏检率,精准率和召回率越高,表示检测过程错检率和漏检率越低,并采用F1分数作为衡量精准率和召回率平衡度的评价标准,F1分数越接近1,说明模型的综合性能越好。评价指标可分别描述为

    (5)

    (6)

    (7)

    式中:TP为目标预测正确的数量;FP为目标预测错误的数量;FN为目标没被预测到的数量。

    YOLOv4-tiny和AttYOLOv4-tiny对测试集中目标预测的精准率P、召回率R和F1分数,如表3所示。

    表3 不同网络目标检测的精准率、召回率和F1分数Table 3 Precision,recall and F1score of target detection with different networks

    相较于YOLOv4-tiny,AttYOLOv4-tiny对目标检测的精准率由53.96%提升至65.48%,增长了11.52%,说明改进后的网络对于目标错检有很大的改善;
    召回率由48.59%提升至54.36%,增长了5.77%,说明改进后的网络有助于减少目标漏检的发生;
    F1分数由51.13%提升至59.40%,增长了8.27%,说明改进后的网络提高了目标检测的综合性能。

    对比YOLOv4-tiny与AttYOLOv4-tiny在数据集中各类目标的平均精度(Average Precision,AP)如表4所示。可以看出,单类目标的AP提升了2%~7%,各类目标的平均AP比原网络提高了5.09%,其中,对于行人(Pedestrian)、相对静止的人(People)、摩托(Motor)这几类小目标的平均精度均有显著的提高,表明所提算法在扩大网络检测尺度的同时融合深层和浅层的语义信息,并利用注意力机制模块过滤特征信息,在一定程度上加强了对小目标特征的识别能力,进而提升了对航拍目标的检测精度。

    表4 数据集中各类目标的平均精度对比Table 4 Average precision of various kinds of targets in dataset %

    实验通过与主流的目标检测算法在VisDrone数据集上的检测结果进行对比来验证本文所提算法的综合性能。实验采用的评价指标包括参数量、mAP和检测速度,结果如表5所示。

    表5 主流算法检测结果对比Table 5 Comparison of detection results of mainstream algorithms

    其中,参数量是衡量模型复杂程度的有效指标,参数量越大,模型所需的计算资源就越大,也就越难以在无人机上实现部署,而mAP和检测速度是衡量算法总体性能的重要指标。通过比较其他主流算法可以看出,AttYOLOv4-tiny的参数量较小,更有利于实现算法在无人机硬件上的应用。在检测精度上,AttYOLOv4-tiny的mAP达到了24.25%,虽然略低于Faster R-CNN,但优于其他主流算法,这表明扩大检测及融合浅层和深层特征信息能够丰富航拍目标的特征,再通过注意力机制模块实现冗余信息的过滤,能够进一步提升对航拍目标的检测能力。虽然在模型参数量上略高于YOLOv4-tiny,使得检测速度有一定下降,但仍能达到61帧/s,满足实时检测的要求,远优于Faster R-CNN,综合检测性能更优。

    针对无人机航拍图像检测中存在目标小、数量多导致检测困难的问题,基于YOLOv4-tiny网络,扩大目标检测尺度以充分利用浅层语义信息,并引入注意力机制对感兴趣区域信息进行二次提纯,提出了一种适合无人机航拍目标检测的AttYOLOv4-tiny网络。在无人机航拍数据集上进行了相同的训练和测试,结果表明,相比于YOLOv4-tiny,AttYOLOv4-tiny在精准率上提升了11.52%,召回率提升了5.77%,F1分数提升了8.27%,mAP达到了24.25%,检测速度维持在61帧/s,综合性能得到提升。但是,在某些种类目标的识别上,由于目标过小或数据不足导致精度还不够高,离实际应用还有些差距。在保证无人机实时检测的基础上提升网络的综合识别精度,降低模型复杂度并应用在边缘设备上是未来的重点研究内容。

    猜你喜欢 航拍尺度特征 根据方程特征选解法中学生数理化·中考版(2022年9期)2022-10-25离散型随机变量的分布列与数字特征中学生数理化(高中版.高考数学)(2022年3期)2022-04-26财产的五大尺度和五重应对内蒙古民族大学学报(社会科学版)(2020年2期)2020-11-06航拍巴彦呼硕时代邮刊·下半月(2020年9期)2020-09-23不忠诚的四个特征当代陕西(2019年10期)2019-06-03航拍,苍穹下的醉美视角金桥(2018年6期)2018-09-22难忘的航拍小学生优秀作文(低年级)(2018年6期)2018-05-19陕西画报航拍陕西画报(2017年1期)2017-02-11宇宙的尺度太空探索(2016年5期)2016-07-129时代英语·高三(2014年5期)2014-08-26

    推荐访问:无人机 改进 检测

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章