CV之DL之YOLOv5:YOLOv5的简介、安装、使用方法之详细攻略

CV之DL之YOLOv5:YOLOv5的简介、安装、使用方法之详细攻略

 

目录

YOLOv5的简介

YOLOv5的安装

1、安装

2、推理

3、使用detect.py进行推理

4、训练

5、Ultralytics提供以下预装好必需依赖的就绪环境,方便用户直接开展项目

YOLOv5的使用方法


YOLOv5的简介

背景痛点

传统的目标检测模型训练过程通常比较复杂,对于新手来说难度大

模型预测速度往往不能满足实时要求,难以在移动端或边缘场景下实现

主要解决方案

YOLOv5采用PyTorch开发,使模型训练过程变得很简单。它提供了自动下载预训练模型和数据集的功能,一键训练模型

YOLOv5支持常见的OpenVINO、ONNX、CoreML、TensorRT等量化格式,可以方便的在移动或边缘设备上实现快速预测

项目提供了丰富的预训练模型,如yolov5n、yolov5s等不同大小和精度的模型,满足不同场景需求。

核心特点

易用性强,支持一键式训练、验证、预测流程

预测速度快,支持到毫秒级实时推理

开源免费,支持多种框架和设备,如PyTorch、ONNX、CoreML、TensorRT等

模型大小可选,从2M的yolov5n到86M的yolov5x,适应不同产品场景

性能优异,在COCO目标检测 benchmark上评估结果在国内外领先水平

2020年6月26日,YOLOv5在GitHub正式发布,YOLOv5是革命性的“一次看一眼”目标检测模型的第五次迭代,旨在实时提供高速、高准确度的结果。YOLOv5 通过 PyTorch、ONNX、CoreML、Tflite 实现。YOLOv5通过采用流行框架PyTorch开发,使模型训练简单;同时支持多种量化格式化,可以在移动端快速高效推理,极大缩短产品研发周期,在工业应用价值很高。

基于PyTorch构建的这个强大深度学习框架以其多功能性、易用性和高性能而赢得了极大的声望。我们的文档将引导您完成安装过程,解释模型的架构细微差别,展示各种用例,并提供一系列详细的教程。这些资源将帮助您充分发挥YOLOv5在计算机视觉项目中的潜力。让我们开始吧!

GitHub地址:GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite

pytorch版本:YOLOv5 | PyTorch

YOLOv5的安装

请查看YOLOv5文档,了解有关训练、测试和部署的完整文档。以下是快速入门示例。

1、安装

在Python>=3.8.0环境中克隆存储库并安装requirements.txt,包括PyTorch>=1.8。

git clone https://github.com/ultralytics/yolov5  # 克隆
cd yolov5
pip install -r requirements.txt  # 安装



2、推理

使用YOLOv5 PyTorch Hub进行推理。模型会自动从最新的YOLOv5发布中下载。

import torch

# 模型
model = torch.hub.load("ultralytics/yolov5", "yolov5s")  # 或 yolov5n - yolov5x6,或自定义

# 图像
img = "https://ultralytics.com/images/zidane.jpg"  # 或文件、路径、PIL、OpenCV、numpy、列表

# 推理
results = model(img)

# 结果
results.print()  # 或 .show()、.save()、.crop()、.pandas() 等

3、使用detect.py进行推理

detect.py对各种来源运行推理,从最新的YOLOv5发布中自动下载模型,并将结果保存到runs/detect中。

python detect.py --weights yolov5s.pt --source 0                               # webcam
                                               img.jpg                         # image
                                               vid.mp4                         # video
                                               screen                          # screenshot
                                               path/                           # directory
                                               list.txt                        # list of images
                                               list.streams                    # list of streams
                                               'path/*.jpg'                    # glob
                                               'https://youtu.be/LNwODJXcvt4'  # YouTube
                                               'rtsp://example.com/media.mp4'  # RTSP, RTMP, HTTP stream

4、训练

以下命令重现了YOLOv5 COCO结果。模型和数据集会自动从最新的YOLOv5发布中下载。在V100 GPU上,YOLOv5n/s/m/l/x的训练时间分别为1/2/4/6/8天(使用多GPU时速度更快)。尽量使用最大的--batch-size,或者对于YOLOv5 AutoBatch,传递--batch-size -1。V100-16GB的批次大小如下所示。

python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5n.yaml  --batch-size 128
                                                                 yolov5s                    64
                                                                 yolov5m                    40
                                                                 yolov5l                    24
                                                                 yolov5x                    16

5、Ultralytics提供以下预装好必需依赖的就绪环境,方便用户直接开展项目

 文档地址:Comprehensive Guide to Ultralytics YOLOv5 - Ultralytics YOLOv8 Docs

支持的环境

搭建深度学习环境需要安装各种依赖库(如CUDA、CUDNN、Python、PyTorch等),给用户带来较高门槛。Ultralytics提供以下预装好必需依赖的就绪环境,方便用户直接开展项目:

核心特点

各环境预装必需的CUDA、CUDNN、Python、PyTorch等深度学习依赖库

免去从零搭建环境的复杂过程,一键就能运行模型训练和推理代码

支持主流的云平台和本地Docker环境,为不同需求提供选择

优势

降低用户入门门槛,优化开发体验

节省依赖库安装和环境配置时间,提高开发效率

统一环境标准,保证代码在不同环境下均能高效运行,兼容性好

总之,Ultralytics通过提供一系列预装完备依赖的YOLOv5就绪环境,很好地解决了深度学习环境搭建的痛点,大幅简化了用户使用YOLOv5模型的门槛,提高了使用效率。

YOLOv5的使用方法

更新中……

要在Java中实现YOLOv5模型,可以使用以下步骤: 1. 准备YOLOv5模型:首先,确保你已经获得了YOLOv5的预训练模型权重文件(.pt文件)。你可以从YOLOv5的官方GitHub页面或其他可靠来源下载。 2. 导入Java深度学习库:Java并没有像Python那样成熟的深度学习生态系统,但你可以使用一些Java的深度学习库来实现YOLOv5。其中一个选择是DL4J(DeepLearning4J),它是一个基于Java的深度学习库,提供了一些神经网络模型和相关工具。 3. 加载YOLOv5模型:使用DL4J或其他Java深度学习库,加载YOLOv5模型的权重文件。你需要编写Java代码来加载模型并构建相应的计算图。 4. 图像预处理:在输入图像之前,你需要对图像进行预处理以满足YOLOv5模型的要求。这通常包括图像缩放、归一化和转换为模型所需的格式。你可以使用Java图像处理库,如OpenCV或JavaCV来完成这些操作。 5. 执行推理:将预处理后的图像输入到YOLOv5模型中,执行推理过程。你需要编写Java代码来处理模型输出,并解析出检测到的物体类别、边界框位置和置信度等信息。 请注意,由于Java在深度学习领域的支持相对较弱,所以实现YOLOv5模型可能需要一些额外的工作和技术调整。如果你对Java没有特殊要求或限制,建议使用Python等更适合深度学习的语言来实现YOLOv5模型。这样可以更轻松地使用已经成熟的深度学习库(如PyTorch或TensorFlow)和相关工具。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个处女座的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值