资讯详情 YOLOv13 技术解析:HyperACE 超图增强、FullPAD 全流水线信息流与 DS 轻量化的实时目标检测实现
📅 2026/10/15 8:27:10
人工智能计算机视觉深度学习【免费下载链接】yolov13Implementation of YOLOv13: Real-Time Object Detection with Hypergraph-Enhanced Adaptive Visual Perception.项目地址https://gitcode.com/gh_mirrors/yo/yolov13点击查看免费下载本文基于 YOLOv13 官方仓库 README 展开系统讲解 YOLOv13 的三大核心技术创新——HyperACE 超图自适应相关性增强、FullPAD 全流水线聚合-分发范式与基于深度可分离卷积DS的模型轻量化并结合 yolov13.yaml 模型配置与 block.py 模块源码还原每项技术的具体实现位置与参数含义。读完本文你可以完整掌握 YOLOv13 的 MS COCO 基准表现、四档模型规模的复合缩放规则以及依赖安装、验证、训练、预测与导出的全套可复现实操流程。一、技术概览YOLOv13 的三大设计支柱README 将 YOLOv13 定位为下一代实时检测器模型家族包含Nanon、Smalls、Largel、X-Largex四个变体。其核心能力来自三个相互配合的设计1.1 HyperACE基于超图的自适应相关性增强HyperACEHypergraph-based Adaptive Correlation Enhancement是 YOLOv13 的核心模块官方描述包括三点将多尺度特征图中的像素视为超图顶点vertices采用可学习的超边构造模块自适应地探索顶点之间的高阶相关性利用线性复杂度的消息传递模块在高阶相关性引导下聚合多尺度特征实现复杂场景下的有效视觉感知。在源码中HyperACE 实现在 ultralytics/nn/modules/block.py 中class HyperACE约 L1804其内部结构为# 摘自 ultralytics/nn/modules/block.pyclass HyperACE def __init__(self, c1, c2, n1, num_hyperedges8, dsc3kTrue, shortcutFalse, e10.5, e21, contextboth, channel_adjustTrue): self.fuse FuseModule(c1, channel_adjust) # 多尺度特征融合 self.branch1 C3AH(self.c, self.c, e2, num_hyperedges, context) # 高阶分支 1 self.branch2 C3AH(self.c, self.c, e2, num_hyperedges, context) # 高阶分支 2 self.m nn.ModuleList( # 低阶轻量分支 DSC3k(self.c, self.c, 2, shortcut, k13, k27) if dsc3k else DSBottleneck(self.c, self.c, shortcutshortcut) for _ in range(n)) def forward(self, X): x self.fuse(X) # 先融合三尺度特征 y list(self.cv1(x).chunk(3, 1)) # 切分为三份 out1 self.branch1(y[1]) out2 self.branch2(y[1]) y.extend(m(y[-1]) for m in self.m) # 低阶分支串联 y[1] out1 y.append(out2) return self.cv2(torch.cat(y, 1))从源码结构看HyperACE 是一条双高阶分支 低阶轻量分支的并联结构FuseModuleblock.py先把来自骨干 P3/P4/P5 的三张特征图对齐到同一空间分辨率P4 下采样、P5 上采样再拼接并用 1×1 卷积融合完成多尺度聚合两个C3AH 分支承载超图计算。其核心是AdaHyperedgeGenblock.py它维护一组可学习的原型超边参数prototype_base再根据输入特征的全局上下文mean/max/both三种池化拼接经context_net生成偏移量得到逐样本自适应的超边原型随后以多头相似度计算缩放点积等价于多头注意力打分输出参与矩阵 A形状为(B, N_vertices, num_hyperedges)AdaHGConvblock.py执行两阶段消息传递vertex→edgeHe Aᵀ X顶点特征聚合为超边特征与edge→vertexX_new A He超边特征回传更新顶点并带残差连接。由于消息传递只对固定数量的超边做矩阵乘复杂度随顶点数呈线性增长对应 README 中线性复杂度消息传递的说法。上图来自 READMEVisualizations一节第一、二列的超边主要聚焦前景物体之间的高阶交互第三列聚焦背景与部分前景之间的高阶交互直观反映了 YOLOv13 所建模的高阶视觉关联。1.2 FullPAD全流水线聚合-分发范式README 对 FullPADFull-Pipeline Aggregation-and-Distribution Paradigm的描述是用 HyperACE 聚合骨干的多尺度特征在超图空间提取高阶相关性通过**三条独立隧道tunnel**把这些相关性增强后的特征分别前向传递到骨干与颈部neck的连接处、颈部内部层、颈部与头部head的连接处由此在全流水线中实现细粒度信息流与表示协同并显著提升梯度传播与检测性能。在 yolov13.yaml 中这一范式由 7 个FullPAD_Tunnel层落地head 部分第 12/13/14/18/23/27/31 层。其中 12、13、14 层正对应三条隧道——把骨干特征[[6,9]、[4,10]、[8,11]分别与 HyperACE 输出层 10做门控融合随后经 FPN 上采样、PAN 下采样再在颈部内部反复注入层 18/23/27/31。FullPAD_Tunnel的实现非常轻巧block.py# 摘自 ultralytics/nn/modules/block.pyclass FullPAD_Tunnel class FullPAD_Tunnel(nn.Module): def __init__(self): super().__init__() self.gate nn.Parameter(torch.tensor(0.0)) # 可学习标量门控初始化为 0 def forward(self, x): out x[0] self.gate * x[1] # 原始特征 门控加权的增强特征 return out从源码结构看每条隧道就是一个带可学习标量门控的残差注入门控初始化为 0意味着训练初期增强特征不影响原特征流网络可自适应地学习每条隧道的注入强度——这正是细粒度信息流在实现层面的体现。1.3 DS 块模型轻量化README 指出 YOLOv13 用深度可分离卷积DS块替换大核卷积——包括DSConv、DSBottleneck、DSC3k、DSC3k2四类——在保持感受野的同时大幅减少参数量与计算量在不牺牲精度的前提下实现更快推理。各模块的实现关系均位于 ultralytics/nn/modules/block.py模块位置作用DSConvconv.py基础深度可分离卷积DW(k) → PW(1×1) → BN → SiLUDSBottleneckblock.py以两个DSConv默认核 3/5中间通道扩展 e0.5替代标准 Bottleneck可选残差捷径DSC3kblock.py继承 C3内部串联n个DSBottleneckDSC3k2block.py继承 C2f内部可选用DSC3kdsc3kTrue或DSBottleneck作为处理块默认核 3/7在 yolov13.yaml 中backbone 的下采样与特征提取几乎全部由 DS 家族承担层 2/4 为DSC3k2P3/8、P4/16 前段层 5/7 为DSConvP4/16、P5/32 下采样层 6/8 为A2C2f带区域注意力的残差增强 ELAN 块继承自 YOLOv12 的骨干设计head 的每个融合节点层 17/21/26/30同样使用DSC3k2。1.4 四档规模的复合缩放规则yolov13.yaml 顶部定义了模型复合缩放常量compound scalingscales: # [depth, width, max_channels] n: [0.50, 0.25, 1024] # Nano s: [0.50, 0.50, 1024] # Small l: [1.00, 1.00, 512] # Large x: [1.00, 1.50, 512] # Extra Large解析逻辑在 ultralytics/nn/tasks.pymodel YOLO(yolov13n.yaml)会加载yolov13.yaml并注入scalen取depth, width, max_channels scales[scale]通道数还会经make_divisible(min(c2, max_channels) * width, 8)调整。因此 n/s 档最大通道被压缩到 1024 以内l/x 档上限为 512×width。此外tasks.py 对 HyperACE 有按规模自适应的参数调整L1075–1088超边数he默认取 yaml 中的 8n档折半为int(8*0.5)4x档放大为int(8*1.5)12l/x档额外向参数追加dsc3kFalse即 HyperACE 的低阶分支从DSC3k核 3/7降级为更轻的DSBottleneck核 3/5以控制大模型的算力开销同理DownsampleConv在 l/x 档会跳过 1×1 通道调整L1089–1094。这意味着同一份 yaml 就能生成四个规模差异显著的模型超边数量与轻量块组合都随规模自动变化。二、MS COCO 基准与主流实时检测器的量化对比README Main Results 给出了 YOLOv13 与主流实时检测器在 MS COCO 数据集上的定量对比Table 1完整继承如下Table 1. Quantitative comparison with other state-of-the-art real-time object detectors on the MS COCO datasetMethodFLOPs (G)Parameters (M)AP₅₀:₉₅ᵛᵃˡAP₅₀ᵛᵃˡAP₇₅ᵛᵃˡLatency (ms)YOLOv6-3.0-N11.44.737.052.7–2.74Gold-YOLO-N12.15.639.655.7–2.97YOLOv8-N8.73.237.452.640.51.77YOLOv10-N6.72.338.553.841.71.84YOLO11-N6.52.638.654.241.61.53YOLOv12-N6.52.640.156.043.41.83YOLOv13-N6.42.541.657.845.11.97YOLOv6-3.0-S45.318.544.361.2–3.42Gold-YOLO-S46.021.545.462.5–3.82YOLOv8-S28.611.245.061.848.72.33RT-DETR-R1860.020.046.563.8–4.58RT-DETRv2-R1860.020.047.964.9–4.58YOLOv9-S26.47.146.863.450.73.44YOLOv10-S21.67.246.363.050.42.53YOLO11-S21.59.445.862.649.82.56YOLOv12-S21.49.347.164.251.02.82YOLOv13-S20.89.048.065.252.02.98YOLOv6-3.0-L150.759.651.869.2–9.01Gold-YOLO-L151.775.151.868.9–10.69YOLOv8-L165.243.753.069.857.78.13RT-DETR-R50136.042.053.171.3–6.93RT-DETRv2-R50136.042.053.471.6–6.93YOLOv9-C102.125.353.070.257.86.64YOLOv10-L120.324.453.270.157.27.31YOLO11-L86.925.352.369.255.76.23YOLOv12-L88.926.453.070.057.97.10YOLOv13-L88.427.653.470.958.18.63YOLOv8-X257.868.254.071.058.812.83RT-DETR-R101259.076.054.372.7–13.51RT-DETRv2-R101259.076.054.372.8–13.51YOLOv10-X160.429.554.471.359.310.70YOLO11-X194.956.954.271.059.111.35YOLOv12-X199.059.154.471.159.312.46YOLOv13-X199.264.054.872.059.814.67按 README 给出的数据在 Nano 档YOLOv13-N 以最低 FLOPs6.4G与最低参数量2.5M取得同档最高的 AP₅₀:₉₅41.6Small/Large 档亦在精度上领先同档对比模型X-Large 档 YOLOv13-X 的 AP₅₀:₉₅ 为 54.8。需要说明的是上表延迟Latency与精度数值均来自 README/论文报告的测试环境实际延迟会随硬件、输入分辨率与推理框架PyTorch/ONNX/TensorRT而不同本文不作外推。可视化对比方面README 还附有 YOLOv10-N/S、YOLO11-N/S、YOLOv12-N/S 与 YOLOv13-N/S 在复杂场景下的检测效果对比图vis.png供读者直接查阅。三、快速上手安装、验证、训练、预测与导出以下流程完整继承 README Quick Start 一节并补充了与本仓库文件对应的说明。3.1 安装依赖README 给出的官方安装命令Python 3.11 Flash Attention 加速wget https://github.com/Dao-AILab/flash-attention/releases/download/v2.7.3/flash_attn-2.7.3cu11torch2.2cxx11abiFALSE-cp311-cp311-linux_x86_64.whl conda create -n yolov13 python3.11 conda activate yolov13 pip install -r requirements.txt pip install -e .对照本仓库 requirements.txt官方环境锁定为torch2.2.2、torchvision0.17.2并直接包含上述 Flash Attention 2.7.3 的本地 whl 文件名第 3 行依赖中还包含onnx1.14.0、onnxruntime1.15.1/onnxruntime-gpu1.18.0、pycocotools2.0.7等验证与导出所需的库。README 明确说明YOLOv13 支持 Flash Attention 加速骨干中的A2C2f/注意力类模块受益于此。pyproject.toml 表明该仓库打包名仍为ultralytics因此pip install -e .后可直接from ultralytics import YOLO。仓库的 docker/ 目录同时提供了 CPU、CUDA、Jupyter 及 JetsonJetPack 4/5/6等多种 Dockerfile可作为环境搭建的替代方案。3.2 模型验证Validation预训练权重YOLOv13-N/S/L/X在项目 Releases 中以yolov13n.pt、yolov13s.pt、yolov13l.pt、yolov13x.pt命名发布下载后放入工作目录即可。README 给出的验证代码from ultralytics import YOLO model YOLO(yolov13{n/s/l/x}.pt) # Replace with the desired model scale将{n/s/l/x}替换为目标规模nano、small、large、x-large后即可调用model.val(datacoco.yaml)在 COCO 上评测。仓库内置的 AMP 检查 ultralytics/utils/checks.py 也正是以YOLO(yolov13n.pt)作为默认检测模型印证yolov13n.pt是该仓库的一等公民权重名。3.3 训练TrainingREADME 给出的训练脚本完整保留含各规模的推荐数据增强配置from ultralytics import YOLO model YOLO(yolov13n.yaml) # 可替换为 yolov13s/l/x.yaml # Train the model results model.train( datacoco.yaml, epochs600, batch256, imgsz640, scale0.5, # S:0.9; L:0.9; X:0.9 mosaic1.0, mixup0.0, # S:0.05; L:0.15; X:0.2 copy_paste0.1, # S:0.15; L:0.5; X:0.6 device0,1,2,3, ) # Evaluate model performance on the validation set metrics model.val(coco.yaml) # Perform object detection on an image results model(path/to/your/image.jpg) results[0].show()参数要点data指向数据集 yaml仓库自带 COCO 模板 ultralytics/cfg/datasets/coco.yamlREADME 的注释给出了分规模推荐值scale随机缩放N 档 0.5、S/L/X 档 0.9mixupN 档 0.0、S 0.05、L 0.15、X 0.2copy_pasteN 档 0.1、S 0.15、L 0.5、X 0.6——即模型越大越强依赖 mixup 与 copy-paste 等全局增强device0,1,2,3表示四卡数据并行训练注意这里的yolov13n.yaml会被框架识别ultralytics/nn/tasks.py 的guess_model_scale通过正则从文件名提取n/s/l/x后缀并注入 scale 上下文。3.4 预测Predictionfrom ultralytics import YOLO model YOLO(yolov13{n/s/l/x}.pt) # Replace with the desired model scale model.predict()与 Ultralytics 系列一致也可直接对图片/视频路径调用model(path/to/your/image.jpg)如 3.3 节末尾所示。3.5 导出Exportfrom ultralytics import YOLO model YOLO(yolov13{n/s/l/x}.pt) # Replace with the desired model scale model.export(formatengine, halfTrue) # or formatonnxformatengine导出 TensorRT 半精度引擎formatonnx导出 ONNX。仓库 tests/test_exports.py 覆盖了导出路径的自动化测试examples/ 目录则提供了 ONNXRuntimePython/C/Rust、OpenVINO、TFLite、LibTorch 等多种推理后端示例以及 YOLOv13-FastAPI-REST-API 服务化示例curl -X POST http://localhost:8000/detect -F imageyour_image.jpg -F modelyolov13n可用于快速部署 REST 检测服务。四、生态更新与引用README 的 Updates 一节记录了项目演进时间线2025/06/21 代码开源 → 06/22 权重发布 → 06/24 论文公开 → 06/27 华为 Ascend/RKNN 格式转换支持 → 07/19 HuggingFace Spaces 演示上线 → 2025/11/18 HyperAI 教程演示上线仓库同时收录了论文 PDFpaper-yolov13.pdf与完整测试套件tests/含 test_python.py、test_engine.py 等。若需引用本项目README 给出的 BibTeX 为article{yolov13, title{YOLOv13: Real-Time Object Detection with Hypergraph-Enhanced Adaptive Visual Perception}, author{Lei, Mengqi and Li, Siqi and Wu, Yihong and et al.}, journal{arXiv preprint arXiv:2506.17733}, year{2025} }五、小结YOLOv13 用一套统一架构回答了实时检测中精度、速度与复杂场景理解的三角问题HyperACE把骨干 P3/P4/P5 多尺度特征送入超图空间以可学习原型 自适应上下文生成超边线性复杂度的两阶段消息传递捕捉像素间高阶关联block.pyFullPAD以 7 个门控隧道FullPAD_Tunnel把增强特征分发到骨干-颈部、颈部内部、颈部-头部三处连接点改善全流水线梯度传播DS 家族块DSConv/DSBottleneck/DSC3k/DSC3k2替换大核卷积配合 yolov13.yaml 中[depth, width, max_channels]复合缩放与 tasks.py 中按规模自动调整的超边数实现 n/s/l/x 四档模型的高效扩展。复现建议按 3.1–3.5 节顺序操作先锁定 Python 3.11 torch 2.2.2 环境下载yolov13{n/s/l/x}.pt验证指标再依据分规模的增强参数表发起训练最后用model.export(formatonnx|engine)进入部署流程。赞分享人工智能计算机视觉深度学习【免费下载链接】yolov13Implementation of YOLOv13: Real-Time Object Detection with Hypergraph-Enhanced Adaptive Visual Perception.项目地址https://gitcode.com/gh_mirrors/yo/yolov13点击查看免费下载相关推荐pinact 源码解析Go 正则如何解析 uses: 行并固定 Actions 版本pinact 源码解析Go 正则如何解析 uses: 行并固定 Actions 版本 pinact 是一款用 Go 编写的命令行工具CLI核心功能是把上一篇WorkshopDL终极指南5步轻松获取Steam创意工坊资源打破平台限制的免费开源方案下一篇Linux 内核动态定时器Dynamic Timer详解从 init_timers 初始化到软中断执行创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考