目标检测-One Stage-YOLOx

这篇具有很好参考价值的文章主要介绍了目标检测-One Stage-YOLOx。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

根据前文CenterNet、YOLOv4等可以看出学界和工业界都在积极探索使用各种tricks(anchor-free、各种组件、数据增强技术等等)来改进One Stage网络的表现,2021年旷视科技结合先进的改进技巧,产出了多种改进模型,在多种情况下达到速度和精度的SOTA。

值得一提的是,YOLOx使得YOLO系列回归到了anchor-free(YOLOv1是anchor-free的),后续YOLOv6、YOLOv8均为anchor-free算法,同时一些anchor-based算法也诞生了anchor-free版本,如YOLOv5u、YOLOv7u


提示:以下是本篇文章正文内容,下面内容可供参考

一、YOLOx的网络结构和流程

1.YOLOx的不同版本

YOLOx给出了以下版本:
(1)标准网络结构:Yolox-Darknet53Yolox-sYolox-mYolox-lYolox-x
(2)轻量级网络结构:Yolox-NanoYolox-Tiny

ps:

  1. 选择Yolov3_spp的改进版作为Yolov3 baseline,在此基础上添加各种trick,比如Decoupled Head、SimOTA等,得到了Yolox-Darknet53版本
  2. 以Yolov5的四个版本作为baseline,采用有效的trick,逐一进行改进,得到Yolox-s、Yolox-m、Yolox-l、Yolox-x四个版本
  3. 设计了Yolox-Nano、Yolox-Tiny轻量级网络,并测试了一些trick的适用性

2.Yolox-Darknet53

YOLOv3 baseline

  • 采用了YOLOv3-SPP网络(在YOLOv3 backbone后面加入了SPP层)。
  • 采用了新的训练策略:EMA权值更新、cosine学习率机制、IoU损失、IoU感知分支
  • 数据增强:仅使用RandomHorizontalFlip(翻转)、ColorJitter(对比度、亮度等)、多尺度数据增强,移除了RandomResizedCrop(随机裁剪),因为发现其和planned mosaic augmentation功能上有重叠。

基于上述训练技巧,基线模型在COCO val上取得了38.5%AP指标

ps:和CenterNet不同的是,Yolox分为cls、reg以及obj分支,其中

  • cls代表分类任务,主要负责预测图像中物体的类别,使用BCE损失
  • reg代表回归任务,主要负责预测物体的位置和尺寸信息,使用IoU损失
  • obj代表目标存在性任务(IoU感知分支),即模型需要判断边框中是否存在目标物体(置信度),使用BCE损失
    目标检测-One Stage-YOLOx,目标检测,目标检测,人工智能,计算机视觉,YOLO,深度学习

Yolox-Darknet53

Yolox-Darknet53在YOLOv3 baseline基础上再次采用了以下五种tricks:

  • Decoupled head:检测头由Head修改为Decoupled Head,提升了收敛速度和精度,但同时会增加复杂度
    目标检测-One Stage-YOLOx,目标检测,目标检测,人工智能,计算机视觉,YOLO,深度学习
  • Strong data augmentation:使用了Mosaic和MixUp,同时在使用强大的数据增强后,发现ImageNet预训练不再有益,因此从头开始训练所有模型
  • Anchor-free:类似CenterNet的思想
  • Multi positives:类似CenterNet的anchor-free仅为每个对象选择一个正样本(中心位置),同时忽略其他高质量预测,然而,优化这些高质量的预测也可以带来有益的梯度,缓解训练期间正/负采样的极端不平衡,因此YOLOx将中心3×3区域都分配为正样本
  • SimOTA:一种标签匹配方法,标签分配是近年来目标检测领域的另一个重要进展。所谓标签匹配实质上就是将预测框和真实(gt)框进行匹配,简单做法是基于阈值,如IoU,但这种做法比较粗糙。

将精度推至47.3 AP
目标检测-One Stage-YOLOx,目标检测,目标检测,人工智能,计算机视觉,YOLO,深度学习

ps:YOLOv3-ultralytics是YOLOv3的最佳实践,采用了数据增强等tricks,具体改进看源码

SimOTA详解

ps:OTA来源于旷世科技另一篇文章《Ota: Optimal transport assignment for object detection》,SimOTA是OTA的简化,求近似解

SimOTA将标签匹配转换为运输问题,自动的去匹配输出和标记之间的关联,流程如下:

  1. 网络的输出为85*8400,也就是有8400个预选框,根据初步筛选规则得到1000个正样本预选框
    • 规则1:寻找预选框中心点落在ground truth框范围的所有预选框
    • 规则2:以ground truth框中心点为基准,设置边长为5的正方形,挑选在正方形内的预选框
  2. 假定有3个目标框,针对筛选出的1000个候选检测框,和3个ground truth框计算Loss函数
    • 类别损失:pair_wise_cls_loss,维度:[3,1000]
    • 位置损失:pair_wise_iou_loss,维度:[3,1000]
  3. 两个损失函数加权相加,得到总代价cost矩阵,维度:[3,1000]
  4. 设置候选框数量,假定设置为10,则会给每个目标框挑选10个iou最大的候选框,记录为topk_ious矩阵,则topk_ious的维度为[3,10]
  5. 将topk_ious按第2维求和取整,可以得到每个目标框应该分配的预选框数量

目标检测-One Stage-YOLOx,目标检测,目标检测,人工智能,计算机视觉,YOLO,深度学习
得到每个目标框应该分配的预选框数量后,具体的选择规则是根据cost矩阵,选择cost值最低的一些候选框
目标检测-One Stage-YOLOx,目标检测,目标检测,人工智能,计算机视觉,YOLO,深度学习

  1. 过滤共用的候选框:当同一个候选框对应多个目标框时,选择cost更小的候选框,即得到最终的匹配结果

目标检测-One Stage-YOLOx,目标检测,目标检测,人工智能,计算机视觉,YOLO,深度学习

以下是Yolox-Darknet53的网络结构,可以看出:

  • BackBone和Neck和Yolov3 baseline一致
  • Head变为了3个Decoupled head,每个Decoupled head都是Anchor-free的多分支形式(cls、obj、reg)
    目标检测-One Stage-YOLOx,目标检测,目标检测,人工智能,计算机视觉,YOLO,深度学习

3.Yolox-s/Yolox-m/Yolox-l/Yolox-x

在对Yolov3 baseline进行不断优化,获得不错效果的基础上。作者又对Yolov5系列的Yolov5s、Yolov5m、Yolov5l、Yolov5x四个网络结构,也使用上述5个trick进行改进。

(1)输入端:在Mosa数据增强的基础上,增加了Mixup数据增强效果;
(2)Backbone:激活函数采用SiLU函数;
(3)Neck:激活函数采用SiLU函数;
(4)输出端:检测头改为Decoupled Head、采用anchor free、multi positives、SimOTA的方式。

以下是Yolox-s的网络结构图
目标检测-One Stage-YOLOx,目标检测,目标检测,人工智能,计算机视觉,YOLO,深度学习

4.Yolox-Nano/Yolox-Tiny

针对边缘设备部署需求,构建了两个轻量级网络:

  • 针对Yolov4-Tiny,构建了Yolox-Tiny网络结构。
  • 针对FCOS 风格的NanoDet,构建了Yolox-Nano网络结构。

二、YOLOx的创新点

  • 结合最新最先进的一些tricks改进了YOLO系列网络,达到了速度和精度上新的SOTA
  • 将YOLO系列网络重新引入anchor-free方向,使得模型更加简单易训

总结

YOLOx是继YOLOv4之后新的tricks集大成者,在工业上具有重大意义

目标检测-One Stage-YOLOx,目标检测,目标检测,人工智能,计算机视觉,YOLO,深度学习文章来源地址https://www.toymoban.com/news/detail-817052.html

到了这里,关于目标检测-One Stage-YOLOx的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【AI面试】目标检测中one-stage、two-stage算法的内容和优缺点对比汇总

    在深度学习领域中,图像分类,目标检测和目标分割是三个相对来说较为基础的任务了。再加上图像生成(GAN,VAE,扩散模型),keypoints关键点检测等等,基本上涵盖了图像领域大部分场景了。 尤其是在目标检测,一直是各大比赛 (Pascal VOC, COCO, ImageNet) 的主要任务。与此

    2024年02月12日
    浏览(30)
  • 【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法

    论文:Efficient Teacher: Semi-Supervised Object Detection for YOLOv5 出处:阿里 时间:2023.03 目标检测近年来的进展离不开大量的标注数据,但数据标识昂贵且耗时。 故此,半监督方法被提出,通过自动生成伪标签来利用大量的未标注数据。 目前的半监督学习有如下三个最重要的挑战:

    2024年02月05日
    浏览(50)
  • 迈向多模态AGI之开放世界目标检测 | 人工智能

    作者: 王斌 谢春宇 冷大炜 引言 目标检测是计算机视觉中的一个非常重要的基础任务,与常见的的图像分类/识别任务不同,目标检测需要模型在给出目标的类别之上,进一步给出目标的位置和大小信息,在CV三大任务(识别、检测、分割)中处于承上启下的关键地位。当前

    2024年02月16日
    浏览(34)
  • 人工智能 - 目标检测:发展历史、技术全解与实战

    本文全面回顾了目标检测技术的演进历程,从早期的滑动窗口和特征提取方法到深度学习的兴起,再到YOLO系列和Transformer的创新应用。通过对各阶段技术的深入分析,展现了计算机视觉领域的发展趋势和未来潜力。 关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架

    2024年02月05日
    浏览(28)
  • 人工智能TensorFlow PyTorch物体分类和目标检测合集【持续更新】

    1. 基于TensorFlow2.3.0的花卉识别 基于TensorFlow2.3.0的花卉识别Android APP设计_基于安卓的花卉识别_lilihewo的博客-CSDN博客 2. 基于TensorFlow2.3.0的垃圾分类 基于TensorFlow2.3.0的垃圾分类Android APP设计_def model_load(img_shape=(224, 224, 3)_lilihewo的博客-CSDN博客   3. 基于TensorFlow2.3.0的果蔬识别系统的

    2024年02月09日
    浏览(36)
  • YOLOX目标检测实战:LabVIEW+YOLOX ONNX模型实现推理检测(含源码)

    目录 前言 一、什么是YOLOX 二、环境搭建 1、部署本项目时所用环境: 2、LabVIEW工具包下载及安装: 三、模型的获取与转化【推荐方式一】 1、方式一:直接在官网下载yolox的onnx模型 2、方式二:将标准模型pth转化为onnx(较为复杂) 3、获取onnx模型总结 四、LabVIEW实现YOLOX ONN

    2024年02月15日
    浏览(29)
  • AI一叶知秋:从目标检测部署浅谈人工智能发展

    笔者写这篇文章也有讨巧之嫌,仅以个人视角分享一些看法,主要从实践部署来谈谈近两年来计算机视觉模型的变化,不过AI是一个宏大的话题,每个人定义的人工智能就不一样,我们先来探讨一下何为人工智能。百度百科中是这样定义的: 人工智能是研究、开发用于模拟、

    2024年02月02日
    浏览(79)
  • 人工智能学习与实训笔记(三):神经网络之目标检测问题

    人工智能专栏文章汇总:人工智能学习专栏文章汇总-CSDN博客 目录 三、目标检测问题 3.1 目标检测基础概念 3.1.1 边界框(bounding box) 3.1.2 锚框(Anchor box) 3.1.3 交并比 3.2 单阶段目标检测模型YOLOv3 3.2.1 YOLOv3模型设计思想 3.2.2 YOLOv3模型训练过程 3.2.3 如何建立输出特征图与预

    2024年02月20日
    浏览(36)
  • YOLO目标检测——真实和人工智能生成的合成图像数据集下载分享

    YOLO真实和人工智能生成的合成图像数据集,真实场景的高质量图片数据,图片格式为jpg,数据场景丰富。可用于检测图像是真实的还是由人工智能生成。 数据集点击下载 :YOLO真实和人工智能生成的合成图像数据集+120000图片+数据说明.rar

    2024年02月10日
    浏览(34)
  • 基于人工智能与边缘计算Aidlux的鸟类检测驱赶系统(可修改为coco 80类目标检测)

    ●项目名称 基于人工智能与边缘计算Aidlux的鸟类检测驱赶系统(可修改为coco 80类目标检测) ●项目简介 本项目在Aidlux上部署鸟类检测驱赶系统,通过视觉技术检测到有鸟类时,会进行提示。并可在源码上修改coco 80类目标检测索引直接检测其他79类目标,可以直接修改、快速

    2024年02月12日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包