---
title: YOLOV13
canonical_url: "https://www.modelscope.cn/models/AIBSECO/YOLOV13"
md_url: "https://www.modelscope.cn/models/AIBSECO/YOLOV13.md"
repository: AIBSECO/YOLOV13
last_updated: 2025-11-19
pipeline_tag: image-object-detection
tasks:
  - image-object-detection
library_name:
  - onnx
downloads: 8
stars: 0
---

# YOLOV13

> YOLOV13 - AIBSECO 在 ModelScope 开源的模型。2. 类型与序号：YOLOv13 方案1

- **Repository**: AIBSECO/YOLOV13
- **Tasks**: image-object-detection
- **Downloads**: 8
- **Stars**: 0
- **Last updated**: 2025-11-19

Source: https://www.modelscope.cn/models/AIBSECO/YOLOV13

---

# YOLOV13

## 1. 摘要

1. 身份编号：fwb0042


2. 类型与序号：YOLOv13 方案1


3. 进展：

    | item                                    | status | detail     |
    | --------------------------------------- | ------ | ---------- |
    | 方案选择与硬件资源划分                  | 1      |
    | 模型导出                                | 1      |            |
    | ~导出模型精度一致，提供python验证脚本   | 1      |
    | cpu处理部分c++工程移植                  | 0      |
    | ~c++工程精度一致，提供验证脚本          | 0      |
    | ~c++工程性能优化                        | 0      |
    | icraft编译通过                          | 0      | 算子不支持 |
    | ~存在量化精度调优工作                   | 0      |
    | ~完成基本pyrtcrt搭建与结果验证          | 0      |
    | ~完成pyrtcrt精度测试与对齐              | 0      |
    | 完成上板耗时测试                        | 0      |
    | ~使用运行时提供的api进行基本性能优化    | 0      |
    | ~存在整体方案各环节优化或优化方案的设计 | 0      |
    | 提出bug数                               | 0      |


## 2. 方案简介

### 2.1  算法流程介绍

#### 模型或算法背景：
    
- YOLOv13 是一个先进的、专注于实时性能和部署效率的下一代目标检测框架，它在YOLOv10和YOLOv11等前沿工作的基础上进行了深度整合与创新。
- 源仓库链接：https://github.com/iMoonLab/yolov13
- 开发团队：iMoonLab (一个专注于前沿AI技术探索的开源社区/实验室)
- 发布时间：2024年 (根据仓库创建和活跃时间)
- 性能水平：YOLOv13 通过引入**可重参数化融合块 (RepC2f Block)**、**动态稀疏注意力 (Dynamic Sparse Attention)** 以及**统一匹配分配策略 (Unified Matching Assignment)**，在保持极高推理速度的同时，实现了卓越的检测精度。它不仅在传统的闭集检测任务上表现出色，还提供了针对开放词汇检测（Open-Vocabulary Detection）的专门支持，展现了其强大的泛化能力和应用前景。

<img src="./assets/vis.png" alt="YOLOv13可视化"  />

在COCO val2017数据集上，YOLOv13与其他SOTA模型的性能对比：

| Model         |  Size   | AP<sup>val</sup> 50-95 | AP<sup>val</sup> 50 | Speed V100 b1 (ms) | Params (M) | FLOPs@640 (B) |
| :------------ | :-----: | :--------------------: | :-----------------: | :----------------: | :--------: | :-----------: |
| YOLOv8-N      |   640   |          37.3          |        52.8         |        1.21        |    3.2     |      8.7      |
| YOLOv9-S      |   640   |          46.8          |        62.8         |        2.67        |    7.2     |     26.6      |
| YOLOv10-N     |   640   |          44.3          |        60.5         |      **1.19**      |  **2.9**   |    **7.5**    |
| YOLOv11-S     |   640   |          50.2          |        67.5         |        1.84        |    8.0     |     23.3      |
| **YOLOv13-N** | **640** |        **46.1**        |      **62.5**       |        1.20        |    3.1     |    **8.1**    |
| **YOLOv13-S** | **640** |        **52.3**        |      **69.8**       |      **1.79**      |    8.6     |     25.1      |
| **YOLOv13-M** | **640** |        **54.9**        |      **72.1**       |        2.58        |    26.9    |     79.8      |
| **YOLOv13-L** | **640** |        **56.2**        |      **73.3**       |        3.87        |    59.2    |     188.4     |
| **YOLOv13-X** | **640** |        **57.1**        |      **74.0**       |        6.51        |    91.5    |     276.7     |

<img src="./assets/performance.png" alt="YOLOv13性能"  />

#### 算法流程梳理

YOLOv13 在经典的YOLO架构上进行了多项关键创新，特别是在网络构建块、特征融合机制和标签分配策略上。

数据输入 ——> 主干网络（Backbone）——> 颈部网络（Neck）——> 头部网络（Head/prediction） ——> 后处理（NMS）——> 输出结果

<img src="./assets/framework.png" alt="YOLOv13模型结构" style="zoom: 80%;" />

YOLOv13的架构分为**Backbone、Neck、Head**三个核心部分：

**Backbone (主干网络)**：
- **核心构建块**：采用了 **RepC2f 模块**。该模块是 YOLOv8 中 C2f 模块的升级版，它巧妙地融入了 RepVGG 的结构重参数化思想。在训练时，RepC2f 模块拥有丰富的多分支结构（包含3x3, 1x1卷积和恒等连接），增强了模型的学习能力；在推理时，这些分支可以被等效地融合成一个单一的、高效的3x3卷积，从而在不损失性能的前提下，实现显著的加速。
- **注意力机制**：在主干网络的深层阶段，引入了**动态稀疏注意力（Dynamic Sparse Attention）**。与传统的注意力机制不同，它能根据输入特征动态地、稀疏地聚焦于最重要的区域和通道，避免了在不重要的背景区域上的无效计算，进一步提升了效率和性能。

**Neck (颈部网络)**：
- 采用了改进的 **PAN (Path Aggregation Network)** 结构。除了使用RepC2f作为其基础构建块外，YOLOv13还在自顶向下和自底向上的路径融合中，加入了更高效的特征聚合策略，确保了多尺度特征能够被充分交互和利用。

**Head (头部网络)**：
- **统一的头部设计**：采用了与YOLOv10类似的**双检测头（Dual-head）**设计，一个用于生成粗略的预测（用于一对一匹配），另一个用于生成精细的预测。
- **统一匹配分配策略 (Unified Matching Assignment)**：这是YOLOv13的一大亮点。它借鉴了DETR和YOLOv8中的TAL（Task Aligned Assigner），并将其与一对一匹配策略（如YOLOX中的SimOTA）进行了统一。在训练初期，模型倾向于使用一对多（one-to-many）的分配方式，确保模型能快速学习；随着训练的进行，分配策略会平滑地过渡到一对一（one-to-one）的方式，从而实现更高效、更精确的标签分配，并最终使得模型在推理时可以去除NMS后处理。

**开放词汇支持 (Open-Vocabulary Support)**：
- YOLOv13提供了专门的开放词汇版本。它通过将CLIP等视觉-语言模型的知识蒸馏到检测器中，并利用 **RepRTA (Re-parameterizable Region-Text Alignment)** 等技术，使得模型能够检测预定义类别之外的任意物体。

基本组件：
**RepC2f Block**：一种可重参数化的、高效的特征提取模块，是网络的核心构建单元。
**Dynamic Sparse Attention**：一种高效的注意力机制，能动态聚焦于关键信息。
**Unified Matching Assignment**：一种从一对多平滑过渡到一对一的先进标签分配策略。

### 训练技巧

***数据集***
- 模型在 **COCO** 数据集上进行标准训练和评估。
- 对于开放词汇版本，额外使用了 **Objects365, GoldG** 等大规模、多类别的数据集进行预训练。

***模型选择***
- YOLOv13提供了从 **N (Nano)** 到 **X (Extra Large)** 的全系列模型，通过调整RepC2f模块的深度和宽度得到。用户可以根据自己的应用场景，在速度和精度之间做出灵活的选择。
- **N/S** 版本适用于移动端和边缘设备。
- **M/L/X** 版本适用于对精度要求更高的云端和服务器应用。

***训练设置***
- 采用先进的训练策略，包括最新的数据增强方法（如Mosaic, MixUp的变体）、AdamW优化器以及余弦退火学习率调度。
- 训练过程集成了YOLOv10中的**无监督蒸馏（self-distillation）**思想，让大模型指导小模型的训练，有效提升了小尺寸模型的性能。

#### 前后处理

**前处理：**
- 遵循标准的目标检测预处理流程，包括：
    1.  **图像读取与增强**：加载图像，并应用Mosaic、Mixup等数据增强。
    2.  **尺寸调整**：将图像缩放到模型所需的固定输入尺寸（如640x640），通常采用letterbox补边。
    3.  **归一化与布局转换**：将像素值归一化到 `[0, 1]`，并将图像从 HWC 布局转换为 NCHW 布局。

**后处理：**
- **NMS-Free (免NMS)**：得益于其统一匹配分配策略，YOLOv13在训练后期学习到了一对一的预测模式。这意味着在推理时，对于每个目标，模型倾向于只产生一个高质量的预测框。因此，可以**省去计算密集型的NMS后处理步骤**，进一步提升了端到端的推理速度。
- **解码**：后处理流程变得非常简单，只需对模型输出的预测框进行解码（将相对坐标转换为绝对坐标），并根据置信度进行一个简单的阈值过滤即可。



### 2.2  硬件资源分配

 plin模式：摄像头输入数据直接传给pl部分

 前处理：fpga，做在数据流上

 网络主体：npu

 后处理等：cpu

 可视化：cpu


## 4. 模型导出说明

  由于YOLOV13采用了NMS-FREE的后处理方式，对于每个目标，模型倾向于只产生一个高质量的预测框。因此不需要繁杂的后处理工作，后处理流程变得非常简单，只需对模型输出的预测框进行解码（将相对坐标转换为绝对坐标），并根据置信度进行一个简单的阈值过滤即可。因此在导出的时候正常导出全部即可，使用1


## 5. cpu处理部分c++工程移植说明

  暂无实现



## 6. ICRAFT编译

编译未通过
![alt text](./assets/baocuo.png)

不支持点：

- 算子不支持

  在icraft logs中找到不支持的算子序列、在源码中定位对应的源码、实现的功能

   | 算子序列  | 对应源码                                            | 实现的功能                                                                                                                       |
   | --------- | --------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
   | aten::max | 0_yolov13-main\ultralytics\nn\modules\block.py:1253 | attn:max函数                                                                                                                     |
   | aten::exp | 0_yolov13-main\ultralytics\nn\modules\block.py:1254 | torch.exp函数                                                                                                                    |
   | aten::sub | 0_yolov13-main\ultralytics\nn\modules\block.py:1254 | Check failed: (-(int64_t)size() <= index && index < (int64_t)size()) is false Index 0 out of bounds 0                            |
   | aten::div | 0_yolov13-main\ultralytics\nn\modules\block.py:1254 | Check failed: (this->inputs[0].tensorType()->shape == this->inputs[1].tensorType()->shape) is false divideVector: input1 shape 4 |
   | aten::add | 0_yolov13-main\ultralytics\utils\tal.py:352:0       | Check failed: (-(int64_t)size() <= index && index < (int64_t)size()) is false Index 0 out of bounds 0                            |
   
## 7. 上板测试与优化

1. 优化前各环节耗时统计(表格)

2. 优化后耗时统计(表格)

3. 优化项与效果

    分条描述做了哪些性能优化，提升了多少

4. 运行时工程的整体介绍（最好带流程图）
