文章目录

  • 一、YOLOX简介
  • 二、YOLOX模型结构(Decouple head)
  • 三、YOLOX的改进之处
    • 3.1 数据增强(data augmentation)
    • 3.2 Anchor-free(不使用anchor)
    • 3.3 Multi positives(多个正样本)
    • 3.4 SimOTA
  • 四、YOLOX的不同版本
    • 4.1 YOLOX-S、YOLOX-M、YOLOX-L、YOLOX-X
    • 4.2 YOLOX-Tiny、YOLOX-Nano

一、YOLOX简介

提出时间:2021年
作者单位:旷视科技
旷视官方代码:https://github.com/Megvii-BaseDetection/YOLOX
论文下载地址:https://arxiv.org/abs/2107.08430
论文题目:《YOLOX: Exceeding YOLO Series in 2021》

《YOLOX: Exceeding YOLO Series in 2021》的意思是YOLOX在2021年超越了所有YOLO系列,标题很狂妄呀。

从2015年的YOLOv1,2016年YOLOv2,2018年的YOLOv3,再到2020年的YOLOv4和YOLOv5,2021年的YOLOX,YOLO系列在不断的进化发展。

YOLOX的速度和精度图如下,横坐标为推理速度,纵坐标为MAP精度。


YOLOX不同版本的参数量(模型大小)和MAP精度图:


可以发现在YOLOX不同版本中,YOLOX-Nano模型最小,速度最快。

模型大小往往与速度成正比,很难做到小模型实现高精度。

二、YOLOX模型结构(Decouple head)

YOLOX以YOLOv3-SPP为基础模型进行改进,其backbone是DarkNet-53。

如下图所示,在YOLOv3–YOLOv5中,检测头对候选框的分类和回归是耦合的(在一起进行,Couple),这样会影响模型检测的性能。YOLOX 对分类和回归进行了解耦(Decouple),即将二者分开,变成两个分支,并增加了IOU计算的分支。


下图是训练过程,显然解耦的检测头(Decouple head)的检测精度更高(解耦能带来4.2%AP提升),收敛速度更快。

三、YOLOX的改进之处

3.1 数据增强(data augmentation)

YOLOX采用了 Mosaic 和 MixUp 两种数据增强方式。

Mosaic是在YOLOv4中提出的,对四张图片进行拼接,每一张图片都有其对应的框框,将四张图片拼接之后就获得一张新的图片,同时也获得这张图片对应的框框。具体可以参考 YoloV4当中的Mosaic数据增强方法

MixUp 采用配对的方式进行训练,通过混合两个甚至是多个样本的分布,同时加上对应的标签来训练。两张图以一定的比例对rgb值进行混合,同时需要模型预测出原本两张图中所有的目标。目前MixUp在各大竞赛、各类目标检测中属于稳定提点的策略。具体可以参考 全网最全:盘点那些图像数据增广方式Mosiac,MixUp,CutMix等.

3.2 Anchor-free(不使用anchor)

YOLOv2–YOLOv5都是基于anchor的算法( anchor-based),这种方式有一些问题:

(1)为了达到最优的检测性能,需要在训练前对训练集进行聚类分析,确定一组最优的anchor。这些聚类获得的anchor是对于特点数据集适用的,不具有普遍性。

(2)anchor机制增加了检测头的复杂度,以及对每幅图像的预测数量。在一些边缘AI系统中,在设备之间移动如此大量的预测(例如从NPU到CPU)可能会成为整体延迟的潜在瓶颈。

Anchor-free算法可以减少模型参数,具有代表性的Anchor-free算法是在论文《FCOS:Fullu Convolutional One-Stage Object Detection》,该方法借鉴了语义分割的方法,根据主像素点预测边界框。

YOLOX中,特征图中的一个点只预测一个候选框(而不是多个anchor),直接预测4个值(候选框左上角的xy坐标与w,h)。

3.3 Multi positives(多个正样本)

YOLO系列中关于正负样本的定义可以参考 YOLOv3/v4/v4/x中正负样本的定义

3.4 SimOTA

SimOTA是一种标签分配方法,

四、YOLOX的不同版本

4.1 YOLOX-S、YOLOX-M、YOLOX-L、YOLOX-X

如果不采用DarkNet53作为backbone,而采用YOLOv5的backbone(包括SCPNet、SiLU activation、PAN head),可以得到不同版本YOLO5对应的YOLOX的版本:


可以发现,YOLOX比YOLOv5的相应版本性能更好。

4.2 YOLOX-Tiny、YOLOX-Nano

Nano是纳米,YOLOX-Tiny和YOLOX-Nano是YOLOX的小模型,模型对比如下:

【目标检测】YOLOX ,YOLO系列的集大成者相关推荐

  1. 目标检测模型 YOLO系列

    目标检测模型 YOLO系列 文章目录 目标检测模型 YOLO系列 YOLOv1 一.背景 二.YOLO模型 主要思想 模型结构 损失函数 三.优缺点 四.参考 YOLOv2与YOLO9000 YOLO ...

  2. 目标检测之yolo系列

    YOLO v.s Faster R-CNN 1.统一网络:YOLO没有显示求取region proposal的过程.Faster R-CNN中尽管RPN与fast rcnn共享卷积层,但是在模型训练过 ...

  3. 目标检测之yolo系列模型-yolov4/yolox

    文章目录 一.yolov4较yolov3的优化点 1.1 网络结构层面 (1) CSPDarknet53(借用CSP结构) (2) SPP (3) PAN(借用PANet) 1.2 优化策略 (1) ...

  4. 【目标检测】yolo系列:从yolov1到yolov5之YOLOv2详解及复现

    YOLO v2 Yolov2论文链接:YOLO9000: Better, Faster, Stronger yolov2的改进 从Yolov2论文的标题可以直观看到就是Better.Faster.St ...

  5. 【目标检测】yolo系列:从yolov1到yolov5之YOLOv1详解及复现

    检测器通常能够被分为两类,一类是two-stage检测器,最具代表的为faster R-CNN:另一类是one-stage检测器,包括YOLO,SSD等.一般来说,two-stage检测器具有高定位和 ...

  6. yolo v3制作自己的数据_小白也能弄懂的目标检测之YOLO系列 第一期

    大家好,上期分享了电脑端几个免费无广告且实用的录屏软件,这期想给大家来讲解YOLO这个算法,从零基础学起,并最终学会YOLOV3的Pytorch实现,并学会自己制作数据集进行模型训练,然后用自己训练好 ...

  7. (学习笔记)【目标检测】YOLO系列简单归纳

    文章目录 絮絮叨叨 一.YOLO发展史 二.逐篇学习 1.You Only Look Once: Unified, Real-Time Object Detection 2.YOLO9000 3.YO ...

  8. 【目标检测】YOLO系列——YOLOv1详解

    本篇是关于目标检测算法YOLOv1的学习笔记.网上的博客大多是摘抄翻译论文中的重点内容加上自己的理解,或者是梳理论文的大致思路,在没看过原文的情况下可能总会有些看不懂的地方.所以强烈建议博客搭配原文食 ...

  9. 【目标检测】YOLO系列Anchor标签分配、边框回归(坐标预测)方式、LOSS计算方式

    1.YOLOv1 标签分配:GT的中心落在哪个grid,那个grid对应的两个bbox中与GT的IOU最大的bbox为正样本,其余为负样本,(由于是回归模型,不是分类模型,其解决类别不平衡的方式为各项 ...

  10. 【目标检测】yolo系列:从yolov1到yolov5之YOLOv3详解及复现

    在v1.v2的原理和技巧介绍之后,v3除了网络结构,其余的改变并不多.本文着重描述yolov3的原理细节. 相关阅读: 论文:YOLOv3: An Incremental Improvement 源码 ...

最新文章

  1. 在一个div里,列表样式图片进行float,实现水平排序
  2. 纪中A组模拟赛总结(2021.7.21)
  3. 【译】成为明星数据科学家的13大技能
  4. 路径规划算法:Dijkstra算法 - 附代码
  5. NodeJS Stream 五:双工流
  6. vc2010解决方案项目编译顺序_安装及配置 VC2010 的详细步骤
  7. MMKV 原理以及使用
  8. redo log详解
  9. Android知识点 363 —— dumpsys alarm
  10. log4j2配置详情
  11. 域渗透-横向移动(PTT)
  12. 垃圾分类很难吗?这是一篇来自AI垃圾回收箱的灵魂拷问…
  13. **2019年java最新手机号正则**
  14. 高中英语选修计算机,高中英语课堂
  15. ContexIoT: Towards Providing Contextual Integrity to Appified IoT Platforms
  16. linux 环境安装 webdav 服务
  17. USB RNDIS实现
  18. 字符串format拼接格式化
  19. 扩展板振动马达驱动移植
  20. 医院数字化如何实现?看这篇经典实践案例

热门文章

  1. 小马哥---高仿三星S7 主板型号S205 6580芯片刷机拆机主板图与开机识别图
  2. 苹果手机云便签新增内容无法使用中文输入法输入汉字怎么办?
  3. linux kangle漏洞,Kangle EP漏洞:多个EP主机可重复绑定域名,挂黑页的bug解析
  4. linux top交叉编译_简单搭建MIPS交叉编译环境——新手推荐 | 学步园
  5. 视频技术的发展对车载移动远程监控行业有何影响?
  6. 大声读绘本英语“RR分级阅读”,到底有什么奇妙的地方
  7. PJzhang:U盘容量变小后的恢复以及U盘加密
  8. python plot 图像大小_如何改变 matplotlib 图像大小
  9. C++:多态与虚函数,纯虚函数
  10. 无眠的滴滴,不再高傲