MPDIoU: A Loss for Efficient and Accurate Bounding Box Regression
MPDIoU:一个有效和准确的边界框损失回归函数
摘要
边界框回归(Bounding box regression, BBR)广泛应用于目标检测和实例分割,是目标定位的重要步骤。然而,当预测框与边界框具有相同的纵横比,但宽度和高度值完全不同时,大多数现有的边界框回归损失函数都无法优化。为了解决上述问题,我们充分挖掘水平矩形的几何特征,提出了一种新的基于最小点距离的边界框相似性比较指标MPDIoU,该指标包含了现有损失函数中考虑的所有相关因素,即重叠或不重叠区域、中心点距离、宽度和高度偏差,同时简化了计算过程。在此基础上,我们提出了基于MPDIoU的边界框回归损失函数,称为LMPDIoU。实验结果表明,MPDIoU损失函数应用于最先进的实例分割(如YOLACT)和基于PASCAL VOC、MS COCO和IIIT5k训练的目标检测(如YOLOv7)模型,其性能优于现有的损失函数。
关键词:目标检测,实例分割,边界框回归,损失函数
1.介绍
目标检测和实例分割是计算机视觉中的两个重要问题,近年来引起了研究者的广泛关注。大多数最先进的目标检测器(如YOLO系列[1,2,3,4,5,6],Mask R-CNN [7],Dynamic R-CNN[8]和DETR[9])依赖于边界框回归(BBR)模块来确定目标的位置。在此基础上,设计良好的损失函数对BBR的成功至关重要。目前,大多数BBR的损失函数可分为两类:基于n范数的损失函数和基于IoU的损失函数。
然而,现有的边界框回归的损失函数在不同的预测结果下具有相同的值,这降低了边界框回归的收敛速度和精度。因此,考虑到现有边界框回归损失函数的优缺点,受水平矩形几何特征的启发,我们尝试设计一种新的基于最小点距离的边界框回归损失函数LMPDIoU
本文的贡献可以概括为以下几点:
1.我们考虑了现有基于IoU的损失和n范数损失的优缺点,提出了一种基于最小点距离的IoU损失,称为LMPDIoU
2.在目标检测、字符级场景文本识别和实例分割任务上进行了大量的实验。出色的实验结果验证了所提出的MPDIoU损失函数的优越性。详细的消融研究显示了不同设置的损失函数和参数值的影响。
2.相关工作
2.1.目标检测和实例分割
在过去的几年里,来自不同国家和地区的研究人员提出了大量基于深度学习的目标检测和实例分割方法。综上所述,在许多具有代表性的目标检测和实例分割框架中,边界框回归已经被作为一个基本组成部分[14]。在目标检测的深度模型中,R-CNN系列[15]、[16]、[17]采用两个或三个边界框回归模块来获得更高的定位精度,而YOLO系列[2、3、6]和SSD系列[18、19、20]采用一个边界框回归模块来实现更快的推理。RepPoints[21]预测几个点来定义一个矩形框。FCOS[22]通过预测采样点到边界框的上、下、左、右的欧氏距离来定位目标。
对于实例分割,PolarMask[23]在n个方向上预测从采样点到物体边缘的n条射线的长度来分割一个实例。还有一些检测器,如RRPN[24]和R2CNN[25],通过旋转角度回归来检测任意方向的物体,用于遥感检测和场景文本检测。Mask R-CNN[7]在Faster R-CNN[15]上增加了一个额外的实例掩码分支,而最近最先进的YOLACT[26]在RetinaNet[27]上做了同样的事情。综上所述,边界框回归是用于目标检测和实例分割的最先进深度模型的关键组成部分。
2.2.场景文本识别
为了解决任意形状的场景文本检测和识别问题,ABCNet[28]及其改进版本ABCNet v2[29]使用BezierAlign将任意形状的文本转换为规则文本。这些方法通过纠错模块将检测和识别统一为端到端的可训练系统,取得了很大的进步。[30]提出了RoI Masking来提取任意形状文本识别的特征。与[30,31]类似,尝试使用更快的检测器进行场景文本检测。AE TextSpotter[32]利用识别结果通过语言模型指导检测。受[33]的启发,[34]提出了一种基于transformer的场景文本识别方法,该方法提供了实例级文本分割结果。
2.3.边界框回归的损失函数
一开始,在边界框回归中广泛使用的是n范数损失函数,它非常简单,但对各种尺度都很敏感。在YOLO v1[35]中,采用平方根w和h来缓解这种影响,而YOLO v3[2]使用2−wh。为了更好地计算真实边界框与预测边界框之间的差异,从Unitbox开始使用IoU loss[36]。为了保证训练的稳定性,Bounded-IoU loss[37]引入了IoU的上界。对于训练对象检测和实例分割的深度模型,基于IoU的度量被认为比ℓn范式更一致[38,37,39]。原始IoU表示预测边界框与真实边界框的相交面积和并集面积之比(如图1(a)所示),可表示为:
图1:现有边界盒回归指标的计算因子包括GIoU、DIoU、CIoU和EIoU
式中,Bgt
其中,C
其中ρ2(Bgt, Bprd)编辑为预测边界框中心点与真实边界框中心点之间的欧氏距离(如图1(b)中红色虚线所示)。C2编辑表示最小的封闭矩形的对角线长度(如图1(b)中所示的黑色虚线)。我们可以看到,LDIoU编辑的目标直接最小化了预测边界框中心点与真实边界框中心点之间的距离。但是,当预测边界框的中心点与真实边界框的中心点重合时,会退化为原始IoU。为了解决这一问题,提出了同时考虑中心点距离和纵横比的CIoU。CIoU的公式可以写成如下:
但是,从CIoU中定义的纵横比是相对值,而不是绝对值。针对这一问题,在DIoU的基础上提出了EIoU[41],其定义如下:
然而,如图2所示,当预测的边界框和真实边界框具有相同的宽高比,但宽度和高度值不同时,上述用于边界框回归的损失函数将失去有效性,这将限制收敛速度和精度。因此,考虑到LGIoU
然而,边界框回归的几何性质在现有的损失函数中并没有得到充分的利用。因此,我们提出了MPDIoU损失,通过最小化预测边界框和真实边界框之间的左上和右下点距离,以更好地训练目标检测、字符级场景文本识别和实例分割的深度模型。
图2:具有不同边界框回归结果的两种情况。绿框表示真实边界框,红框表示预测边界框。LGIoU
3.点距最小的并集交点
在分析了上述基于IoU的损失函数的优缺点后,我们开始思考如何提高边界框回归的精度和效率。一般来说,我们使用左上角和右下角点的坐标来定义一个唯一的矩形。受边界框几何特性的启发,我们设计了一种新的基于IoU的度量,称为MPDIoU,直接最小化预测边界框与真实边界框之间的左上和右下点距离。算法1总结了MPDIoU的计算。
综上所述,我们提出的MPDIoU简化了两个边界框之间的相似性比较,可以适应重叠或非重叠的边界框回归。因此,在2D/3D计算机视觉任务中使用的所有性能测量中,MPDIoU可以作为IoU的适当替代品。在本文中,我们只关注二维目标检测和实例分割,我们可以很容易地将MPDIoU作为度量和损失。扩展到非轴对齐的3D情况是留给未来的工作。
3.1 MPDIoU边界框回损失函数
在训练阶段,模型预测的每个边界框Bprd=[xprd, yprd, wprd,hprd]TBprd=[xprd, yprd, wprd,hprd]T
其中Bgt
因此,现有的边界框回归损失函数的所有因子都可以由四个点坐标确定。换算公式如下:
其中|C|
由式(10)-式(12)可知,现有损失函数中考虑的所有因素,如不重叠面积、中心点距离、宽度和高度偏差等,均可由左上点和右下点的坐标确定,说明我们提出的LMPDIoU
根据定理3.1,如果预测边界框和真实边界框的宽高比相同,则在真实边界框内的预测边界框的LMPDIoU
图3:我们提出的LMPDIoU
图4:具有相同长宽比但不同宽度和高度的预测边界框和真实边界框示例,其中k>1, k∈R
定理3.1.我们定义一个真实边界框为Bgt
Bgt
考虑真实边界框,Bgt是一个面积大于零的矩形,即Agt>0
当IoU=0
4.实验结果
我们通过将新的边界框回归损失LMPDIoU入最流行的2D目标检测器和实例分割模型(如YOLO v7[6]和YOLACT[26])来评估我们的边界框回归损失LMPDIoU。为此,我们用LMPDIoU
4.1 实验设置
实验环境可以概括为:内存为32GB,操作系统为windows 11, CPU为Intel i9-12900k,显卡为NVIDIA Geforce RTX 3090,内存为24GB。为了进行公平的比较,所有的实验都是用PyTorch实现的[54]。
4.2 数据集
我们训练了所有目标检测和实例分割基线,并报告了两个标准基准测试的所有结果,即PASCAL VOC[10]和Microsoft Common Objects in Context (MS COCO 2017)[11]挑战。他们的培训方案和评估的细节将在各自的章节中解释。
PASCAL VOC 2007&2012: PASCAL Visual Object Classes (VOC)[10]基准是用于分类、目标检测和语义分割的最广泛的数据集之一,它包含了大约9963张图像。训练数据集和测试数据集各占50%,其中来自20个预定义类别的目标用水平边界框进行标注。由于用于实例分割的图像规模较小,导致性能较弱,我们只使用MS COCO 2017进行实例分割结果训练。
MS COCO: MS COCO[11]是一个广泛使用的图像字幕、目标检测和实例分割的基准,它包含了来自80个类别的超过50万个带标注目标实例的训练、验证和测试集的20多万张图像。
IIIT5k: IIIT5k[12]是一种流行的带有字符级注释的场景文本识别基准,它包含了从互联网上收集的5000个裁剪过的单词图像。字符类别包括英文字母和数字。有2000张图像用于训练,3000张图像用于测试。
MTHv2: MTHv2[13]是一种流行的带有字符级标注的OCR基准。汉字种类包括简体字和繁体字。它包含了3000多幅中国历史文献图像和100多万汉字。
4.3评价指标
在本文中,我们使用了与MS COCO 2018 Challenge[11]相同的性能指标来衡量我们的所有结果,包括针对特定IoU阈值的不同类别标签的平均平均精度(mAP),以确定真阳性和假阳性。我们实验中使用的目标检测的主要性能指标是精度和mAP@0.5:0.95。我们报告IoU阈值的mAP值为0.75,如表中AP75所示。对于实例分割,我们实验中使用的主要性能度量是AP和AR,它是在不同的IoU阈值上平均mAP和mAR,即IoU ={.5,.55,…, .95}
所有的目标检测和实例分割基线也使用MS COCO 2017和PASCAL VOC 2007&2012的测试集进行了评估。结果将在下一节中显示。
4.4 目标检测实验结果
训练策略。我们使用了由[6]发布的YOLO v7的原始Darknet实现。对基准结果(使用GIoU loss进行训练),我们在所有实验中选择DarkNet-608作为主干,并使用报告的默认参数和每个基准的迭代次数严格遵循其训练策略。为了使用GIoU, DIoU, CIoU, EIoU和MPDIoU损失来训练YOLO v7,我们只需将边界框回归IoU损失替换为2中解释的LGIoU
图5:MS COCO 2017[11]和PASCAL VOC 2007[10]测试集的目标检测结果,使用(从左至右)LGIoU
表1:使用自身损失LGIoU
按照原始代码的训练方法,我们在数据集的训练集和验证集上使用每个损失训练YOLOv7[6],最多可达150 epoch。我们将早停机制的patience设置为5,以减少训练时间,保存性能最好的模型。在PASCAL VOC 2007&2012的测试集上对每个损失使用最佳检查点的性能进行了评估。结果见表1。
4.5 字符级场景文本识别的实验结果
训练方法。我们在目标检测实验中使用了类似的训练方案。按照原始代码的训练协议,我们在数据集的训练集和验证集上使用每个损失训练YOLOv7[6],最多30个epoch。
使用IIIT5K[12]和MTHv2[55]的测试集对每次损失使用最佳检查点的性能进行了评估。结果见表2和表3。
图7:使用(从左至右)LGIoU
表2:使用自身损失LGIoU
4.6 实例分割的实验结果
训练方法。我们使用了最新的PyTorch实现的YOLACT[26],由加州大学发布。对于基准结果(使用LGIoU训练),我们在所有实验中选择ResNet-50作为两个YOLACT的骨干网络架构,并使用报告的默认参数和每个基准的迭代次数遵循其训练协议。为了使用GIoU, DIoU, CIoU, EIoU和MPDIoU损失来训练YOLACT,我们用2中解释的LGIoU
如图8(c)所示,将LGIoU
与上述实验类似,使用LMPDIoU
图9:MS COCO 2017[11]和PASCAL VOC 2007[10]测试集的实例分割结果,使用(从左至右)LGIoU
我们还比较了不同回归损失函数下YOLACT训练期间边界框损失和AP值的变化趋势。如图8(a)、(b)所示,使用LMPDIoU
表4:YOLACT的实例分割结果[26]。我们使用LGIoU
本文引入了一种基于最小点距的MPDIoU度量,用于比较任意两个边界框。我们证明了这个新指标具有现有基于IoU的指标所具有的所有吸引人的属性,同时简化了其计算。在2D/3D视觉任务的所有性能测量中,这将是一个更好的选择。
我们还提出了一个称为LMPDIoU
对于未来的工作,我们希望在一些基于目标检测和实例分割的下游任务上进行进一步的实验,包括场景文本识别、人物再识别等。通过以上实验,我们可以进一步验证我们提出的损失函数的泛化能力。