YOLOX: 2021年超越YOLO系列的新一代目标检测算法

释放双眼,带上耳机,听听看~!
YOLOX是一种新一代目标检测算法,于2021年超越了YOLO系列的先前版本。本文介绍了YOLOX的简介、模型结构、改进之处,包括数据增强和不使用anchor等特点。

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

一、YOLOX简介

提出时间:2021年
作者单位:旷视科技
旷视官方代码:github.com/Megvii-Base…
论文下载地址:arxiv.org/abs/2107.08…
论文题目:《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: 2021年超越YOLO系列的新一代目标检测算法

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

YOLOX: 2021年超越YOLO系列的新一代目标检测算法

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

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

二、YOLOX模型结构(Decouple head)

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

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

YOLOX: 2021年超越YOLO系列的新一代目标检测算法

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

YOLOX: 2021年超越YOLO系列的新一代目标检测算法

三、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: 2021年超越YOLO系列的新一代目标检测算法

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

4.2 YOLOX-Tiny、YOLOX-Nano

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

YOLOX: 2021年超越YOLO系列的新一代目标检测算法

本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

使用 PyTorch 数据加载器进行概率时间序列预测

2023-12-6 13:03:14

AI教程

GraphCodeBERT: 利用数据流进行代码预训练的新模型

2023-12-6 13:17:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索