YOLO-v5新手入门指南:3步完成环境部署,轻松玩转目标检测

张开发
2026/4/13 13:12:13 15 分钟阅读

分享文章

YOLO-v5新手入门指南:3步完成环境部署,轻松玩转目标检测
YOLO-v5新手入门指南3步完成环境部署轻松玩转目标检测如果你对计算机视觉感兴趣想亲手体验一下让机器“看懂”世界的感觉那么目标检测绝对是一个绝佳的起点。而在众多目标检测模型中YOLO-v5以其出色的速度、精度和易用性成为了无数开发者和研究者的首选。你可能听说过YOLO的大名但总觉得它离自己很远——需要复杂的配置、漫长的环境搭建、还有一堆看不懂的参数。别担心这篇指南就是为你准备的。我们将用最简单直接的方式带你从零开始三步完成YOLO-v5的环境部署并运行第一个目标检测程序让你在半小时内亲眼看到AI识别物体的神奇效果。整个过程就像搭积木一样简单你不需要是深度学习专家甚至不需要有太多编程经验。准备好你的电脑跟着步骤走让我们一起开启目标检测的奇妙之旅。1. 环境准备一键获取YOLO-v5运行环境万事开头难但YOLO-v5的开头特别简单。传统上部署深度学习环境需要安装Python、PyTorch、各种依赖库版本冲突、环境报错是家常便饭。但现在我们有了更优雅的解决方案。1.1 为什么选择预置镜像想象一下你要做一顿大餐传统方法是去菜市场买各种食材回家洗切炒耗时费力。而预置镜像就像一份搭配好的半成品料理包所有食材都已洗净切好调料比例完美你只需要加热就能享用。对于YOLO-v5来说这个“料理包”里包含了PyTorch深度学习框架YOLO-v5的运行基础YOLO-v5专用工具库所有必要的代码和模型完整的Python环境无需担心版本兼容问题预装的常用工具Jupyter Notebook、SSH等开箱即用这意味着你跳过了最繁琐的环境配置环节直接进入最有趣的部分——使用模型。1.2 获取YOLO-v5镜像的三种方式根据你的使用习惯和场景可以选择不同的获取方式方式一Jupyter Notebook推荐给初学者这是最直观的方式直接在网页中编写和运行代码。镜像启动后你会看到一个类似下图的界面在这里你可以创建新的Python笔记本逐行运行代码实时查看结果。特别适合学习和调试。方式二SSH连接适合开发者如果你习惯在终端中工作可以通过SSH连接到运行环境这种方式给你完全的控制权可以执行任何命令适合进行更复杂的操作和批量处理。方式三直接运行Demo最快体验如果你只想快速看看YOLO-v5能做什么镜像已经内置了演示代码可以直接运行。我们稍后会详细讲解这个方法。无论选择哪种方式你都不需要手动安装任何软件这就是预置镜像的最大优势——开箱即用。2. 快速上手运行你的第一个目标检测程序环境准备好了现在让我们真正动手让YOLO-v5“活”起来。我们将从一个最简单的例子开始让你在几分钟内看到实际效果。2.1 进入项目目录首先我们需要找到YOLO-v5的代码在哪里。在终端或Jupyter中执行这个命令cd /root/yolov5/这个命令的意思是“进入/root/yolov5/目录”。/root/yolov5/就是YOLO-v5项目的主文件夹里面包含了所有必要的代码、配置文件和示例。2.2 理解核心代码一行代码加载模型现在让我们看看YOLO-v5有多简单。打开一个新的Python文件或Jupyter笔记本输入以下代码import torch # 加载YOLO-v5模型可选yolov5n, yolov5s, yolov5m, yolov5l, yolov5x model torch.hub.load(ultralytics/yolov5, yolov5s) # 默认使用yolov5s让我解释一下这几行代码在做什么import torch导入PyTorch库这是YOLO-v5运行的底层框架torch.hub.load(...)这是PyTorch的一个神奇功能可以从网上直接下载并加载预训练模型ultralytics/yolov5指定模型来源这里是YOLO官方维护的仓库yolov5s选择具体的模型版本你可能注意到了YOLO-v5有多个版本可选yolov5n最轻量版速度最快精度稍低yolov5s小型版平衡了速度和精度我们用的这个yolov5m中型版精度更高yolov5l大型版精度很高yolov5x超大型版精度最高速度最慢对于初学者yolov5s是最佳选择——它足够快让你实时体验又足够准让你看到好效果。2.3 选择检测图片让模型“看”到什么模型加载好了现在需要给它一张图片来识别。YOLO-v5支持多种输入方式# 定义输入图像可以是URL、本地文件、PIL图像、OpenCV帧、numpy数组或列表 img https://ultralytics.com/images/zidane.jpg # 示例图片这里我们使用了一个在线图片的URL。这是YOLO官方提供的一个经典示例图片里面有两个人和一个足球。你也可以换成本地图片路径img path/to/your/image.jpg多个图片img [img1.jpg, img2.jpg]摄像头实时画面需要额外代码2.4 执行推理让模型开始工作最激动人心的时刻到了——让模型分析图片# 执行推理自动处理批处理、调整大小、归一化等 results model(img)这一行代码背后YOLO-v5做了很多事情下载或读取你指定的图片自动调整图片大小到模型需要的尺寸默认640x640对图片进行归一化处理让数值在合适范围内通过网络前向传播计算每个位置可能有什么物体过滤掉置信度低的检测结果应用非极大值抑制去掉重复的框所有这些复杂的步骤都被封装在这一行简单的代码里。这就是现代深度学习框架的魅力——把复杂留给自己把简单留给用户。2.5 查看结果AI看到了什么模型运行完了我们来看看它发现了什么# 处理结果可选.print(), .show(), .save(), .crop(), .pandas() results.print() # 在控制台打印结果 results.show() # 在新窗口中显示带标注的图片 results.save() # 将结果保存到runs/detect/exp目录results.print()会在终端输出类似这样的信息image 1/1: 640x480 2 persons, 1 sports ball Speed: 2.1ms pre-process, 4.8ms inference, 1.2ms NMS per image at shape (1, 3, 640, 480)这告诉我们图片尺寸是640x480检测到2个人和1个运动球足球处理速度预处理2.1毫秒推理4.8毫秒后处理1.2毫秒总共不到10毫秒就完成了检测results.show()会弹出一个窗口显示标注后的图片。你会看到每个人周围有一个边界框框上面标着“person”和置信度比如0.89表示89%的把握足球周围也有一个框标着“sports ball”results.save()会把标注好的图片保存到runs/detect/exp文件夹方便你后续查看或分享。2.6 完整代码示例把上面的代码组合起来就是一个完整的YOLO-v5目标检测程序import torch # 1. 加载模型 model torch.hub.load(ultralytics/yolov5, yolov5s) # 2. 指定图片这里用在线图片你也可以换成自己的图片路径 img https://ultralytics.com/images/zidane.jpg # 3. 执行推理 results model(img) # 4. 查看结果 results.print() # 打印检测结果 results.show() # 显示带标注的图片 # results.save() # 保存结果取消注释这行来保存图片复制这段代码到你的Python环境运行你就能亲眼看到YOLO-v5的检测效果了3. 实践进阶用你自己的图片试试看看到模型识别示例图片很酷但更酷的是让它识别你自己的图片。让我们来试试看。3.1 准备你自己的图片首先你需要有一张或多张想要检测的图片。可以是手机拍的照片网上下载的图片摄像头实时捕捉的画面确保图片是常见的格式如JPG、PNG等。如果是手机拍的注意文件大小不要太大几MB以内即可。3.2 修改代码使用本地图片假设你有一张名为my_photo.jpg的图片放在和代码相同的目录下。修改之前的代码import torch # 加载模型 model torch.hub.load(ultralytics/yolov5, yolov5s) # 使用本地图片 img my_photo.jpg # 改成你的图片文件名 # 执行推理 results model(img) # 显示结果 results.show()如果图片不在当前目录需要指定完整路径img /home/user/Pictures/my_photo.jpg # Linux/Mac # 或 img C:\\Users\\user\\Pictures\\my_photo.jpg # Windows注意双反斜杠3.3 批量处理多张图片如果你想一次检测多张图片也很简单import torch model torch.hub.load(ultralytics/yolov5, yolov5s) # 使用图片列表 images [photo1.jpg, photo2.jpg, photo3.jpg] results model(images) # 一次处理所有图片 # 保存所有结果 results.save()运行后所有标注好的图片都会保存在runs/detect/exp目录下每张图片都会有自己的检测结果。3.4 调整模型参数可选YOLO-v5有很多参数可以调整让检测更符合你的需求。最常用的两个是调整置信度阈值 默认情况下模型只显示置信度大于0.25的检测结果。如果你想要更严格或更宽松的标准model.conf 0.5 # 只显示置信度大于50%的结果更严格 # 或 model.conf 0.1 # 显示置信度大于10%的结果更宽松调整IOU阈值 IOU交并比决定两个框多接近时被认为是同一个物体。默认是0.45model.iou 0.5 # 标准更严格减少重复框 # 或 model.iou 0.3 # 标准更宽松可能保留更多框同时调整多个参数model torch.hub.load(ultralytics/yolov5, yolov5s) model.conf 0.5 # 置信度阈值 model.iou 0.45 # IOU阈值 model.max_det 100 # 每张图片最多检测100个物体3.5 查看详细检测数据除了看图片你还可以获取详细的检测数据import torch import pandas as pd model torch.hub.load(ultralytics/yolov5, yolov5s) results model(my_photo.jpg) # 获取Pandas DataFrame格式的结果 pandas_results results.pandas().xyxy[0] print(pandas_results) # 数据包含以下列 # xmin, ymin: 边界框左上角坐标 # xmax, ymax: 边界框右下角坐标 # confidence: 置信度0-1 # class: 类别ID # name: 类别名称这会输出一个表格显示每个检测到的物体的详细信息包括位置、大小、类别和置信度。你可以用这些数据做进一步分析比如统计图片中有多少个人、计算物体的平均大小等。3.6 常见问题与解决问题1运行代码时提示“No module named torch”原因PyTorch没有正确安装或导入解决确保你使用的是预置的YOLO-v5镜像它已经包含了所有必要的库。如果是在自己的环境需要先安装PyTorch问题2模型加载很慢原因第一次运行需要从网上下载模型权重文件解决耐心等待几分钟。下载完成后模型会缓存到本地下次运行就很快了问题3检测结果不准确原因yolov5s是通用模型对某些特定场景可能不够准解决尝试更大的模型换成yolov5m或yolov5l调整置信度阈值降低model.conf值看看更多结果使用自定义模型如果你有标注好的数据可以训练自己的模型问题4图片太大导致内存不足原因YOLO-v5会自动调整图片大小但超大图片可能还是有问题解决先用图片编辑软件缩小图片尺寸或者使用批量处理时减少一次处理的图片数量4. 总结与下一步恭喜你通过这三个步骤你已经成功部署了YOLO-v5环境运行了第一个目标检测程序甚至用自己的图片进行了测试。让我们回顾一下你学到的东西4.1 学习回顾环境部署变得简单通过预置镜像跳过了繁琐的环境配置直接进入核心功能YOLO-v5的核心使用流程一行代码加载模型指定输入图片支持多种格式执行推理获得结果多种方式查看和保存结果实际动手经验不仅运行了示例还用你自己的图片进行了测试参数调整基础学会了如何调整置信度和IOU阈值来优化检测结果4.2 下一步学习建议现在你已经掌握了YOLO-v5的基本使用接下来可以探索更多有趣的方向方向一训练自己的模型如果你有特定的检测需求比如识别某种特定商品、检测某种缺陷可以收集数据并训练自定义模型。YOLO-v5提供了完整的训练脚本和教程。方向二实时视频检测将YOLO-v5应用到摄像头实时画面中实现动态目标检测。这需要一些额外的代码来处理视频流但原理和图片检测是一样的。方向三模型优化与部署学习如何将训练好的模型导出为ONNX、TensorRT等格式优化推理速度部署到边缘设备如树莓派、Jetson Nano或移动端。方向四探索YOLO家族其他成员YOLO系列一直在更新有YOLOv6、YOLOv7、YOLOv8等新版本。每个版本都有其特点了解它们的差异能帮助你选择最适合的模型。4.3 保持学习的热情目标检测只是计算机视觉的冰山一角。通过这次实践你已经打开了AI视觉世界的大门。记住几个关键点实践是最好的老师多动手尝试遇到问题就搜索解决方案从简单开始不要一开始就追求完美先让代码跑起来再逐步优化利用社区资源YOLO有非常活跃的GitHub社区和论坛很多问题都能找到答案享受过程看着代码从无到有看着模型识别出物体这种成就感是学习最大的动力目标检测技术正在改变我们的生活——从手机拍照自动识别人脸到自动驾驶汽车识别行人和车辆再到工厂流水线检测产品缺陷。你现在掌握的技能正是这些应用背后的核心技术。继续探索继续实践你会发现AI的世界比你想象的更加精彩。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

更多文章