基于自适应聚焦CRIoU 损失的目标检测算法

2023-11-18 12:12肖振久赵昊泽张莉莉郭杰龙李成龙王俐文
液晶与显示 2023年11期
关键词:中心点惩罚损失

肖振久,赵昊泽,张莉莉,夏 羽,郭杰龙,俞 辉,李成龙,王俐文

(1.辽宁工程技术大学 软件学院,辽宁 葫芦岛 125000;2.中国兵器工业集团 航空弹药研究院有限公司,黑龙江 哈尔滨,150000;3.上海宇航系统工程研究所,上海 201100;4.中国科学院 海西研究院 泉州装备制造研究中心,福建 泉州 362000)

1 引 言

几年来深度学习在交通检测、汽车自动驾驶技术[1-2]、目标跟踪[3]、面部识别[4]、光学计量[5]、光学重建[6-7]等方面都有着十分广泛的应用,深度学习在这些场景广泛的应用都归根于深度神经网络的快速发展。

使用卷积神经网络(Convolutional Neural Networks,CNN)检测物体的想法在1998 年就产生了。Lecun[8]等人最先将CNN 分类方 法应用 在检测图像中的目标。后来,这种网络变换方式被称为全卷积网络(Fully Convolutional Network,FCN)[9]。因为AlexNet[10]的提出,使得以图像分类网络为主干图像特征提取网络的下游任务如:3D目标检测[11]、姿态检测、图像分割、面部识别等得到了快速发展。Girshick 等人将AlexNet 的目标识别功能应用到目标检测中,提出了一个目标检测算法(Regions with features,R-CNN[12])。R-CNN 基于卷积神经网络(CNN)、线性回归和支持向量机(Support Vector Machines,SVM[13])等 算法的目标检测框架,通过大量的计算开销实现了目标检测技术。Girshick 等人在2015 年先后提出了Fast R-CNN[14]、Faster R-CNN[15],算法将 目标检 测任务分为两个阶段,并且分类和检测共同训练,这种方式增加了检测速度和检测精度,但仍存在计算量较大的问题。Joseph 等人在2015 年提出了YOLOv1[16]算 法。但YOLOv1 算法缺 少对锚 框的预先设定,虽然检测速度很快,但是检测精度却很低。Joseph 在YOLOv1 算法基础上引入了不同尺度的预设锚框,提出了YOLOv2[17]算法和YOLOv3[18]算法。这些改进使得YOLO[19-20]系列算法在保障检测速度的同时也在一定程度上提高了算法的精度。

在深度学习的目标检测算法中,为了使预测框更快、更好、更准地回归到目标的位置,对边界框回归损失函数的研究也经历了一系列的发展。在Fast R-CNN 中边界框的回归使用了Smooth L1损失函数。而在早期YOLO 系列算法中使用的是误差平方和函数作为损失函数。以上两种损失函数存在回归数值和评价指标不相关的问题,从而回归效率不高。Yu[21]等人提出IoU 损失函数,直接对真实框和预测框相交的部分进行优化,实现了到了优化对象和评价指标的相关性,但IoU 作为损失优化存在无法梯度回传的特殊情况。由此Rezatofig H[22]等人提出广义交并比(Generalized Intersection over Union,GIoU)作为回归损失部分的损失函数,GIoU 通过回归缩小不相交区域来优化,但在两框包含情况下会退化为IoU 损失。Zheng[23]等人认为一个优秀的IoU 损失应该考虑回归3 个几何度量,即重叠面积、中心点距离和宽高比,并且在IoU 损失后加入中心点距离惩罚项和宽高比惩罚项,提出了Distance-IoU(DIoU)和Complete IoU(CIoU)。但CIoU 中回归的是宽高的比值,会出现回归阻碍的问题。基于以上问题,本文提出了一种自适应聚集CRIoU(Adaptive focal Complete Relativity,AF-CRIoU),完善回归属性,解决IoU、GIoU、CIoU 在特殊情况下的回归阻碍问题。本文主要贡献总结如下:

(1)基于IoU系列损失函数范式,提出A-CRIoU(Around CRIoU)损失函数,完善了回归任务和评价指标的相关性和边界框中心点回归属性的完整性,提高了检测精度和收敛速度,同时弥补了IoU 与GIoU 在特殊情况下的缺点。将A-CRIoU损失应用到传统NMS 方法中,改善漏检的情况。

(2)基于A-CRIoU 完善边界框宽高属性回归属性,不但考虑重叠面积和边界框距离,进一步添加关于宽高回归的惩罚项,而且惩罚项避免了CIoU回归宽高比所造成的阻碍回归问题,保证了回归边界框回归属性的完整性,提出了CRIoU 损失。结合Focal Loss 解决分类问题的样本不均衡问题的方法,解决在回归过程中高质量样本和低质量样本不均衡的问题,减少低质量样本过多而影响模型的学习。选用自适应的加权因子,避免了Focal Loss 中对超参数调整的外开销,由此定义AF-CRIoU 损失。

(3)将创新的A-CRIoU 损失应用到目标检测网络的非极大值抑制(Non-Maximum Suppression,NMS)处理中,通过调整不同得分阈值,提升了检测精度。

(4)将最终创新的AF-CRIoU 损失函数分别在YOLOv3 和Faster R-CNN 网络中进行实验,将AF-CIoU 应用到安全帽检测中并分析结果。

2 相关工作

2.1 基于CNN 的目标检测

基于CNN 的目标检测算法包括单阶段检测算法和双阶段目标检测算法。相比于传统目标检测,基于分类的卷积神经网络目标检测有:通过滑动窗口提取感兴趣区域、筛选感兴趣区域、后处理的主要3 个步骤。滑动窗口和后处理部分都是常用的方法。所以这种方法通过对网络中的特征提取模块和分类模块的改进,来提升网络的特征提取能力和分类能力,从而获得更为准确的感兴趣区域。

单阶段目标检测算法没有感兴趣区域筛选部分,直接通过卷积神经网络完成特征提取、边界框定位以及目标分类等任务。最早被提出的单阶段目标算法是OverFeat[24]。YOLO 系列算法和SSD[25]通过对网络的锚框定位部分和特征提取结构的改进达到了更好的检测效果,其中SSD 算法在多尺度目标检测中取得了显著效果。RetinaNet[26]中的Focal Loss 损失函数解决了数 据集中难易样本和正负样本的影响,其优秀的结构和检测效果受到了广泛关注。

2.2 IoU 损失函数

IoU 作为一个评价指标,真实反映了检测任务中预测和真实物体两个形状的重叠程度。IoU通过面积比值的方式来表示两个形状之间的相交程度。IoU 具有包括尺度不变性在内的众多特质,这些特质保证了IoU 的衡量效果。IoU 计算公式如式(1):

其中:Overlap 代表两个形状相交部分的面积,Union 代表两个形状面积的总和。由于IoU 特性和计算结果满足了目标检测任务中目标的定位,它也被应用于回归损失函数中,并且IoU 损失在目标检测任务中取得了较好的结果。但当两个形状没有相交区域时,IoU 损失函数的计算值为1,因没有梯度回传而无法进行优化。

2.3 GIoU、DIoU、CIoU 问题分析

GIoU 损失通过在损失函数中引入惩罚项的方式来避免损失值为0,梯度无法回传的情况。如公式(2),式中1-IoU 部分表示真实框和预测框之间不相交的面积,通过对这一部分进行回归来缩小两框不相交的面积,从而提高两框的重叠程度,公式的后半部分表示两框在最小外接矩形C中A 与B 不相交的空白区域,所以当两框不相交时,依然可以通过最小化空白区域来进行边界框回归。图1 仿真了GIoU 损失的回归过程,红色为目标框,绿色和黑色为预测框。当两框关系为互相包含关系时,GIoU 会退化成IoU 损失,导致收敛速度变慢。

图1 不同边界框损失函数回归过程的区别Fig.1 Difference of regression process of different boundary box loss functions

Zheng[20]等人表示一个优秀的边界框回归应该考虑重叠面积、中心点距离和宽高比这3 种几何度量。DIoU 和CIoU 则包含这3 种几何度量的回归。DIoU 是在IoU 的基础上引入了两框中心点距离的惩罚项,CIoU 损失则是在DIoU 的基础上添加宽高比惩罚项,因此CIoU 损失包含了重叠面积、中心点距离和宽高比3 种几何度量的回归。但是在CIoU 添加的宽高比惩罚项中回归的具体数值是宽高比,CIoU 中的宽高比惩罚项和具体的宽高值没有真实的对应关系。在回归比值过程中,如果预测的宽和高的真实值增大如图1 中的CIoU 回归过程所示,在第二次采样回归状态时,由于回归比值,使得预测框的高误差增大,因此CIoU 在回归比值的情况下会造成真实值和预测值的误差变大,这种情况下会对边界框的回归造成阻碍。

2.4 Focal Loss 函数

在目标检测中单阶段目标检测运行速度较快,但是受数据集中难易样本和正负样本的影响较大,其精度低于两阶段目标检测。为解决上述问题,Lin 等[26]提出了Focal Loss 函数。当数据集中存在大量简单的样本时,这些损失值可以淹没稀有的困难类,使困难类别不能被学习影响目标检测的精度。而Focal Loss 引入超参数的调制因子就是为了解决损失值被大量简单样本淹没的情况,平衡难易样本的数量,使困难样本在训练期间得以表现,避免了只有简单样本对模型的贡献。Focal Loss 公式如图2 中公式所示,γ是控制曲线形状的超参数,γ的值越大,易分类的样本的损失就越小,这样就可以把模型的注意力投向那些难分类的样本,一个大的γ让获得小损失的样本范围变大。同时,当γ=0 时,Focal Loss 会退化为交叉熵损失函数,不同参数值对应的损失状态如图2所示。同样的问题不仅在分类损失上,对于边界框回归损失也存在着大量低质量样本影响回归收敛。

图2 Focal Loss 不同γ 的损失变化情况Fig.2 Loss changes of different γ of Focal Loss

3 自适应聚焦CRIoU 损失

3.1 设计思想

IoU 具有尺度不变性的优点。根据IoU 损失函数进行改进通常是在IoU 损失函数后加入适当的惩罚项来对IoU 损失函数进行修正,本文也根据同样的思想进行改进。使用相关性较强的IoU 损失作为损失函数的基础范式,加入两框中心点距离信息作为IoU 损失的惩罚项,提高了模型的收敛速度和回归精度。改进设计的公式范式如公式(3)所示:

其中:L为损失函数,R(G,B)是改进的IoU 损失函数中加入的惩罚项,G表示预测框的参数,B表示目标框的参数。本文提出的改进IoU 损失函数根据公式(3),加入带有特殊信息的惩罚项来提升检测效果,并对GIoU 损失的缺点加以弥补。其中引入的惩罚项之中的特殊信息要包含合适的边界框的误差信息,如距离、重叠面积等,因此引入的惩罚项要满足如下条件:

(a)损失函数的收敛梯度方向要与两框重叠程度的评价指标相同。若优化的误差信息和重叠评价指标的梯度方向不相同,会造成模型的收敛方向出现偏差,影响回归的性能。

(b)惩罚项数值稳定性。原始IoU 损失在引入惩罚项后,收敛速度会加快。如果惩罚项的数值稳定性低,会造成惩罚项衰减速度过快,从而损失函数会退化成IoU 损失,造成后期回归性能下降。

(c)尺度不变性。对于大数据集中的目标进行检测时,需要考虑图像中各个目标的尺度信息。当损失函数只对特定尺度敏感时,会降低模型的整体性能,降低了模型的泛化能力。

3.2 A-CRIoU 损失

根据2.1 节中的3 个设计思想,本文提出一种新型IoU 损失函数,在IoU 函数基础上引入惩罚项,惩罚项中包含完整的回归属性,使得回归公式满足完整相关的条件。本文选取两边界框的中心点所围成矩形的周长和包围两框的最小外包框的周长的比值作为惩罚项,这个周长比值中包含两框中心点的距离信息,如图3 中的黑色虚线框长度为P1,蓝色虚线框长度为P2。设计以广义周长比值为距离信息的损失函数A-CRIoU(Around-Complete Relativity IoU)如公式(4)所示:

图3 A-CRIoU 惩罚项示意图Fig.3 Schematic diagram of A-CRIoU penalty items

其中:P1是表示两框中点所围成矩形的周长,P2是最小外包框的周长。当预测框和回归框完全重叠时GIoU=A-CRIoU=1,GIoU LOSS=A-CRIoU LOSS=0;当两框距离无限远时。GIoU=ACRIoU=-1,GIoU LOSS=A-CRIoU LOSS=2。但是在某些情况下,如图4 所示,真实框的宽高都为1,预测框宽高的值为0.5。右侧回归状态明显优于左侧回归状态。此时无论预测框与真实值的中心点距离如何变化,GIoU 与IoU 的损失值都不变,但是A-CRIoU 的损失却可以在数值上很好地反映出两框的重叠情况,证明了A-CRIoU的数值稳定性。

图4 包含情况下,不同回归状态时损失值的区别。Fig.4 Difference of loss in different regression states under inclusion

3.3 A-CRIoU 在NMS 中的应用

本文将A-CRIoU 应用到非极大值抑制中,这是因为A-CRIoU 中的惩罚项中包含中心点距离信息,在NMS 过程中可以作为更好的信息引入到其中。在图5 中,A 和B 分别对应两个正确预测的边界框,且A 的置信度大于B。但是在两个不同物体距离很近时,由于IoU 值比较大,经过NMS 处理后,只剩下一个检测框,这会导致漏检的错误发生。所以引入中心点距离信息,即使两框IoU 比较大,但是两个框的中心点距离信息值比较大时,可能会认为这是两个物体的检测框,这种漏选情况时常出现在密集物体检测场景中。使用A-IoU-NMS 在除IoU 信息外,引入两框的中心点距离信息,防止了正确预测的框被剔除的情况,减小了漏检概率。A-CRIoU-NMS 的公式如公式(5)所示:

图5 密集目标检测下NMS 和A-CRIoU-NMS 效果对比Fig.5 Comparison of NMS and a-criou-nms in dense target

其中:M为 最得分预 测框,Bi是其 他预测框,ε是得分的阈值,Si为分类得分。

3.4 基于回归属性完整性改进

参考文献[20]中的CIoU 损失函数考虑3个几何度量,即重叠面积、中心点距离和宽高比。对于给定的预测框b和真实框bgt,CIoU 损失定义如公式(6)~(8)所示:

其中:公式(6)中的第三项的分母是边界框中心点距离的平方,分子则是最小外包框的对角线平方。最后一项是宽高比惩罚项,α是距离因子,可以根据两框的包含程度来自适应调节ν的大小,对于公式(7)宽高比惩罚项的宽和高的梯度计算如式(9):

在公式(7)中,ν只回归了宽高比值,并没有对真实的宽高值做回归,单纯回归宽高比值会造成真实误差变大的情况,阻碍回归。公式(9)中对于梯度方向可以得到公式(10)。在式(10)中两个梯度方具有相反的符号,所以在任何情况下宽和高其中一个增加,另一个将会减少,这在回归过程中是不合理的。如图1 中的CIoU 回归过程所示,在最后迭代的预测框的宽高按照比例回归,受尺度不变性影响,宽高真实值在回归中变大,这使得真实的误差值也变大,造成了回归的阻碍。由此本文将实际的宽高平方误差与包围两框最小矩形宽高比值作为惩罚项引入A-CRIoU 中,公式(11)是公式(12)后两项的计算方法,最后得到CRIoU 损失函数如公式(12)所示:

3.5 CRIoU 回归仿真

为验证CRIoU 的数值稳定性,本文在以(10,10)中心点、3 为半径的圆中均匀选取5 000 个点。以(10,10)为目标框的中点,预测框为以5 000 个点为中点的锚框。目标框和预测框都具有7 个面积大小(0.5、0.67、0.75、1、1.33、1.5和2)和7个尺度(1∶4、1∶3、1∶2、1∶1、2∶1、3∶1 和4∶1),共有1 715 000=7×7×7×5 000 个回归案例,其中回归案例中包含重叠框和非重叠框。对于这些回归点,本文使用梯度下降算法模拟均匀分布的预测框的回归过程。当前预测框Bi的坐标通过公式(13)计算:

图6 不同损失函数的回归仿真收敛对比Fig.6 Comparison of regression simulation convergence for different loss function

图7 是仿真实验在最后一轮迭代次数时的误差可视化。由图(a)和(b)可知,对于每一个回归案例(x,y),误差越小对应越良好的回归状态,由此形成了凹陷部分。但在图7(a)未形成明显凹陷部分中可以看到IoU 在非重叠情况下有很大的误差,在图7(b)中可以看到GIoU 在水平和垂直位置下有很大误差,而在(c)和(d)中CIoU 和CRIoU的误差分布比较均匀,在任何地方都有很小的误差,保持较好的回归状态,CRIoU 回归误差总体会略小于CIoU,但其误差分布没有CIoU 稳定。

图7 不同损失函数最后一轮回归误差值分布情况Fig.7 Distribution of the last round regression error values of different loss function

3.6 自适应聚焦加权因子

目标检测算法在进行回归任务时,存在高质量回归框和低质量回归框不平衡的情况,存在大量的低质量回归框。图8 中的anchor 机制生成了大量的先验框样本,但是能够检测到目标的高质量样本数量远小于远离目标的低质量预测框。在模型训练过程中低质量回归框会造成更大的损失值从而造成损失的波动,影响模型的收敛。本小节基于Focal Loss函数的思想,引入加权因子来平衡低质量样本对损失造成的波动。本文定义加权因子为IoU,因为IoU 可以直观反映出在回归任务中样本的质量。IoU 值越小证明样本和真实框的重合度越小,证明该样本是一个低质量样本。通过IoU 加权来减少大量低质量样本带来的损失波动,使得损失更加稳定,有助于损失收敛。使用IoU 作为平衡样本质量的加权因子巧妙地避免了Focal Loss 中的加权因子通过每次对比实验的结果进行调制加权因子的弊端,赋予了加权因子自适应聚焦与高质量边界框特性,没有额外的调参开销。最后将自适应加权因子定义为公式(14):

图8 先验框样本分布情况Fig.8 Distribution of anchors

其中:Bbb为真实框,Bgt为预测框,它们的IoU 为自适应的加权因子μ。在训练过程中预测框和真实框的相交部分越小,预测框的质量越低,μ值就越小,同时回归损失的权重就越小,这样就会降低大量低质量样本对模型训练的影响。这种加权方法借鉴了Focal Loss 的聚焦思想,在训练中为高质量的预测框分配较大的权重,使得模型训练聚焦于更有意义的高质量样本,并且加权因子μ随着样本质量可以自适应调节,避免了大量的调参开销。由此在CRIoU 损失的基础上定义自适应聚焦CRIoU 损失函数(Adaptive Focal CRIoU Focal Loss,AF-CRIoU)如公式(15)所示:

4 实验结果与分析

4.1 实验平台、数据集和评价指标

为了验证AF-CRIoU损失函数的实际有效性,本文实验分别使用单阶段目标检测框架YOLOv3和双阶段目标检测模型Faster R-CNN,并且替换原回归损失函数为IoU 系列损失函数与AF-CRIoU损失函数进行对比。实验均为统一的实验环境,实验硬件环境如表1 所示,实验软件环境如表2 所示。实验数据集使用PASCAL VOC 2012,数据集提供了包括分类、检测和分割3 个任务的数据集。其中目标检测任务数据集里包含20 类物体,共17 125 张图片。

表1 实验硬件环境Tab.1 Experimental hardware environment

表2 实验软件环境Tab.2 Experimental software environment

为了验证AF-CRIoU损失函数的有效性,实验使 用YOLOv3 和Faster R-CNN 分别在PASCALVOC2012 上进行训练和测试。通过对比不同模型在不同数据集上的检测精度和收敛速度来验证AF-CRIoU的有效性。本文使用平均精度mAP、AP50 和AP75 作为评价指标,将IoU 的阈值设定为 {0.5,0.55,…,0.95},在此阈值范围的结果下除以类别得到mAP。AP50 是IoU 阈值为0.5 时检测各个类别的平均检测精度(AP75 同理),并且沿用参考文献[19]和参考文献[20]的实验评估标准,对比AF-CRIoU 和其他损失函数的相对提升精度(Relative improv.%,RI)。相对精度计算方法如公式(16)所示:

4.2 PASCAL VOC2012 实验结果

使用PASCAL VOC 2012 数据集分别计算在YOLOV3、Faster RCNN下使用不同损失函数的AP50 和AP75,并且对比相对提升精度。如表3和表4 所示。将两个目标检测算法的原来计算边界框回归的损失分别更改为IoU、GIoU、CIoU、AF-CRIoU,加上模型原有的回归损失函数(Sum of Square Erro,SSE),分别计算了PASCAL VOC 2012 数据集上的AP75 和AP50。由表3 中数据可知,CRIoU 对比原来模型中的损失函数SSE在AP75 和AP50 条件下精度分别提升8.52%和8.04%;在AP50 条件下,AF-CRIoU对比GIoU精度检测相对提升2.46%,在AP75 条件下的精度相对提升3.18%;在AP50 条件下,AF-CRIoU对比CIoU 检测精度相对提升1.67%,在AP75条件下的精度相对提升2.31%。表4 是在Faster RCNN 上的实验数据。由表4 数据可知,在AP75和AP50 条件下,AF CRIoU 对比GIoU 精度分别提升3.06%和2.29%,AF-CRIoU 对比CIoU 精度分别提升2.53%和2.69%,避免了CIoU 的回归阻碍,使模型达到一个更好的收敛状态,同时也解决了IoU 和GIoU 的局限。实验结果表明,AFCRIoU 很好地改善了传统IoU 系列函数中的回归退化和回归阻碍,可以达到更好的检测效果。

表3 不同阈值下YOLOv3 检测精度对比实验数据Tab.3 Comparison of YOLOv3 accuracy under different threshold

表4 不同阈值下Faster RCNN 检测精度对比实验数据Tab.4 Comparison of Faster RCNN accuracy under different threshold

图9是IoU、GIoU、CIoU损失函数和AF-CRIoU损失函数在YOLO v3上使用PASCOL VOC 2012数据集的回归损失曲线图。从曲线中可以看出,AF-CRIoU 损失在前期收敛速度上优于GIoU 损失。这是因为AF-CRIoU 引入了包含距离信息的周长比值惩罚项,加快了收敛速度,可在训练前期保持较为稳定的收敛趋势。通过自适应加权因子可以加强对高质量边界框的学习,稳定损失,可以使损失收敛到更小,体现了本文方法的有效性。

图9 不同损失函数在PASCAL VOC2012 上使用YOLOv3 收敛情况Fig.9 YOLOv3 convergence of different loss functions on PASCAL VOC2012

4.3 AF-CRIoU 与A-CRIoU-NMS 消融实验

在PASCAL VOC 2012 上使用YOLOv3 的实验中,带入了A-CRIoU 作为非极大值抑制处理。表5 和表6 是使用A-CRIoU-NMS 方法和AFCRIoU 损失函数对精度提升效果的消融实验结果。表5表明,在AP75条件下不加入AF-CRIoU,原始的NMS 方法在选定的阈值范围内的检测精度达到65.09%,A-CRIoU-NMS 的检测精度最高达到65.23%,对比NMS 提高了0.14%。使用AF-CRIoU 后,原始NMS 方法检测精度达到65.45%,对比没有使用AF-CRIoU 损失的原始NMS 方法检测精度提高0.36%。同理对比只使用A-CRIoU-NMS 方法的检测精度提高了0.24%。使用A-CRIoU-NMS 方法和AF-CRIoU损失的情况下,检测精度达到了最高值。同理,表6 中在AP50 条件下对于不同损失函数和NMS方法的消融实验结果中,也有明显的提升效果。

表5 AP75 条件下采用不同非极大值抑制方法和损失函数的实验结果对比Tab.5 Comparison of experimental results using different non maximum suppression methods and loss functions under AP75 conditions

图10和图11是在[0.42∶0.47]范围内在PASCAL VOC 2012 的检测精度变化趋势。4 种线条分别对应原始NMS+AF-CRIoU、原始NMS+原损失、AF-CRIoU+A-CRIoU-NMS 和A-CRIoU-NMS+原损失。由图中变化趋势可知,在调参过程中,各个阈值下使用A-CRIoU-NMS 方法或者AF-CRIoU 损失乃至两种方法都使用的情况下,对比原始NMS 和回归损失函数,精度都有明显提升。

图11 AP50 条件下不同阈值的AF-CRIoU 和NMS 方法对比Fig.11 Comparison of AF-CRIoU and NMS methods with different thresholds under AP50 condition

4.4 基于AF-CRIoU 损失的安全帽检测

除了使用大型公共数据集,本文还选取了具有应用背景的安全帽检测数据集进行验证。此数据集为实际应用项目中的私有自建数据集。场景包含工地、矿场,数据集包含9 802 张安全帽佩戴图像,使用了开源工具Labelimg 进行标注。数据集包含两个类别,佩戴安全帽样本标签为hat,未佩戴安全帽样本标签为nohat。数据集按照7∶2∶1 的比例划分成训练集、验证集、测试集。实验环境如表1 和表2 所示。

实验网络选取yolov3 为检测网络,分别替换IoU、GIoU、CIoU、AF-CRIoU 为网络的回归损失。训练输入图像尺寸为618×618,使用预训练模型,学习率设置为0.001,batch size 设置为64,学习率衰减设置为0.7,每50 轮衰减一次,共训练200 轮。检测结果如表7 所示。AF-CRIoU 在安全帽检测中mAP 达到73.43%,比CIoU、GIoU 和IoU 分别提升1.28%、3.26%和6.42%。

表7 检测精度对比Tab.7 Comparison of detection accuracy

图12 为后100 轮训练的损失收敛示意图。可以看出,当训练进行到第101 轮时,AF-CRIoU的收敛速度和收敛状态最好,其次分别为IoU、GIoU、CIoU。但是随着训练轮数的迭代,CIoU和AF-CRIoU 的收敛状况要优于IoU 和GIoU,这是因为二者都包含边界框中心点距离信息,加快了回归速度,并且AF-CRIoU 取消了对宽高比的回归,直接回归宽高的误差值,避免了CIoU 回归宽高比时出现回归阻碍的情况,从而可以收敛到一个更好的状态。自适应加权因子的引入,也使AF-CRIoU 在训练中受到低质量样本影响最小,从而收敛状态达到最好。

图12 后100 轮训练损失收敛情况Fig.12 Convergence of loss in the last 100 rounds of training

在安全帽检测数据集实验中,本文同时保存了后100 轮训练中的预测框与真实框的IoU 来评估AF-CRIoU 损失的性能。平均交并比(AVG_IoU)[27]是在语义分割中的评价指标,通过记录每轮的平均交并比,即每个类别真实框和预测框的平均IoU,根据平均IoU 的变化趋势来评估回归质量。在图13 中,经过200 轮回归后,AF-CRIoU 损失的平均IoU 总体保持在0.9 以上,而其他方法的平均IoU 均在小于0.9 以下的范围波动。这是因为AF-CRIoU 不但完善了中心点距离属性和及宽高属性,而且通过自适应加权的方式平衡了高低质量样本,降低了大量低质量样本对训练的影响,提高了边界框回归质量,使得预测框和真实框重叠面积更大,贴合程度更好。

图13 后100 轮平均交并比Fig.13 Average intersection ratio of the last 100 rounds

图14~图16 是随机选取测试集图片的检测效果图。其中红色框为未佩戴安全帽,绿色框为佩戴安全帽,紫色椭圆标记为漏检情况,粉色椭圆标记为误检情况。如图14 所示IoU 和GIoU 虽然正确检测到了目标,但是出现了误检情况,而且也并未完全将目标框选。而CIoU 和AF-CRIoU都精准地检测到了目标。但是对于目标的框选,AF-CRIoU 要优于CIoU。图15 中每个损失都检测到了目标,但是AF-CRIoU 的框选依然要比其他方法精准。图16 中目标较多,其中包含小目标和密集目标,IoU、GIoU、CIoU 均出现了一到两个目标漏检,而且对于目标的框选质量也很差。AF-CRIoU 虽然框选存在误差,但对于小目标和密集目标都能检测出来。综上结果可知,CIoU 和AF-CRIoU 二者都完善了回归属性,但是AFCRIoU 修改宽高比回归为误差回归,框选更为精准。AF-CRIoU 因为在训练中有自适应加权因子,使得其受负样本影响更小,可以收敛得更好,从而达到较好的检测精度。

图14 安全帽检测效果图1Fig.14 Effect diagram 1 of helmet detection

图15 安全帽检测效果图2Fig.15 Effect diagram 2 of helmet detection

图16 安全帽检测效果图3Fig.16 Effect diagram 3 of helmet detection

5 结 论

本文提出一种新型交并比的边界框损失函数,通过对IoU 损失函数的改进,引入带有距离信息和宽高比的惩罚项。以两框中点围成的矩形周长比值为距离惩罚项,避免了IoU 损失函数在两框不相交情况下损失值无法优化的缺点,防止GIoU损失函数在两框包围的特殊情况下退化为IoU损失的情景,加快了函数的收敛速度。同时引入宽高误差惩罚项,解决了CIoU 只回归宽高比时出现的回归阻碍情况,使损失值更加稳定,更加多样地反映边界框回归中的回归状态。结合Focal Loss 的加权思想解决了归回问题中样本质量不均衡所带来的函数收敛问题。本文将改进的ACRIoU 应用到非极大值抑制处理中,对比NMS提升了检测精度。实验结果表明,本文提出的AF-CRIoU 损失函数在单阶段和双阶段的目标检测算法中起到了提升精度和加快收敛的作用。在PASCAL VOC 2012 数据集和安全帽检测数据集上均有明显的精度提升,具有一定的实用价值。

猜你喜欢
中心点惩罚损失
胖胖损失了多少元
Scratch 3.9更新了什么?
神的惩罚
Jokes笑话
如何设置造型中心点?
玉米抽穗前倒伏怎么办?怎么减少损失?
惩罚
汉字艺术结构解析(二)中心点处笔画应紧奏
一般自由碰撞的最大动能损失
寻找视觉中心点