YOLOv5头部的分类任务和回归任务的共同分支会对训练过程造成伤害,分类得分与定位精度的相关性较低。我们提出了一种双iou感知解耦头(DDH),并将其应用于YOLOv5。改进后的模型命名为DDH-YOLOv5,在不显著增加FLOPS和参数的情况下,显著提高了模型的定位精度。在PASCAL VOC2007数据集上的大量实验表明,DDH-YOLOv5具有良好的性能。与YOLOv5相比,本文提出的DDH-YOLOv5m和DDH-YOLOv5l的平均精度(AP)分别提高了2.4%和1.3%。
由于YOLO系列的主干和特征金字塔(不断进化),它们的检测头保持耦合,如图1所示。YOLO检测头的结构。a) YOLO检测头使用来自颈部的特征映射。b)分类任务、回归任务和对象任务共用一个分支
然而,在耦合头中,分类和定位是两个不同的任务,但它们具有几乎相同的参数。
基于解耦头,我们将空间敏感热图如图2所示。第一列为原始图像,第二列为空间敏感的热图,用于分类,第三列为定位。越暖和,颜色越好。
这种基本任务在空间维度上的错位极大地限制了探测头的性能。换句话说,如果检测器试图从同一个空间点/锚推断分类分数和回归结果,它总是会得到一个不完美的权衡结果。
另一方面,分类子网络和定位子网络由独立的目标函数训练,彼此之间不存在关联。因此,在单级检测器中,分类分数与定位精度的相关性较低,严重影响了模型的定位精度。IoUaware retavanet也证明了这种低相关性会影响检测器的性能。
为了解决上述问题,本文基于YOLOv5提出了一种改进的模型DDH-YOLOv5。与YOLO检测头相比,双iou感知解耦头采用解耦头解决分类和定位任务之间的冲突,包括分类分支和回归分支。同时,回归分支中增加了一条感知ioU的路径,增强了检测结果中分类分数与定位精度之间的相关性。与YOLOv5相比,改进的DDH-YOLOv5具有更好的定位精度和更快的收敛速度。
在DyHead中,提出了一个检测头,用于在单个框架中实现尺度感知、空间感知和任务感知的注意。
在YOLOX中,将YOLO检测头替换为一个精简解耦头,它是分类分支和回归分支之前的1 × 1 Conv层,以降低通道维数。
YOLOF还应用了分类和回归分支,并为回归头部的每个锚点添加了隐式的对象性预测(没有直接监督)。
在Double-Head R-CNN中,提出了一种新的检测头,该检测头采用全连接头进行分类,并采用卷积头进行边界盒回归。
本文将YOLO检测头替换为双Iou感知解耦头(Double IoU-aware uncoupling head, DDH),提高了模型的定位精度和收敛速度。
如图3所示,DDH-YOLOv5的基线和neck与YOLOv5相同,但DDH-YOLOv5采用了双欠条感知解耦头(Double IoU-aware decoupling Head, DDH)作为预测头,提高了目标检测性能。
我们将图1中的YOLO检测头替换为图4中的双iou感知解耦头(Double IoU-aware decoupling head, DDH)。由图5可以看出,用双iou感知解耦头代替解耦头具有更快的收敛速度和更好的性能。实验证明,双iou感知解耦头结构的设计能够解决分类和回归任务之间的冲突,加快模型的收敛速度。
在介绍部分,我们提到了在单级检测器上分类分数和定位精度之间的相关性很低。在推理过程中,这种低相关性会以两种方式损害模型的平均精度(AP)。
首先,对检测项进行标准非最大抑制(standard non - maximum suppression, NMS)时,对所有检测项进行分类评分。分类分数最高的检测会抑制重叠度高于人工设置阈值的其他检测。因此,分类分数低但IoU高的检测会被分类分数高但IoU低的检测所抑制。其次,在计算平均精度(AP)时,根据分类分数对检测进行排序;分类分数低而欠条数高的检测,定位精度较高,但等级较低。
YOLOv5在计算Obj路径的二进制交叉熵损失(binary cross-entropy loss, BCE)时,将CIoU的最小值设置为0,这极大地限制了分类分数与定位精度之间的相关性。
IoU-aware loss (LI)采用二元交叉熵损失(BCE),只计算正例损失,如(1)所示。IoUi表示每个检测框的预测IoU,̂IoUi是(2)所示回归的正bi与对应的地真盒bi之间计算的目标IoU。是否计算LI相对于IoUi的梯度将影响模型的性能。由于在训练过程中计算了LI对IoÛi的梯度,因此可以将IoUaware路径的梯度反向传播到回归路径。这减少了预测IoU (IoUi)和目标IoU(̂IoUi)之间的差距,并使预测IoU与目标IoU更相关。
DDH-YOLOv5中,总损失如式(3)所示,Lo和Lc分别为YOLOv5的物性损失和YOLOv5的分类损失,Wc和Wo分别为Lo和Lc的权重系数,Lr为YOLOv5的回归损失,WI为LI的权重系数,Wr为Lr和LI共有的权重系数。
在推理过程中,如(4)所示,将分类分数Clsi乘以对象度分数Obji,并预测IoU IoUi作为每个被检测框的最终检测置信度Sdet。
上标†表示采用了TPH-YOLOv5[32]中的变压器预测头。上标‡表明使用了YOLOX[8]中的解耦头,其宽度系数与YOLOX相同。我们所有的训练和测试都使用512 × 512分辨率的PASCAL VOC2007数据集,并且训练时间表是“2倍”。
训练时总损失值和mAP值。这两个模型都应用了解耦头和双iou感知。Total loss和mAP用PASCAL VOC2007测量,NMS IoU阈值为0.6
顶部部分显示变形DETR[33]的结果。我们在640×640分辨率上训练和测试dhh - yolov5m,训练时间表是“1x”(12 epoch)和“3x”(36 epoch)
顶部显示了YOLOF[3]的结果。YOLOF采用ResNet-50作为骨干,带有R101或X101后缀的模型表示使用ResNet-101或RetNeXt-101-64× 4d作为骨干。我们在640×640分辨率上训练和测试dhh - yolov5,训练时间表是“1x”(12 epoch)
上面的部分显示了YOLOv4的结果。在608×608分辨率下对模型进行训练和测试,将模型转换为FP16半精度后测量推理时间,在2080Ti上测量FPS
本文针对YOLOv5检测头存在的问题,提出了一种基于YOLOv5的改进模型DDH-YOLOv5,包括解耦头以解决分类和定位任务之间的冲突,以及双iou感知路径以增强检测结果中分类分数和定位精度之间的相关性。在MS COCO2017数据集和PASCAL VOC2007数据集上的大量实验表明,双iou感知解耦头(Double IoU-aware 解耦头,DDH)能够显著提高模型性能,并且收敛速度更快。我们希望这份报告能够帮助开发人员和研究人员更好地体验单级物体检测器。