YOLOv13 简介

本文将讨论 YOLOv13 是什么,它带来了什么,以及如果你正在开发图像检测模型,你需要做些什么。让我们开始吧!

YOLOv13 简介

YOLOv13 于 2025 年 6 月 21 日和 22 日发布,并在 YOLO-verse 中展示了检测模型的明显改进。

本文将讨论 YOLOv13 是什么,它带来了什么,以及如果你正在开发图像检测模型,你需要做些什么。让我们开始吧!

1、什么是 YOLOv13?

YOLOv13 是自 2025 年 2 月 YOLOv12 发布以来 YOLO-verse 中最先进的图像检测模型。

由清华大学和 iMoonLab 的研究人员开发,YOLOv13 是一个更准确的模型,在 COCO 上具有更高的 mAP,同时其每秒浮点运算次数(FLOPs)与 YOLOv12 和 YOLOv13 相当。虽然它很小,但可以在项目中产生巨大影响。

对不起那些在分割、姿态和分类部分的 YOLO-verse 用户,YOLOv13 只是检测模型(但我仍然希望他们能扩展出 YOLOv13 检测模型的分割版本)。

YOLOv13 有四种尺寸:Nano、Small、Large 和 eXtra-large(加粗的字母是后缀)。

2、YOLOv13 有什么功能?🤖

YOLOv13 通过利用和开发三种新技术,在计算量大致相同的情况下实现了高精度:

  • 基于 DS 的块(不是新的但被使用): 不再使用大卷积,而是将其分为三个可组织的块,允许多线程和更快的结果(准确性没有变化)
  • HyperACE(基于超图的自适应相关增强): 不再将像素作为特征图中的简单构建块,而是将像素视为顶点,从而实现更好的边缘检测,并在复杂场景中表现更好。

这张图片完美地展示了新技术(使用三个超边来处理大型物体和小细节)

  • FullPAD(全管道聚合与分发范式): 这是在 HyperACE 聚合信息的基础上建立的,使性能更高,并促进梯度传播。

如果大部分内容对你来说都不太明白,那我也一样,但所有这些特性都是为了提高准确性而不牺牲速度。

Nano(示例):

所有模型都有相同的主题:

总体而言,所需的 FLOPs 更少(好),所需的参数更少(好)。AP 指标更高(好)。然而延迟略高,甚至比 YOLOv8 还高,这有点不好。我对这个结果既高兴又难过。

以下是其余的,但我的说法仍然成立:

3、那么如何使用 YOLOv13 模型呢?

结果发现它可能需要 Flash Attention 😬

我希望你不需要太多,而且显示的统计数据没有使用 FlashAttention 或者不使用 FlashAttention 不是一个主要的权衡 🙏

总体而言,你需要从 这里 手动下载模型。然后你可以像平常一样使用 YOLO 来训练、验证、预测和导出,因为 YOLOv13 是基于 Ultralytics Python 包构建的。

他们提供的代码如下:

from ultralytics import YOLO  
# 验证 =============================================  
model = YOLO('yolov13{n/s/l/x}.pt')  # 替换为所需的模型规模  

# 训练 =============================================  
model = YOLO('yolov13n.yaml')  

# 训练模型  
results = model.train(  
  data='coco.yaml',  
  epochs=600,   
  batch=256,   
  imgsz=640,  
  scale=0.5,  # S:0.9; L:0.9; X:0.9  
  mosaic=1.0,  
  mixup=0.0,  # S:0.05; L:0.15; X:0.2  
  copy_paste=0.1,  # S:0.15; L:0.5; X:0.6  
  device="0,1,2,3",  
)  

# 在验证集上评估模型性能  
metrics = model.val('coco.yaml')  

# 对图像进行目标检测  
results = model("path/to/your/image.jpg")  
results[0].show()  

# 预测 =============================================  
model = YOLO('yolov13{n/s/l/x}.pt')  # 替换为所需的模型规模  
model.predict()  

# 导出 =============================================  
model = YOLO('yolov13{n/s/l/x}.pt')  # 替换为所需的模型规模  
model.export(format="engine", half=True)  # 或 format="onnx"

看起来非常简单,而且好消息是:Ultralytics 第一天就可用!Ultralytics 的 Python 包可能会很快更新并自动下载它!

4、我应该尝试 YOLOv13 吗?

是的,即使延迟增加了,你也应该尝试。有时随着模型版本的提升,可能不会工作,也可能工作。进一步的训练是必要的,比较不同模型的性能是有好处的,这样你知道自己得到了最好的结果!

如果 ODverse 教会了我们什么,那就是要尝试每一个模型,看看哪个是最好的

5、我的想法

YOLOv13 是一个相当不错的模型,展示了新技术,但它感觉和其他模型一样,新技术只是昙花一现,而延迟仍然增加。也许我们现在处于一个延迟不再重要的时代,因为硬件更好了(RTX 5090 哒哒哒)。我真的希望看到一个延迟更低的模型(如果准确率下降也没关系,只要比 YOLOv8n 有更低的延迟和还不错的准确率,因为我们在这个领域只有这些)。

我将在接下来的文章中对 YOLOv13 做更多介绍(会有大量文章)。


原文链接:YOLOv13 Is Out: All You Need To Know

汇智网翻译整理,转载请标明出处