YOLO-v5快速上手指南:5分钟完成环境配置与首次推理
YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出,因其高速和高精度而广受欢迎。其核心思想是将目标检测任务视为一个回归问题,直接在图像上进行端到端的预测,从而实现极高的推理速度,适用于实时场景下的视觉识别任务。
简单介绍
版本号:YOLO-V5
基于YOLOv5算法构建的深度学习镜像,提供了完整的计算机视觉开发环境。该镜像预装了PyTorch深度学习框架及YOLOv5专用工具库,支持目标检测任务的快速开发与部署。无需手动安装依赖、配置CUDA环境或下载模型权重,开箱即用,极大缩短从环境搭建到模型推理的时间成本。
该镜像特别适合以下场景:
- 快速验证目标检测模型效果
- 教学演示与实验环境搭建
- 原型系统开发与本地测试
- 深度学习初学者入门实践
使用说明
1. Jupyter的使用方式
镜像内置Jupyter Notebook服务,用户可通过浏览器访问交互式编程环境,方便调试代码、可视化结果。
启动Jupyter后,可通过以下步骤进入开发界面:
- 打开浏览器,输入实例提供的Jupyter访问地址。
- 登录后进入文件管理界面,可看到预置的
/root/yolov5/项目目录。 - 进入该目录并打开示例Notebook(如
detect.ipynb),即可运行推理代码。
建议使用Chrome或Edge浏览器以获得最佳兼容性。若需上传自定义数据集或脚本,可通过“Upload”按钮导入本地文件。
2. SSH的使用方式
对于习惯命令行操作的开发者,可通过SSH连接实例进行远程开发。
连接步骤如下:
- 获取实例公网IP地址与登录凭证(用户名、密码或密钥)。
- 使用终端执行SSH命令:
ssh root@<your-instance-ip>- 登录成功后,可直接进入
/root/yolov5/目录开始工作。
此方式适合批量处理图像、训练模型或集成到自动化流程中。同时支持SFTP文件传输,便于上传测试图片或下载检测结果。
3. 运行Demo:完成首次推理
参考官方GitHub仓库:https://github.com/ultralytics/yolov5
首先进入yolov5项目目录:
cd /root/yolov5/接下来,执行以下Python代码完成一次完整的推理过程:
import torch # Load a YOLOv5 model (options: yolov5n, yolov5s, yolov5m, yolov5l, yolov5x) model = torch.hub.load("ultralytics/yolov5", "yolov5s") # Default: yolov5s # Define the input image source (URL, local file, PIL image, OpenCV frame, numpy array, or list) img = "https://ultralytics.com/images/zidane.jpg" # Example image # Perform inference (handles batching, resizing, normalization automatically) results = model(img) # Process the results (options: .print(), .show(), .save(), .crop(), .pandas()) results.print() # Print results to console results.show() # Display results in a window results.save() # Save results to runs/detect/exp代码解析
torch.hub.load("ultralytics/yolov5", "yolov5s"):从Torch Hub加载预训练的YOLOv5-small模型。该模型在COCO数据集上训练,具备良好的通用检测能力。- 支持多种输入格式,包括网络图片URL、本地路径、OpenCV帧等,自动处理尺寸归一化与张量转换。
results.print()输出检测框坐标、类别标签和置信度分数,例如:zidane.jpg: 768x512 (w,h), 4 persons, 1 tie, Done. (0.016s)results.show()调用Matplotlib显示带标注框的图像。results.save()将结果保存至runs/detect/exp/目录,包含原图叠加检测框的可视化图像。
推理输出示例
执行后将在控制台看到类似输出:
image 1/1 /root/.cache/torch/hub/ultralytics_yolov5_master/images/zidane.jpg: 384x640 4 persons, 1 necktie, 1 tie, Done. (0.015s)同时生成如下检测结果图:
4. 自定义图像推理实践
除了使用默认示例图像,你也可以上传自己的图片进行测试。
步骤一:准备图像
将待检测图像上传至服务器,例如放置于/root/yolov5/data/images/test.jpg
步骤二:修改代码路径
img = "/root/yolov5/data/images/test.jpg"步骤三:运行推理
重新执行推理代码,即可看到针对新图像的检测结果。
批量推理支持
YOLOv5支持对多张图像同时推理。只需传入图像路径列表:
img_list = [ "https://ultralytics.com/images/zidane.jpg", "/root/yolov5/data/images/bus.jpg", "/root/yolov5/data/images/person.jpg" ] results = model(img_list) results.save()系统会自动批处理所有图像,并分别保存结果。
5. 模型选择与性能权衡
YOLOv5提供多个模型变体,适用于不同硬件条件与精度需求:
| 模型型号 | 参数量(M) | 推理速度(FPS) | 适用场景 |
|---|---|---|---|
| yolov5n | 1.9 | ~160 | 边缘设备、移动端 |
| yolov5s | 7.2 | ~100 | 入门级GPU、快速原型 |
| yolov5m | 21.2 | ~60 | 中等性能GPU、平衡精度与速度 |
| yolov5l | 46.5 | ~40 | 高精度需求、服务器级GPU |
| yolov5x | 86.0 | ~25 | 最高精度、资源充足环境 |
可通过更换torch.hub.load中的模型名称来切换:
model = torch.hub.load("ultralytics/yolov5", "yolov5n") # 轻量化版本建议:在资源有限环境下优先尝试yolov5n或yolov5s,确保流畅运行;在追求精度时选用yolov5l及以上版本。
6. 常见问题与解决方案
Q1:运行时报错“urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED]”
原因:Python SSL证书验证失败,常见于某些代理或内网环境。
解决方法:
import ssl ssl._create_default_https_context = ssl._create_unverified_context将其添加到代码最上方,绕过SSL验证。
Q2:Jupyter无法显示图像(plt.show()无响应)
原因:Matplotlib后端未正确配置。
解决方法:
在代码开头设置绘图后端:
import matplotlib matplotlib.use('Agg') # 或 'TkAgg' 根据环境选择 import matplotlib.pyplot as plt或确保已安装opencv-python-headless以避免GUI冲突。
Q3:内存不足导致推理失败
建议措施:
- 切换为更小模型(如
yolov5n) - 减少输入图像分辨率(通过
model.imgsz = 320设置) - 关闭不必要的后台进程
Q4:如何查看保存的结果?
检测结果默认保存在:
runs/detect/exp/每次运行会创建新的子目录(exp, exp2, exp3...)。可通过Jupyter文件浏览器或SSH命令查看:
ls runs/detect/exp/包含:
image0.jpg:原始图像叠加检测框labels/:文本格式的检测结果(每行:class_id center_x center_y width height)
7. 总结
本文介绍了基于YOLO-V5镜像的快速上手流程,涵盖环境配置、Jupyter与SSH两种使用方式,并通过完整代码示例实现了首次推理任务。借助预置环境,开发者可在5分钟内完成从零到第一次目标检测的全过程。
核心要点总结如下:
- 开箱即用:无需手动安装PyTorch、CUDA、OpenCV等复杂依赖。
- 多模式接入:支持Jupyter交互式开发与SSH命令行操作,灵活适配不同使用习惯。
- 一键推理:利用Torch Hub加载预训练模型,几行代码即可完成检测。
- 模型可选:提供从nano到xlarge五种规格,满足不同性能与精度需求。
- 易于扩展:支持自定义图像、批量处理与结果导出,便于后续集成。
通过该镜像,无论是学术研究、教学演示还是工程验证,都能显著提升开发效率,降低入门门槛。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。