前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >YOLOv9开源 | 架构图&模块改进&正负样本匹配&损失函数解读,5分钟即可理解YOLOv9

YOLOv9开源 | 架构图&模块改进&正负样本匹配&损失函数解读,5分钟即可理解YOLOv9

作者头像
集智书童公众号
发布2024-02-23 10:39:09
4.9K0
发布2024-02-23 10:39:09
举报
文章被收录于专栏:集智书童集智书童

YOLOv7原作者出手,YOLOv9的性能依旧时一枝独秀:

YOLOv9架构图

YOLOv9的整体架构图如下(根据YOLOv9.yaml绘制):

YOLOv9改进点一览

  1. YOLOv9从可逆函数角度理论上分析了现有的CNN架构,基于这种分析,YOLOv9作者还设计了PGI和辅助可逆分支,并取得了优秀的结果;
  2. YOLOv9用到的PGI解决了深度监督只能用于极深的神经网络架构的问题,因此使得新的轻量级架构才更适合落地;
  3. YOLOv9中设计的GELAN仅使用传统卷积,就能实现比基于最先进技术的深度可分卷积设计更高的参数使用率,同时展现出轻量级、快速和精确的巨大优势;
  4. 基于所提出的PGI和GELAN,YOLOv9在MS COCO数据集上的性能在所有方面都大大超过了现有的实时目标检测器。

PGI(可编程梯度信息)组件

PGI主要包括三个组成部分,即:

  1. 主分支
  2. 辅助可逆分支
  3. 多级辅助信息

从图中可以看出,PGI推理过程仅使用主分支,因此不需要任何额外的推理成本。

GELAN模块

YOLOv9提出了新网络架构——GELAN。GELAN通过结合两种神经网络架构,即结合用梯度路径规划(CSPNet)和(ELAN)设计了一种广义的高效层聚合网络(GELAN);GELAN综合考虑了轻量级、推理速度和准确度。

GELAN整体架构如上图所示。YOLOv9将ELAN的能力进行了泛化,原始ELAN仅使用卷积层的堆叠,而GELAN可以使用任何计算块作为基础Module。

损失函数与样本匹配

通过上图代码可以看到,样本匹配依旧使用的是TaskAlign样本匹配。和YOLOv8、YOLOE、YOLOv6等算法保持一致;

分类损失:BCE Loss 回归损失:DFL Loss + CIoU Loss

速度&精度对比

可以看出,YOLOv9的性能最为优秀,应该会成为2D检测的新宠。

参考

[1].YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information [2].https://github.com/WongKinYiu/yolov9

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-02-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 集智书童 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • YOLOv9架构图
  • YOLOv9改进点一览
    • PGI(可编程梯度信息)组件
      • GELAN模块
        • 损失函数与样本匹配
        • 速度&精度对比
        • 参考
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档