全面解读YOLO的“鸿星尔克”版本

旷视团队发布的YOLOX模型在COCO数据集上超过YOLOV5,通过Decoupled head、Strong data augmentation、Anchor-free和Multi positives等改进提升性能。采用SimOTA策略,模型AP提升显著,同时抛弃了传统的NMS后处理步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关注 机器学习算法工程师

设为 星标,干货直达!

近期旷视团队发布了YOLOX系列模型,在同等条件下YOLOX在COCO数据集上效果要超过YOLOV5,而且代码和模型细节报告都已经发布。这里根据公布的论文以及开源的代码来解读YOLOX。

图片

从YOLOv3开始

YOLOX选取的baseline模型为Darknet53-YOLOv3模型,并和YOLOv4和YOLOv5一样增加了 SPP layer。相比原始的YOLOv3模型,训练策略增加了EMA,学习速率采用cosine lr schedule。另外在loss上,cls和obj分支还是采用BCE,但是reg分支采用IoU loss。数据增强方面,采用RandomHorizontalFlip和ColorJitter,但没有采用RandomResizedCrop(此策略和后面要加入的mosaic augmentation重复),另外采用了multi-scale训练策略,模型的输入从448到832(只取32的整数倍数值),测试时的输入为640。模型训练采用momentum(0.9)SGD,学习速率为(线性规则),默认训练的batch size为128(8GPUs),训练的epoch为300,前5个epoch是warmup。这样得到的baseline模型在coco17val上AP为38.5,低于YOLOv3-ultralytics版本的44.3。图片

Decoupled head

YOLO模型的cls,obj和reg都是在同一个卷积层来预测,但其实其它的one-stage检测模型其实都采用decoupled head(这个其实是从RetinaNet开始的,后面的FCOS和ATSS都沿用),即将分类和回归任务分开来预测,因为这个两个任务其实是有冲突的。论文中做的第一个改进就是将YOLO改成了decoupled head,对于输入的FPN特征,首先通过1x1卷积将特征维度降低到256,然后分成两个并行的分支,每个分支包含2个3x3卷积,其中分类分支预测cls,而回归分支预测reg和obj(图中显示的是IoU分支,但实际上从代码来看和原始YOLO一样都是obj,不过按YOLO的本意其实obj里面也包含了定位准确性)。与RetinaNet不同的是,head在各个FPN特征是不共享的,这只会增加参数量,但不会影响速度,不过好在head是轻量级的。图片从论文的实验结果来看,改为decoupled head后,模型收敛速度更好,性能也有一定提升(+1.1)。另外论文也将YOLO改成了End-to-end YOLO版本,即参考论文Object Detection Made Simple

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值