如有错误,恳请指出。


文章目录

  • 1. Introduction
  • 2. YOLOX
    • 2.1 YOLOv3 baseline
    • 2.2 Decoupled head
    • 2.3 Strong data augmentation
    • 2.4 Anchor-free
    • 2.5 Multi positives
    • 2.6 SimOTA
  • 3. Result

paper:YOLOX: Exceeding YOLO Series in 2021

摘要:

作者将YOLO检测器切换为anchor_free方式,并且结合了一些先进的检测测量,比如一个解耦的检测器头部以及一个标签分配策略SimOTA。

ps:作者用一个YOLOX-L模型赢得了流感知挑战(2021年CVPR自动驾驶研讨会)的第一名

1. Introduction


YOLO系列始终追求实时应用的最佳速度和精度取舍,提取了当时可用的最先进的检测技术(例如,anchor用于YOLOv2,残差网络用于YOLOv3),并优化最佳实践的实现。

然而在过去的两年中,目标检测学术界的主要进展集中在anchor_free检测器,高级标签分配策略和端到端(NMS-free)检测器,这些研究成果还没有被集成在YOLO系列中,YOLOv4和YOLOv5目前还是使用了anchor_based及手动的指定训练分配规则(比如anchor相关的设置)。

作者还认为,YOLOv4和YOLOv5中对anchor有点过度的优化,所以重新将YOLOv3-SPP版本作为优化起点。原因是,YOLOv3由于计算资源有限,在各种实际应用中软件支持不足,仍然是行业中应用最广泛的探测器之一。

对于COCO数据集中640x640的分辨率大小达到了47.3%的mAP效果。而且,如果使用YOLOv5的backbone以及添加上一个PAN检测头,YOLOX-L达到了50%的mAP效果,如图所示:

2. YOLOX


在一开始时文章介绍了一些参数的设置,包括学习率,epochsize等等,这里跳过。作者将YOLOv3+Darknet53作为基准。

2.1 YOLOv3 baseline

采用Darknet53+SPP结构为基准,改变了一点学习的策略,增加EMA权重更新,余弦lr调度调整,IoU损失和IoU感知分支。对于分类与目标分支采用二值交叉熵损失,对于回归分支采用IoU损失。

在数据增强方面,作者只采用了RandomHorizontalFlip,ColorJitterand及多尺度,抛弃了RandomResizedCrop策略,因为作者举得这与Mosaic的数据增加有点重叠。

以上策略作为YOLOX的baseline,mAP为38.5%

2.2 Decoupled head

在目标检测中,分类任务与回归任务之间的冲突是一个的问题,因此用于分类和定位的检测头一般被解耦应用在于大多数探测器中。但是由于YOLO系列与FPN结构的不断进化,YOLO系列的检测头保持耦合。

实验证明,耦合的检测头会损害检测器性能:
1)将YOLO的头部替换为解耦的头部,极大地提高了收敛速度
2)解耦头对于YOLO的端到端版本至关重要

由图可见,收敛速度确实快很多。

因此,作者将YOLO检测头替换为的lite解耦头,如图2所示:

效果带来了提升,但是在推断过程中会有1.1ms的延迟。

2.3 Strong data augmentation

作者将Mosaic和MixUp添加到数据增强策略中,以提高YOLOX的性能,而且在最后的15个epoch中关闭这个训练策略。

在使用了以上的数据增强方式后,作者发现ImageNet的预训练没有带来收益,所以作者从头开始训练所有以下模型。

2.4 Anchor-free

基于anchor的方法hi带来许多问题:
1)为了达到最优的检测性能,需要在训练前进行聚类分析,确定一组最优的锚点。那些聚集的锚点是特定领域的,不太一般化。
2)锚框的机制增加了检测头的复杂性,以及每幅图像的预测数量。在设备之间移动如此大量的预测可能会成为整体延迟方面的潜在瓶颈。

而anchor_free的方法降低了设计量,需要启发式调整和许多技巧(比如Anchor Clustering,Grid Sensitive),简化了训练与编码阶段。

将YOLO系列转化为Anchor-free,思想就是对于特征图上的每个点直接预测4个值(网格左上角的两个偏移量,以及预测框的高度和宽度,根据这4个值确定回归框),将每个物体的中心位置指定为阳性样本,并预先定义一个刻度范围,为每个FPN层级进行指定。

2.5 Multi positives

对于对象中心点的3x3的范围定义为正样本,也就是说如果某个特征点预测的4个值所构成的边界框的中心点在这个3x3的范围中时,其会被确认为正样本。而对于多个正样本中只会选择其中的一个作为候选框。

而在优化这些高质量的预测框时有可能带来有益的梯度,这可能会缓解训练中正负样本的极端不平衡。

2.6 SimOTA

作者对标签分配总结出了4个关键点:
1)loss/quality aware
2)center prior
3)dynamic top-k:对于每个ground-truth的动态正锚框数量
4)global view:全局视图
SimOTA满足以上的所以要求

OTA从全局角度分析标签分配,并将分配过程表述为最优运输(Optimal Transport ,OT)问题。在实践中作者发现,通过Sinkhorn-Knopp算法解决OT问题会带来25%的额外训练时间,因此作者将其简化为dynamic top-k策略,命名为SimOTA,以得到近似解。

SimOTA首先计算成对匹配度,表示为每个预测gt对的成本或质量。在SimOTA中,ground-truth与预测框之间的成本计算为:
cij=Lijcls+λLijregc_{ij} = L_{ij}^{cls} + \lambda L_{ij}^{reg} cij​=Lijcls​+λLijreg​
其中,LijclsL_{ij}^{cls}Lijcls​与LijregL_{ij}^{reg}Lijreg​分别表示ground-truth与预测框之间分类损失与回归损失。

对于每个ground-truth,选择在固定中心区域内代价最小的topk预测作为正样本。最后,将这些正预测对应的栅格赋为正,其余栅格赋为负。

3. Result


  • 与YOLOv5的对比:
  • 轻量级版本(YOLOX-Tiny,YOLOX-Nano)与其他轻量级的对比:
  • 与SOTA的对比:

总结:

作者为YOLO系列结合了比较先进的检测技术,比如:解耦检测头、anchor_free(逐像素点预测思想)、先进的标签分配策略。YOLOX在速度和精度之间实现了比其他所有模型尺寸的对手更好的权衡。

论文阅读笔记 | 目标检测算法——YOLOX相关推荐

  1. 论文阅读笔记 | 目标检测算法——SAPD算法

    如有错误,恳请指出. 文章目录 1. Introduction 2. Soft Anchor-Point Detector 2.1 Detection Formulation with Anchor ...

  2. 论文阅读笔记 | 目标检测算法——FSAF算法

    如有错误,恳请指出 文章目录 1. Introduction 2. FSAF Module 2.1 Network Architecture 2.2 Ground-truth and Loss 2.2 ...

  3. 论文阅读笔记 | 目标检测算法——PP-YOLOv2

    如有错误,恳请指出. 文章目录 1. Introduction 2. Revisit PP-YOLO 2.1 Pre-Processing 2.2 Baseline Model 2.3 Trainin ...

  4. 论文阅读笔记 | 目标检测算法——PP-YOLO

    如有错误,恳请指出. 文章目录 1. Introduction 2. Related Work 3. PP-YOLO 3.1 Architecture 3.1.1 Backbone 3.1.2 Det ...

  5. 论文阅读笔记 | 目标检测算法——Libra R-CNN算法

    如有错误,恳请指出. 文章目录 1. Introduction 1.1 Sample level imbalance 1.2 Feature level imbalance 1.3 Objective ...

  6. 论文阅读笔记 | 目标检测算法——Cascade R-CNN算法

    如有错误,恳请指出. 文章目录 1. Introduction 2 Related Work 2.1 iterative bounding box regression 2.2 Integral Lo ...

  7. 【论文阅读】目标检测中的分类回归特征解耦

    论文来源:知网 以下仅仅是学习过程中的部分笔记,用作自己复习. 摘要 ..... 目标检测不仅需要判别图像中存在的目标的类别,还需要回归目标在图像中的位置. 特征耦合具体表现:分类和回归部分的网络共享 ...

  8. keras cnn注意力机制_2019 SSA-CNN(自注意力机制)目标检测算法论文阅读笔记

    背景 <SSA-CNN Semantic Self-Attention CNN for Pedestrian Detection>是2019 的工作,其作者来自于南洋理工.这篇文章主要是做 ...

  9. 2019 sample-free(样本不平衡)目标检测论文阅读笔记

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自知乎,已获作者同意转载,请勿二次转载 (原文地址:https://zhuanlan.zhihu.com/p/100052168) 背景 < ...

最新文章

  1. 这才是Matlab的正确打开方式!——Matlab矩阵、绘图、函数计算与数据读取
  2. 浅谈三维点云中的几何语义
  3. android ndk jni so,Android Studio Ndk So 文件
  4. Monotonic Renumeration
  5. JavaScript实现设置或清除数字指定偏移量上的位setBit算法(附完整源码)
  6. MacBook双开微信
  7. 文件重定向函数freopen
  8. android onserviceconnected_2019最新Android面试题
  9. 微信小程序入门第一天
  10. c++报错:引用了未定义标签_大牛带你解读Spring源码,编写自定义标签,您能学会吗?...
  11. edwardcmh@cnblogs
  12. AI向程序员老司机学习:从眼神的变化中寻找bug
  13. Cadence Allegro学习之PCB封装库的导出
  14. 吴恩达机器学习课后编程作业第二课解析:logistic regression
  15. opencv 物体尺寸测量
  16. SKlearn - ValueError: Unknown label type: 'continuous'
  17. 直播间搭建实现iOS直播聊天消息界面
  18. 揭开500亿“区块链”骗局
  19. 如何批量将 Doc 格式的 Word 文档转为 Docx 格式
  20. win8.1 安装 PL2303 HXA 驱动教程

热门文章

  1. PHP jquery转盘抽奖,php+jqueryRotate实现大转盘抽奖
  2. python中的输出list中元素方法_python 输出所有列表元素的乘积
  3. amd显卡驱动目录linux,安装ATI Linux显卡驱动
  4. iOS 动态下载系统提供的多种中文字体
  5. 如果腾讯立知不被下线,能服务好中国的精神中产吗?
  6. 常见的http服务器软件
  7. zheng 项目(一)之从 zheng-common 开始
  8. 2012年宝兰德软件技术服务有限公司三句半节目台词
  9. 微信支付商户API 证书的用途及生成API安全证书的方法(仅退款、撤销订单时需要)
  10. 手机中的那些人机交互都是怎么实现的