📌 关键要点
YOLO 不是单一项目,而是"同思想、不同作者接力"的家族:从 Redmon 的 Darknet 三连,到 Ultralytics 的 PyTorch 工业化,再到学术线的花式创新,每代都在速度与精度上博弈:
- 三条主线:Darknet 学术线(v1–v4)→ Ultralytics 工业线(v5/v8/v11/YOLO26)→ 学术创新线(v6/v7/v9/v10/v12/v13)
- 生产首选:YOLOv11 是当前稳定款,YOLO26 为 2026-01 最新旗舰(端到端无 NMS、边缘优化)
- 警惕同名:v6/v7 与 v12/v13 均为第三方/学术实现,别与 Ultralytics 官方线混淆
| 版本 | 作者/组织 | 年份 | 核心特点 | 主线 |
|---|---|---|---|---|
| v1–v3 | Joseph Redmon(华盛顿大学) | 2015–2018 | Darknet 实现,奠定 YOLO 思想 | Darknet 线 |
| v4 | Alexey Bochkovskiy | 2020 | CSP 改进,速度/精度平衡最佳实践 | Darknet 线 |
| v5 | Ultralytics | 2020 | PyTorch 重写,无论文,社区生态强 | Ultralytics 线 |
| v6 | 美团 | 2022 | 工业部署导向,量化友好 | 第三方 |
| v7 | YOLOv7 作者(WongKinYiu) | 2022 | E-ELAN 架构,扩展姿态/分割任务 | 学术线 |
| v8 | Ultralytics | 2023 | anchor-free,多任务(检测/分割/姿态) | Ultralytics 线 |
| v9 | Wang 等 | 2024 | PGI 可编程梯度信息 + GELAN 架构 | 学术线 |
| v10 | 清华大学 | 2024 | NMS-free 实时端到端检测 | 学术线 |
| v11 | Ultralytics | 2024-09 | 当前生产稳定款,精度/速度再提升 | Ultralytics 线 |
| v12 / v13 | 学术线 | 2024– | 注意力机制 / 超图,非官方发行 | 学术线 |
| YOLO26 | Ultralytics | 2026-01 | 最新旗舰,端到端无 NMS、边缘优化 | Ultralytics 线 |
由 Joseph Redmon(华盛顿大学)用 Darknet 框架实现,定义了"只看一次"的核心思想——把检测当作回归问题,单次前向输出全部边界框与类别。
Redmon 于 2020 年宣布退出计算机视觉研究,v3 之后 Darknet 线改由他人接手。
Alexey Bochkovskiy 于 2020 年发布,集成当时主流 trick 的集大成者:
Ultralytics(Glenn Jocher 团队)2020 年用 PyTorch 重写 YOLO,未发表论文,但凭极佳的工程化与社区生态成为最流行的 YOLO:
美团 2022 年发布,主打工业落地:
YOLOv7(WongKinYiu 等)2022 年发布:
Ultralytics 2023 年发布,架构全面重构:
Wang 等 2024 年(ICLR 2024 接收)发布:
清华大学 2024 年发布:
Ultralytics 2024-09 发布,官方推荐的生产主力:
v12/v13 为学术研究者发布,非 Ultralytics 官方发行,别在 pip install ultralytics 中找:
2026 年 1 月 14 日正式发布,定位"统一实时视觉模型",专为从边缘到云端的部署优化:
end2end=False)供高精度场景。性能亮点(COCO,640 输入):
| 模型 | mAP 50-95 | CPU ONNX (ms) | T4 TensorRT (ms) | 参数量 (M) |
|---|---|---|---|---|
| YOLO26n | 40.9 | 38.9 | 1.7 | 2.4 |
| YOLO26s | 48.6 | 87.2 | 2.5 | 9.5 |
| YOLO26m | 53.1 | 220.0 | 4.7 | 20.4 |
| YOLO26l | 55.0 | 286.2 | 6.2 | 24.8 |
| YOLO26x | 57.5 | 525.8 | 11.8 | 55.7 |
注:YOLO26n 在 CPU 上 ONNX 推理比 YOLO11n 快最高 43%,是边缘部署的有力候选。
Darknet 线(奠基 → 巅峰):v1 → v2 → v3 → v4
Ultralytics 线(工业化 → 生产主力):v5 → v8 → v11 → YOLO26
学术/第三方线(创新试验田):v6(美团)、v7、v9、v10、v12、v13
💡 理解主线后,选择就很简单:生产用 Ultralytics 线,研究看学术线,历史脉络查 Darknet 线。
以下为各 YOLO 生态官方发布页的权重直链,可直接在浏览器下载(浏览器自带断点续传,命令行下载易截断)。 若用于本地
yolo-benchmark基准测试系统,请将权重保存到models/目录并在models.yaml中注册。
YOLOX 属学术/第三方线(anchor-free),官方权重为 .pth 格式。官方 release 页:
https://github.com/Megvii-BaseDetection/YOLOX/releases/tag/0.1.1rc0
| 型号 | 参数量 | 文件大小(约) | 直链 |
|---|---|---|---|
| YOLOX-nano | 0.9 M | 18 MB | https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_nano.pth |
| YOLOX-tiny | 5.1 M | 38 MB | https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_tiny.pth |
| YOLOX-s | 9.0 M | 79 MB | https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_s.pth |
| YOLOX-m | 25.3 M | 159 MB | https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_m.pth |
| YOLOX-l | 54.2 M | 270 MB | https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_l.pth |
| YOLOX-x | 99.1 M | 383 MB | https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_x.pth |
注意:官方 release 仅提供
.pth,无现成.onnx;如需 ONNX 需用tools/export_onnx.py自行导出。
Ultralytics 权重统一托管在官方 assets 仓库(含 n/s/m/l/x 各档):
https://github.com/ultralytics/assets/releases
| 模型 | 档位 | 参数量 | 文件大小(约) | 直链 |
|---|---|---|---|---|
| YOLOv8 | n | 3.2 M | 6.2 MB | https://github.com/ultralytics/assets/releases/download/v8.3.0/yolov8n.pt |
| YOLOv8 | s | 11.1 M | 22.5 MB | https://github.com/ultralytics/assets/releases/download/v8.3.0/yolov8s.pt |
| YOLO11 | n | 2.6 M | 5.4 MB | https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n.pt |
| YOLO11 | s | 9.4 M | 19.1 MB | https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11s.pt |
| YOLO26 | n | 2.4 M | 5.0 MB | https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo26n.pt |
m/l/x 档将文件名中的
n/s替换为对应字母即可(如yolov8m.pt、yolo11x.pt)。
以下坑来自本地
yolo-benchmark接入 YOLOX(官方.pth权重 +yoloxpip 包)的真实踩坑经历,已全部修复。 症状共性:满屏 1000+ 个低分框、最高置信度仅 0.3~0.5,看起来像"模型废了",实际全是预处理/后处理与官方约定不一致。
结论:YOLOX 官方 ValTransform(legacy=False) 直接把 letterbox 后的 BGR 0-255 原始像素喂给模型,不做 /255,更不做 mean/std 归一化。
| 生态 | 预处理 | 输入范围 |
|---|---|---|
| Ultralytics(v8/v11/YOLO26) | letterbox + /255 |
0~1 |
| YOLOX 官方(legacy=False) | letterbox,BGR 0-255 直喂 | 0~255(BGR 顺序) |
/255 + mean/std(如 ImageNet [0.485,0.456,0.406]),模型输入分布完全错乱,输出崩溃,obj 全部 ≈0.5(sigmoid(logit≈0)),出现 2000+ 低分框。TrainTransform 就直接喂 0-255 像素,网络第一层卷积就是按 0-255 尺度学的;不像 ultralytics 在训练前做归一化。Predictor 输入为 cv2.imread 的 BGR,ValTransform 不反转通道,保持 BGR。RGB 反转同样会显著掉点。结论:YOLOX 模型 eval 分支输出的 obj/cls 已经是 sigmoid 后的 0~1 概率,后处理不能再做一次 sigmoid。
yolo_head.py eval 分支:
python
output = torch.cat([reg_output, obj_output.sigmoid(), cls_output.sigmoid()], 1)1/(1+exp(-x)),二次 sigmoid 会把所有分数压向 0.5~0.73:真实 0.9 → 0.71,真实 0.1 → 0.52。原本该被 0.25 阈值过滤掉的低分全被抬上来 → 检测数上千、最高置信度仅 ~0.52。decode_outputs 调用 torch.meshgrid 未传 indexing 参数,在 torch 1.13+ 直接报错(需显式指定)。indexing='ij'(见 yolox_engine.py::_patch_torch_meshgrid)。YOLOX-s | yolox 后端 | 加载 ~400ms | 推理 avg 180ms | 检测 1 框 | 最高置信度 0.8952
同一台机器、同一张测试图、统一基准脚本跑出的横向对比(s 档齐全后同档位对比才公平):
| 模型 | 后端 | 加载(ms) | 推理 avg(ms) | 总耗时 avg(ms) | P95(ms) | FPS | 检测数 | 最高置信度 |
|---|---|---|---|---|---|---|---|---|
| YOLOv8-n | ultralytics | 缓存 | 46.27 | 49.17 | 53.68 | 20.3 | 1 | 0.8585 |
| YOLO11-n | ultralytics | 缓存 | 47.34 | 50.34 | 51.5 | 19.9 | 1 | 0.9409 |
| YOLO11-s | ultralytics | 缓存 | 107.96 | 110.76 | 106.83 | 9 | 1 | 0.9461 |
| YOLOv8-s | ultralytics | 207.7 | 109.31 | 112.26 | 117.82 | 8.9 | 1 | 0.9437 |
| YOLOX-s | yolox | 缓存 | 148.75 | 151.91 | 158.35 | 6.6 | 1 | 0.8952 |
结论要点:
📖 资料来源:
📝 创建时间:2026-08-18