博客
YOLOv8 目标检测设置教程
YOLOv8 是由 Ultralytics 在 YOLO(You Only Look Once)家族中开发的一种目标检测算法。YOLOv8 在 YOLOv5 成功的基础上,在更精简的基于 Python 的框架中引入了准确性、速度和部署效率的改进。
本教程是 YOLOv5 PyTorch 指南的后续,旨在帮助开发人员、研究人员和人工智能工程师使用 YOLOv8。我们将通过在自定义数据集上从安装到推理和训练的演练详细介绍 YOLOv8 的特点。
无论您是升级现有的管道还是在高性能硬件上部署新的计算机视觉模型,YOLOv8 都能提供性能和可用性的完美结合。
YOLOv8(You Only Look Once)是一个开源的对象检测预训练模型,引入了多项架构和功能改进,使对象检测工作流程现代化。它摒弃了基于 YAML 的配置文件,采用 Python 原生方法,使其更容易在主流中集成、定制和部署。
虽然 YOLOv5 仍然被广泛使用,但 YOLOv8 提供了几个实用的优势,使其成为一个值得升级的产品,特别是对于寻求更高性能或更流畅部署工作流程的用户。主要改进包括:
-
重新设计架构:与之前的 CSPDarknet 设计相比,YOLOv8 使用 C2f 块提供更好的特征提取和更低的计算开销。
-
多任务支持:YOLOv8 还支持实例分割和姿态估计,允许开发人员从同一代码库中训练和部署多个视觉任务。
-
改进培训工作流程:通过命令行界面和 Python API,定制模型更容易访问和配置。
-
原生导出以供部署:直接导出为 ONNX、TensorRT 和 CoreML 等格式,无需额外的转换脚本。
-
优化日志记录和可视化:训练指标、验证结果和推理输出组织得更好,信息量更大,更容易评估性能和进行调整。
这些更新共同将 YOLOv8 定位为实时视觉应用程序的更具可扩展性和生产友好性的工具。由于 YOLOv5 的普遍性,许多边缘应用程序在部署中仍然使用它,而且两者都易于使用。然而,YOLOv8 因其准确性和速度而成为更好的选择。

-
CPU: 8-24 核 CPU,配备充足的 PCI-e 通道
AMD EPYC 8004、AMD epmyc 4004
英特尔至强W、英特尔®至强® 6700E
-
GPU:具有充足 VRAM 的多 GPU
RTX PRO 6000 Blackwell 300W(服务器版 和 Max-Q 版)
RTX PRO 4500 Blackwell 200W
-
内存:64GB+RAM
-
存储:您所需容量的 NVMe SSD
在对象检测边缘服务器中,拥有充足的 GPU 内存、系统内存和快速存储可以限制性能瓶颈。YOLOv8 与大多数对象检测算法一样,受益于 GPU。您使用的硬件取决于您的部署风格、所需的延迟、数据集大小和预期速度。对象检测训练占据了大部分性能,但只会定期进行以更新模型。边缘服务器中的推断优先考虑每瓦的性能,并可以从多 GPU 或多个节点的并行处理中受益。
对于 GPU,我们推荐 RTX PRO 6000 GPU,因为它具有出色的 96GB VRAM 和高性能,适用于训练和部署。对于边缘服务器应用程序,RTX PRO 4500 或 RTX PRO 4000 以较低的功耗提供充足的内存,同时兼顾训练性能。
更多细节请咨询我们的系统工程师,以配置您理想的深度学习 GPU 系统。
下面是一个简短的安装演练。在这里,我们使用了容器环境(Docker)。您还可以在您选择的笔记本上安装,并且可以跳过此第一步。
1.设置 Python 环境:
python -m venv yolov8-envsource yolov8-env/bin/activate # Linux/macOSyolov8-env\Scripts\activate # Windows
2.安装 Ultralytics YOLOv8 及其依赖项:
pip install ultralyticsfrom ultralytics import YOLO# Load a pretrained YOLOv8n modelmodel = YOLO('yolov8n.pt')
-
YOLOv8 的常见功能
以下演练显示了使用 YOLOv8 的常见任务:
-
对图像进行推理
-
在自定义数据集上进行训练
-
验证模型性能
-
导出以进行部署
1.对图像进行推理
使用预训练模型检测示例图像中的对象:
pip install ultralyticsfrom ultralytics import YOLO# Load a pretrained YOLOv8n modelmodel = YOLO('yolov8n.pt')
2.在自定义数据集上训练
假设你已经组织好数据集并定义了 data.yaml 文件:
yolo task=detect mode=train model=yolov8n.pt data=data.yaml epochs=100 imgsz=64
-
task=detect: 对象检测任务
-
model=yolov8n.pt: 使用预训练的 Nano 模型作为起点
-
data=data.yaml: 指向您的数据集和类定义
-
imgsz=640: 图像输入大小(可调整)
-
epochs=100: 训练周期数
一个样本 data.yaml:
train: /path/to/train/imagesval: /path/to/val/imagesnc: 3names: ['car', 'bus', 'truck']
YOLOv8 会自动使用您的 GPU(通过 CUDA)(如果可用)。
3.验证训练模型
要评估模型在验证集上的准确性,请执行以下操作:
yolo task=detect mode=val model=runs/detect/train/weights/best.pt data=data.yaml
这输出精确度、召回率、,mAP@0.5,以及 mAP@0.5:模型性能的 0.95 个关键指标。
4.导出模型以进行部署
培训完成后,将模型导出为适合您的部署环境的格式:
yolo export model=runs/detect/train/weights/best.pt format=onnx#You can change the export format for ONNX, TensorRT, IOS, PyTorch and more
可用的导出格式:
-
onnx: 用于 onnx 运行时或 TensorRT
-
engine: 用于直接执行 TensorRT
-
coreml: 用于 iOS 部署
-
torchscript: 用于基于 PyTorch 的推理应用程序
-
最后的想法,你应该从 YOLOv5 升级吗?
YOLOv8 为物体检测从业者提供了一个现代化、功能更强大的模型。从 Python 原生架构和简化的工作流程到更高的准确性和多任务功能,YOLOv8 是为当今的高性能AI环境构建的。
如果你已经在使用 YOLOv5,升级到 YOLOv8 不仅仅是一个微小的改进。它提供:
-
更好的开箱即用精度
-
更快的推理和训练时间
-
更简单的集成和部署
-
支持其他视觉任务(分割和姿态估计)
对于那些在生产中部署模型或在现代硬件上使用自定义数据集的人来说,YOLOv8 提供了一种简化的体验,减少了原型设计和部署之间的障碍。
如果您当前的 YOLOv5 管道是高度定制的,请在切换之前并行测试 YOLOv8。但对于新项目来说,YOLOv8 是一个明确的选择,它提供了更高的性能、更少的开销和更平滑的部署路径。大多数 YOLO 检测算法对于大多数应用来说都足够好。测试和训练你的数据,以找到最佳的一致性。
如果你想在生产中部署检测算法和模型,合适的硬件可以带来巨大的不同。立即联系联泰集群的工程师,配置适合您预算的理想 GPU 加速解决方案。以及工作量。
相关贴子
-
技术分享
【技术大讲堂】ShengBTE 的安装与使用
2024.09.20 32分钟阅读 -
技术分享
如何加速工业产品设计中的原型制作
2024.12.13 33分钟阅读 -
技术分享
高效扩展 Polars 的 GPU Parquet 读取器
2025.04.11 29分钟阅读