2026/5/21 13:10:36
网站建设
项目流程
怎么建设一个淘宝客网站,国外公司网站设计,wordpress模版使用教程,wordpress 锚点的设计YOLO-v5入门必看#xff1a;Jupyter环境下目标检测代码实例详解
1. 技术背景与学习目标
YOLO#xff08;You Only Look Once#xff09;是一种流行的物体检测和图像分割模型#xff0c;由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出#xff0c;…YOLO-v5入门必看Jupyter环境下目标检测代码实例详解1. 技术背景与学习目标YOLOYou 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等递增命名。裁剪检测区域提取特定目标区域用于下游任务如分类、OCRcropped_images results.crop(saveTrue)每个检测框对应的区域将被单独裁剪并保存。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, _verboseFalse) model.imgsz 640 # 默认为640可设为1280提升精度设置置信度阈值过滤低质量预测model.conf 0.5 # 默认0.25 results model(img)5. 总结本文详细介绍了如何在预配置的YOLOv5镜像环境中利用Jupyter Notebook快速实现目标检测任务。主要内容包括环境理解掌握了YOLOv5镜像的核心组成与访问方式模型加载学会了使用torch.hub.load加载不同规模的预训练模型推理执行实现了从单一图像到批量输入的完整推理流程结果处理熟练运用.print(),.show(),.save(),.crop()等方法进行结果解析实践优化了解了常见问题解决方案与性能调优技巧。通过本教程您已经具备了在真实项目中集成YOLOv5的基础能力。下一步可尝试训练自定义数据集导出ONNX模型用于生产部署集成至Web或移动端应用获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。