news 2026/5/30 12:47:03

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/5/20 14:10:15

MinerU 2.5应用案例:专利文档PDF关键信息提取

MinerU 2.5应用案例:专利文档PDF关键信息提取 1. 引言 1.1 专利文档处理的挑战与需求 在知识产权管理、技术情报分析和研发决策支持等场景中,专利文档是重要的信息来源。然而,专利文件通常具有高度复杂的排版结构:多栏布局、嵌…

作者头像 李华
网站建设 2026/5/22 6:17:29

Z-Image-Turbo图文生成实战:云端环境3步部署,1块钱试玩

Z-Image-Turbo图文生成实战:云端环境3步部署,1块钱试玩 你是不是也经常在公众号、小红书上看到别人用AI生成的精美插图?画面质感堪比专业摄影,文字排版清晰自然,甚至还能把古诗意境画出来。而自己一搜索“AI作图”&am…

作者头像 李华
网站建设 2026/5/22 6:47:55

BGE-Reranker-v2-m3自动化测试:CI/CD集成部署案例分享

BGE-Reranker-v2-m3自动化测试:CI/CD集成部署案例分享 1. 引言 1.1 业务场景描述 在现代检索增强生成(RAG)系统中,向量数据库的初步检索虽然高效,但常因语义漂移或关键词误导导致召回结果包含大量噪音。这一问题直接…

作者头像 李华
网站建设 2026/5/29 11:25:26

AI PPT 工具免费分享:5 款打工人亲测,平价好用不鸡肋

打工人必备!免费又简单好上手的5款AI PPT工具推荐作为一名职场打工人,我深知做 PPT 的痛苦。好不容易熬夜把内容整理好,结果领导突然要求第二天就交,还得根据新的需求重新调整结构和内容,简直是被临时需求死死支配。而…

作者头像 李华
网站建设 2026/5/22 3:51:12

verl+PyTorch FSDP联合部署:大模型训练实战案例

verlPyTorch FSDP联合部署:大模型训练实战案例 1. 背景与挑战:大模型后训练的工程瓶颈 随着大型语言模型(LLMs)在自然语言理解、代码生成和对话系统等领域的广泛应用,如何高效地进行模型后训练(Post-Trai…

作者头像 李华
网站建设 2026/5/22 9:31:25

你的模型为何不推理?DeepSeek-R1-Distill-Qwen-1.5B强制换行技巧揭秘

你的模型为何不推理?DeepSeek-R1-Distill-Qwen-1.5B强制换行技巧揭秘 1. DeepSeek-R1-Distill-Qwen-1.5B 模型介绍 DeepSeek-R1-Distill-Qwen-1.5B 是 DeepSeek 团队基于 Qwen2.5-Math-1.5B 基础模型,通过知识蒸馏技术融合 R1 架构优势打造的轻量化版本…

作者头像 李华