IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> YOLOX -> 正文阅读

[人工智能]YOLOX

论文:?YOLOX: Exceeding YOLO Series in 2021

Github:https://github.com/Megvii-BaseDetection/YOLOX

face++作品,2021

论文提出了YOLOX,其超越了YOLOV1-V5系列,并且取得了?Streaming?Perception Challenge 第一名的成绩(速度,精度都看)。YOLOX基于YOLOV3进行改进,采用了?YOLOv3-SPP基础结构。采用?BCE?Loss训练cls和obj,?IoU Loss训练reg。并且提出了6个改进策略。

  1. 解耦头部预测分支(Decoupled head)
  2. 数据增强(Strong data augmentation)
  3. 无anchor(Anchor-free)
  4. 多个正样本(Multi positives)
  5. 简单的样本匹配方法Simplified OTA(SimOTA)
  6. 无需NMS(End-to-end YOLO)?

解耦头部预测分支Decoupled head?

论文发现,将分类和回归使用一个分支会影响模型的表达能力。当使用一个预测头部分支的时候,会使得精度降低4.2%,当使用2个预测分支的时候,精度只降低0.8%。因此,论文提出了Decoupled head,先使用1*1卷积,先将p3,p4,p5这3个分支的通道数都降低为256,然后再次基础上,分别使用2个3*3卷积引出2个预测分支。当然这样做会使得速度略微增加,从原来的10.5 ms变化为11.6 ms?

?

通过实际训练还会发现,使用Decoupled head可以使得训练收敛加速,同时训练精度更高。

数据增强Strong data augmentation

使用了马赛克(Mosaic)和混合图像(MixUp)的数据增强思路。最早是从?u版本的yolov3(ultralytics-YOLOv3)中提出,后续被应用在了yolov4,yolov5中。

无anchorAnchor-free

基于anchor的检测方法,需要进行anchor的聚类(Anchor Clustering , Grid Sensitive)。而基于anchor?free则不需要考虑这些,同时,后处理也比较方便,省去了将大量预测结果从gpu向cpu传递的过程,以及cpu端后续的nms等繁琐操作。

多个正样本Multi positives

单独只使用中心点进行边框的预测,会忽略其他高质量的预测结果。因此使用中心点为中心的3*3区域的点进行正样本的预测,也就是9个点进行正样本的预测。这就是FCOS中使用的中心采样策略(center?Sampling)。基于该策略精度提升到了45%,超越了u版的yolov3。

简单的样本匹配方法Simplified OTASimOTA

label assignment策略是目标检测中的一个重要问题。OTA选择的原则主要下面4点。

  1. 梯度敏感(loss/quality aware)

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

????2.中心优先(center prior)

考虑到感受野的问题,以及大部分场景下,目标的质心都与目标的几何中心有一定的联系,将正样本限定在目标中心的一定区域内做 loss/quality aware 样本匹配能很好地解决收敛不稳定的问题。

? ? 3.动态anchor匹配策略(dynamic number of positive anchors?for each?ground-truth)

我们不可能为同一场景下的西瓜和蚂蚁分配同样的正样本数,如果真是那样,那要么蚂蚁有很多低质量的正样本,要么西瓜仅仅只有一两个正样本。Dynamic k 的关键在于如何确定k,有些方法通过其他方式间接实现了动态 k ,比如 ATSS、PAA ,甚至 RetinaNet ,同时,k的估计依然可以是 prediction aware 的,我们具体的做法是首先计算每个目标最接近的10个预测,然后把这个 10 个预测与 gt 的 iou 加起来求得最终的k,很简单有效,对 10 这个数字也不是很敏感,在 5~15 调整几乎没有影响。

? ? 4.全局视野(Global?view)

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

论文没有像原始的OTA那样进行动态匹配,寻找最优匹配解,因为这样做相对复杂,同时增加了20~25 %的训练时间消耗。论文提出了简单的动态top-k策略(SimOTA),该方法只取最接近的top-k个预测作为正样本,其余都作为副样本,取得了和OTA同样的效果。

无需NMSEnd-to-end YOLO

在YOLOX上实现端到端,还需要额外增加2个卷积操作,会带来性能的损失,同时对于精度也有一定微小损失。因此,论文将nms-free作为一个备选选项。

实验结果

参考链接

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

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-10-13 11:27:11  更:2021-10-13 11:28:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 10:40:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码