一、项目导览与环境准备: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 项目目标:我们要做什么?

这门课不是讲理论,是带着大家从头到尾做一个完整的多类别检测项目。

具体来说,我们要完成这几件事:

  1. 数据准备——采集、标注、增强一个多类别数据集
  2. 模型训练——从零训练YOLOv8,并调优超参数
  3. 模型评估——用mAP、F1-Score等指标衡量效果
  4. 模型部署——导出为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。

安装步骤:

  1. 访问NVIDIA官网,下载CUDA 11.8或12.1(推荐这两个版本,PyTorch支持最好)
  2. 运行安装程序,选择“自定义安装”,只勾选“CUDA”组件
  3. 安装完成后,配置环境变量

验证安装:

nvcc --version

如果显示版本号,比如“Cuda compilation tools, release 11.8”,就说明装好了。

1.3.3 安装cuDNN

cuDNN是CUDA的深度学习加速库。没有它,训练速度会慢很多。

安装流程:

  1. 去NVIDIA开发者网站注册并下载cuDNN(需要和CUDA版本匹配)
  2. 解压后,把bin、include、lib文件夹里的文件复制到CUDA安装目录下
  3. 或者直接用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 本章知识体系总览

下面这张图总结了第一章的核心内容,方便你回顾:

第一章:项目导览与环境准备 YOLO多类别检测实战 YOLO发展史 v1→v8:从开创到成熟 项目目标 数据→训练→评估→部署 GPU环境配置 CUDA + cuDNN PyTorch安装验证 pip安装 + GPU可用性验证

1.6 本章小结

这一章我们做了三件事:

  • 理清了YOLO从v1到v8的发展脉络,知道为什么选v8做教学
  • 明确了项目目标——做一个完整的多类别检测系统
  • 配置好了GPU环境和PyTorch,为后续实战铺平了道路

重要提醒:环境配置是后续所有实验的基础。如果这一步没走通,后面的代码跑不起来会很痛苦。我建议你花点时间,把CUDA、cuDNN、PyTorch的版本对应关系搞清楚。磨刀不误砍柴工。

好了,环境准备好了。接下来,我们就可以正式开始数据准备了。