开发学院

您的位置:首页>教程>正文

教程正文

YOLOv5快速入门

最快速的YOLOV5入门教程

  YOLO是对象检测算法的名字,YOLO将对象检测重新定义为一个回归问题。它将单个卷积神经网络(CNN)应用于整个图像,将图像分成网格,并预测每个网格的类概率和边界框。YOLOv5是一个在COCO数据集上预训练的物体检测架构和模型系列,它代表了Ultralytics对未来视觉AI方法的公开研究,其中包含了在数千小时的研究和开发中所获得的经验和最佳实践。YOLO非常快。由于检测问题是一个回归问题,所以不需要复杂的管道。它比“R-CNN”快1000倍,比“Fast R-CNN”快100倍。YOLOv5是YOLO应用比较广泛的版本。本文以最新的YOLOV5 7.0版本为例进行讲解。系统环境为Win11 22H2,python版本为3.10,PyTorch版本>=1.7。

1.下载代码

  首先进入YOLOV5的github主页,https://github.com/ultralytics/yolov5/tree/v7.0,下载代码到本地,将压缩包解压,本例中解压到E:\python\yolov5-7.0中。

001.jpg

2.安装依赖

  鼠标右键点击左下角的开始按钮,在弹出的菜单中选择”终端管理员“。

002.jpg

切换到项目所在文件夹

e:
cd E:\python\yolov5-7.0

  进入项目所在文件夹后,输入如下命令即可安装依赖。

pip install -r requirements.txt

  如果下载速度太慢可以切换为国内的源。

  如果没有任何错误那么则代表按照成功。

003.jpg

3.运行检测代码

  环境按照完毕后,就可以直接运行detect.py了。该命令的参数如下所示。

 python detect.py --source 0  # 参数为0代表使用计算机自带的摄像头
                          img.jpg  # 给出实际的图片
                          vid.mp4  # 给出实际的适配文件
                          screen  # 系统截屏
                          path/  # 保存待检测图片/视频的文件夹
                          'path/*.jpg'  # glob
                          'https://youtu.be/Zgi9g1ksQHc'  # YouTube视频地址
                          'rtsp://example.com/media.mp4'  # RTSP, RTMP, HTTP视频流

  本文使用文件夹作为参数,输入如下命令,意思是检查L盘try目录下的所有jpg文件。

python detect.py --source L:\try\*.jpg

  第一次运行detect.py会自动下载pt文件,耐心等待即可,执行成功后会给出类似下面的提示,告知结果保存在

runs\detect\exp文件夹下面.
Fusing layers...
YOLOv5s summary: 213 layers, 7225885 parameters, 0 gradients
image 1/1 L:\try\fadian.jpg: 448x640 14 persons, 1 tie, 162.4ms
Speed: 1.2ms pre-process, 162.4ms inference, 3.0ms NMS per image at shape (1, 3, 640, 640)
Results saved to runs\detect\exp

  完毕,是不是很简洁?跟把大象放进冰箱里的步骤差不多。

代码推理

import torch
# 模型
model = torch.hub.load('ultralytics/yolov5', 'yolov5s')  # or yolov5n - yolov5x6, custom
# 图像
img = 'https://ultralytics.com/images/zidane.jpg'  # or file, Path, PIL, OpenCV, numpy, list
# 推理
results = model(img)
# 结果
results.print()  # or .show(), .save(), .crop(), .pandas(), etc.

训练

  指令再现了 YOLOv5 COCO 数据集结果. 模型 和 数据集 自动从最新的YOLOv5 版本 中下载。YOLOv5n/s/m/l/x的训练时间在V100 GPU上是 1/2/4/6/8天(多GPU倍速). 尽可能使用最大的 --batch-size, 或通过 --batch-size -1 来实现 YOLOv5 自动批处理. 批量大小显示为 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

常见错误

  如果安装报错 “error: microsoft visual c++ 14.0 or greater is required”,那么是电脑没有安装vc++构建工具,打开 Visual Studio Installer,安装“使用C++的桌面开发”并确保安装详细信息的前两项勾选,安装完毕后关闭并重新进入终端管理员即可。

  下面是整理自互联网的一些坑和解决方法,仅供参考。

1.pytorch安装时总是失败 选择安装LTS版本,成功____ 命令:conda install pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorch-lts -c conda-forge

2.anaconda 和 pip 都进行换源(建议都换成阿里,比清华快多了)

3.pycocotools安装   可以直接打开anaconda官网(https://anaconda.org/)搜索     进入虚拟环境安装命令:conda install -c esri pycocotools

  选择用conda创建虚拟环境安装依赖项,但pandas、pycocotools、thop老是下载出错,yolov5没有这些没法运行.....

解决办法:

1、换源;

2、conda install -c anaconda xxx包名;

3、conda info xxx包名,复制url链接黏贴到浏览器下载,下完了cd C:/你的下载路径,conda install --use-local xxxxx包文件命令进行本地安装

(要是命令直接联网的话,你下的可能是非bz2格式,conda有时候不识别tar、bz之类格式[笑哭]直接用pip本地安装,everything搜pip安装到哪里了,把文件复制到C:\ProgramData\Anaconda3\envs\xxx虚拟环境\Lib\site-packages,conda list查看可以正常安装

4、pandas需要版本1.3.0