高级检索

  • ISSN 1006-3080
  • CN 31-1691/TQ
引用本文:
Citation:

基于MAML算法的YOLOv3目标检测模型

    作者简介: 沈震宇(1996—),男,上海嘉定人,硕士生,主要研究方向为目标检测。E-mail: 564669672@qq.com;
    通讯作者: 朱昌明, cmzhu@shmtu.edu.cn ; 王喆, wangzhe@ecust.edu.cn
  • 中图分类号: TP391.4

YOLOv3 Object Detection Model Based on MAML Algorithm

    Corresponding author: ZHU Changming, cmzhu@shmtu.edu.cn ;WANG Zhe, wangzhe@ecust.edu.cn
  • CLC number: TP391.4

  • 摘要: 作为典型的一体化卷积神经网络,YOLOv3模型的网路传输途径简单,检测速度相对较快,但检测精度较低。当遇到新的目标在训练数据集中存在的样本较少时,模型检测会更加不准确,甚至会出现检测不到的情况。本文根据与模型不相关的元学习算法(Model-Agnostic Meta-Learning,MAML),改进了YOLOv3主干网络的结构,使其具有内循环和外循环的梯度下降,通过在初始参数基础上进行多步的梯度调整,达到仅用小样本数据就能快速收敛的目的。实验结果表明,该方法使得YOLOv3模型的检测精度提升了5.24%,且可以使梯度下降保持稳定,有效地满足YOLOv3模型在小样本数据训练情况下识别目标位置的精准性和泛化性。
  • 图 1  MAML训练网络结构流程图

    Figure 1.  Structure of MAML training network

    图 2  YOLOv3的样本分类结果

    Figure 2.  Classification results of YOLOv3

    图 3  基于MAML的YOLOv3的样本分类结果

    Figure 3.  Classification results of YOLOv3 based on MAML

    图 4  YOLOv3模型mAP评估

    Figure 4.  mAP evaluation of YOLOv3 model

    图 5  基于MAML的YOLOv3模型mAP评估

    Figure 5.  mAP evaluation of YOLOv3 model based on MAML

    图 6  冻结网络层训练的损失函数曲线变化

    Figure 6.  Change of training loss of frozen network layer

    图 7  解冻网络层训练的损失函数曲线变化

    Figure 7.  Change of training loss of thawing network layer

    图 8  基于MAML的YOLOv3预测结果

    Figure 8.  Prediction results of YOLOv3 model based on MAML

    表 1  分类结果的精确度比较结果

    Table 1.  Accuracy of classification results

    Model Percision/% mAP/%
    YOLOv3 50.7 74.81
    YOLOv3 with MAML 56.6 80.05
    下载: 导出CSV
  • [1] FAN Q, ZHUO W, TANG C K, et al. Few-shot object detection with attention-RPN and multi-relation detector[C]//2020 IEEE Conference on Computer Vision and Pattern Recognition. USA: IEEE, 2020: 4012-4021.
    [2] WANG T, ZHANG X P, YUAN L, et al. Few-shot adaptive faster R-CNN[C]//2019 IEEE Conference on Computer Vision and Pattern Recognition. USA: IEEE, 2019: 7166-7175.
    [3] 王鹏, 陆振宇, 詹天明, 等. 基于PDSSD改进型神经网络的小目标检测算法[J]. 计算机应用与软件, 2021, 38(1): 149-191.
    [4] FINN C, ABBEEL P, LEVINE S. Model-agnostic meta-learning for fast adaptation of deep networks[C]//Proceedings of the 34th International Conference on Machine Learning. USA: ACM, 2017: 1126-1135.
    [5] 李雅倩, 盖成远, 肖存军, 等. 基于细化多尺度深度特征的目标检测网络[J]. 电子学报, 2020, 48(12): 2360-2366.
    [6] REDMON J, FARHADI A. YOLOv3: An incremental improvement[EB/OL]. arXiv. org, (2018-04-08)[2019-04-01]. https://arXiv.org/abs/1804.02767.
    [7] BOCHKOVSKIY A, WANG C Y, LIAO H Y. YOLOv4: Optimal speed and accuracy of object detection[EB/OL]. arXiv. org, (2020-04-23)[2020-09-16]. https://arxiv.org/abs/2004.10934.
    [8] GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//2014 IEEE Conference on Computer Vision and Pattern Recognition. USA: IEEE, 2014: 580-587.
    [9] HE K M, ZHANG X Y, REN S Q, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904-1916. doi: 10.1109/TPAMI.2015.2389824
    [10] GIRSHICK R. Fast R-CNN[C]//2015 IEEE International Conference on Computer Vision. Chile: IEEE, 2015: 1440-1448.
    [11] REN S Q, HE K M, GIRSHICK R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[C]//2015 International Conference on Neural Information Processing Systems. [s.e.]:[s.n.], 2015: 91-99.
    [12] LIN T, DOLLÁR P, GIRSHICK R, et al. Feature pyramid networks for object detection[C]//2017 IEEE International Conference on Computer Vision. USA: IEEE, 2017: 2117-2125.
    [13] REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: Unified, real-time object detection[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition. USA: IEEE, 2016: 779-788.
    [14] LIU W, ANGUELOV D, ERHAN D, et al. SSD: Single shot multibox detector[C]//European Conference on Computer Vision. Cham: Springer, 2016: 21-37.
    [15] LIN T, GOYAL P, GIRSHICK R, et al. Focal loss for dense object detection[C]//2017 International Conference on Computer Vision. Italy: IEEE, 2017: 2980-2988.
    [16] TIAN Z, SHEN C H, CHEN H, et al. FCOS: Fully convolutionalone-stage object detection[C]//2019 IEEE International Conference on Computer Vision. Korea: IEEE, 2019: 9626-9635.
    [17] 马振伟, 何高奇, 袁玉波. 基于小样本深度学习的通风柜橱窗状态识别方法[J]. 华东理工大学学报(自然科学版), 2020, 46(3): 428-435.
    [18] REDMON J, FARHADI A. YOLO9000: Better, faster, stronger[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition. USA: IEEE, 2017: 7263-7271.
  • 加载中
图(8)表(1)
计量
  • 文章访问数:  72
  • HTML全文浏览量:  51
  • PDF下载量:  1
  • 被引次数: 0
出版历程
  • 收稿日期:  2020-11-28
  • 网络出版日期:  2021-03-24

基于MAML算法的YOLOv3目标检测模型

    作者简介:沈震宇(1996—),男,上海嘉定人,硕士生,主要研究方向为目标检测。E-mail: 564669672@qq.com
    通讯作者: 朱昌明, cmzhu@shmtu.edu.cn
    通讯作者: 王喆, wangzhe@ecust.edu.cn
  • 1. 上海海事大学信息工程学院,上海 202010
  • 2. 华东理工大学信息科学与工程学院,上海 200237

摘要: 作为典型的一体化卷积神经网络,YOLOv3模型的网路传输途径简单,检测速度相对较快,但检测精度较低。当遇到新的目标在训练数据集中存在的样本较少时,模型检测会更加不准确,甚至会出现检测不到的情况。本文根据与模型不相关的元学习算法(Model-Agnostic Meta-Learning,MAML),改进了YOLOv3主干网络的结构,使其具有内循环和外循环的梯度下降,通过在初始参数基础上进行多步的梯度调整,达到仅用小样本数据就能快速收敛的目的。实验结果表明,该方法使得YOLOv3模型的检测精度提升了5.24%,且可以使梯度下降保持稳定,有效地满足YOLOv3模型在小样本数据训练情况下识别目标位置的精准性和泛化性。

English Abstract

  • 目前计算机视觉依然是研究领域的热点,同时也是人工智能、机器学习、深度学习的研究方向之一。生活中,凡是运用电子设备去执行监控、识别、追踪等操作时都需要计算机视觉技术。其中目标检测就属于图像识别的一个基本任务,且这个研究热点被广泛应用于机器人导航、智能视频监控、工业检测等诸多领域,并且通过图像识别能减少对人力的消耗,具有重要的现实意义。

    传统的目标检测模型都是通过大量数据样本的训练和测试来实现检测目标的目的,且大多数的目标检测算法都是基于提高检测精度或检测速度的目的而被提出的。目前的目标检测算法依然存在一些问题:(1)为了训练目标检测模型需准备大量的高质量样本,花费很多时间和精力,同时也需要一定的训练时间。(2)对于一个训练过的目标检测模型,遇到新的检测任务,且这项任务中如果出现未训练过的目标类别,那么这个目标检测模型的泛化性将受到一定程度的考验,甚至可能无法检测出该目标。

    近年来,对仅使用小样本进行目标检测的研究相对较少。其中文献[1]提出了基于注意力机制的区域候选网络和多关系检测器的小样本目标检测网络,充分利用少量训练样本和测试集之间的相似度来检测新对象,同时抑制背景中的错误检测。文献[2]引入了一个针对源和目标特征的配对机制来缓解目标域样本不足的问题,并在此基础上提出了一个双层模块,以实现在源域上训练的检测器适配到目标域上。文献[3]在SSD的网络结构上增加了空洞金字塔模块和特征空洞金字塔模块,提升了网络浅层特征层的语义信息和深层特征层的感受野从而加强了特征提取的能力。该类方法虽然能解决小样本学习的问题,但仍存在一些解决难点,主要包括以下几点:(1)该类方法都是通过比对的方式进行的,仍需要大量的数据进行模型训练。(2)由于是通过比对的方式进行有目标的检测,要检测的目标类别都必须进行比对,因此十分耗时。(3)该类方法是基于对目标具有建议机制的两阶段检测算法来进行改进的,两阶段检测算法本身就相对耗时。

    为了解决因模型中某方面能力欠缺而存在的问题,与模型无关的学习算法被提出,如元学习(Meta Learning)。元学习的研究目的不是提升模型针对某项任务的处理能力,而是提升模型解决一系列任务的能力。MAML[4]就是元学习中的一种算法,通过独立的损失函数在训练时不断地在不同类的任务上学习,最终使模型获得一个良好的初始化参数。此外,也有在模型上进行改进的方式,如文献[5]在网络中通过减少池化并在网络底层加入空间加信道压缩激励模块来突出可利用的细节信息,在深层网络中加入可变多尺度特征融合模块,增加感受野,最终生成高质量的特征图。

    从模型的角度来看,一体化卷积神经网络检测算法虽然检测准确性相对较低,但由于其端到端的网络结构,具备了网络速度快的特性。YOLOv3[6]是典型的代表,虽然它的检测性能差于最新发表的YOLOv4[7],即在平均精度(Average Precision,AP)值上相对较低,但其传输途径简单、通用性强,因此本文针对小样本目标检测的难点和YOLOv3检测准确性低的问题,提出了一种基于MAML算法的YOLOv3目标检测算法。根据MAML算法原理改进YOLOv3中主干网络的信息传输形式,使Darknet-53在梯度下降方面实现参数内更新和外更新两个阶段,通过其损失函数在多步梯度调整的情况下使模型训练得到的初始化参数能更加聚焦于目标的特征信息,以便在后续的训练和预测时提高YOLOv3检测的准确性的和泛化性,也能以常规的推理形式直接进行小样本检测,效率高且数据量需求低。

    • 目标检测算法经过了数十年的发展历程,从2012年开始,基于深度学习的目标检测算法逐渐代替了基于手工特征的检测算法。基于深度学习的目标检测算法发展至今,大致分为两种方式:一种是基于对目标具有建议机制的两阶段检测;另一种是一体化卷积网络的检测。在两阶段检测的技术发展上,RCNN[8]是最早且最为经典的代表算法,它通过候选区域选择的方法,对目标图像进行建议提取并将其标准化作为卷积神经网络(CNN)的输入;CNN根据输入执行诸如卷积或池化等操作以获得固定维度的输出,即特征提取;最后由支持向量机(SVM)对特征样本分类,通过边界回归框回归获得精确的区域信息。由于RCNN在高密度的候选区域上反复进行特征提取且训练包括多个阶段,导致算法繁琐和耗时,因此整体的目标检测速度缓慢且各类别平均精度的均值(mean Average Precision,mAP)也相对不高。两阶段检测算法还包括SPPnet[9]、Fast RCNN[8]、Faster RCNN[11]、FPN[12]

      一体化卷积网络检测算法中也出现了许多著名的算法,其中YOLO[13]算法是第1个一体化卷积网络检测算法,也是相当经典且重要的算法。YOLO模型的检测速度非常快,但它没有采用建议机制,且只通过一次向前传播来获取目标包围框的位置和目标的类别,与Faster RCNN相比,检测精度相对较低,尤其是对小目标的检测效果较差。Liu等[14]结合YOLO检测速度快和区域候选网络(RegionProposal Network,RPN)定位准确的优点,提出了SSD算法,在检测准确率上接近Faster RCNN,同时又保持了极快的检测速度,且在训练过程中,SSD算法还采用了难样本挖掘操作对图像的难样本进行聚焦。Lin等[15]对两种检测算法存在的差异进行研究之后提出了RetinaNet模型,对传统的交叉熵损失函数进行了修正,提出了聚焦损失函数,使简单背景样本在网络训练过程中降低学习权重,更加聚焦于难样本的学习,从而使一体化卷机网络的检测不论是在速度上还是在精度上都优于对目标具有建议机制的两阶段检测。 近年来,一些新的一体化卷积网络被提出,如FCOS[16],直接取消了锚框的使用,通过一种更简单、更灵活的检测框架对每一个像素预测一个目标来解决目标检测问题,并且提升了检测效果。除此之外,相关的基于小样本的深度学习应用也被提出,如文献[17]利用多尺度空洞原型网络进行小样本的深度学习,通过运动特征和几何先验来识别通风柜橱窗的状态从而达到化学实验室橱窗安全管理的目的。

    • YOLO模型作为第1个一体化卷积网络检测算法,其核心思想就是直接利用整张图像作为神经网络的输入,在输出层获得目标包围框的位置和目标的类别。虽然检测速度快,但由于自身损失函数和整体结构的问题,导致定位产生误差,对小目标的检测效果差,且当同一目标出现不同长宽比时泛化性能较弱。然而YOLO模型发展至今,经过了3次版本的改善,目前已更新至YOLOv4。每次的改善都会解决上一代许多的不足之处,从而在保持检测速度快的情况下达到精度提升的效果。

      Redmon等[18]对YOLO多目标检测框架进行了改进,提出了YOLOv2。其中对精度的改进包括批次标准化、高分辨率分类器、带锚框的卷积、维度聚类、直接位置预测、细粒度特征、多尺度训练;对速度的改进包括主干网络结构采用Darknet-19以及对分类网络训练和检测网络训练,此外还使用了联合训练方法,结合词集之间的树形结构(Wordtree)等方法,使YOLOv2的检测种类扩充到了上千种。

      2018年,Redmon等[6]提出了YOLOv3。与YOLOv2相比,YOLOv3没有采用锚框的机制,而是直接将主干网络改进为Darknet-53,引入了残差模块和多尺度预测,且在预测时不使用softmax,改为逻辑回归的输出预测。虽然YOLOv3比YOLOv2复杂了,但仅通过改变模型结构就使得检测性能更为突出。

      2020年,YOLOv4[7]被发表,主要针对各种可以提升精度的技术进行了整合并加入YOLOv3中,其中增加了跨阶段部分连接(Cross-Stage-Partial-connections,CSP)、空间金字塔池化(Spatial Pyramid Pooling,SPP)、路径聚合网络(Path Aggregation Network,PAN)结构等其他一些操作,因此YOLOv4检测在速度和精确度上都非常优异。

    • YOLOv3的网络结构采用Darknet-53,在整个结构中没有池化层和全连接层。在图像的前向传播过程中,主干网络通过增大卷积核的步长来变换张量的尺寸,总共缩小图像5次,即输出的特征图会缩小为输入图的1/32,因此一般情况下也会要求输入图像为32的倍数,方便网络训练。

      其次,YOLOv3借鉴了ResNet的残差结构,即Darknet-53的结构里大量使用了残差块来跳层连接,每一个残差块都由1×1和3×3的卷积组合构成,减少了每次卷积的通道数,一方面减少了参数量,另一方面在一定程度上减少了计算量。此外,残差结构的使用能使得Darknet-53在特征表达上更好,分类和检测的效果也因此得到提升,且网络的训练仍能收敛并一直训练下去。

      YOLOv3在特征提取方面一定程度上也采用了类似特征金字塔网络(Feature Pyramid Networks,FPN)的思想,在Darknet-53的最后3个残差块给出3个输出,然后执行上采样操作,即采用多个尺度融合的方式进行预测。通过下采样的深层特征和前层特征的拼接,能够让网络同时学习到深层和浅层的特征,使其表达效果更好,尤其对于小目标的检测效果提升比较明显。

    • 由于网络结构上使用了多标签、多分类的逻辑回归层,每次预测包围框,都通过逻辑回归的方式来预测所属类别的包围框。通过尺寸聚类的方式确定模板框,对每个包围框预测4个坐标,即模型的预测输出 ${t_x}$ ${t_y}$ ${t_w}$ ${t_h}$ ,然后通过式(1)~(5)得到包围框的相对位置及大小。包围框的置信度由参数 ${t_o}$ 计算得到。

      其中: ${t_x}$ ${t_y}$ ${t_w}$ ${t_h}$ 分别为单元格中心点的横坐标、纵坐标、、单元格宽度、单元格高度; ${c_x}$ ${c_y}$ 分别为偏离网格左上角的距离; ${p_w}$ $p_h$ 分别为锚框的宽度和高度; ${b_x}$ ${b_y}$ ${b_w}$ ${b_h}$ 分别为所要预测包围框的中心点横纵坐标及宽和高。 $\Pr ({\rm{object}})$ 为预测目标类别的概率; ${\rm{IOU}}(b,{\rm{object}})$ 为预测框和目标真实框的交并比; ${t_o}$ 为预测目标的置信值。

    • MAML算法主要用来训练一个在各种学习任务上可以仅仅使用少量训练样本就可以解决新任务的模型,其通过训练少量任务做几步梯度下降来训练模型的初始参数,从而使模型在新任务上具有更好的泛化性。MAML算法之所以能够提升模型的泛化性,是因为MAML算法是一个建立适应多种任务的内部特征表达的过程,其作用是为了能找到在任务变化时具有敏感性的模型参数,因此,参数的微小变化在损失梯度方向改变时,能较大地改善所有任务分布中每一个任务的损失函数,即使用新任务上少量的样本对模型参数进行微调后,新模型参数可以对目标的检测具有较大的提升。

      在元学习过程中,为了使模型在新任务上使用很少的样本,存在一个模型 ${f_\theta }$ ,参数为 $\theta $ ,训练模型的初始化参数时,通过一次或几次梯度下降,就能达到最大化的表现。对于某一个元学习训练任务 ${T_i}$ ,模型参数通过梯度下降变为 $\theta '$ ,多次梯度下降的公式为

      其中: $\alpha $ 为学习率; ${L_{{T_i}}}({f_\theta })$ 为使用参数 $\theta $ 在任务 ${T_{{i}}}$ 上的损失函数; ${\nabla _\theta }{L_{{T_i}}}({f_\theta })$ 为损失函数相对于参数 $\theta $ 的梯度。

      对于学习的初始化参数不应只适用于单单某一任务,而要适用于其他各种不同的任务,因此对于所有任务的参数更新公式如下:

      其中: $\beta $ 为元学习率; $p(T)$ 为元学习训练任务的任务分布,即在元学习训练任务上采样出任务来元学习训练,因为一次可以采样多个任务,所以对于所有的任务求和。

    • 使用YOLOv3进行目标检测训练时通常会使用冻结网络层来进行训练,这是因为高层的语义信息都差不多,为了让模型能更快地学习到图像更底层的一些信息,都会采取这项操作。保持前几层网络的权重参数不参与梯度下降而改变底层的权重参数,冻结网络层之后再进行解冻网络层训练,微调整个网络的权重参数。

      在冻结网络层训练时发现,除了前几轮损失值会大幅下降以外,后续几轮损失值的下降变得比较缓慢,迭代轮数越多,损失值下降1时所需要的迭代轮数越多。可以看出,虽然模型渐渐学习到了图像中带有目标的特征信息,但达到最优值时所需要的梯度下降的迭代轮数较多,训练比较缓慢,尤其是在解冻网络层训练时需要花费的时间更长、迭代轮数更多。

      本文提出在YOLOv3的训练环节改变网络结构,结合MAML算法针对整个模型的权重参数进行更新。由于YOLOv3主干网络之后的部分是经由Darknet-53的3个输出进行多尺度结合操作,所以进行MAML预训练的操作只利用Darknet-53的网络结构来进行梯度下降,如图1所示。在MAML的训练网络结构流程图里,通过在每个残差块之间增加多次的梯度下降来更新参数,优化内部的网络权重,称之为内更新参数;再按照不同的权重将每次梯度所对应的损失相加求和并取平均,然后再进行一次梯度下降,称之为外更新参数。通过MAML算法对内外层的梯度下降,寻找到一组相对最优的参数,使得模型在经过训练的梯度下降后得到的参数能在验证集上的误差更小。在对Darknet-53的每层权重进行更新时,也会在一定程度上改善梯度信息重复的问题,虽然学到的初始化参数可能在训练时表现并不出色,但是以这个参数为起点,去学习新的目标时会学得又快又好。

      图  1  MAML训练网络结构流程图

      Figure 1.  Structure of MAML training network

      总之,通过其损失函数在多步梯度调整的情况下来使模型训练得到的权重参数能更加聚焦于目标的特征信息,即使是在学到少量样本类别的情况下,遇到新任务时也能在新任务中保持对目标的敏感程度,使模型更具泛化性,在这之后再进行对图像特征信息的提取,会让损失的梯度下降得更快,同时又能保证训练的稳定性。

    • 本文实验采用VOC2012数据集。VOC2012数据集分为20类,主要有四大类别,分别是人、常见动物、交通车辆、室内家具用品,共计17 125幅图

    • 实验的硬件环境为HP PAVILION 15-BC200,Intel Core i5-7300HQ 2.50 GHz,8 GB RAM,显卡为NVIDIA GEFORCE GTX 1050。实验的编程语言选用Python3.6,深度学习框架为Pytorch。Pytorch是torch的Python版本,专门用来针对GPU加速的深度神经网络编程,且能够根据计算需要来实时改变计算图,因此本文采用Pytorch框架进行实验。

    • 首先对VOC2012数据集进行数据预处理,从中挑选出一组包含30个目标的背景集和另一组包含20个目标的评估集,从中采样N个类,每个类有K个训练样本,组成一个训练任务,称为N-ways K-shot分类;然后再从剩下的类中继续重复上一步的采样,构建第2个任务,共构建m个任务。将m个任务分成训练任务和测试任务,在训练任务上训练元学习算法,通过训练元学习来学习一组基于Darknet-53的有潜力的初始化参数,然后再用测试任务评估元学习得到的算法的学习能力。由于使用的是VOC2012数据集,所以采用了20ways、1shot的任务类型来进行训练。

      将VOC2012数据集的90%作为训练集,10%作为测试集,训练集的10%作为验证集。开始时使用学习率为1×10−1、批量大小为4进行25轮的冻结网络层训练。学习率设置为1×10−1可以使参数收敛得更快,之后再以同样的学习率和批量大小进行25轮的解冻网络层训练。

      训练结束后,导入损失值最低的模型,输入图像进行预测,并给出损失率和mAP值。

    • 在对YOLOv3以及基于MAML的YOLOv3模型训练之后,分别给出了它们对于VOC2012数据集中20类别的测试分类结果,如图2图3所示,其中样本分类正确的为TP,样本分类错误的为FP。可能是受到IOU函数的限制,两个模型在样本分类正确的数量上差别不大,但显而易见的是基于MAML算法的YOLOv3模型对于样本分类错误的数量小于YOLOv3模型,尤其是人的样本差别更为明显。这也说明了除去预测边框与实际边框受到IOU函数的影响因素以外,MAML有助于YOLOv3模型对于目标的学习,即能在一定程度上减少其分类错误的结果。同时,由于减少了目标样本错分的结果,使得模型在全局样本上的预测精确度得到了一定的提升。如表1所示,基于MAML的YOLOv3的精确度比原模型的精确度提高约6%。

      图  2  YOLOv3的样本分类结果

      Figure 2.  Classification results of YOLOv3

      图  3  基于MAML的YOLOv3的样本分类结果

      Figure 3.  Classification results of YOLOv3 based on MAML

      Model Percision/% mAP/%
      YOLOv3 50.7 74.81
      YOLOv3 with MAML 56.6 80.05

      表 1  分类结果的精确度比较结果

      Table 1.  Accuracy of classification results

      YOLOv3模型训练后的mAP如表1所示,最高可达74.81%。图4示出了VOC2012数据集中20个类别被检测到的目标样本的AP值。相比之下,图5中基于MAML算法的YOLOv3模型通过训练可以使模型检测目标各个类别的AP值均得到了明显的提升,mAP值提升了大约5%,即模型的mAP达到了80.05%,如表1所示。

      图  4  YOLOv3模型mAP评估

      Figure 4.  mAP evaluation of YOLOv3 model

      图  5  基于MAML的YOLOv3模型mAP评估

      Figure 5.  mAP evaluation of YOLOv3 model based on MAML

      使用MAML前冻结网络层训练的损失函数曲线变化如图6所示,使用MAML后解冻网络层训练的损失函数曲线变化如图7所示。可以看出,MAML算法使得模型本身在训练环节对图像的学习更加迅速且准确,同时从解冻网络层训练的环节可以看出,MAML算法还能使模型对图像的学习更加稳定,即不会使模型的梯度信息重复,导致权重参数的更新来回浮动,且变化幅度较大,而是能在一定程度上使模型保持对目标的敏感度,在学习过程中可以通过稳定的梯度下降来更新参数。

      图  6  冻结网络层训练的损失函数曲线变化

      Figure 6.  Change of training loss of frozen network layer

      图  7  解冻网络层训练的损失函数曲线变化

      Figure 7.  Change of training loss of thawing network layer

      使用基于MAML算法的YOLOv3模型进行预测时也取得了不错的效果,如图8所示对于车辆和人的检测准确度都相当高,除了一些场景中远处的人物,即小目标没有检测到以外,最右侧只露出车体一小部分都基本检测到了,体现出结合MAML算法的YOLOv3模型对图像目标的学习比较敏感。

      图  8  基于MAML的YOLOv3预测结果

      Figure 8.  Prediction results of YOLOv3 model based on MAML

    • 基于MAML算法使得YOLOv3目标检测模型上的权值参数在一开始就学到了更加具有学习能力的参数,因此在训练过程中模型的训练也更加迅速,即不需要改变学习率来改变收敛速度,不仅能使检测更加精确,还避免了收敛时难以达到最优值的问题,同时因MAML算法使模型对图像中的目标更加敏感,从而使模型的泛化性得到了提升。

      结合MAML算法可以使得在对设备硬件限制的情况下或无需更新硬件配置的情况下,对原本就采用YOLOv3模型进行目标检测的设备依然可以使用基于MAML的YOLOv3模型进行目标检测。此外由于结合MAML算法,对于存在小目标样本和存在数据集中学习的不够多的样本的场景中,选择使用改进后的YOLOv3能比原模型检测到目标的概率更高。MAML作为元学习的方法之一,给模型带来提升的潜力是比较大的,这也将成为今后研究和发展的关键。

(8)  表(1) 参考文献 (18)

目录

    /

    返回文章