YOLO涨点Trick | 超越CIOU/SIOU,Wise-IOU让Yolov7再涨1.5个点!

文章介绍了WiseIoU,这是一种用于目标检测的边界框回归损失函数,旨在解决低质量样本对模型定位性能的影响。通过动态非单调聚焦机制,WiseIoU能更好地处理训练数据中的低质量样本,提高模型的本地化性能。在应用到YOLOv7上时,WiseIoU在MS-COCO数据集上的AP75指标上提升了1.47个百分点,显示出优于现有方法的性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作者 | 小书童 编辑 | 集智书童

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心【目标检测】技术交流群

后台回复【2D检测综述】获取鱼眼检测、实时检测、通用2D检测等近5年内所有综述!

3f0fb669c0e87298071e7838b7e39786.png

边界框回归(BBR)的损失函数对于目标检测至关重要。它的良好定义将为模型带来显著的性能改进。大多数现有的工作假设训练数据中的样本是高质量的,并侧重于增强BBR损失的拟合能力。如果盲目地加强低质量样本的BBR,这将危及本地化性能。

Focal EIoU v1被提出来解决这个问题,但由于其静态聚焦机制(FM),非单调FM的潜力没有被充分利用。基于这一思想,作者提出了一种基于IoU的损失,该损失具有动态非单调FM,名为Wise IoU(WIoU)。当WIoU应用于最先进的实时检测器YOLOv7时,MS-COCO数据集上的AP75从53.03%提高到54.50%。

1、简介

YOLO系列的实时检测器已经得到大多数研究人员的认可,并自其问世以来应用于许多场景。例如YOLOv1,它构建了一个由BBR损失、分类损失和目标损失加权的损失函数。直到现在,这种构造仍然是目标检测任务最有效的损失函数范式,其中BBR损失直接决定了模型的定位性能。为了进一步提高模型的本地化性能,设计良好的BBR损失至关重要。

1.1、损失

对于 anchor box ,其中的值对应于边界框的中心坐标和宽高。类似地,描述目标框的特性。

YOLOv1和YOLOv2在BBR损失的定义上非常相似。其中YOLOv2将BBR损失定义为:

b5868ea90983fc6fcba3a3ca44f40ed9.png

但是,这种形式的损失函数并不能屏蔽边界框大小的干扰,使得YOLOv2对小目标的定位性能较差。虽然YOLOv3构建了,试图减少模型对大目标的关注,但这种BBR损失给模型带来的定位性能仍然非常有限。

1.2、IOU

在目标检测任务中,使用IoU来测量anchor box与目标box之间的重叠程度。它以比例的形式有效地屏蔽了边界框大小的干扰,使该模型在使用(Eq2)作为BBR损失时,能够很好地平衡对大物体和小物体的学习。

5f19986d4c7f37a04b6df2c3a91d417f.png

然而,有另一个致命缺陷,可在方程3中观察到当边界框之间没有重叠时(),的反向投影梯度消失。因此,在训练期间无法更新重叠区域(图1)的宽度。

93ed2e4898334ac584ce5d9ab8783fd5.png

现有的工作GIOU、DIOU、Focal EIOU、CIOU以及SIOU中考虑了许多与边界框相关的几何因子,并构造了惩罚项来解决这个问题。现有的BBR损失遵循以下范例:

91961673a3712fbd25ba16187b76a2d0.png

1.3、Focusing机制

f3b9177a818ef527d75da872a150d589.png

图2显示了训练数据中一些低质量的例子。当一个性能良好的模型为低质量的例子生产高质量的anchor box时,它将产生大的。如果单调FM分配这些anchor box较大的梯度增益,模型的学习将受到损害。

在Focal EIOU中,FifanZhang等人提出了使用非单调调频的Focal EIOU v1。Focal-EIoU v1的FM 是静态的,它指定了anchor box的边界值,使等于边界值的anchor box具有最高的梯度增益。Focal-EIoU v1没有注意到anchor box的质量评价反映在相互比较中没有充分利用非单调调频的潜力。

最终通过估计anchor box的离群值来定义一个动态FM β为β。本文的FM通过分配小质量的梯度增益,使BBR能够专注于普通质量的anchor box。同时,该机制将较小的梯度增益分配给β较大的低质量anchor box,有效地削弱了低质量示例对BBR的危害。

作者将这样的FM与基于IoU的损失结合起来,并称之为Wise-IoU(WIoU)。为了评估提出的方法,作者将WIoU纳入到了最先进的实时检测器YOLOv7中。

主要贡献总结如下:

  1. 提出了BBR的基于注意力的损失WIoU v1,它在仿真实验中实现了比最先进的SIoU更低的回归误差。

  2. 设计了具有单调FM的WIoU v2和具有动态非单调FM的WIoU v3。利用动态非单调FM的明智的梯度增益分配策略,WIoU v3获得了优越的性能。

  3. 对低质量的样本的影响进行了一系列详细的研究,证明了动态非单调调频的有效性和效率。

2、相关工作

2.1、回归损失函数

为了补偿l2-范数损失的尺度敏感性,YOLOv1通过对边界框的大小进行平方根变换来削弱大边界框的影响。YOLOv3提议构建一个惩罚项来降低大目标框的竞争力。然而,l2-范数损失忽略了边界框属性之间的相关性,使得这种类型的BBR损失的效果较差。

为了解决IoU损失的梯度消失问题,GIoU使用了由最小的封闭框构造的惩罚项。DIoU使用由距离度量构造的惩罚项,而CIoU是通过添加基于DIoU的高宽比度量得到的。而SIoU构建了具有角度惩罚、距离惩罚和形状惩罚的IOU损失,具有更快的收敛速度和更好的性能。

2.2、带有FM的损失函数

交叉熵损失在二值分类任务中被广泛地应用。然而,这个损失函数的一个显著特性是,即使是简单的样本也会产生很大的损失值,与困难的样本竞争。林等人提出了单调FM的focal loss,有效地降低了简单样本的竞争力。

在Focal-EIoU中,Zifan等人提出了非单调调频的 Focal-EIoU v1和单调调频的 Focal-EIoU v1。在实验中,单调调频比非单调调频是一个更好的选择。

Focal-EIoU v1的FM是静态的,它规定了anchor box的质量划分标准。当anchor box的IoU损失等于界值时,得到了anchor box的最高梯度增益。由于没有注意到anchor box的质量评价反映在相互比较中,因此它没有充分利用非单调调频的潜力。

3、本文方法

3.1  模拟实验

为了初步比较BBR的各损失函数,使用了DIOU中提出的模拟实验进行评价。以7个宽高比(即1:4、1:3、1:2、1:1、2:1、3:1、4:1)生成目标框(面积1/32)。在以半径为r的(0.5,0.5)为中心的圆形区域中,均匀产生 Anchor。同时,为每个Anchor放置49个7个比例(即1/32、1/24、3/64、1/16、1/12、3/32、1/8)和7个长宽比(即1:4、1:3、1:2、1:1、2:1、3:1、4:1)的anchor box。每个anchor box需要映射到每个目标框上,有个回归样本。为了比较不同时期的收敛速度,建立了以下实验环境:

f763b9a2304e1320cc64ec36d6fc6f11.png
  1. r = 0.5,anchor box分布在目标框覆盖区域内外(图4a),对应于BBR中的所有情况。

  2. r = 0.1,anchor box在目标框的覆盖范围内生成(图4b),对应于BBR中的主要情况。

作者还将损失值定义为整体回归情况,并使用梯度下降算法对其进行优化,学习率为0.01。

3.2 梯度消失问题的求解

1、DIoU

郑辉等将定义为两个边界框中心点之间的归一化距离:

5c494fd57682ef845b5e48ebca1dcf41.png

这个项不仅解决了的梯度消失问题,而且还可以作为一个几何因子。允许DIoU在面对具有相同的anchor box时做出更直观的选择。

ba80b14b17a95e84c48bec60b787255b.png

同时,为最小的封闭盒的大小提供了一个负的梯度,这将使和增加,阻碍anchor box与目标框之间的重叠。然而,不可否认的是,距离度量确实是一个非常有效的解决方案,并成为SIOU的必要度量。在此基础上,张一凡等人增加了对距离度量的惩罚,并提出了EIoU:

405afe8fd3596bbb1231fb6382bfa1f6.png

2、CIoU

f6d813f1c3906bb8f330dd23c9ed5e86.png

在的基础上,郑辉等增加了高宽比的考虑,并提出了:

9ad2b73480bb610aa4daa5f28aa9bf09.png

其中,描述了长宽比的一致性:

c04671eeac5898ef289aecddd1d58fd3.png

Yifan Zhang等人认为,DIoU的不合理之处在于,这意味着不能为anchor box的宽度w和高度h提供相同符号的梯度。在之前对DIoU的分析中,可以看出将产生负的梯度(方程式6)。当该负梯度恰好抵消了在anchor box上生成的梯度时,anchor box将不会被优化。CIoU对纵横比的考虑将打破这一僵局(图3b)。

3、SIoU

Zhora证明了中心对准anchor box具有更快的收敛速度,并根据角度成本、距离成本和形状成本构造了SIoU。

角度成本描述了中心点连接(图1)与x-y轴之间的最小角度:

efd5b4385134004b55327af4111420ac.png

当中心点在x轴或y轴上对齐时,Λ = 0。当中心点连接到x轴45°时,Λ = 1。这一惩罚可以引导anchor box移动到目标框的最近的轴上,减少了BBR的总自由度数。

距离惩罚描述了中心点之间的距离,其惩罚代价与角度代价呈正相关。距离成本的定义为:

fa9f3ee58216d1fcc04537d1812a9fdc.png

形状成本描述了边界框之间的大小差异。当边界框的大小不一致时,请使用Ω ≠ 0,并将其定义为:

e4bbf0225f175db3dd7d454f6f4e5717.png

与相似,它们都包括距离成本和形状成本:

acd07127d1c100db5b8d3533953da1ee.png

由于对距离度量的惩罚随着形状成本的增加而增加,因此由SIoU训练的模型具有更快的收敛速度和更低的回归误差。

3.3、本文方法

7c80c1fd0f1eecad6be00bfd045e5f4c.png

由于训练数据不可避免地包含低质量示例,几何因素(如距离和纵横比)将加重对低质量示例的惩罚,从而降低模型的泛化性能。当anchor box与目标盒很好地重合时,一个好的损失函数应该会削弱几何因素的惩罚,而较少的训练干预将使模型获得更好的泛化能力。基于此,我们构建了距离注意力(方程17),并获得了具有两层注意力机制的WIoU v1:

  • ,这将显著放大普通质量anchor box的LIoU。

  • ,这将显著降低高质量anchor box的,并在anchor box与目标框重合时,重点关注中心点之间的距离。

4560fa605186816c6c7be5b3dfac6595.png

其中,、是最小封闭框的大小(图1)。为了防止产生阻碍收敛的梯度,和从计算图中分离出来(上标*表示此操作)。因为它有效地消除了阻碍收敛的因素,所以没有引入新的度量,例如纵横比。

7ee80ab53414bedfe68c5d139dc48f03.png

通过III-A中提到的模拟实验,比较了没有FMs的BBR损失的性能。从图6的结果中有以下观察结果:

  1. 在现有工作中提到的一系列BBR损失中,SIoU的收敛速度最快。

  2. 对于BBR中的主要情况,所有的BBR损失都具有极相似的收敛速率。由此可见,收敛速度的差异主要来自于非重叠的边界框。本文提出的基于注意力的WIoU v1在这方面的效果最好。

1、Learning from focal loss

focal loss为交叉熵设计了单调FM,这有效地减少了简单示例对损失值的贡献。因此,该模型可以专注于困难样本并获得分类性能改进。类似地,作者构造了的单调聚focusing系数。

971e1e0dcacc46885d0b595cf0db7162.png

由于focusing系数的增加,WIoU v2反向传播的梯度也发生了变化:

5fb758a99dcba31e194a2f0661a663a8.png

注意,梯度增益为。在模型的训练过程中,梯度增益随着的减小而减小,导致训练后期的收敛速度缓慢。因此,引入的平均值作为归一化因子:

77a031dea1bdd20222843ce662360d00.png

其中是动量m的运行平均值。动态更新归一化因子将梯度增益保持在较高水平,这解决了训练后期收敛缓慢的问题。

2、Dynamic non-monotonic FM

anchor box的异常程度由与的比率表示:

bcb7d61c638196a854670a87eaabcfb9.png

较小的异常度意味着anchor box质量较高。为其分配了一个小的梯度增益,以便将BBR聚焦在普通质量的anchor box上。此外,将小的梯度增益分配给具有大离群度的anchor box将有效地防止来自低质量样本的大的有害梯度。使用β构建非单调Focusing系数,并将其应用于WIoU v1:

df57d25f561f1e648cbd516a67c5ff60.png

其中,当β=δ时,δ使r=1。如图8所示,当anchor box的离群度满足β=C(C为常数)时,anchor box将获得最高的梯度增益。由于是动态的,anchor box的质量分界标准也是动态的,这使得WIoU v3能够在每一刻都制定最符合当前情况的梯度增益分配策略。

ab1175dbed4dc20347581cdba4da24b4.png

为了防止在训练的早期阶段留下低质量的anchor box,初始化=1,使=1的anchor box享有最高的梯度增益。为了在训练的早期阶段保持这种策略,有必要设置一个小的动量m,以延迟接近真实值的时间。对于数据批数为n的训练,我们建议将动量设置为:

557745873de1597c553e5a0cb70f8840.png

该设置使训练t个阶段后的。

在训练的中后期,WIoU v3为低质量anchor box分配较小的梯度增益,以减少有害梯度。同时,它还专注于普通质量的anchor box,以提高模型的本地化性能。

4、实验

4.1、消融实验

将FMs应用于BBR损失,以研究FMs对附加损失的影响。这些BBR损失的版本2使用了γ = 0.5的设置,以与Focal-EIoU的单调FM对齐。

通过比较BBR损失的版本2和原始版本(表I),可以知道单调的FM对SIoU和EIoU的性能都有负面影响。由于这两种方法对距离度规的惩罚作用更强,因此在单调调频的作用下合成了更大的有害梯度。CIoU和WIoU v1对距离度量的惩罚较小,这使得它们有效地削弱了单调FM对有害梯度的放大。

608ef0730a5e3d3366afb37cd46be615.png

通过比较BBR损耗的版本3和原始版本(表I),可以知道非单调FM可以有效地提高BBR损失的性能。对于每个BBR损失,都有一组唯一的参数,可以最大化这种性能增益。

3bb9feac1f8631cdfa1fe17ef3f6d8ce.png

此外,还比较了anchor box的回归结果(图5)。具有单调FM的WIoU v2受到低质量样本的影响,导致预测结果较差,WIoU v3受益于动态非单调FM,它有效地屏蔽了低质量样本的影响,并实现了理想的预测。

4.2、消融实验分析

在表一中,BBR损失的原始版本的性能排名为:EIoU > SIoU > CIoU > WIoU v1。这样的命令也符合对距离度量的惩罚的强度。然而,当应用FMs时,BBR损失的性能增益的顺序则相反。在进行的实验中,由WIoU v3训练的模型取得了最好的性能。

9f3efbc0fe0293ef5d8e64f53f6eedc0.png

在训练过程中监测YOLOv7精度的变化(图9)。由于动态非单调调频,提出的WIoU v3在训练过程中有效地屏蔽了许多负面影响,因此模型的精度可以更快地提高。

e243aca77430eb510c3a08faea4e8786.png

将WIoU v3与最先进的BBR损失进行了比较,并获得了精度差异较大的几个类别(表II)。受益于识别低质量样本的能力,WIoU v3训练的模型大大提高了某些类别的精度。同时,该模型对飞机和长椅的精度也有所下降。

2e19d9135d2f9267b66f18ca20ffd660.png

作者注意到,一些飞机的标签存在争议(图7),而一些被选择的飞机缺乏突出的特征,如机身。这些例子和低质量的样本一样难以学习,而这部分困难的样本被WIoU v3的FM抛弃了。此外,在板凳的标签上有大量的错误,也有大量的板凳没有被标注。这对于能够很好地推广和检测到更多长凳的模型来说是不公平的。

在有限的参数下学习适当的知识是实时探测器成功的关键。WIoU v3通过权衡对低质量样本和高质量样本的学习情况,提高了模型的整体性能。

5、参考

[1].Wise-IoU: Bounding Box Regression Loss with Dynamic Focusing Mechanism.

### 关于WISE-IOUYOLOV10的技术细节 目前关于YOLO系列算法的发展,最新的公开资料主要集中在YOLOv7及其之前的版本上[^3]。对于YOLOv10以及其中提到的WISE-IOU机制,在现有文献和技术社区讨论中尚未有官方发布的信息或详细的实现说明。 #### WISE-IOU的概念推测 基于现有的YOLO改进路径和其他目标检测框架中的创新,可以合理推测WISE-IOU可能是针对特定应用场景优化的一种交并比(IOU)计算方式或是损失函数的一部分。传统IOU用于衡量预测框与真实框之间的重叠程度,而WISE-IOU可能引入了更复杂的权重分配策略来提升模型性能。 #### 实现细节假设 考虑到YOLO家族一贯追求高效实时性的特WISE- **自适应调整**:根据不同类别物体尺寸动态调节IOU阈值。 - **加权方案**:给予某些区域更高的惩罚系数以改善边界定位精度。 - **多尺度融合**:结合不同层次特征图上的匹配情况综合评价候选框质量。 然而以上仅为理论层面的猜测,具体到代码级实现则需等待官方文档公布或者开源项目更新才能确认。 ```python def calculate_wise_iou(pred_box, gt_box): """ 计算两个边框间的WISE IOU分数 参数: pred_box (list): 预测边框[x_min,y_min,x_max,y_max] gt_box (list): 真实边框[x_min,y_min,x_max,y_max] 返回: float: WISE IOU得分 """ # 这里仅提供了一个简单的IOU计算模板, # 对于WISE-IOU的具体逻辑还需依据实际定义补充完善 inter_area = max(0,min(pred_box[2],gt_box[2])-max(pred_box[0],gt_box[0])) * \ max(0,min(pred_box[3],gt_box[3])-max(pred_box[1],gt_box[1])) union_area = ((pred_box[2]-pred_box[0])*(pred_box[3]-pred_box[1]) + (gt_box[2]-gt_box[0])*(gt_box[3]-gt_box[1]) - inter_area) iou_score = inter_area / union_area if union_area != 0 else 0. wise_iou_adjustment_factor = get_adjustment_factor_based_on_context() final_wise_iou = apply_weighting_scheme(iou_score, wise_iou_adjustment_factor) return final_wise_iou ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值