Ultralytics YOLO27: 加入候补名单。
Get Started

YOLO11 与 YOLOv5#

为任何计算机视觉项目选择合适的神经网络架构都是一项关键决策。随着人工智能不断发展,开发者和研究人员可用的工具也在不断进步。本指南将对 Ultralytics 生态中的两种广泛使用的模型进行技术比较:历史悠久的 YOLOv5 和较新的 YOLO11。

无论你是要为边缘 AI应用部署轻量级模型,还是在云端 GPU 上处理高分辨率视频流,了解这些模型的架构细节、性能指标和理想使用场景,都能帮助你根据具体部署约束做出数据驱动的选择。

模型沿革与技术细节#

这两种模型都体现了 Ultralytics 对开源协作、可靠性能和易用性的重视,并且都已被机器学习社区广泛采用。

YOLO11 详情#

YOLOv5 详情#

架构差异#

从 YOLOv5 到 YOLO11 的演进带来了多项架构变更,提升了准确率和参数效率。

YOLOv5 是早期的 YOLO 模型,基于 PyTorch 原生构建,采用 CSPNet(跨阶段局部网络)主干网络和 PANet(路径聚合网络)颈部网络。它采用基于锚框的检测,需要使用预定义的锚框来预测目标边界。尽管效果出色,但为自定义计算机视觉数据集调整这些锚框可能很繁琐。

相比之下,YOLO11 采用无锚框检测方法,无需手动调整锚框,从而简化了训练流程,并提升了模型在COCO 数据集等多样化数据集上的泛化能力。此外,YOLO11 采用解耦检测头,将分类和边界框回归任务分别放在不同分支中处理。这种分离能加快收敛速度并提升平均精度均值 (mAP),尤其适用于复杂的目标检测场景。

性能指标与基准测试#

下表对比了不同模型尺寸的关键指标。这两种 Ultralytics 模型的内存需求都较低,训练时通常比基于 Transformer 的替代模型消耗更少的 CUDA 内存,从而降低了硬件使用门槛。

模型尺寸
(像素)
mAPval50-95速度
CPU ONNX
(毫秒)
速度
T4 TensorRT10
(ms)
参数
(M)
FLOPs
(B)
YOLO11n64039.556.11.52.66.5
YOLO11s64047.090.02.59.421.6
YOLO11m64051.5183.24.720.168.1
YOLO11l64053.4238.66.225.387.2
YOLO11x64054.7462.811.356.9195.3
YOLOv5n64028.0-1.121.94.5
YOLOv5s64037.4-1.927.216.5
YOLOv5m64045.4-4.0321.249.0
YOLOv5l64049.0-6.6146.5109.1
YOLOv5x64050.7-11.8986.7205.7

YOLO11 在所有尺度下的 mAP 都更高。例如,YOLO11m 使用 20.1M 个参数达到 51.5 mAP,而 YOLOv5m 使用 21.2M 个参数达到 45.4 mAP。YOLOv5n、YOLOv5s 和 YOLOv5m 在 T4 TensorRT 上的速度略快,但准确率明显较低。

训练方法与易用性#

易用性是 Ultralytics 的核心理念之一,并由维护完善的生态和广泛的社区支持作为保障。

YOLOv5 过去主要依靠命令行界面 (CLI) 脚本 (train.py、detect.py) 执行。虽然功能强大,但要将这些脚本直接集成到自定义 Python 应用中,通常需要采用变通方法。

YOLO11 基于精简的 ultralytics Python 包构建(随 YOLOv8 推出)。这个统一的 API 可原生处理从训练到导出模型为 ONNX、OpenVINO 和 TensorRT 等格式的所有流程。

借助 Ultralytics Platform 简化部署

对于无代码工作流,开发者可以使用 Ultralytics Platform 标注数据、在云端训练模型,并将模型部署到边缘设备。

代码对比#

以下示例展示了如何使用 Python API 训练 YOLO11:

from ultralytics import YOLO

# 加载预训练的 YOLO11 small 模型
model = YOLO("yolo11s.pt")

# 使用自定义数据训练模型
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device=0)

# 将模型导出为 ONNX,以便部署
model.export(format="onnx")

对于使用 YOLOv5 代码库的旧版系统,可以通过 CLI 进行如下训练:

# Clone the repository and run the training script
git clone https://github.com/ultralytics/yolov5
cd yolov5
pip install -r requirements.txt

python train.py --img 640 --batch 16 --epochs 50 --data coco128.yaml --weights yolov5s.pt

理想用例和实际应用#

这两款模型各有优势,适用于不同的运行环境。

何时使用 YOLOv5#

尽管已有更新一代的模型,YOLOv5 仍适用于以下场景:

  • 集成旧版系统:与 YOLOv5 特定张量结构或部署流程深度集成、且难以轻易重构的环境。
  • 学术基线:研究人员需要成熟、经过长期验证的基线,以便在医学图像分析研究中复现实验结果。

何时使用 YOLO11#

凭借多功能性,YOLO11 是现代生产流水线的更好选择:

展望未来:YOLO26 架构#

YOLO11 仍是可靠的标准选择,但计算机视觉仍在不断进步。启动新项目的开发者还应考虑 Ultralytics YOLO26(2026 年 1 月发布),这是当前推荐的模型。

YOLO26 兼顾边缘优化和企业级规模。主要变化包括:

  • 端到端无 NMS 设计:YOLO26 支持原生端到端推理,借助 nms=False 跳过非极大值抑制(NMS)后处理,从而实现更快、更简单的部署。
  • 移除 DFL:移除了分布焦点损失,简化模型导出,并增强对低功耗设备的兼容性。
  • MuSGD 优化器: SGD 和 Muon 的混合优化器,将大语言模型 (LLM) 训练的稳定性引入计算机视觉,从而加快收敛速度。
  • CPU 推理速度最高提升 43%: YOLO26n 在 CPU 上的运行速度最高比 YOLO11n 快 43%,适合物联网部署和没有专用 GPU 的设备。
  • ProgLoss + STAL: 渐进损失和小目标感知标签分配 (STAL) 可提升小目标识别能力,这对无人机航空影像至关重要。

总结#

最终,在 YOLO11 和 YOLOv5 之间做选择,取决于你项目所处的生命周期阶段。YOLOv5 稳定可靠,社区规模庞大。在这两者之间,YOLO11 更适合新项目,它准确率更高、Python API 更简单,并且支持更多任务。若想获得当前最佳准确率和 CPU 速度,可从 YOLO26 开始;你也可以在 Ultralytics Platform 上训练和部署 YOLO26。

评论