在目标检测中,正负样本分配策略通常用于训练期间为每个样本分配一个权重,以便模型模型更加关注困难的样本和重要的样本。
静态分配策略
在训练开始之前确定的,固定为一组预先定义的权重,这些权重不会在训练过程中改变,这种分配策略通常基于经验得出。不够灵活,可能无法充分利用样本 信息,导致训练效果不佳。
动态分配策略
可以根据训练的进展和样本的特点动态地调整权重。随着训练的进行,模型逐渐变得更加强大,可以更好地区分样本,因此应该逐渐减小困难样本的权重,同时增加易分样本的权重。缺点是会增加训练的计算量和时间成本,频繁的改正正负样本的比例,导致过拟合,结果难以复现。
simOTA
通过计算anchor和ground truth之间的相似度,动态分配正负样本。传统的目标检测算法中,通常使用 Iou 来度量 anchor 和 ground truth 之间的重叠程度,然后根据设定的阈值来判断是否将 anchor 分配为正样本或负样本。对于一些尺寸较小的目标,由于它们的 IoU 值通常比较低,因此很容易被分配为负样本,从而影响了检测性能。
simOTA的核心思想是:根据目标的相似度来确定正负样本的阈值,进而实现样本的自适应分配。首先将所有的目标两两配对,并计算它们的相似度得分,通过对相似度分数进行统计,得到一个阈值范围,用于确定正负样本的分配阈值。相似度得分越高,对应的Iou 阈值就越高,.样本就越容易被视为正样本;相反,相似度得分越低,对应的IoU 阈值就越低,样本就更容易被视为负样本。
优点是:能够更好的处理尺寸较小的目标,从而提高了检测性能。
YOLOv1
YOLOv1根据预测框与GT框的IOU值来进行正负样本分配。在训练过程中,每个网格会输出B个预测框,对于包含物体的网格,选择与GT框具有最大IOU的预测框作为正样本,忽略剩下的B-1个预测框。对于不包含物体的网格,其中的B个预测框都作为负样本。
由于在图像中不包含物体的网格占大多数,会导致正负样本不平衡,引入损失函数缓解这个问题。
YOLOv3
基于anchor和GT的IOU进行分配正负样本的。
每一个目标都只有一个正样本,max-iou matching策略,匹配规则为IOU最大(没有阈值),选取出来的即为正样本。IOU<0.2(人为设定阈值)的作为负样本,除了正负样本,其余的全部为忽略样本,正anchor用于分类和回归的学习,正负anchor用于置信度confidence的学习,忽略样本不考虑。
YOLOv4
在训练中,若只取一个IOU最大为正样本,则可能导致正样本太少,而负样本太多的正负样本不均衡问题,这样会大大降低模型的精确度。yolov4为了增加正样本,采用了multi anchor策略,即只要大于IoU阈值的anchor box,都统统视作正样本。利用max iou原则分配到不同的预测层yolo-head上去,然后在每个层上单独计算正负样本和忽略样本。不存在某个GT会分配到多个层进行预测的可能性,而是一定是某一层负责的。
YOLOv5
对每一个GT框,分别计算它与9种anchor的宽与宽的比值、高与高的比值;每个层级每个格子有三个anchor;在宽比值、高比值这2个比值中,取最极端的一个比值,作为GT框和anchor的比值;得到GT框和anchor的比值后,若这个比值小于设定的比值阈值,那么这个anchor就负责预测GT框,这个anchor的预测框就被称为正样本,所有其它的预测框都是负样本。
YOLOv8
-
在训练过程中动态的调整正负样本的分配比例,以更好的适应不同的任务和数据分布
-
基于一个关键的假设,即在不同的任务和数据集中,正负样本的分布情况可能会有所不同,因此需要针对具体的任务和数据分布,调整正负样本的分配比例,从而达到更好的检测效果。
提出了一种任务自适应的正负样本分配方法。
思路:
-
使用一个任务感知的分配模块来估计不同任务下正负样本的分布情况,并基于这个分布情况动态调整正负样本的分配比例。
-
首先计算每个 Anchor 和每个 Ground Truth Box之间的相似度,然后通过一个多任务学习框架,将相似度与正负样本标签的分布情况进行建模。
-
通过这个分布情况来动态地调整正负样本的分配比例,以更好地适应不同的任务和数据分布。
-
计算每个 Anchor 和每个 Ground Truth Box之间的IOU时,采用一个基于任务自适应的动态阈值来判断正负样本的分配
实现方法:
-
s和u分别为分类得分和 IoU 值,α 和 β为权重超参。
-
对每个实例,选择m个具有最大t值的Anchor作为正样本,选择其余的Anchor作为负样本。然后,通过损失函数(针对分类与定位的对齐而设计的损失函数)进行训练
YOLOv11
双标签分配策略:标签分配策略对于目标检测器来说是至关重要的。核心思想便是在训练阶段使用一对多的检测头提供更多的正样本来丰富模型的训练;而在推理阶段则通过梯度截断的方式,切换为一对一的检测头,如此一来便不在需要 NMS 后处理,在保持性能的同时减少了推理开销。
标签:样本,阈值,YOLO,分配,GT,正负,anchor From: https://blog.csdn.net/weixin_43826536/article/details/143000073