中国科学院大学学报  2024, Vol. 41 Issue (3): 411-426   PDF    
不平衡样本下的SA-YOLO自适应损失目标检测算法
苏亚鹏1, 陈高曙2, 赵彤1,3     
1. 中国科学院大学数学科学学院, 北京 100049;
2. 浙江中正智能科技有限公司, 杭州 310021;
3. 中国科学院大数据挖掘与知识管理重点实验室, 北京 100190
摘要: 样本不平衡现象是指在数据集中以背景为主的易样本数量较大,而以前景为主的难样本数量过少,即样本存在类间不平衡与难易不平衡问题。现有目标检测算法大多是基于候选区域的两阶段算法或基于回归的单阶段算法,当应用于不平衡样本时无法避免训练中产生的预测框对大量样本过度依赖,从而导致模型过拟合且检测精度低,准确性、泛化性差。为了在不平衡样本下实现高效精准的目标检测,提出一种全新的SA-YOLO自适应损失目标检测算法。(1)针对样本不平衡问题,提出SA-Focal Loss函数,能够针对不同数据集与训练阶段对损失进行自适应调节,以达到平衡类间样本与难易样本的效果。(2)在多尺度特征预测机制下构造CSPDarknet53-SP网络架构,增强困难小目标样本全局特征的提取能力,达到提升难样本检测精度的效果。为验证SA-YOLO算法的性能,分别在样本不平衡数据集与COCO数据集上进行了大量仿真实验。结果表明:相较于现有YOLO系列算法最优指标值,SA-YOLO在不平衡数据集中mAP可达91.46%,提升10.87%,各类目标AP50提升均在2%以上,有极强的专精性;在COCO数据集中mAP50提升1.58%,各项指标均不低于最优值,有良好的有效性。
关键词: 不平衡样本    自适应损失    SA-YOLO算法    SA-Focal Loss函数    CSPDarknet53-SP网络架构    
SA-YOLO: self-adaptive loss object detection method under imbalance samples
SU Yapeng1, CHEN Gaoshu2, ZHAO Tong1,3     
1. School of Mathematical Sciences, University of Chinese Academy of Sciences, Beijing 100049, China;
2. Miaxis Biometrics Co., Ltd, Hangzhou 310021, China;
3. Key Laboratory of Big Data Mining and Knowledge Management, Chinese Academy of Sciences, Beijing 100190, China
Abstract: The phenomenon of sample imbalance refers to the excessive number of background easy samples in the dataset but too few foreground hard samples, which means the sample suffers from inter-class imbalance and hard-easy imbalance. Most of the existing object detection methods are two-stage detectors based on proposed regions or one-stage detectors based on regression. When applied to imbalanced samples, it is impossible to avoid the over-dependence of the prediction bounding box generated in training on a large number of negative samples, which leads to overfitting of the model and low detection accuracy, poor accuracy and generalization. In order to achieve efficient and accurate object detection under imbalanced samples, a new SA-YOLO self-adaptive loss object detection method is proposed in the paper. 1) To address the sample imbalance problem, we propose the SA-Focal Loss function, which adjusts the loss adaptively for different datasets and training stages to balance inter-class samples and hard-easy samples. 2) In this paper, we construct the CSPDarknet53-SP network architecture based on the multi-scale feature prediction mechanism, which enhances the extraction ability of global features of difficult small target samples and improves the detection accuracy of difficult samples. To verify the performance of the SA-YOLO method, extensive simulation experiments are conducted on the sample imbalance dataset and the COCO dataset respectively. The results show that compared with the optimal metrics of YOLO series method, SA-YOLO reaches 91.46% of mAP in the imbalance dataset, which improves 10.87%, and the enhancement of AP50 for all kinds of objects is more than 2%, with excellent specialization; mAP50 in the COCO dataset is upgraded by 1.58%, and all indexes are not lower than the optimal value, with good effectiveness.
Keywords: imbalanced sample    self-adaptive loss    SA-YOLO algorithm    SA-Focal Loss function    CSPDarknet53-SP network architecture    

在现代目标检测领域,主流的检测方法是基于深度学习中卷积神经网络(convolutional neural network, CNN)架构而设计的。CNN通过引入区域候选框或采用回归的方式对目标特征进行自主学习,因而具有较强的鲁棒性与可迁移性。基于深度学习的目标检测算法主要依据2种思路:一种是基于候选区域的两阶段算法;另一种是基于回归的单阶段算法。两阶段算法预先生成若干可能包含检测目标的候选框,再利用CNN对候选框进行特征提取与分类,如R-CNN系列算法[1-3];单阶段算法则将目标检测整体视为一个回归问题,对目标的类别和位置直接回归进行预测,如YOLO(you only look once)系列算法[4-7]。相较于两阶段算法在将候选区域传入分类网络前通过候选区域机制过滤掉了绝大多数负样本,单阶段算法舍弃了生成候选区域的步骤,直接在每个空间位置内一组规则且密集的“锚框”[8]上检测目标,因此计算更高效,且更易应用于真实场景并实现工业化标准的实际部署。但也恰由于上述区别,两阶段算法能够在一定程度上缓解样本不平衡问题,而基于密集预测模式的单阶段算法难以处理该问题,更易受到不平衡数据集的影响而过度依赖于以背景为主的大量易样本并导致过拟合,同时难以充分提取以前景为主的少量难样本的特征,从而导致算法的检测精度低,如表 1所示。随着目标检测技术的不断发展与广泛落地,在不平衡样本下设计全新范式的单阶段目标检测算法,从而实现高效、精准的检测是一个急需完成且极具挑战性的任务,目前较少有学者将研究重点置于该项工作。

表 1 基于深度学习的目标检测算法对比 Table 1 Comparison of deep learning-based object detection methods

样本不平衡现象(又称“长尾现象”[9])在目标检测领域十分普遍,它是指在海量训练数据中各类别间样本数量与检测难易程度的不均衡。“头部”以背景为主的大量负样本易于检测,而“尾部”以前景为主的少量正样本难以提取特征进行检测,导致不平衡数据集的训练过程被大量的易样本主导,训练生成的模型检测精度低、识别能力差。样本不平衡问题主要分为2类:类间样本不平衡与难易样本不平衡。前者是指训练数据中不同类别间样本数量存在较大差异,在训练过程中易造成模型的过拟合;后者是指训练数据中不同类别样本特征的提取难度存在较大差异,训练生成的模型在少量难样本上的检测性能较差[10]。解决上述问题的典型方法主要有3类:第1类是“欠采样”,即在模型训练前剔除大量样本类中的部分样本,使类间样本数目平衡;第2类是“过采样”,即在模型训练前增广少量样本类中的部分样本,使类间样本数目平衡;第3类是“阈值移动”,即对样本难易程度进行预测并嵌入决策过程中。前2类方法仅考虑了类间样本不平衡问题,忽略了难易样本不平衡问题,而第3类方法对样本难易的度量主要通过人的主观因素来确定,鲁棒性差且效率低,不适用于大规模模型与海量数据的训练[11]

近年来为充分利用现有的不平衡训练样本,提升CNN在目标检测领域的应用性能,部分学者研究了一系列不平衡样本下基于深度学习的目标检测模型。Shrivastava等[12]针对两阶段目标检测算法提出基于在线困难样本挖掘的OHEM(online hard example mining)模型,该模型在算法的第2阶段计算输入样本前向损失的同时完成困难样本的筛选与再训练,获得了更优的检测性能。Pang等[13]设计了Libra R-CNN平衡目标检测网络架构,用于解决R-CNN系列两阶段算法中样本、特征和目标层级的不平衡问题。但是该架构无法扩展至单阶段算法,因而较难应用于实际场景。与两阶段算法针对不平衡问题具有较好的解决方案相比,由于密集预测机制,单阶段算法在训练中产生的大规模“锚框”会受到不平衡样本的严重影响,从而导致其检测精度极低且难以从本质上实现优化,因此鲜有学者针对不平衡样本下的单阶段算法进行研究。Lin等[14]对交叉熵损失函数进行改进并首次提出基于Focal Loss函数的Retina-Net模型,该模型引入调制因子以加强少量难样本的学习,平衡了数据集中样本的难易程度,同时引入权重因子以平衡数据集中的正负类间样本。该文章论证了利用Focal Loss抑制易样本而聚焦难样本的策略能够大幅提升单阶段目标检测的精度,但是Focal Loss引入的2个因子均为超参数,需进行大量的调优工作。此外,Focal Loss是一种静态损失,不能自主地随数据分布与训练阶段的变化而变化,无法自适应地完成不平衡样本下不同类型数据集之间的目标检测任务。因此,设计一个可自适应调节损失的单阶段目标检测算法以解决样本不平衡问题是学术界一个公认的难点与热点[15],同时也是攻克目标检测技术工业化部署瓶颈的关键。

针对上述问题,本文提出一种单阶段目标检测算法的全新范式——SA(self adaptive)-YOLO自适应损失目标检测算法。在损失函数部分,提出一种可动态调节损失的SA-Focal Loss函数,并设计了与样本类别和难易程度相关的自适应调制因子。该因子包含2个部分——权重因子与聚焦因子,二者可针对不同数据集在不同训练阶段动态平衡类间样本与难易样本,强调少量难样本,淡化大量易样本。与此同时,本文构造CSPDarknet53-SP网络架构,在多尺度特征预测机制下将CSPDarknet53与SPP、PANet模块相融合并设计了全新的尺度融合机理与模块间卷积操作模式,增强了困难样本全局特征的提取能力,显著提升了检测精度。最后,将SA-Focal Loss函数与CSPDarknet53-SP网络相结合并嵌入YOLOv4算法框架下,提出SA-YOLO自适应损失目标检测算法。从根源上解决了样本不平衡问题对单阶段算法的影响,显著降低了模型对大量易样本的依赖,同时提升了对难样本特征的提取能力与检测精度。上述全新范式的SA-YOLO算法模块化流程如图 1所示。

Download:
图 1 SA-YOLO模块化流程图 Fig. 1 Modular flow diagram of SA-YOLO

本文将上述算法分别应用于样本不平衡的自定义管道缺陷数据集与COCO公开标准数据集中进行目标检测实验,以分别验证算法的专精性与有效性。实验结果表明:所提出的SA-YOLO自适应损失目标检测算法与现有YOLO系列算法最优指标值相比,在样本不平衡的管道缺陷数据集中检测效果显著提升,mAP值提升10.54 %,达到91.46 %,各缺陷类别的AP50值提升均在2 % 以上。这体现了算法在不平衡数据集上能够聚焦少量难样本,高效、精准地挖掘其特征,具有极强的专精性与实用性,成功攻克了目标检测技术工业化部署的瓶颈并在实际场景完成了应用。在COCO标准数据集中本文算法的mAP50指标优于YOLOv4算法1.58 %,可达67.32 %,各项指标值均与YOLOv7算法持平。这体现了本文算法适用于任意场景下的通用目标检测任务,在标准数据集上也有不低于现有最优结果的检测值,具有良好的有效性与泛化性。

简言之,本文的创新性贡献可归结如下:

1) 首次提出可动态调节损失的SA-Focal Loss函数,并设计了自适应权重因子与聚焦因子,从而实现了在不平衡样本下不同数据集与不同训练阶段中参数的动态调节,达到了聚焦难样本、抑制易样本、平衡类间样本的效果。

2) 构造CSPDarknet53-SP网络架构,在多尺度特征预测机制下将CSPDarknet53与SPP、PANet模块相融合并设计了全新的尺度融合机理与模块间卷积操作模式,增强了网络提取困难样本特征的能力,在保证高效检测的同时显著提升了检测精度。

3) 首次提出以单阶段算法框架为基准的自适应损失目标检测算法——SA-YOLO算法,消除了不平衡样本对单阶段算法训练过程的负面影响,并在不平衡数据集与COCO标准数据集上分别验证了算法的专精性与有效性。结果表明:SA-YOLO既能完成真实场景的实际部署又适用于通用目标检测任务,是单阶段目标检测算法的一种全新范式。

1 目标检测通用框架与Focal Loss函数 1.1 基于深度学习的目标检测通用框架

得益于深度学习的迅猛发展,以CNN为基础的目标检测任务取得了巨大成功。自Krizhevsky等[16]设计实现了第一个深度CNN架构并应用于ImageNet竞赛后,目标检测算法的精度与效率有了质的飞跃,以CNN为主的深度网络开始引领计算机视觉领域的各项任务。基于CNN的目标检测算法主要分为2类:两阶段目标检测算法与单阶段目标检测算法。

1.1.1 两阶段目标检测

两阶段目标检测算法首先通过候选区域机制(如选择性搜索[17],候选区域网络等)生成目标候选框,然后利用CNN从候选框中提取空间特征并分类。两阶段算法最具代表性的是R-CNN系列算法,从R-CNN到Faster R-CNN构成两阶段目标检测算法的主流框架,并占主导地位,算法流程如图 2所示。由于候选区域机制过滤掉了数据集中大量的负样本,因此两阶段算法在训练过程中正负样本的比例约为1 ∶3,对于样本不平衡现象具有较强的鲁棒性。该系列算法的缺陷是模型规模过大,检测效率低,无法在实际场景下实现工业化部署[18]

Download:
图 2 两阶段目标检测算法流程 Fig. 2 Procedure of two-stage detectors
1.1.2 单阶段目标检测

单阶段目标检测算法舍弃了候选区域的思想,将目标检测整体视为一个回归问题,只进行1次前馈网络计算,直接从特征图中利用固定采样网格对目标的类别和位置进行回归预测。单阶段方法中的YOLO系列算法具有轻量级网络骨架,达到了实时目标检测算法的最高精度且易于实际应用,是公认的通用标准目标检测系列算法。但是YOLO系列算法在模型训练过程中会产生104~105个“锚框”,其中只有少数是正样本,因此更易受不平衡样本的影响而导致训练过程被大量容易的负样本主导并产生过拟合与检测精度低的问题,该问题也是制约其实际应用的关键。针对上述核心问题,基于最成熟且实际应用最广泛的YOLOv4算法设计了一种可依据不平衡样本自适应调节损失的SA-YOLO目标检测算法,以从本质上解决样本不平衡问题对单阶段算法的影响并增强样本特征的提取能力将在第2节评述。

1.2 Focal Loss函数

YOLO系列算法的损失以交叉熵损失为主,Focal Loss函数是交叉熵损失函数的优化形式,其表达式为

$ L_{\mathrm{FL}}=-\alpha_t\left(1-{\boldsymbol{\hat{y}}}_t\right)^\gamma \ln \left(\boldsymbol{\hat{y}}_\boldsymbol{t}\right) . $ (1)

其中: αt∈[0, 1],为权重因子,用于平衡正负类间样本的损失权重;γ∈[0, ∞),为聚焦因子,用于调节不同难易程度样本的损失权重;$ \boldsymbol{\hat{y}}_\boldsymbol{t}$为所属标签类别的预测概率[19]。将Focal Loss函数应用于YOLO系列单阶段目标检测算法后,能够在一定程度上缓解样本不平衡问题。具体而言,对于预测正确率高的易样本,其1-$ \boldsymbol{\hat{y}}_\boldsymbol{t}$值趋于0,在γ的作用下损失值极小因而被抑制;对于预测正确率低的难样本,其1-$ \boldsymbol{\hat{y}}_\boldsymbol{t}$值相对较大,相应的损失值较大因而被强调。因此,Focal Loss函数通过γ平滑地降低易样本权重,使得模型在训练时专注于难样本[20]。该函数是YOLO系列算法处理样本不平衡问题时现有的通用性最强、性能最优的损失函数,被科研人员广泛应用于各种领域的目标检测任务中,如图像情感分析[21]等。

虽然Focal Loss函数可以稍许改善单阶段算法面对样本不平衡问题时的性能,但是其本质是静态损失函数,即核心组件αtγ均为超参数。在实际任务中随着待分类别的增加,样本类间不平衡与难易不平衡问题逐步凸显,需要对αtγ进行大量调优工作,损耗过多计算资源。此外,Focal Loss函数无法针对不同类型的不平衡数据集给出具有通用性的损失参数,只有设计参数可自适应调节的损失函数才能从本质上解决样本不平衡问题。因此,要普适地解决不平衡问题并完成实际场景的部署,需要给出以YOLO系列为代表的单阶段目标检测算法的全新范式——自适应损失目标检测算法。该类型的自适应任务在学术界被普遍认为是有极大挑战性的,目前没有学者研究出令人满意的成果。我们以该任务为目标,设计全新的SA-Focal Loss自适应损失函数和CSPDarknet53-SP网络架构,并提出SA-YOLO自适应损失目标检测算法以从根源上解决样本不平衡问题并在实际场景完成部署。

2 SA-YOLO自适应损失目标检测算法

本节应用损失自适应的方法充分解决样本不平衡问题,基于SA-Focal Loss函数与CSPDarknet53-SP网络设计了一种自适应损失目标检测算法——SA-YOLO算法。该算法能够动态地避免在不同数据集与训练阶段中对不平衡样本出现过度依赖现象,既能显著提升不平衡样本下的检测精度,又能保持检测的高效性以部署于实际场景。此外,构造CSPDarknet53-SP网络以解决困难样本特征难以提取的问题。具体而言,本文算法包含如下组件:(a) SA-Focal Loss函数模块;(b) CSPDarknet53-SP网络架构模块;(c) SA-YOLO自适应损失目标检测算法模块,如图 3所示。

Download:
图 3 SA-YOLO算法组件及技术路线 Fig. 3 Algorithm components and technical route of SA-YOLO
2.1 SA-Focal Loss函数模块

鉴于只有可动态调节损失的算法才能解决样本不平衡以及繁琐的超参数调优问题,提出全新的自适应损失函数——SA-Focal Loss函数。该函数集成了动态调节权重因子和聚焦因子的自适应方法,2个核心组件是自适应权重因子αti和自适应聚焦因子γ′t,二者的确定依赖于不同数据集中样本的不平衡状况以及不同的训练阶段,从而实现损失的自适应调节以分别解决样本类间不平衡与难易不平衡问题。

2.1.1 自适应权重因子

基于上述分析,为使得SA-Focal Loss函数能够在不同数据集下通过平衡不同类别样本的损失权重动态平衡类间样本,设计了自适应权重因子。该因子的确定采用启发式方法,依据训练集中各类样本的数量自适应地进行调节并确定,即根据不同类别样本的数量对损失权重进行重缩放。其目的是使分类器在训练中将不同数量的类间样本视为同等重要,即对少量样本的类分配较大权重因子,对大量样本的类使其权重因子维持在1左右。具体而言,用于调节不平衡类间样本损失的自适应权重因子αti的格式如下

$ \alpha_t^i=\left\{\begin{array}{l} \frac{\alpha_0\left(n_i+N\right)}{N} \times\left(-\ln \left(\frac{n_i}{N}\right)\right), \quad y=1, \\ \frac{\left(1-\alpha_0\right) N-\alpha_0 n_i}{N} \times\left(-\ln \left(\frac{n_i}{N}\right)\right), \\ \text { otherwise. } \end{array}\right. $ (2)

其中:α0为权重因子的初始化系数,ni定义为第i类样本数量,N为全部训练样本数量,αti可根据不同数据集的不平衡样本数量自适应调节类间样本损失权重。对于第i类类内样本而言,若其数量较少,则由αti的第1项可知目标边界框错误预测时的损失权重显著高于正确预测时的损失权重,即可增大对少量样本类错误预测的惩罚;对于第ij类类间样本而言,若第i类样本数量明显少于第j类样本数量,则由αti的第2项可知,第i类样本整体的损失权重显著大于第j类样本,即可更好地学习小样本特征。上述机制可促使模型抑制大量负样本,强调少量正样本,并针对不同训练数据集的类间不平衡样本实现动态平衡。

综上所述,引入与类别相关的自适应权重因子αti后的Focal Loss函数公式优化为

$ L_{\mathrm{FL}}^{\prime}=-\sum\limits_{i=1}^c \alpha_t^i\left(1-\boldsymbol{\hat{y}}_\boldsymbol{t}\right)^\gamma \ln \left(\boldsymbol{\hat{y}}_\boldsymbol{t}\right) . $ (3)
2.1.2 自适应聚焦因子

虽然设计了自适应权重因子αti后可解决类间样本不平衡问题,在一定程度上缓解了不平衡样本带来的负面影响。但是在模型训练过程中,仍然存在由难易样本不平衡问题产生的2个障碍会破坏训练的性能,如图 4所示。具体而言:1)样本间的难易程度与类间样本的数目没有关联。如果难样本数目很少,仅通过αti不足以提升损失权重以达到平衡训练样本的目的;如果难样本数量较大,引入αti后反而在一定程度上降低其损失权重,这是我们不希望看到的现象,因此需要设计另一个自适应调节因子对损失权重进行再平衡。2)困难样本特征难以提取。如果难样本的特征无法提取或错误提取,即使其损失权重能够达到预期,模型学得的特征也不是样本最具代表性的特征,也就难以达到提升难样本检测精度、完成实际场景部署的目标,因此需要构造一个全新的网络架构以提升困难样本特征的提取能力。

Download:
图 4 难易样本不平衡问题解决方案 Fig. 4 Solution to the imblance of hard and easy samples

针对障碍(1),设计自适应聚焦因子,该因子能够依据样本的难易程度对不同样本的损失权重进行再平衡;针对障碍(2),构造CSPDarknet53-SP网络架构,该网络以增强困难样本特征的提取能力为目标,在多尺度特征预测机制下将CSPDarknet53与SPP、PANet模块相融合并设计了全新的尺度融合机理与模块间卷积操作模式。上述2个解决方案的思想流程见图 4,将分别在本节后续部分与2.2小节进行详细介绍。

自适应聚焦因子γ′t在训练过程中融入期望因素,利用真实标签的预测概率$\boldsymbol{\hat{y}}_\boldsymbol{t}$对模型的训练阶段与难易样本的期望进行建模。首先得到在不同训练阶段各类样本真实标签的期望概率具体公式为

$ \mathrm{E}\left\{\ln \left(1-\boldsymbol{\hat{y}}_\boldsymbol{t}\right)^\gamma\right\}=\mathrm{E}\left\{1-\boldsymbol{\hat{y}}_\boldsymbol{t}\right\}=1-{\boldsymbol{\hat{y}}}_t^{\prime}, $ (4)

其中: ${\boldsymbol{\hat{y}}}_t^{\prime}$$\boldsymbol{\hat{y}}_\boldsymbol{t}$在训练各阶段的期望概率,可以通过全部训练阶段$\boldsymbol{\hat{y}}_\boldsymbol{t}$的加权平均值来近似,自适应聚焦因子则以${\boldsymbol{\hat{y}}}_t^{\prime}$为核心设计。我们希望该因子能够直接作用于模型训练中梯度下降的过程,并且能够自适应地调节模型在不同训练阶段对不同难易程度样本的关注度。具体而言,希望模型在网络梯度下降较快时,应当聚焦于期望概率较低的难样本以提升损失权重,在网络梯度下降较慢以至于消失时,应当聚焦于期望概率较高的易样本,以避免网络模型陷入优化困境。因此定义如下的自适应聚焦因子γ′t

$ \gamma_t^{\prime}=-\ln \left({\boldsymbol{\hat{y}}}_t^{\prime}\right), $ (5)

其中γ′t随着期望概率${\boldsymbol{\hat{y}}}_t^{\prime}$的变化而变化。当${\boldsymbol{\hat{y}}}_t^{\prime}$较小时,γ′t值较大,能够对预测不佳的难样本进行强调,在模型训练前期实现良好的聚焦;当${\boldsymbol{\hat{y}}}_t^{\prime}$增加,相应的γ′t值降低,能够聚焦于预测更优的易样本以在模型训练后期避开优化瓶颈。基于上述分析,自适应聚焦因子γ′t在训练前期网络梯度快速下降时能够让损失聚焦于难样本,而在训练后期网络优化变慢时能够让损失聚焦于易样本,便于模型在各个训练阶段对损失权重实现再平衡与优化。

综上所述,结合式(3)的自适应权重因子αti和式(5)的自适应聚焦因子γ′t即可从本质上解决单阶段目标检测算法中的样本不平衡问题。在全部样本类别为C时,得到SA-Focal Loss函数的完整形式如下

$ \begin{aligned} L_{\mathrm{SA}-\mathrm{FL}} & =-\sum\limits_{i=1}^C \alpha_t^i\left(1-\boldsymbol{\hat{y}}_\boldsymbol{t}\right)^{-\ln \left(\boldsymbol{\hat{y}}_\boldsymbol{t}^{\prime}\right)} \ln \left(\boldsymbol{\hat{y}}_\boldsymbol{t}\right)= \\ & -\sum\limits_{i=1}^C \alpha_t^i\left(1-\boldsymbol{\hat{y}}_\boldsymbol{t}\right)^{\gamma_t^{\prime}} \ln \left(\boldsymbol{\hat{y}}_\boldsymbol{t}\right) . \end{aligned} $ (6)
2.2 CSPDarknet53-SP网络架构模块

前面提到,引入αti后模型的训练还面临2个障碍,其中障碍(2)是现有卷积网络架构对不平衡的难易样本中困难样本特征的提取能力不足,并且当不同类难样本之间具有高相似度的特征时难以将其正确区分并捕获,易出现漏检与误检现象,从而导致难样本的检测精度过低。

鉴于现有网络结构无法较好地完成不平衡样本下的目标检测,以YOLOv4框架的CSPDarknet53特征提取主干网络为基础[22],构造全新的CSPDarknet53-SP网络架构。该网络在多尺度特征预测机制下集成了CSPDarknet53主干特征提取模块、空间金字塔池化(spatial pyramid pooling, SPP)模块与路径聚合网络(path aggregation network, PANet)模块。此外,设计了全新的尺度融合机理与模块间卷积操作模式,通过在更大检测尺度上融合浅层与深层特征并优化模块连接处卷积操作模式,以达到增强困难小目标样本特征信息提取能力的效果,尽可能避免漏检与误检。当输入图像分辨率为608×608时,CSPDarknet53-SP网络的具体结构如图 5所示。

Download:
图 5 CSPDarknet53-SP网络架构 Fig. 5 Network architecture of CSPDarknet53-SP

在该网络架构中,CSPDarknet53主干特征提取模块借鉴了CSPNet的思想,在Darknet-53的每个残差块后增添了CSP层,能够在轻量化网络的同时保证检测的准确性并降低计算瓶颈与内存成本。SPP模块与PANet模块借鉴了网络信息传输的思想,可用于融合不同尺度特征图的特征信息,以实现多尺度特征预测。此外,SPP模块还可以增大网络感受野,PANet模块能够避免信息丢失问题,更有效地进行多通道的特征融合。

除上述模块自身与相互融合特性对网络特征提取能力带来一定已有的提升之外,为显著增强网络对小目标样本特征的捕获能力,设计了全新的尺度融合机理。该机理从19×19(M2)、38×38(M3)、76×76(M4)和152×152(M5)4个检测尺度上对浅层特征与深层特征进行融合,增加多尺度特征检测层所包含的特征信息,提升网络的特征融合效果。基于全新的尺度融合机理,CSPDarknet53-SP网络保留了原有自下而上的路径增强结构,同时增添了尺度M2与M3之间的增强路径,缩短了低层到高层特征的信息路径长度,加快了低层信息流通速度,以极少参数量的增加为代价获取了小目标样本检测精度的显著提升。

针对不同类困难样本之间高相似度特征难以正确区分并提取的问题,设计了全新的模块间卷积操作模式,以提升网络的困难特征捕获能力。由图 5可知,CSPDarknet53主干模块在多尺度预测机制下输出4个不同尺度的特征图,即特征图M2、M3、M4、M5。其中,M2、M3和M4直接进入PANet模块进行特征融合,M5先进入SPP模块进行最大池化操作再进入PANet模块进行特征融合,上述3个模块连接处都需要进行相应的卷积操作。模块间传统的卷积操作模式主要分为2类:一类是只利用一个1×1的卷积核作为连接层;另一类是将1×1与3×3卷积核交替堆叠而成的3个卷积层作为连接层。上述传统模式无法充分发挥各个模块与整体的性能优势,在面对不平衡数据集中困难程度较大的样本时无法提取最具代表性的特征,从而较易出现误检与漏检现象。

以上述传统卷积操作的弊端为导向,本文重新设计并构建了全新的模块间卷积操作模式。具体而言,以3个1×1与3×3卷积核交替堆叠而成的卷积层代替第1类传统模式,即CSPDarknet53输出的特征图M2、M3、M4需经过此操作。与此同时,以5个1×1与3×3卷积核交替堆叠而成的卷积层代替第2类传统模式,即特征图M5需经此操作,并且M5在SPP模块后也需经此操作。嵌入了全新尺度融合机理与卷积操作模式的CSPDarknet53-SP整体网络架构如图 5所示。

综上所述,构造CSPDarknet53-SP网络架构,该网络以CSPDarknet53模块、SPP模块与PANet模块为核心组件,同时设计全新的尺度融合机理与卷积操作模式,对不同尺度特征图M2、M3、M4、M5需经过的特征信息融合增强路径和模块间卷积操作进行重新构建。它一方面有足够深的整体结构,从而具有极强的信息处理能力;另一方面具备极大的感受野与丰富的信息传播路径,能够迅速地捕获更高层次以及全局的语义特征信息。CSPDarknet53-SP架构充分解决了困难小目标样本特征难以提取的问题,提升了网络融合不同维度下特征图语义信息的能力,从而能够更好地完成不平衡样本下的特征提取任务,显著提升算法整体的检测精度。

2.3 SA-YOLO自适应损失目标检测算法

为了将解决样本不平衡问题的SA-Focal Loss函数与CSPDarknet53-SP网络架构形成体系完整的算法并应用于实际场景,以便于工业化部署同时提升本文的实用价值,将二者嵌入单阶段目标检测算法的通用框架,以构造可广泛适用的自适应损失目标检测算法。鉴于YOLO系列算法是学界公认最具代表性的通用标准单阶段目标检测系列算法,因此在本节中,选取于当前最成熟且实际应用最广泛的YOLOv4算法框架下,将SA-Focal Loss函数与CSPDarknet53-SP网络进行融合与嵌入,并构建SA-YOLO自适应损失目标检测算法。

针对SA-Focal Loss函数在YOLOv4算法框架下的嵌入思路设计,首先分析算法的损失函数。该损失包括边框回归坐标预测损失(Lloca)、置信度损失(Lconf)与分类损失(Lclas)3部分,对三者求和即得最终的损失函数[23],如下式所示

$ \text { Loss }=L_{\text {loca }}+L_{\text {conf }}+L_{\text {clas }} \text {. } $ (7)

其中Lloca采用CIoU损失,LconfLclas采用交叉熵损失。Lclas的具体公式为

$ \begin{aligned} L_{\text {clas }}= & -\sum\limits_{i=0}^{s^2} W_{i j}^{\text {obj }} \sum\limits_{c \in C}\left[\widehat{P_i^j}(c) \ln \left({P_i^j}(c)\right)+\right. \\ & \left.\left(1-\widehat{P_i^j}(c)\right) \ln \left(1-{P_i^j}(c)\right)\right], \end{aligned} $ (8)

其中: s2是图像的网格单元数; Wijobj表示预测边界框包含目标,指标i代表每个网格单元,指标j代表每个预测边界框; c是待测目标所属类别,Pij(c)是网格中待测目标属于类别c的预测概率,$\widehat{P_i^j}(c)$为真实概率。由于SA-Focal Loss函数是针对交叉熵形式的分类损失而优化的,故将该损失嵌入YOLOv4框架的整体损失函数时,需要在Lclas的交叉熵损失部分引入自适应权重因子αti与自适应聚焦因子γ′t,得到自适应的分类损失函数LclasSA-FL

$ \begin{gathered} L_{\text {clas }}^{\mathrm{SA}-\mathrm{FL}}=-\sum\limits_{i=0}^{s^2} W_{i j}^{\text {obj }} \sum\limits_{c \in C}\left[\alpha_t^i\left(1-{P_i^j}(c)\right)^{\gamma_t^{\prime}} \widehat{P_i^j}(c)\right. \\ \left.\ln \left({P_i^j}(c)\right)+\alpha_t^i {P_i^j}(c)^{\gamma_t^{\prime}}\left(1-\widehat{P_i^j}(c)\right) \ln \left(1-{P_i^j}(c)\right)\right] . \end{gathered} $ (9)

最后,将γ′t的2种具体形式-ln(Pij(c)′)与-ln(1-Pij(c)′)分情况代入式(9)中可得SA-YOLO算法中自适应分类损失函数的最终格式为

$ \begin{gathered} & L_{\text {clas }}^{\mathrm{SA}-\mathrm{FL}}=-\sum\limits_{i=0}^{s^2} W_{i j}^{\text {obj }} \sum\limits_{c \in C}\left[\alpha_t^i\left(1-P_i^j(c)\right)^{-\ln \left(P_i^j(c)^{\prime}\right)}\right. \\ & \widehat{P_i^j}(c) \ln \left(P_i^j(c)\right)+\alpha_t^i P_i^j(c)^{-\ln \left(1-P_i^i(c)^{\prime}\right)} \\ & \left.\left(1-\widehat{P_i^j}(c)\right) \ln \left(1-P_i^j(c)\right)\right] . \\ & \end{gathered} $ (10)

针对CSPDarknet53-SP网络架构在YOLOv4框架下的嵌入思路设计,将融合了SA-Focal Loss函数后的SA-YOLO自适应损失函数以模块形式与CSPDarkent53-SP网络在多尺度特征预测机制下输出的特征图进行拼接,构成SA-YOLO算法的整体框架。具体而言,将网络中PANet模块4个尺度特征图的输出与4个嵌入了SA-Focal Loss函数的SA-YOLO Head模块相拼接,如图 6所示。该框架集成了头部的SA-YOLO Head模块,颈部的PANet模块,以及用于提取特征的CSPDarknet53主干模块,是本文设计的SA-YOLO单阶段自适应损失目标检测算法中最核心的内容。

Download:
图 6 SA-YOLO框架模块化流程 Fig. 6 Modularization process of SA-YOLO framework

综上所述,将SA-Focal Loss函数与CSPDarknet53-SP网络相融合并嵌入YOLO系列算法中最成熟且应用最广泛的YOLOv4算法框架内,得到SA-YOLO自适应损失目标检测算法。该算法是单阶段检测的全新范式,能够有效解决单阶段算法面临的样本不平衡问题,可以很好地适用于各种不同分布的不平衡数据集。此外,该算法显著提升了网络提取困难样本特征的能力,对大规模数据以及更贴近实际场景的样本不平衡数据有极佳的目标检测性能。

3 实验结果及分析

本节通过仿真实验评估SA-YOLO算法的性能。实验以YOLO系列算法为基准,结合消融的思想逐步增添SA-Focal Loss函数模块与CSP-Darknet53-SP网络架构模块,同时深入分析模块内各个组件的作用以及融合嵌入的效果。为了从专精性和有效性2个层面对我们提出的模型进行全方位评估,本文分别在样本不平衡的自定义管道缺陷数据集与COCO目标检测公开标准数据集上进行实验,以分别验证模型整体架构的深度与广度。详细的实验数据、过程与结果介绍如下。

3.1 样本不平衡的自定义管道缺陷数据集

为验证自适应损失目标检测算法在不平衡样本下的专精性,本文选取在真实工程场景下捕获的样本不平衡的自定义城市排水管道缺陷图像数据集进行仿真实验。

首先,对管道缺陷目标检测任务以及缺陷图像数据集进行介绍。地下排水管道是城市重要的基础设施。随着使用年限的增加,管道易受到自然腐蚀、淤积堵塞等影响而出现变形、破裂、腐蚀等结构性与功能性缺陷,进而引发污水渗漏、城市内涝等重大事故[24]。因此,检测并正确识别管道的各种缺陷,及时对缺陷开展工程修复尤为重要。现有的真实工程场景下管道缺陷图像数据集不够完善,因此本文借助浙江中正智能科技有限公司的数据实验室平台,构建自定义管道缺陷数据集。由于该数据集来源于工程实际,不同类型缺陷间样本数量存在较大差异,且不同缺陷进行目标检测的难易程度也存在较大差异,即存在明显的样本不平衡问题。目前,基于深度学习的管道缺陷目标检测技术仍处于起步阶段,各种理论研究与工程实际场景的结合尚未完善[25],且并没有相关研究针对更贴近实际问题的样本不平衡缺陷数据集进行检测。

基于上述分析,为验证SA-YOLO自适应损失目标检测算法的专精性,同时填补不平衡样本下管道缺陷目标检测领域的空白,本文在自定义构建的不平衡管道缺陷数据上进行仿真实验。在构建数据集时,按照管道缺陷检测行业标准[26]的分类体系将管道缺陷分为2大类,即结构性缺陷与功能性缺陷,其中结构性缺陷分为10类,功能性缺陷分为6类,如图 7(a)所示。鉴于国标下的管道缺陷类型众多,且某些缺陷没有目标检测的实用价值,通过与实验室中缺陷检测工程师的沟通,结合对管道缺陷实际视频的考查以及真实场景测试,对拟检测的管道缺陷类别创造性地进行归并得到最终研究的7大类管道缺陷,如图 7(b)所示,括号内为每大类缺陷目标的标签。本文选择其中3大类缺陷:1)破裂(PL);2)沉积、浮渣、障碍物(CJ_FZ_ZW);3)错口、脱节(CK_TJ)作为拟检测的管道缺陷类型并获取三者的图像与标注数据用于SA-YOLO算法专精性的测试评估。

Download:
图 7 管道缺陷分类标准 Fig. 7 Classification standards of pipeline defect

本文研究的管道缺陷数据均源于某地的排水管道CCTV视频。从视频中按帧抽取出图像构建具有“管道缺陷”物体图像的自定义数据集,其中包含PL、CJ_FZ_ZW、CK_TJ 3大类管道缺陷,三者真实的管道缺陷图像典型代表如图 8所示,各种类型的缺陷图像数量如表 2所示。

Download:
图 8 3类标注管道缺陷样本范例 Fig. 8 Examples of 3 types of labeled pipeline defect samples

表 2 管道缺陷样本种类和数量 Table 2 Pipeline defect sample types and quantities

在数据实验室的协助下,通过数据清洗、数据标注及视频拆分等工作,构建管道缺陷数据集共有13 520张图像与超过20 000个缺陷目标,足以满足基于深度学习的目标检测模型的训练需求。由表 2可得,数据集中大量样本类(PL)与中等样本类(CJ_FZ_ZW)的数量比约为5 ∶1,大量样本类(PL)与少量样本类(CK_TJ)的数量比超过10 ∶1,存在明显的类间样本不平衡问题。此外,由图 8可知数据集中不同缺陷之间由于光照、障碍物等因素的影响有显著的难易样本不平衡问题。综上所述,管道缺陷实验数据集贴近工程实际,且有严重的样本不平衡问题,适于对本文的SA-YOLO自适应损失目标检测算法的专精性进行测试并解决实际问题。

3.2 实验环境和参数设定

仿真实验在Darknet深度学习框架下进行,训练与测试过程的计算机配置如下:CPU为Inter(R) Core(TM) i9-10900KF CPU @ 3.70 GHz,GPU为NVIDIA GeForce RTX 3090。

将608×608大小的管道缺陷图像输入到自适应损失目标检测模型中进行训练和测试,在使用样本不平衡的自定义管道缺陷数据集训练模型时,将数据集随机划分为:训练集(80 %)、测试集(15 %)、验证集(5 %)。网络训练的超参数设定如下:批大小设为64,迭代次数设为20 000,动量设为0.949,权重衰减系数设为0.000 5,初始学习率设为0.005, 在16 000步和18 000步时分别乘以系数0.1。训练过程采用“热身”策略更新学习率,并使用Mosaic数据增强方法以提升网络的泛化性。在实验中,将权重因子αti的初始化系数α0设置为0.25,同时将聚焦因子γ′t的初始值设置为2。随后,针对SA-YOLO自适应损失目标检测算法进行消融实验,以完成对SA-Focal Loss函数与CSPDarknet53-SP网络在算法中应用效果专精性的全方位训练和测试。

3.3 评估指标

为客观公正地分析与评价算法,以0.5作为边界预测框和真实目标框交并比(intersection over union, IoU)阈值,并以目标检测领域通用的平均精确度(average precision, AP)作为算法对各个类别检测性能的评估指标。结合IoU阈值的设置,将其记为AP50,并且将少量样本类、中等数量样本类、大量样本类对应的评估指标AP分别记为AP50S、AP50M、AP50L。其他评估指标还包括每类样本的宏精确率(macro-averaging precision, MP)、宏召回率(macro-averaging recall, MR)和平均精确度均值(mean average precision, mAP)。AP反映的是P-R曲线下的面积,是综合了精确率和召回率的结果;MP、MR分别是精确率与召回率各自的宏平均; mAP是全部类别AP的平均值。MP、MR、AP用于评估模型在单个缺陷类别上的检测性能,而mAP则用于评估模型在全部缺陷类别上的检测性能,其值越大说明整体检测精度越高。

3.4 样本不平衡数据集的消融实验及分析

为了验证SA-Focal Loss函数与CSPDarknet53-SP网络架构融合并嵌入得到的SA-YOLO自适应损失目标检测算法的专精性,在YOLOv4算法框架下,利用样本不平衡的自定义管道缺陷数据集进行消融实验。算法的核心模块是SA-Focal Loss函数与CSPDarknet53-SP网络,其中SA-Focal Loss模块的核心是自适应权重因子αti和自适应聚焦因子γ′t,因此针对上述3个组件进行消融实验。消融实验中对比了传统交叉熵损失函数、Focal Loss函数以及SA-Focal Loss函数中参数αtiγ′t采取不同取值方法时与CSPDarknet53-SP网络相融合并嵌入的目标检测结果,实验中各个模型的详细配置见表 3

表 3 消融实验中各模型组件的配置情况 Table 3 Component configuration of each model in the ablation studies

按上述模型中各个组件的具体配置进行训练与测试。其中模型1的交叉熵损失等价于SA- Focal Loss函数中αti退化为1,γ′t退化为0,即为原始YOLOv4模型;模型2与3的Focal Loss函数中αtiγ′t分别设置为固定值0.25和2,模型3相较于模型2增添了本文构造的CSPDarknet53-SP网络;模型4、5与6的SA-Focal Loss函数中逐步添加可动态调节的自适应权重因子αti与自适应聚焦因子γ′t,三者相较于模型3增添了SA-Focal Loss函数的不同组件,用以判断各个组件对模型性能的影响,模型6即为SA-YOLO的完整算法模型。本文在不平衡数据集中从MP、MR、AP、mAP这4个指标对SA-YOLO算法模型的专精性进行评估。最终由上述6个模型得到目标检测测试结果P-R曲线如图 9所示。在IoU阈值为0.5的情况下得到的MP、MR、AP、mAP 4个指标的测试具体数值见表 4

Download:
图 9 各个模型在不平衡管道缺陷数据集上的P-R曲线 Fig. 9 P-R curves of each model on imbalanced pipeline defect dataset

表 4 各个模型在不平衡管道缺陷数据集上的评估指标分析 Table 4 Evaluation metrics analysis of different models on imbalanced pipeline defect dataset 

首先,通过对比模型2与模型1的P-R曲线可知,相比于交叉熵损失函数,将Focal Loss函数应用于目标检测算法进行管道缺陷检测时,模型的整体性能有一定提升。对比2模型的性能评估指标可得,各个类别的AP值与整体的mAP值均有提升。其中mAP提升2.96 %,3类频次不同缺陷类别样本的AP值分别提升1.03 %、5.16 % 与2.7 %。该组对比实验验证了固定参数的Focal Loss函数对于解决样本不平衡问题、提升检测的精度有一定作用。

其二,对比模型3与模型2的P-R曲线可知,相较于模型2,模型3对CJ_FZ_ZW类型缺陷的检测性能有显著提升,对另2类缺陷的检测效果有小幅提升。对比模型3与模型2的性能指标可得,mAP提升2.21 %,CJ_FZ_ZW类型缺陷的AP值提升5.72 %,PL与CK_TJ类型缺陷的AP值提升均在1 % 以内。由此验证了CSPDarknet53-SP网络架构对检测精度的提升有极大贡献,困难程度较大的CJ_FZ_ZW类型缺陷样本的检测精度显著提升,其余类型样本的检测精度有小幅提升。该网络能够捕获困难小目标样本中更高层次、最具代表性的全局语义特征信息,较好地解决了困难样本特征难以提取的问题,对算法中困难样本检测精度的提升至关重要。

其三,对比模型4与模型3、模型5与模型3的性能指标可知,将SA-Focal Loss函数的自适应权重因子αti或自适应聚焦因子γ′t嵌入模型后mAP值都有一定提升。其中嵌入自适应权重因子αti后模型4相较于模型3的mAP提升2.85 %,嵌入自适应聚焦因子γ′t后模型5相较于模型3的mAP提升2.57 %。这2组对比实验验证了αtiγ′t均能有效缓解样本不平衡问题,实现了对不同类型样本与不同训练阶段中算法损失权重的再平衡与优化,提升了模型的专精性。其中平衡类间样本的自适应权重因子αti对目标检测精度的提升更为显著。

其四,对比模型6与模型3的性能指标可知,在已具备CSPDarknet53-SP网络架构的条件下,再嵌入SA-Focal Loss函数的全部组件后mAP与各类别AP值均有较大幅度提升。相较于模型3,模型6的mAP提升5.7 %,3类频次不同的缺陷类别样本AP值分别提升2.44 %、8.61 % 与6.04 %。基于上述数据分析可知,SA-Focal Loss函数对检测精度的提升同样有极大贡献,中等数量与少量样本类的检测精度显著提升,大量样本类的检测精度有小幅提升。该函数能够促使模型抑制大量易样本,强调少量难样本,并针对不同训练数据集的类间不平衡样本实现动态平衡,较好地解决了样本不平衡问题,对SA-YOLO算法检测精度的提升起决定性作用。

最后,对比模型6与模型4、模型6与模型5的性能指标可知,同时嵌入SA-Focal Loss函数中的αtiγ′t后mAP与各缺陷类别的AP均有显著提升。相较于模型4,模型6的mAP提升2.85 %;相较于模型5,模型6的mAP提升3.13 %。由此可得,同时加入自适应权重因子αti和自适应聚焦因子γ′t能够最大幅度提升模型的检测性能,二者分别能够在单阶段目标检测框架下很好地解决类间样本不平衡问题与难易样本不平衡问题,二者的结合是SA-YOLO算法最完整的形式。

经过大量实验反复验证,SA-Focal Loss函数与CSPDarknet53-SP网络对于检测精度的提升都至关重要,每个组件有各自突出的效用与贡献。其中αti解决类间样本不平衡问题,γ′t解决难易样本不平衡问题,CSPDarknet53-SP网络能够显著提升模型提取困难样本特征的能力,组件间相互融合并嵌入可达到最优的目标检测性能。综上所述,本文提出的SA-YOLO算法具有极强的专精性,是单阶段目标检测算法的一种全新范式,在样本不平衡的目标检测任务中应用前景广阔,同时便于进行工业化部署并解决实际场景下的工程问题。

3.5 COCO标准数据集的消融实验及分析

为了验证SA-YOLO算法除具有极强的专精性之外,还具有良好的有效性与泛化性,是一种通用的目标检测算法,在COCO(2017)公开标准数据集上进行实验以测试算法的泛化性能。COCO数据集是一个适用于目标检测、图像分割等计算机视觉领域任务的大型数据集,共包含80个类别123 287幅图像,所有图像共包含886 266个目标。该数据集中的大、中、小目标均占总目标数量的33 % 左右,但是其中包含大量难以检测的困难小目标样本,是学界公认的困难数据集并存在一定程度的难易样本不平衡问题。采取与不平衡管道缺陷数据集的实验中完全一致的参数设置与环境配置对COCO数据集进行训练与测试,图像大小统一为608×608。评估指标采用mAP50与mAP75作为在IoU阈值分别为0.5与0.75时,全部80个待测类别平均精度的均值。此外,采取3个不同的评估指标AP75L、AP75M、AP75S分别评估IoU阈值为0.75时大、中、小目标的检测精度。

从实验算法选取的角度考量,为全面且客观地探析SA-YOLO算法在COCO数据集下进行通用目标检测任务时,SA-Focal Loss函数与CSPDarknet53-SP网络各自带来的性能提升效果,对SA-YOLO算法的2个组件进行了消融实验,即利用SA-YOLO系列中的3种算法执行具体实验,如表 5中方法配置所示。其中,SA-YOLO-FL仅将SA-Focal Loss函数嵌入于YOLOv4原始框架用以评估该损失函数的性能,SA-YOLO-CSP仅将CSPDarknet53-SP网络嵌入于YOLOv4原始框架用以评估该网络架构的性能,SA-YOLO则是本文所提出算法的完整形式,包含上述全部组件。此外,为进一步探讨SA-YOLO算法的优势并直观地体现其优异的性能,以基础算法架构YOLOv4和当前YOLO系列的最优算法架构YOLOv7作为对照实验方法,以充分验证算法的有效性与泛化性,具体实验结果如表 5所示。

表 5 COCO标准数据集上评估指标分析 Table 5 Evaluation metrics analysis on COCO dataset 

首先,对比SA-YOLO-FL、SA-YOLO-CSP与YOLOv4 3种算法的检测精度可得,相较于YOLOv4算法,SA-YOLO系列2种算法的整体mAP值均有小幅提升,其中mAP50分别上升0.54 % 与1.17 %,mAP75分别上升0.46 % 与1.1 %。在大、中、小目标类别的检测中,SA-YOLO-FL与SA-YOLO-CSP均能有效提升小目标的检测精度,即AP75S指标值,其中SA-YOLO-FL比YOLOv4提升1.62 %,SA-YOLO-CSP则提升3.78 %,大、中目标的检测精度提升均在1 % 之内。该组对比实验论证了SA-YOLO算法中的SA-Focal Loss函数与CSPDarknet53-SP网络2个组件均能够有效提升目标检测算法在困难小目标样本上的检测精度,其中SA-Focal Loss函数对困难样本的损失权重进行了再优化,而CSPDarknent53-SP网络则提升了困难小目标样本的特征提取能力,后者对COCO数据集下目标检测任务精度提升的贡献更为显著。

接下来,通过对比SA-YOLO系列3种算法的检测精度可知,相较于SA-YOLO-FL与SA-YOLO-CSP 2种算法,SA-YOLO算法在5个指标下的精度值均为最优,且提升均不少于1 %。由此证实了将SA-Focal Loss函数与CSPDarknet53-SP网络相融合并嵌入得到的SA-YOLO算法的完整形式具备最优的检测性能。

最后,着重对比YOLOv4、YOLOv7与SA-YOLO算法在COCO数据集下的检测指标值,以充分探析SA-YOLO算法优异的性能。由表 5可知,相较于YOLOv4算法,SA-YOLO算法的检测精度在5个指标下均显著提升,其中mAP50提升1.58 %,mAP75提升1.43 %。在大、中、小目标类别的检测中,小目标检测精度显著提升5.69 %,另2类目标检测精度的提升均高于1 %。由此验证了SA-YOLO算法能够有效提升难易不平衡的困难小目标样本的检测精度,在COCO数据集下相较于YOLOv4基础算法架构的整体检测性能显著提升。另一方面,相较于YOLOv7算法SA-YOLO算法整体的mAP值有小幅提升,其中mAP50提升0.25 %,mAP75提升0.39 %。在大、中、小目标类别的检测中,小目标检测精度提升3.58 %,另2类目标的检测精度基本持平。基于上述实验结果可得,SA-YOLO算法维持并提升了在COCO公开标准数据集上的目标检测最优精度,能够在某些指标上略优于当前最优的YOLOv7算法架构。该结论证实了SA-YOLO自适应损失目标检测算法具有良好的有效性与泛化性,能够聚焦难样本并提升困难小目标样本的检测精度,可广泛适用于目标检测领域任意场景的任务,是单阶段目标检测算法一种全新的通用范式。

综上所述,相较于现有目标检测算法,SA-YOLO自适应损失目标检测算法既能在样本不平衡的管道缺陷真实场景数据集下聚焦少量难样本、抑制大量易样本、平衡类间样本,同时显著提升网络提取困难小目标样本特征的能力,具有极强的专精性与实用性;又能在COCO公开标准数据集上维持并小幅提升相较于现有最优算法框架YOLOv7的检测精度,有良好的有效性与泛化性。因此,通过将SA-Focal Loss函数与CSPDarknet53-SP网络架构融合并嵌入而提出的SA-YOLO自适应损失目标检测算法,能够有效避免不平衡样本带来的负面影响并显著提升困难样本特征提取能力与检测精度,是一种具有极高实际应用价值与广泛应用前景的单阶段目标检测算法通用全新范式。

4 结语

本文提出一种单阶段目标检测算法的全新范式——SA-YOLO自适应损失目标检测算法,它能够很好地完成不平衡样本下的目标检测任务。整个模型分为3部分:SA-Focal Loss函数模块、CSPDarknet53-SP网络架构模块与SA-YOLO自适应损失目标检测算法模块。首先,提出由自适应权重因子αti和自适应聚焦因子γ′t构成的SA-Focal Loss函数,2个因子分别用于解决类间样本不平衡与难易样本不平衡问题。其次,构造CSPDarknet53-SP网络架构,在多尺度特征预测机制下将CSPDarknet53与SPP、PANet模块相融合并设计全新的尺度融合机理与模块间卷积操作模式,增强了网络提取困难小目标样本全局特征的能力。最后,将2模块融合并嵌入YOLOv4算法框架中形成SA-YOLO自适应损失目标检测算法,可从本质上解决样本不平衡问题,是一种可广泛应用的单阶段目标检测算法的全新范式。消融实验对比分析的结果表明,在样本不平衡的自定义数据集中,αtiγ′t能够有效提升模型检测的精确度、准确率和召回率等指标;CSPDarknet53-SP网络可有效增强对困难样本特征提取的能力,证实了本文算法具有极强的专精性。此外,在COCO标准数据集中,本文算法显著优于基础算法架构YOLOv4,在某些指标上略优于当前YOLO系列的最优算法架构YOLOv7,证实了本文算法具有良好的有效性。大量实验表明,本文提出的算法既有较高的理论价值,又具备广阔的应用前景。

参考文献
[1]
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. June 23-28, 2014, Columbus, OH, USA. IEEE, 2014: 580-587. DOI: 10.1109/CVPR.2014.81.
[2]
Girshick R. Fast R-CNN[C]//2015 IEEE International Conference on Computer Vision(ICCV). December 7-13, 2015, Santiago, Chile. IEEE, 2016: 1440-1448. DOI: 10.1109/ICCV.2015.169.
[3]
Ren S Q, He K M, Girshick R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149. Doi:10.1109/TPAMI.2016.2577031
[4]
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(CVPR). June 27-30, 2016, Las Vegas, NV, USA. IEEE, 2016: 779-788. DOI: 10.1109/CVPR.2016.91.
[5]
Redmon J, Farhadi A. YOLOv3: an incremental improvement[EB/OL]. 2018, arXiv: 1804.02767. (2018-04-08)[2022-12-15]. https://arxiv.org/abs/1804.02767.
[6]
Bochkovskiy A, Wang C Y, Liao H Y M. YOLOv4: optimal speed and accuracy of object detection[EB/OL]. 2020, arXiv: 2004.10934. (2020-04-23)[2022-12-15]. https://arxiv.org/abs/2004.10934.
[7]
Wang C Y, Bochkovskiy A, Liao H Y M. YOLOv7: trainable bag-of-freebies sets new state-of-the-art for real-time object detectors[EB/OL]. 2022, arXiv: 2207.02696. (2022-07-06)[2022-12-15]. https://arxiv.org/abs/2207.02696.
[8]
Redmon J, Farhadi A. YOLO9000: better, faster, stronger[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition(CVPR). July 21-26, 2017, Honolulu, HI, USA. IEEE, 2017: 6517-6525. DOI: 10.1109/CVPR.2017.690.
[9]
Li B, Yao Y Q, Tan J R, et al. Equalized focal loss for dense long-tailed object detection [EB/OL]. 2022, arXiv: 2201.02593. (2022-06-30)[2022-12-15]. https://arxiv.org/abs/2201.02593.
[10]
Zhu X G, Li L, Zhang W G, et al. Dependency exploitation: a unified CNN-RNN approach for visual emotion recognition[C]//Proceedings of the 26th International Joint Conference on Artificial Intelligence. August 19-25, 2017, Melbourne, Australia. New York: ACM, 2017: 3595-3601. DOI: 10.5555/3172077.3172392.
[11]
周志华. 机器学习[M]. 北京: 清华大学出版社, 2016.
[12]
Shrivastava A, Gupta A, Girshick R. Training region-based object detectors with online hard example mining[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition(CVPR). June 27-30, 2016, Las Vegas, NV, USA. IEEE, 2016: 761-769. DOI: 10.1109/CVPR.2016.89.
[13]
Pang J M, Chen K, Shi J P, et al. Libra R-CNN: towards balanced learning for object detection[C]//2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition(CVPR). June 15-20, 2019, Long Beach, CA, USA. IEEE, 2020: 821-830. DOI: 10.1109/CVPR.2019.00091.
[14]
Lin T Y, Goyal P, Girshick R, et al. Focal loss for dense object detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2020, 42(2): 318-327. Doi:10.1109/TPAMI.2018.2858826
[15]
张胜男, 许燕斌, 董峰. 自适应阈值收缩算子的稀疏正则化图像重建算法[J]. 中国科学院大学学报, 2020, 37(2): 242-247. Doi:10.7523/j.issn.2095-6134.2020.02.014
[16]
Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[C]//Proceedings of the 25th International Conference on Neural Information Processing Systems-Volume 1. December 3-6, 2012, Lake Tahoe, Nevada. New York: ACM, 2012: 1097-1105. DOI: 10.5555/2999134.2999257.
[17]
Uijlings J R, van de Sande K E A, Gevers T, et al. Selective search for object recognition[J]. International Journal of Computer Vision, 2013, 104(2): 154-171. Doi:10.1007/s11263-013-0620-5
[18]
矫腾章, 胡玉新, 吕鹏, 等. 一种在轨海上多运动舰船目标检测和跟踪方法[J]. 中国科学院大学学报, 2020, 37(3): 368-378. Doi:10.7523/j.issn.2095-6134.2020.03.010
[19]
Tang J, Hou H J, Sheng G H, et al. Transformer fault diagnosis model with unbalanced samples based on SMOTE algorithm and focal loss[C]//2021 4th International Conference on Energy, Electrical and Power Engineering(CEEPE). April 23-25, 2021, Chongqing, China. IEEE, 2021: 693-697. DOI: 10.1109/CEEPE51765.2021.9475723.
[20]
肖振久, 孔祥旭, 宗佳旭, 等. 自适应聚焦损失的图像目标检测算法[J]. 计算机工程与应用, 2021, 57(23): 185-192. Doi:10.3778/j.issn.1002-8331.2104-0321
[21]
傅博文, 唐向宏, 肖涛. Focal损失在图像情感分析上的应用研究[J]. 计算机工程与应用, 2020, 56(10): 179-184. Doi:10.3778/j.issn.1002-8331.2003-0028
[22]
孟曦婷, 计璐艳, 赵永超, 等. 基于深度学习的多尺度导弹发射井目标检测[J]. 中国科学院大学学报, 2021, 38(6): 800-808. Doi:10.7523/j.issn.2095-6134.2021.06.010
[23]
李彬, 汪诚, 丁相玉, 等. 改进YOLOv4的表面缺陷检测算法[J/OL]. 北京航空航天大学学报, 2023, 49(3): 710-717. DOI: 10.13700/j.bh.1001-5965.2021.0301.
[24]
王俊岭, 邓玉莲, 李英, 等. 排水管道检测与缺陷识别技术综述[J]. 科学技术与工程, 2020, 20(33): 13520-13528. Doi:10.3969/j.issn.1671-1815.2020.33.002
[25]
王庆, 姚俊, 谭文禄, 等. 基于Faster R-CNN的排水管道缺陷检测研究[J]. 软件导刊, 2019, 18(10): 40-44, 49. Doi:10.11907/rjdk.191817
[26]
中华人民共和国住房和城乡建设部. 城镇排水管道检测与评估技术规程: CJJ 181—2012[S]. 北京: 中国建筑工业出版社, 2012.