🎯 YOLOv5 介绍文档
🧠 一、什么是 YOLO?
YOLO(You Only Look Once) 是一种用于 目标检测(Object Detection) 的深度学习模型。
它的名字意思是“只看一眼”,
表示只需一次计算,就能同时识别图片中所有物体的位置和类别。
🖼️ 举个例子:
当输入一张图片时,YOLO 能告诉你:
- 这是“人” 👩
- 那是“狗” 🐶
- 还有一辆“汽车” 🚗
并在图片上画出每个物体的位置框。
⚙️ 二、YOLOv5 是什么?
YOLOv5 是 YOLO 系列的第五代模型,
由 Ultralytics 团队 在 2020 年 推出,使用 PyTorch 框架编写。
它是 YOLO 家族中最受欢迎、最稳定、最易部署的版本之一。
📌 特点:
- 🚀 速度快:一次推理即可完成所有检测;
- 🎯 精度高:识别小目标能力强;
- 💻 可移植性强:支持部署到服务器、手机、树莓派等设备;
- 🧰 应用广泛:检测、分割、姿态估计等任务都能胜任。
🧩 三、YOLOv5 的工作原理
YOLOv5 的工作流程主要分为以下 5 个阶段:
| 阶段 | 名称 | 功能说明 |
|---|---|---|
| 1️⃣ | 输入图像(Input) | 将图像调整为固定大小(例如 640×640) |
| 2️⃣ | 特征提取(Backbone) | 提取图像中的边缘、颜色、纹理等特征 |
| 3️⃣ | 特征融合(Neck) | 结合不同层级的信息,增强多尺度特征 |
| 4️⃣ | 目标预测(Head) | 预测每个目标的位置、类别和置信度 |
| 5️⃣ | 结果输出(Output) | 生成带边框的检测结果图像 |
🧬 四、YOLOv5 的模型版本
YOLOv5 并不是单一模型,而是一个系列,
每个版本在“速度”和“精度”之间做不同平衡。
| 模型 | 参数量 | 特点 | 适用场景 |
|---|---|---|---|
| YOLOv5n (Nano) | 最少 | 超轻量、速度最快 | 移动设备、实时应用 |
| YOLOv5s (Small) | 小 | 快速检测 | 通用场景 |
| YOLOv5m (Medium) | 中 | 精度更高 | 工业应用 |
| YOLOv5l (Large) | 大 | 高精度、较慢 | 云端推理 |
| YOLOv5x (X-Large) | 最大 | 最精准、计算量最大 | 科研与复杂任务 |
💪 五、YOLOv5 的优点
| 优点 | 说明 |
|---|---|
| ⚡ 速度极快 | 一次计算即可完成目标检测 |
| 🎯 高精度 | 对小目标和复杂背景识别出色 |
| 🧰 易部署 | 支持 PyTorch、ONNX、TensorRT、CoreML |
| 🧠 功能丰富 | 支持检测、分割、姿态估计 |
| 💻 通用性强 | 可运行在 CPU、GPU 或移动端设备上 |
🔬 六、YOLOv5 的应用领域
| 领域 | 示例应用 |
|---|---|
| 🚗 自动驾驶 | 检测行人、红绿灯、车辆 |
| 📹 视频监控 | 安防入侵检测、异常行为识别 |
| 🏭 工业制造 | 缺陷检测、零件计数 |
| 🧬 医疗诊断 | X 光片、CT 图像分析 |
| 🐄 农业领域 | 病虫害检测、农作物识别 |
| 🦾 机器人 | 视觉导航、物体抓取 |
| 🏀 体育分析 | 球员跟踪、战术分析 |
| 🛒 零售场景 | 顾客计数、自动结算 |
🔗 七、YOLO 与 Transformer 的关系
虽然 YOLOv5 属于 卷积神经网络(CNN) 架构,
但后来研究者将其与 Transformer 结合,提升了全局理解能力。
| 模型 | 类型 | 特点 |
|---|---|---|
| YOLOv7 / YOLOv8 | CNN + 注意力机制 | 检测精度更高,速度更快 |
| Trans-YOLO / YOLOv5-TR | CNN + Transformer | 结合局部与全局特征 |
| DETR (Detection Transformer) | 纯 Transformer | 端到端检测,无需后处理 |
| Grounding DINO / RT-DETR | 文本 + 图像多模态 | “看图听话”式检测模型 |
💡 对比理解:
- YOLO → “看得快”
- Transformer → “理解深”
- YOLO + Transformer → “又快又聪明的视觉AI” 🤖
🧰 八、YOLOv5 的使用示例
安装 YOLOv5:
git clone https://github.com/ultralytics/yolov5
cd yolov5
pip install -r requirements.txt
训练模型:
python train.py --data coco.yaml --cfg yolov5s.yaml --weights yolov5s.pt --epochs 100
检测图片:
python detect.py --weights yolov5s.pt --source image.jpg
输出结果:
Detected: person (0.95), dog (0.89)
九、YOLO 系列发展简史
| 版本 | 年份 | 作者 / 团队 | 特点 |
|---|---|---|---|
| YOLOv1 | 2016 | Joseph Redmon | 一次检测思想诞生 |
| YOLOv2 / YOLO9000 | 2017 | Redmon | 更快、更准 |
| YOLOv3 | 2018 | Redmon | 多尺度检测 |
| YOLOv4 | 2020 | Alexey Bochkovskiy | 训练技巧增强 |
| YOLOv5 | 2020 | Ultralytics | 全 PyTorch 实现 |
| YOLOv6 | 2022 | 美团 | 工业优化 |
| YOLOv7 | 2022 | WongKinYiu | 精度提升、轻量化 |
| YOLOv8 | 2023 | Ultralytics | 检测 + 分割 + 姿态 |
| YOLOv9 / YOLOv10 | 2024–2025 | 开源社区 | 融合 Transformer,智能检测 |
十、形象理解比喻
| 模型 | 像什么 | 能力 |
|---|---|---|
| YOLOv5n | 小蜜蜂 🐝 | 快速轻巧 |
| YOLOv5s | 快马 🐎 | 均衡敏捷 |
| YOLOv5m | 工兵 🦾 | 稳定实用 |
| YOLOv5x | 狮子 🦁 | 准确强大 |
| YOLOv8 | 超人 ⚡ | 检测 + 分割 + 姿态估计 |
| DETR | 哲学家 🧠 | 理解场景关系 |
十一、一句话总结
YOLOv5 是让电脑“看世界”的眼睛 👁️。
它能在图片或视频中快速找出物体,告诉你“它是什么、在哪儿”。
当与 Transformer 结合后,它不仅能“看到”,
还能“理解”场景的意义。🌍
❤️ 转载文章请注明出处,谢谢!❤️