news 2026/9/3 1:12:46

YOLO-v5入门必看:Jupyter环境下目标检测代码实例详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
YOLO-v5入门必看:Jupyter环境下目标检测代码实例详解

YOLO-v5入门必看:Jupyter环境下目标检测代码实例详解

1. 技术背景与学习目标

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出,因其高速和高精度而广受欢迎。经过多个版本迭代,YOLOv5在保持实时性的同时进一步提升了检测精度和易用性,成为工业界和学术界广泛应用的目标检测方案之一。

本文面向初学者,旨在通过一个完整的Jupyter Notebook示例,帮助读者快速掌握如何在预配置的YOLOv5镜像环境中进行目标检测任务。我们将从环境介绍、工具使用到实际代码运行,逐步讲解关键步骤,并提供可复现的代码实例。

学习完本教程后,您将能够:

  • 理解YOLOv5的基本工作流程
  • 掌握Jupyter环境下加载YOLOv5模型的方法
  • 实现图像目标检测并处理输出结果
  • 熟悉常见操作如结果显示、保存与裁剪

2. YOLO-V5 镜像环境概述

2.1 镜像简介

该镜像基于YOLOv5算法构建,集成了完整的计算机视觉开发环境。预装了以下核心组件:

  • PyTorch 1.13+:主流深度学习框架,支持GPU加速
  • Ultralytics YOLOv5 官方仓库:包含所有预训练模型和工具脚本
  • OpenCV、Pillow、NumPy:常用图像处理库
  • Jupyter Notebook:交互式编程界面,便于调试与演示

此镜像极大简化了环境配置过程,用户无需手动安装依赖即可直接开始目标检测任务。

2.2 使用方式概览

镜像支持两种主要访问方式:Jupyter Notebook 和 SSH 远程连接。

Jupyter Notebook 使用方式

推荐用于快速实验和教学场景。启动实例后,可通过浏览器访问Jupyter界面,创建或打开.ipynb文件进行交互式编码。

登录成功后进入主目录界面,可查看预置的yolov5项目文件夹。

SSH 使用方式

适用于需要长期运行任务或集成到CI/CD流程中的高级用户。

通过SSH连接后,可在终端中执行批处理脚本或后台服务。

3. 在Jupyter中运行YOLOv5检测示例

3.1 准备工作

首先确保已进入正确的项目路径。在Jupyter Notebook单元格中执行以下命令切换至YOLOv5根目录:

cd /root/yolov5/

注意:若未找到该目录,请确认镜像是否正确加载或重新拉取最新版本。

3.2 加载预训练模型

YOLOv5提供了多个规模的模型以适应不同硬件条件和性能需求:

模型参数量(M)推理速度(FPS)适用场景
yolov5n1.9~160边缘设备、低延迟要求
yolov5s7.2~90平衡精度与速度
yolov5m21.2~50中等资源平台
yolov5l46.5~30高精度需求
yolov5x86.7~20服务器级部署

我们选择最常用的yolov5s模型作为示例:

import torch # Load a YOLOv5 model (options: yolov5n, yolov5s, yolov5m, yolov5l, yolov5x) model = torch.hub.load("ultralytics/yolov5", "yolov5s") # Default: yolov5s

首次运行时会自动下载模型权重(约14MB),后续调用将直接从本地缓存加载。

3.3 输入数据准备

YOLOv5支持多种输入格式,包括:

  • 图像URL(远程)
  • 本地文件路径
  • PIL图像对象
  • OpenCV帧(numpy array)
  • 批量图像列表

本例使用官方提供的测试图像链接:

img = "https://ultralytics.com/images/zidane.jpg" # Example image

该图像包含人物、球衣号码等丰富语义信息,适合展示多类别检测能力。

3.4 执行推理

调用模型即可完成端到端推理。YOLOv5内部自动处理图像预处理(归一化、缩放、填充)和后处理(NMS非极大值抑制):

# Perform inference (handles batching, resizing, normalization automatically) results = model(img)

返回的results对象封装了检测框坐标、置信度分数、类别标签等完整信息。

3.5 结果处理与可视化

YOLOv5提供了丰富的结果操作接口,便于后续分析与应用。

打印检测结果
results.print()

输出示例:

zidane.jpg: 2 persons, 1 tie, 1 sports ball, Done. (0.012s)

显示每类物体的数量及其检测耗时。

显示检测图像
results.show()

弹出窗口展示带标注框的图像,颜色区分不同类别,文本标注类别名与置信度。

保存检测结果
results.save()

将结果图像保存至runs/detect/exp/目录下。若存在同名文件夹,则自动生成exp2,exp3等递增命名。

裁剪检测区域

提取特定目标区域用于下游任务(如分类、OCR):

cropped_images = results.crop(save=True)

每个检测框对应的区域将被单独裁剪并保存。

4. 常见问题与优化建议

4.1 常见问题解答

Q1:为什么第一次运行很慢?
A:首次加载模型需从GitHub下载权重文件,建议在网络稳定环境下运行一次后断网使用本地缓存。

Q2:如何使用本地图片?
A:只需将图像上传至Jupyter文件系统,并传入相对路径即可:

img = "./data/images/test.jpg" results = model(img)

Q3:能否批量处理多张图像?
A:可以,传入图像路径列表即可实现批量推理:

imgs = ["img1.jpg", "img2.jpg", "https://example.com/img3.jpg"] results = model(imgs)

4.2 性能优化建议

  • 启用GPU加速:确保CUDA可用,模型默认会使用GPU(如果可用)
print(torch.cuda.is_available()) # 应返回 True
  • 调整图像尺寸:对于小目标较多的场景,可增大输入分辨率提升召回率:
model = torch.hub.load("ultralytics/yolov5", "yolov5s", _verbose=False) model.imgsz = 640 # 默认为640,可设为1280提升精度
  • 设置置信度阈值:过滤低质量预测:
model.conf = 0.5 # 默认0.25 results = model(img)

5. 总结

本文详细介绍了如何在预配置的YOLOv5镜像环境中,利用Jupyter Notebook快速实现目标检测任务。主要内容包括:

  1. 环境理解:掌握了YOLOv5镜像的核心组成与访问方式;
  2. 模型加载:学会了使用torch.hub.load加载不同规模的预训练模型;
  3. 推理执行:实现了从单一图像到批量输入的完整推理流程;
  4. 结果处理:熟练运用.print(),.show(),.save(),.crop()等方法进行结果解析;
  5. 实践优化:了解了常见问题解决方案与性能调优技巧。

通过本教程,您已经具备了在真实项目中集成YOLOv5的基础能力。下一步可尝试:

  • 训练自定义数据集
  • 导出ONNX模型用于生产部署
  • 集成至Web或移动端应用

获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 21:46:53

告别高显存焦虑,麦橘超然float8量化实测效果惊艳

告别高显存焦虑,麦橘超然float8量化实测效果惊艳 1. 引言:AI绘画的显存瓶颈与量化破局 随着扩散模型在图像生成领域的广泛应用,Flux.1 等高性能文生图模型以其卓越的细节表现力和艺术风格还原能力,成为AIGC创作者的新宠。然而&a…

作者头像 李华
网站建设 2026/9/2 21:47:22

LVGL教程:窗口window控件手把手教学

LVGL 窗口控件实战指南:从零搭建可滚动、可交互的嵌入式界面你有没有遇到过这样的场景?在一块小小的 TFT 屏幕上,想放一个“设置菜单”,里面要塞下十几个选项——按钮、滑块、开关、文本提示……结果一运行,内容直接“…

作者头像 李华
网站建设 2026/9/2 21:46:04

[特殊字符]AI印象派艺术工坊备份策略:用户上传数据持久化存储教程

🎨AI印象派艺术工坊备份策略:用户上传数据持久化存储教程 1. 引言 1.1 业务场景描述 🎨 AI 印象派艺术工坊是一款基于 OpenCV 计算摄影学算法的轻量级图像风格迁移工具,支持将普通照片一键转化为素描、彩铅、油画、水彩四种艺术…

作者头像 李华
网站建设 2026/9/2 21:46:23

Altium Designer中Gerber导出核心要点一文说清

Altium Designer中Gerber导出核心要点一文说清:从设计到制造的无缝衔接 为什么一次正确的Gerber输出能省下整整一周? 在硬件开发的冲刺阶段,最怕什么?不是原理图改了三次,也不是Layout布线返工——而是 打样回来的板…

作者头像 李华
网站建设 2026/9/2 23:25:19

cv_resnet18_ocr-detection实战:检测模糊文档文字,2块钱玩一下午

cv_resnet18_ocr-detection实战:检测模糊文档文字,2块钱玩一下午 你是不是也经常遇到这种情况?员工报销时随手拍一张发票或单据上传,结果照片模糊、角度歪斜、反光严重,文字几乎看不清。作为行政人员,你只…

作者头像 李华
网站建设 2026/9/2 23:28:25

手把手教你用 ms-swift 快速微调 Qwen2.5-7B 模型

手把手教你用 ms-swift 快速微调 Qwen2.5-7B 模型 1. 环境与资源概览 在开始微调之前,首先需要了解本镜像的环境配置和资源要求。该镜像专为单卡高效微调设计,预置了完整的模型与框架,可实现开箱即用。 1.1 基础环境信息 工作路径&#x…

作者头像 李华