论文笔记:YOLOX

论文:

https://arxiv.org/pdf/2107.08430.pdf

参考:

如何评价旷视开源的YOLOX,效果超过YOLOv5? - 知乎

YOLOX深度解析 - 知乎

​​​​​​YOLOX深度解析(二)-simOTA详解 - 知乎

改进点:

各种tricks组合,效果很好

Decoupled head

加快收敛速度、提高AP

论文笔记:YOLOX_第1张图片

Strong data augmentation

add Mosaic and MixUp into our augmentation strategies to boost YOLOX’s per- formance.

Anchor-free

YOLO5还是anchor-based

Multi positives

YOLOv3仅采样中心点的一个正样本,忽略其他高质量样本。

YOLOX将中心3X3的区域都认为是正样本,每个gt从YOLOv3的1个正样本增长到9个正样本。

SimOTA

OTA充分考虑了以下四个因素:

1). loss/quality aware:基于网络自身的预测来计算anchor point 与 gt 的匹配关系,充分考虑到了不同结构/复杂度的模型可能会有不同行为,是一种真正的 dynamic 样本匹配。而 loss aware 后续也被发现对于 DeTR 和 DeFCN 这类端到端检测器至关重要。与之相对的,基于 IoU 阈值 /in Grid(YOLOv1)/in Box or Center(FCOS) 都属于依赖人为定义的几何先验做样本匹配,目前来看都属于次优方案。

2). center prior:将正样本限定在目标中心的一定区域内做 loss/quality aware 样本匹配能很好地解决收敛不稳定的问题。

3). dynamic number of positive anchors for each ground-truth (abbreviated as dynamic top-k):不同目标设定不同的正样本数量( dynamic k )

4). global view:有些 anchor box/point 处于正样本之间的交界处、或者正负样本之间的交界处,这类 anchor box/point 的正负划分,甚至若为正,该是谁的正样本,都应充分考虑全局信息

但因为有Sinkhorn-Knopp algorithm快速迭代,会导致运算时间长。

simOTA

去掉了 OTA 里的最优方案求解过程,保留上面 4 点的前 3 点。simplify it to dynamic top-k strategy to get an approximate solution.

可以自动分析每个gt需要多少正样本,自动决定每个gt从那些特征图中来

1.确定正样本候选区域

2.计算每个样本对每个GT的Reg+Cls loss

3.使用每个GT的预测样本确定它需要分配到的正样本数

       获取与当前GT的top10 最大IOU的pred结果,sum(top10)=当前GT的dynamic k

4.为每个GT取loss(cost)最小的前dynamic k个样本为正样本,其余为负样本。

5.人工去掉同一个样本被分配到多个GT的正样本情况

更好的分配策略应该摆脱对每个gt对象进行最优分配的惯例,而转向全局最优的思想,换句话说,为图像中的所有gt对象找到全局的高置信度分配。(和DeTR中使用使用匈牙利算法一对一分配有点类似)

你可能感兴趣的:(label,assignment,SOTA_OD,目标检测)