使用yolov5实现图像识别

这篇具有很好参考价值的文章主要介绍了使用yolov5实现图像识别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用yolov5实现图像识别

使用yolov5实现图像识别

开始之前

你应当先克隆这个仓库

git clone https://github.com/ultralytics/yolov5 # clone

下载完毕后,进入克隆的仓库目录

cd yolov5

下载依赖

pip install -r requirements.txt # install

下载数据集

这里有个数据集,为了节省训练时间,文件不是很大。结尾处我会推荐几个大型数据集下载地址

数据集下载
提取码:crnr

解压后,你会看到这几个文件夹:

使用yolov5实现图像识别

标记数据集

可以登录 https://www.makesense.ai/ 网站去标记数据,当然,你也可以使用其他标记网站。

使用yolov5实现图像识别

选择数据集目录,然后点击Object Detection,其中Image recognition主要用于图像分类。

使用yolov5实现图像识别

注意注意注意 ⚠️ ⚠️ ⚠️ :请牢记你导入的图片,推荐你新建一个目录单独存储你需要标记的图片文件,这一步很关键,不然一会图片标签对应不上,你将白忙活一场!!!

使用yolov5实现图像识别

这里我们可以首先添加几个标签,比如我想训练它识别苹果香蕉,那你就可以设置两个标签,分别为:apple,banana

根据我们的数据集,这里我们选择设置一个名为plastic的标签名,我使用的数据集是下面这个目录。

使用yolov5实现图像识别
如果你想同时训练这些所有类型的目录,你可以把他们集合起来,放在同一个目录当中然后导入到这个标记网站。

使用yolov5实现图像识别

标记你需要识别的部分,然后点击选择标签

使用yolov5实现图像识别

标记过程非常无聊,很多次我想睡觉。这里我只标记了200个,理想情况下,需要更多的数据,如果你的时间充沛或者对识别结果要求很高,请尽量多标记一些数据,过程是很辛苦的。

以此类推,等你标记完所有数据,点击Export Annotations

使用yolov5实现图像识别

使用yolov5实现图像识别

导出之后,我们将看到一个包含很多txt文件的文件夹。

使用yolov5实现图像识别

plastic1.txt 文件就是代表 plastic1.jpg 图片的标记文件。以此类推。

使用yolov5实现图像识别

其中的 0 就是代表我们的标签,一会训练的时候,你可以设置多个标签,比如设置 0 代表塑料,1代表纸箱等。

剩下那几个代表我们标记图像在整个图片当中的位置。

整理文件

这里我创建了一个名为 mydata 的文件夹。你应当记住你的文件路径。

文件夹内包含了两个文件夹,分别为 trainval

使用yolov5实现图像识别
train 文件夹内又包含了 imageslabels两个文件夹。

当然,val 文件内也需要这个两个文件夹。

使用yolov5实现图像识别

  1. images:我们标记的图片
  2. labels:标记位置的 txt 文件

使用yolov5实现图像识别

使用yolov5实现图像识别

新建 yaml 文件

我这里新建了名为 mydataset.yaml,你应当记住你的文件路径。

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: mydata  # dataset root dir
train: shuju  # train images (relative to 'path') 128 images
val: shuju  # val images (relative to 'path') 128 images
# test:  # test images (optional)

names:
  0: plastic
  • path: 数据集的根目录。所有其他路径(如训练集和验证集)都是相对于这个路径的。
  • train: 训练数据集的路径。
  • val: 验证数据集的路径
  • test: 可选字段,指定测试数据集的路径。

这里配置文件的意思就代表 mydata/shuju

举个例子,如果你的 mydata(包含了train,val的文件夹) 目录在 /aaa/bbb/ccc/mydata,那你的配置文件应该如下。

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: /aaa/bbb/ccc/mydata  # dataset root dir
train: train  # train images (relative to 'path') 128 images
val: val  # val images (relative to 'path') 128 images
# test:  # test images (optional)

names:
  0: plastic

它就代表: /aaa/bbb/ccc/mydata/train. /aaa/bbb/ccc/mydata/val.

这里的 0 就是我们标签,如果你当时在一个图片内标记了好几个物体。例如,你不仅标记塑料还标记了纸,那你的配置文件就应该为:

names:
  0: plastic
  1: paper

相应的你的 txt 文件也会自动出现多个标签,如果你标记数据时同时在一张图片内标记了多个物体的话。

开始训练

这个 mydataset 就是你配置文件的地址。

python train.py --img 640 --epochs 3 --data mydataset.yaml --weights yolov5s.pt

这里使用了 yolov5s

模型选择

执行训练的时候使用了 --weights yolov5s.pt ,这是一种模型,你可以参考下图具体选择,如我们选择 yolov5x ,就可以使用 --weights yolov5x.pt ,推荐使用 yolov5s,除非你要求的准确度非常高,不然你需要花费非常长的时间和足够的硬件支持来训练它。

使用yolov5实现图像识别

训练完成

训练好的模型在 runs/train/exp**/weights/best.pt

使用模型进行识别

这里的 best.pt 是你训练的模型地址。 –source 后面是你需要识别的图片地址。

python detect.py --weights best.pt --img 640 --source plastic184.jpg

使用yolov5实现图像识别

使用yolov5实现图像识别

自定义模型下载

如果你不想进行从头训练模型,可以下载这个已经训练好的模型进行上一步的 测试模型进行预测

分类模型下载

提取码:vvd6

数据集下载地址分享

1:数据集下载地址1

2:数据集下载地址2

问题

如果运行当中出现问题,欢迎咨询。文章来源地址https://www.toymoban.com/news/detail-468026.html

到了这里,关于使用yolov5实现图像识别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 从零开始使用YOLOv5+PyQt5+OpenCV+爬虫实现是否佩戴口罩检测

    全流程 教程,从数据采集到模型使用到最终展示。若有任何疑问和建议欢迎评论区讨论。 先放上最终实现效果 图片检测效果图 视频检测效果图 摄像头实时检测效果图 我已经处理了一份数据形成了对应的数据集。获取地址为百度网盘: 链接:https://pan.baidu.com/s/1SkraBsZXWCu1Y

    2024年02月05日
    浏览(48)
  • 深度学习图像识别笔记(三):yolov5检测结果分析

    是一种可视化工具,特别用于监督学习。通过这个矩阵,可以很清晰地看出机器是否将两个不同的类混淆了。 上图的表格其实就是 confusion matrix True/False: 预测结果是否正确 Positive/Negative:预测的方向是正方向还是负方向 真阳性(True Positive, TP): 预测为正样本,实际为正样

    2023年04月25日
    浏览(43)
  • 人工智能图像识别分析之——Yolov5模型训练

    上一课讲述了Yolov5模型环境搭建的过程 这一课讲Yolov5模型训练的过程 进行模型训练前,首先要先进行样本标注,标注后产生标注文件,将图片源文件和标注文件进行文件划分,本文以2000张负样本进行训练。 1.新建三级目录datasets/images/train、datasets/images/val 2.新建三级目录da

    2024年02月01日
    浏览(75)
  • 吸烟检测从零开始使用YOLOv5+PyQt5+OpenCV实现(支持图片、视频、摄像头实时检测)

    全流程 教程,从数据采集到模型使用到最终展示。若有任何疑问和建议欢迎评论区讨论。 先放上最终实现效果 检测效果 由上图我们可以看到,使用YOLOV5完成了吸烟的目标识别检测,可以达到mAP可达85.38%。通过对吸烟的自动检测可以方便商场、医院、疗养院等公共场合进行禁

    2024年02月09日
    浏览(55)
  • 烟雾和火灾检测从零开始使用YOLOv5+PyQt5+OpenCV实现(支持图片、视频、摄像头实时检测)

    全流程 教程,从数据采集到模型使用到最终展示。若有任何疑问和建议欢迎评论区讨论。 先放上最终实现效果 图片检测效果 视频检测效果 针对住宅、加油站、公路、森林等火灾高发场景,可以自动检测监控区域内的烟雾和火灾,帮助相关人员及时应对,最大程度降低人员

    2024年02月11日
    浏览(60)
  • 佩戴口罩检测从零开始使用YOLOv5+PyQt5+OpenCV+爬虫实现(支持图片、视频、摄像头实时检测,UI美化升级)

    全流程 教程,从数据采集到模型使用到最终展示。 支持图片检测、视频检测、摄像头实时检测,还支持视频的暂停、结束等功能。若有任何疑问和建议欢迎评论区讨论。 先放上最终UI实现效果 图片检测效果图 视频检测效果图 摄像头实时检测效果图 我已经处理了一份数据形

    2024年02月04日
    浏览(52)
  • RK3588实战:调用npu加速,yolov5识别图像、ffmpeg发送到rtmp服务器

    前言:最近在学习一些rk3588相关的东西,趁着这个项目,把学习的相关东西整合下,放到一个项目里面,巩固学习的知识。 项目名称:yolov5识别图像、ffmpeg发送到rtmp服务器 功能:1、opencv读取usb摄像头,使用RK3588自带的NPU推理yolov5s算法,识别图像            2、使用ffmpeg,

    2024年02月03日
    浏览(44)
  • 使用yolov5进行茶叶识别

    目录 一、github官方网址 二、环境搭建 ​编辑 ​编辑 三、使用coco128数据集进行环境测试 四、使用labelme标记数据集 五、代码修改 六、开始训练 七、进行测试 八、问题与反思   也可使用以下命令进行代码下载  (1)python=3.7 (2)pytorch=1.7 本文使用anaconda创建了python3.8版本的虚拟

    2023年04月09日
    浏览(73)
  • 【AI】yolov5:数据下载、图像标注、训练、预测等,超详细笔记;pytorch转onnx再转TensorRT;训练识别口罩

    https://gitcode.net/mirrors/ultralytics/yolov5/ 1)安装pytorch 2)安装cudnn 3)下载yolov5源码: 4)安装yolov5依赖

    2024年02月15日
    浏览(49)
  • 小白YOLOv5全流程-训练+实现数字识别

    目录 一、配置 二、准备相关文件进行训练 三、使用labelImg标注图片 1.安装labellmg 2.使用 labellmg 四.划分数据集以及配置文件的修改 1.在VOCData目录下创建程序 split_train_val.py 并运行  2.将xml格式转为yolo_txt格式 3.配置文件  五、聚类获得先验框 1.生成anchors文件  2.修改模型配置

    2024年02月21日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包