当前位置:首页 > 人工智能 > 正文内容

yolov5的安装与使用

lcpsky1年前 (2023-04-07)人工智能250

相比于Yolov4 ,v5的模型更多,适用配置的设备更广泛。

window环境下,首先安装anaconda,便于创建pytorch环境。安装直接百度。

第一步:从github下载压缩包

https://github.com/ultralytics/yolov5

如果英语看着费劲,可以参考这个博主的汉化版 :https://github.com/wudashuo/yolov5

下载好zip压缩包,解压之后放入一个工程目录,准备开始第二步。

第二步:下载依赖

首先,在anaconda中创建环境。

打开anaconda的命令行


创建环境名 比如叫yolov5

conda create -n yolov5

进入环境

activate yolov5


然后cd到工程目录下面

 开始下载环境所需的依赖了。

 然后输入命令
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple,

等待pip自动下载所需要的依赖。-i 参数是从清华镜像中下载依赖包,如果不加,则从国外源下载,不仅速度慢,还容易下载失败。

 当所有依赖下载完成,可以开始第三步了。

第三步:下载权重文件

 在https://github.com/ultralytics/yolov5/releases中下载4个权重文件,放到工程路径下的weights文件夹中。

 

一般这四个就够用了,s是最小的,速度最快,但是精度不高。

第四步 测试detect.py

在工程文件在运行cmd。
然后输入python detect.py --source 0 --weights=“weights/yolov5s.pt” (如果设备有摄像头)
或者python detect.py --source=“data/images/bus.jpg” --weights=“weights/yolov5s.pt”(设备没有摄像头)
前者会打开摄像头并实时探测物品,后者将用工程自带的一张测试图片进行测试。运行结束后,会打印结果文件的位置。在这个位置中可以找到测试结果。

 

结束摄像头进程 按ctrl+c即可,runs文件夹下有检测的结果。、

 

如果检测时的帧率只有几帧,也就是时间时0点几秒一张,多半时GPU没有使用。

检查自己的GPU是否可用

复制代码
In [1]: import torch

In [2]: torch.cuda.current_device()

Out[2]: 0

In [3]: torch.cuda.device(0)

Out[3]: <torch.cuda.device at 0x7efce0b03be0>In [4]: torch.cuda.device_count()

Out[4]: 1In [5]: torch.cuda.get_device_name(0)

Out[5]: 'GeForce GTX 950M'In [6]: torch.cuda.is_available()

Out[6]: True
复制代码

可以检测到就行。如果检测不到GPU,可能是安装的cpu版本的pytorch..这时候需要手动安装pytorch的GPU版本

官网https://pytorch.org/get-started/locally/

复制下面的安装命令行就行。找适合自己设备的cuda版本

conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch

 之后检测可用GPU之后,会发现帧率提升很大,几十帧。这也是比yolov4好一点的地方,可用选小模型,速度会快一些。

  第五步 制作自己的数据集–下载LabelImg

任意位置运行cmd,然后 pip install LabelImg -i https://pypi.tuna.tsinghua.edu.cn/simple
下载安装完成后运行cmd,输入LabelImg,打开程序。

第六步 制作自己的数据集–打标签

把准备好的图片放到一个文件夹中,在LabelImg中打开这个文件夹。然后设置标签文件输出位置(change save Dir)。不要放在与图片相同的位置就行。然后对每张图片画框打标签。按w键可以画框,画完框后,就会弹出对话框,然后在对话框上写上标签名就行(这步工作就是说明图片上这个位置是什么东西)。打完标签后,你就得到两个文件夹。图片和标签。在标签文件夹中,你还得到了一个classes.txt文件。这个文件记录了数据集中所有类别。标签文件中记录的是引索。需要通过这个classes.txt文件才能知道对应的物品名称。图片和标签两个文件夹中的文件一一对应,它们名字相同,后缀名不同。然后你需要把数据分为训练集和测试集,比例要适中。
此时,你拥有4个文件夹和一个class.txt文件。

    1. train图片

    2. train标签(与train 图片一一对应,名字相同,后缀不同)

    3. test图片

    4. test标签 (与test 图片一一对应,名字相同,后缀不同)

 

第七步 把自己的数据集转移到yolov5工程目录

在工程目录下找到data文件夹,在这个文件夹里新建一个文件夹。可以任意命名(为方便说明,这里用命名为mydataset。在mydataset下新建两个文件夹。一个命名为images,另一个命名为labels。这两个文件夹名字是规定的,不能随意。然后分别在这两个文件夹下都新建两个文件夹,命名为train,test。
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述
然后把第六步得到的4个文件夹中的文件转移到对应目录中

    1. train图片->images/train

    2. train标签->labels/train

    3. test图片->images/test

    4. test标签->labels/test

  • 第七步 调整配置文件

           1. 打开工程目录/models/yolov5s.yaml文件(如果训练的是其他模型则打开其他模型的yaml文件),然后把nc改为第六步中classes.txt中类别的数量。(你数据集中标签了多少样东西,这个数字就是几)

      2.  打开工程目录/data/coco128.yaml文件。  

      

      把train:设置为第六步的train图片的存放位置
      把val:设置为第六步的test图片的存放位置
      程序会自动搜索labels文件的位置。这也就是第六步为什么要规定图片与标签文件夹名字的原因。这个搜索是通过简单字符串替换实现的
      把nc:改为数据集的类别数目(1中的一样)
      把names改为类别名称,顺序要和第六步得到的classes.txt中的一样。

第七步 训练权重

命令行切换到工程目录下。运行命令(运行之前确保修改的配置文件都保存好了)
python train.py --img 640 --data data/coco128.yaml --cfg models/yolov5s.yaml --weights weights/yolov5s.pt --batch-size 8 --epochs 50

这些参数根据实际情况进行调整。–cfg 指示用到的模型的配置文件的位置。–weights 指示对应模型权重文件的位置。
在开始训练前。会打印输出的位置。我们会得到训练指标,训练后的两个权重文件(一个是最佳权重,一个是最后一轮训练得到的权重)。

 

训练完成后,就可以去那个目录查看结果。

 

第八步 用训练得到的权重进行预测

与第四步一样,不同的是权重文件的位置变了
python detect.py --source 0 --weights=“weights/yolov5s.pt”。改一下权重路径就行。
=>python detect.py --source 0 --weights=“runs\train\exp3\weights\best.pt”
source 参数说明
如果是0,则打开摄像头
如果是图片路径,则对图片进行预测。结果路径会打印
如果是文件夹,则对文件夹中的图片和视频进行预测。
如果是视频,则对视频进行预测。


原文链接:https://www.cnblogs.com/aiqinger/p/15207647.html

扫描二维码推送至手机访问。

版权声明:本文由软件技术记录发布,如需转载请注明出处。

本文链接:https://lcpsky.top/?id=53

分享给朋友:

“yolov5的安装与使用” 的相关文章

Anaconda学习入门

Anaconda学习入门

❤️Part1【Part1】 二、Anaconda在Window下搭建Python环境 1、下载 2、安装 3、添加python到环境变量 4、使用jupyter notebook 三、Anaconda在Linux下搭建Python环境 1、下载 2、安装 3、手动添加Ana...

Yolov5腾讯云训练

Yolov5腾讯云训练

Yolov5目前是解决图像识别问题的主流解决技术。选取YoloV5作为网络模型,一方面是因为从最终效果来看YOLOv5已经相当优秀,是发展的比较完备、使用比较广泛的一个版本;而更重要的是YOLOv5的调用、训练和预测都十分方便。YOLOv5的另一个特点就是它为不同的设备需求和不同的应用场景提供了大小...

收藏 | 90+深度学习开源数据集整理:包括目标检测、工业缺陷、图像分割等多个方向(附下载)

收藏 | 90+深度学习开源数据集整理:包括目标检测、工业缺陷、图像分割等多个方向(附下载)

发布于2022-05-05 13:41:57阅读 1.9K0来源:极市平台本文多干货,建议收藏本文整理汇总了90+深度学习各方向的开源数据集,包含了小目标检测、目标检测、工业缺陷检测、人脸识别、姿态估计、图像分割、图像识别等方向。附下载链接。复制小目标检测1. AI-TOD航空图像数据集数...

7个流行的强化学习算法及代码实现

7个流行的强化学习算法及代码实现

7个流行的强化学习算法及代码实现发布于2023-04-18 12:10:10阅读 1220来源:Deephub Imba本文约4500字,建议阅读5分钟本文介绍了流行的强化学习算法的发展和改进。目前流行的强化学习算法包括 Q-learning、SARSA、DDPG、A2C、PPO、DQN...

YOLOv5源码逐行超详细注释与解读(2)——推理部分detect.py

YOLOv5源码逐行超详细注释与解读(2)——推理部分detect.py目录前言🚀一、导包和基本配置1.1 导入安装好的python库等1.2 定义一些文件路径1.3 加载自定义模块🚀二、执行main函数🚀三、设置opt参数🚀四、执行run函数4.1 载入参数4.2 初始化配置4.3 保存结果4.4...