如何使用 Yolo v5 对象检测算法进行自定义对象检测-600学习网

600学习网终身会员188,所有资源无秘无压缩-购买会员

介绍

在本文中,我们将解释如何使用Yolo v5算法来检测和分类60多种不同类型的道路交通标志。

我们将从一个非常基本的点开始,涵盖每个步骤,例如准备数据集.培训和测试。在本文中,我们将使用Windows 10系统。

让我们来谈谈YOLO及其架构

YOLO是You Only Look Once的缩写。我们使用2020年6月推出的Ultralytics第5版,这是目前最先进的目标识别算法

YOLOv5是一种新颖的卷积神经网络(CNN),它可以实时准确地检测目标。该方法使用单个神经网络处理整个图像,然后将其划分为多个部分,并预测每个部分的边界框和概率。这些边界框由预期概率加权。

这种方法”只看一次图像”,因为它只在通过神经网络进行一次正向传播后进行预测。然后在非最大抑制之后传递检测到的项目(这确保了对象检测算法只识别每个对象一次)。

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

架构主要由三部分组成,即:

1.主干:主干主要用于从输入图像中提取关键特征。CSP(Cross-Stage Partial Networks)被用作YOLO v5的主干,从输入图像中提取丰富而有用的特征。

2.颈部:颈部主要用于创建特征金字塔。当涉及到对象缩放时,特征金字塔有助于模型泛化。它有助于识别不同大小和比例的同一物体。特征金字塔在帮助模型有效处理以前不可见的数据方面非常有用。其他模型,如FPN.BiFPN和PANet,使用各种特征金字塔方法。PANet在YOLO v5中用作颈部,以获得特征金字塔。

3.负责人:模型负责人主要负责最终检测步骤。它使用锚框来构建具有类别概率.客观姓得分和边界框的最终输出向量。

YOLO v5模型的头部与YOLO V3和V4的早期版本相同。

Yolo v5的优点和缺点

·它比YOLOv4小88%(27MB对244MB)

·它比YOLOv4快180%(140 FPS vs 50 FPS)

·在同一任务中,它与YOLOv4大致相同(0.895 mAP vs 0.892 mAP)

·但主要问题是,YOLOv5不像其他YOLO版本那样发布官方文件。此外,YOLO v5仍在开发中。我们经常会收到Ultralytics的更新,未来的开发人员可能会更新一些设置。

目录

1.在Windows 10中设置虚拟环境。

2.克隆Yolo v5的GitHub仓库。

3.数据集准备和预处理。

4.培训模式。

5.预测和现场试验。

创建虚拟环境

我们将首先通过在Windows命令提示符中运行此命令来设置虚拟环境

1.安装Virtualenv(运行以下命令安装虚拟环境)

$pip安装虚拟环境

2.创建环境(运行以下命令创建虚拟环境)

$py-m venv YoloV5_VirEnv公司

3.使用此命令激活它(运行以下命令激活环境)

$YoloV5_VirEnvScript激活

您也可以使用禁用它(如果要禁用环境,请运行以下命令)

美元停用

设置YOLO

激活虚拟环境后,克隆Ultralytics创建和维护的GitHub存储库:

$git克隆https://github.com/ultralytics/yolov5

约洛夫5美元

目录结构

约洛夫5/

.github/

数据

型号/

实用程序/

.dockerignore

.git属姓

.git忽略

.pre-commit-config.yaml

贡献.md

检测.py

Dockerfileexport.py文件

轮毂.py

许可证

阅读.md

要求.txt

设置.cfg

列车.py

教程.ipynb

val.py值

安装必要的库:首先,我们将安装所有必要的库(OpenCV和Pillow).图像分类(Tensorflow和PyTorch),并执行矩阵运算(Numpy)

$pip安装-r要求.txt

数据集准备

从该链接下载完整的标签数据集:

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

然后解压缩zip文件并将其移动到yolov5/目录。

1144张图片_数据集/

列车/

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

我们将使用总共77个不同的类

使用Yolo v5培训模型

现在运行命令以最终训练数据集。您可以根据电脑规格更改批量大小。培训时间将取决于计算机的性能。最好使用Google Colab。

你也可以训练不同版本的YOLOv5算法

所有这些都将使用不同的计算能力,并提供FPS(每秒帧数)和精确度的不同组合。

在本文中,我们将使用YOLOv5s版本,因为它是最简单的。

$python train.py?data data.yaml?cfg yolov5s.yaml?batch?size 8?name型号

现在在内部运行runs/train/Model/,您将找到最终的训练模型。

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

最好的pt包含用于最终检测和分类的最终模型。

结果。txt文件将包含您在每个时段内所取得的准确姓和损失的摘要。

其他图像包含可用于更多分析的绘图和图表。

Yolo v5型测试

将您的yolov5/目录移到其他位置并克隆该存储库。

$git clone https://github.com/aryan0141/RealTime交通标志的检测和分类

交通标志的实时检测和分类

目录结构

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

现在复制我们上面训练的模型并将其粘贴到这个目录中。

注意:我在模型/目录中包含了一个经过训练的模型,但您也可以用经过训练的模式替换它。移动到代码所在的目录。

美元cd代码/

将视频或图像放在**Test*目录中。我还提供了一些示例视频和图像供您参考。

用于测试图像

$python detect.py?source../Test/test1.jpeg?weights./Model/weights/best.pt

用于测试视频

$python detect.py?source../Test/vidd1.mp4?weights./Model/weights/best.pt

对于网络摄像头

$python detect.py–source 0–weights./型号/weights/best.pt

您的最终图像和视频存储在Results/目录中。

示例图像

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

每秒帧数(FPS)取决于您使用的GPU。我在英伟达MX 350 2GB显卡上获得了约50FPS的速度

github

这是吉图布。您可以找到本文中使用的完整代码。

慕课、黑马、极客时间、小码哥、拉钩、尚硅谷、开课吧等千套课程打包VIP套餐,IT课程一网打尽

免责声明: 1、本站信息来自网络,版权争议与本站无关 2、本站所有主题由该帖子作者发表,该帖子作者与本站享有帖子相关版权 3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和本站的同意 4、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责 5、用户所发布的一切软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 6、您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 7、请支持正版软件、得到更好的正版服务。 8、如有侵权请立即告知本站,本站将及时予与删除 9、本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章和视频仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。
600学习网 » 如何使用 Yolo v5 对象检测算法进行自定义对象检测-600学习网