一、项目导览与环境准备:YOLO多类别检测实战起航
各位同学,欢迎来到《YOLO多类别检测项目实战全流程》的第一章。
我是你们这门课的主讲。在正式开始之前,我想先聊聊YOLO这个系列。说实话,我从YOLOv1刚出来那会儿就开始关注它了。那时候它还是个“异类”——别人都在做两阶段检测,它偏要一次搞定。结果呢?它改变了整个目标检测的格局。
1.1 YOLO发展史:从v1到v8的进化之路
YOLO的全称是You Only Look Once。说白了,就是只看一眼就能知道图片里有什么、在哪儿。这个思路在当时非常大胆。
| 版本 | 发布时间 | 核心贡献 | 我的评价 |
|---|---|---|---|
| YOLOv1 | 2016 | 开创性的一阶段检测框架 | 想法惊艳,但精度和召回都不太行 |
| YOLOv2 | 2017 | 引入Anchor Box、Batch Normalization | 终于能用了,我第一个生产项目用的就是它 |
| YOLOv3 | 2018 | 多尺度预测、Darknet-53骨干 | 经典之作,至今仍有团队在用 |
| YOLOv4 | 2020 | Mish激活、CSPNet、PANet | 工程优化集大成者 |
| YOLOv5 | 2020 | PyTorch原生实现、超轻量 | 社区最活跃,教程最多 |
| YOLOv8 | 2023 | Anchor-Free、C2f模块、任务解耦头 | 目前最推荐入门的版本 |
为什么会从v1一路迭代到v8?你想想看,目标检测这个任务本身就没那么简单——既要分类,又要定位。YOLO的进化史,其实就是不断在“速度”和“精度”之间找平衡的过程。
课程选型说明:本课程以YOLOv8为核心框架。原因有三:一是它原生支持PyTorch,环境配置最省心;二是它的多类别检测能力经过大量验证;三是我个人习惯用最新稳定版做教学,避免大家学完就过时。
1.2 项目目标:我们要做什么?
这门课不是讲理论,是带着大家从头到尾做一个完整的多类别检测项目。
具体来说,我们要完成这几件事:
- 数据准备——采集、标注、增强一个多类别数据集
- 模型训练——从零训练YOLOv8,并调优超参数
- 模型评估——用mAP、F1-Score等指标衡量效果
- 模型部署——导出为ONNX/TensorRT,在边缘设备上跑起来
嗯,这里要注意:我们选用的数据集会包含至少5个类别,涵盖不同尺度、不同光照条件的真实场景。这样训练出来的模型才有实战价值。
我的建议:如果你手头有自己感兴趣的数据集,完全可以替换掉课程中的示例数据。学完流程后,迁移到自己的项目上会非常顺畅。
1.3 GPU环境配置:CUDA与cuDNN
做深度学习,GPU是绕不开的。我曾经在CPU上跑过一次YOLOv3训练,等了整整两天……从那以后,我再也不建议任何人用CPU做训练。
1.3.1 检查硬件
先确认你的机器有没有NVIDIA显卡。打开命令行,输入:
nvidia-smi
如果能看到显卡信息,比如“NVIDIA GeForce RTX 3060”,那就没问题。如果提示“命令未找到”,说明驱动没装好。
避坑指南:我曾经遇到过学生用笔记本的集显跑nvidia-smi,结果啥也看不到。记住,只有NVIDIA的独立显卡才支持CUDA。AMD显卡、Intel集显都不行。
1.3.2 安装CUDA Toolkit
CUDA是NVIDIA的并行计算平台。PyTorch需要它来调用GPU。
安装步骤:
- 访问NVIDIA官网,下载CUDA 11.8或12.1(推荐这两个版本,PyTorch支持最好)
- 运行安装程序,选择“自定义安装”,只勾选“CUDA”组件
- 安装完成后,配置环境变量
验证安装:
nvcc --version
如果显示版本号,比如“Cuda compilation tools, release 11.8”,就说明装好了。
1.3.3 安装cuDNN
cuDNN是CUDA的深度学习加速库。没有它,训练速度会慢很多。
安装流程:
- 去NVIDIA开发者网站注册并下载cuDNN(需要和CUDA版本匹配)
- 解压后,把bin、include、lib文件夹里的文件复制到CUDA安装目录下
- 或者直接用pip安装:
pip install nvidia-cudnn-cu11
我的习惯:我一般用第二种方式,pip安装省事,而且不会污染系统目录。万一版本不对,卸载也方便。
1.4 PyTorch安装与验证
终于到主角了。PyTorch是我们整个课程的基础框架。
1.4.1 安装PyTorch
打开PyTorch官网(pytorch.org),选择你的配置:
- PyTorch Build:Stable (2.x)
- Your OS:Windows/Linux/Mac
- Package:Pip
- Compute Platform:CUDA 11.8 或 12.1
它会生成一条命令,类似这样:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
直接复制到终端运行就行。
避坑指南:千万不要用pip install torch不加任何参数!那样会安装CPU版本的PyTorch。我见过太多人踩这个坑了,装完发现用不了GPU,又得重装。
1.4.2 验证安装
写一小段Python代码来验证:
import torch
print("PyTorch版本:", torch.__version__)
print("CUDA是否可用:", torch.cuda.is_available())
print("GPU数量:", torch.cuda.device_count())
if torch.cuda.is_available():
print("当前GPU:", torch.cuda.get_device_name(0))
如果输出类似这样:
PyTorch版本: 2.1.0+cu118
CUDA是否可用: True
GPU数量: 1
当前GPU: NVIDIA GeForce RTX 3060
那就恭喜你,环境配置成功了!
1.5 本章知识体系总览
下面这张图总结了第一章的核心内容,方便你回顾:
1.6 本章小结
这一章我们做了三件事:
- 理清了YOLO从v1到v8的发展脉络,知道为什么选v8做教学
- 明确了项目目标——做一个完整的多类别检测系统
- 配置好了GPU环境和PyTorch,为后续实战铺平了道路
重要提醒:环境配置是后续所有实验的基础。如果这一步没走通,后面的代码跑不起来会很痛苦。我建议你花点时间,把CUDA、cuDNN、PyTorch的版本对应关系搞清楚。磨刀不误砍柴工。
好了,环境准备好了。接下来,我们就可以正式开始数据准备了。