[yolov9]将yolov9封装成类几句代码实现目标检测任务

【框架地址】

https://github.com/WongKinYiu/yolov9

【yolov9简介】

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检测的新宠。

【视频演示】

https://www.bilibili.com/video/BV1AF4m1E7G1/?vd_source=989ae2b903ea1b5acebbe2c4c4a635ee

【实现代码】

from Yolov9Manager import *

detectcor = Yolov9Mangager(weights='weights/yolov9-c.pt',confidence=0.5)
# img = cv2.imread(r'E:\person.jpg')
# result_list = detectcor.inference_image(img)
# result_img = detectcor.draw_image(result_list, img)
# cv2.imshow('result', img)
# cv2.waitKey(0)
# cv2.destroyAllWindows()
detectcor.start_video(r'D:\car.mp4')

【参考文献】

[1] https://mp.weixin.qq.com/s/31NlBknx4PcXipfuV2w6hw

  • 23
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FL1623863129

你的打赏是我写文章最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值