yolov5解读,训练,复现

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

小白的第一篇csdn...最近在准备小论文,大概率是目标检测方向了,没经验,慢慢学,本文只是跟着b站的天才up主一起训练和复现,这里只是我记录yolov5的学习历程,都是大白话,没有专业术语,肯定也会说错很多东西,但是我都想记录在这里,这样就不会忘记啦,如果有幸被人刷到我的博客,也请多多指点,多多交流!

one step: 先去github上把官方的yolov5的代码都拉下来了  链接如下:GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite

一、几种数据增强的方法

正文之前:  提一下rectangularyolov5复现,深度学习,计算机视觉,人工智能,目标检测

up主解释了一下,这是yolov5中为了加快模型训练而采取的一种策略

在原来的训练数据过程中,由于每张图片宽和高不相同,而我们会将每张图片shape到一个固定的大小,这样一来,不同尺寸的图片就可以丢到同一个batch中进行训练了。但是有些图片进行resize后会出现黑边,这种黑边会影响我们训练和预测的速度。

基于原来的现象,在yolov5中进行了改进,也就是说在同一个batch里面尽可能的保证每张图片保留自己的shape(宽高),满足这个batch中的所有图片都会有较小的黑边,如最后一张狗狗图,它在某一个batch中最后的shape是520*640,这样一来,它能减少的计算量是非常可观的。

这里不得不说,up主真的很良心,把所有的数据增强的实例都放在这个这个jupyter上面,大家可以去这个github上自行搜索一下:yolov5_in_tf2_keras/data at master · yyccR/yolov5_in_tf2_keras · GitHub

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

 配合up主的讲解食用效果更佳~:2. 数据增强细节_哔哩哔哩_bilibili

ok 写到这里,我突然发现这个up主讲的我有些听不懂了,于是我又去寻觅一个讲的更接地气一点的up主:我是土堆  突然发现从一开始 他就真的讲的好细致,推荐推荐推荐!!!! 不过上述讲解数据增强的部分还是很值得一听的,多学点东西肯定没坏处。

为什么我说土堆细呢,是因为一开始他就解决了困扰我很久的问题,也就是我们经常在视频中看到的从github上下载下来的代码跟我们实际自己拉下来的代码不一样,这是因为作者会对代码进行更新,解决办法就是我们可以自行选择作者上传的版本....(也许很多人已经知道了,但也不妨碍还有很多人不知道,比如我...)

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

 二、环境的配置问题

首先,找到这个项目的requirements.txt文件,一般来说我们只用执行上面的pip指令,就能够将这个项目所需要的包下载到自己的pytorch环境中。(注意,要从base环境转到自己的pytorch环境中哦)如果作者没有写这个文件的话,那就只能自己去运行的时候,根据报错来安装缺少的包了。yolov5复现,深度学习,计算机视觉,人工智能,目标检测

 三、如何利用yolov5进行预测

 即开源作者为我们提供了训练好的模型,我们如何用这个模型在实际场景中进行应用,看一下在不同场景中它的检测效果如何。

3.1  README.md中有什么

 首先对模型做了一个简单的对比 我们会发现右边有YOLOv5s6---x6 越往下代表模型结构越复杂。

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

其次,作者还放上了一些教程,比如如何训练自己的数据集,如果想训练出好的结果,作者给出的相关建议和日志等等。

最后来看一下Inference,讲解的是如何利用已经训练好的模型进行网络预测。

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

 3.2 我在运行detect.py时遇到的各种问题

可以参考这个博客,我报错的问题跟里面是一模一样的,如果有小伙伴也是这种问题,直接跟着操作一遍就ok。

yolov5 5.0 报错日常Can‘t get attribute ‘SPPF‘ on <module ‘models.common‘ from ‘D:\\Pycharm\\Code\\yolov5_:)�东东要拼命的博客-CSDN博客

3.3 现在来记录一下各种参数的意义和作用 

关于YOLOv5-p5和YOLOv6-p6

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

我们在输入一张图片的时候,会将其resize到我们指定的图片大小,那么问题就来了,输出的时候我们的图片大小是不是就变了?答案是否定的

我们输出的图片大小依然与输入图片大小保持一致,只是在网络训练的过程中把尺寸进行缩放。

 yolov5复现,深度学习,计算机视觉,人工智能,目标检测

 NMS:非极大值抑制

 在检测过程中,会圈出不同的区域,我们就要想办法从这些框中选择最优框,NMS就是用来解决这个问题的。

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

这种情况下,我们采用的是IOU的方法

什么是IOU呢?-----即两个区域的交并比

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

 yolov5复现,深度学习,计算机视觉,人工智能,目标检测

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

 在图片中我已经记录了detect.py文件中每个参数的意义和作用,上述所创建的参数,最后都会被保存在opt这个变量中。

 四、训练yolov5模型(开始炼丹了...)

在开始之前,up主分两种情况讲解了炼丹的过程,分别是在自己电脑的CPU上 or 在云端GPU上,我用的是实验室的服务器,应该没什么大问题,简单记录一下,如果up主有详解代码的部分,我会直接将视频链接贴在下方,大家可以自行观看。如果我的训练过程除了啥问题,我也会记录下来,希望我能够顺畅的炼完丹!!!!!

跑模型时遇见的问题记录:

1.module 'distutils' has no attribute 'version'  

问题出现的原因:setuptools的版本太高导致

问题解决:

1.pip uninstall setuptools 记住,一定不可以使用conda uninstall  原因我这个小白也不是很清楚 我搜索的时候得到的答案是说 因为conda在卸载的时候会自动分析与其相关的库 然后全部删除,这样的话,可能很多你本来不想删除的东西都被删除了...

2.pip或者conda install setuptools==58.0.4 (如果你安装的是59的版本 很可能安装不上 因为现在的setuptools版本已经更新到67了吧 很多老版本只是部分保留下来了 anyway 如果58这个版本能装就装这个!)

2.Dataset autodownload failure

这个错误是发生在自动下载COCO数据集前128张图片时出现的,下载到94%的时候跟我说下载失败....服咯  

解决办法呢 就是自己点开这个下载网址,下载解压以后一定要放到和yolov5同一级目录下,如果跟我一样用服务器的话,必须要上传到服务器里才可以,不能放到yolov5文件夹下面,要和它是同一级才可以!!!!

 五、如何制作和训练自己的数据集

1.如果我们有数据集,那么要对其进行标注

2.如果没有数据集,要根据自己的需要获得数据集,进行人工标注

3.自己获得数据集,半人工标注(利用已经训练好的网络,对数据集进行简单的标注,然后自己进行微调)

4.仿真数据集(GAN,数字图像处理的方式)

假设我们要做与汽车相关的数据集:

1.首先去搜索有关汽车的图片,或者自己拍下来的汽车图片,保存到电脑中

2.使用Make Sense在线标注工具创建标签

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

 yolov5复现,深度学习,计算机视觉,人工智能,目标检测

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

如何导出数据?

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

 这样就可以下载下来了

 标注工作和下载工作我们都做好了,接下来要去建立我们的数据集文件夹了。

在我们编译器中的yolov5项目里新建一个数据集文件夹,名字自己取。

 yolov5复现,深度学习,计算机视觉,人工智能,目标检测

然后我们需要创建一个mydata.yaml文件,用来指定我们的数据集。

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

 然后就可以愉快的跑自己数据集的代码了,最后可以用detect.py测试一下~

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

注意:

1.正常情况下是不能拿训练集的数据来进行测试的,up主这里只是简单演示一下

2.一般,作者都会把数据集放在项目的外面,或者将数据集标注成excluded

yolov5复现,深度学习,计算机视觉,人工智能,目标检测

到这里,yolov5就告一段落了,后续还会继续记录俺的学习历程的,加油加油!文章来源地址https://www.toymoban.com/news/detail-686736.html

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

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

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

相关文章

  • 【计算机视觉】目标检测—yolov5自定义模型的训练以及加载

    目标检测是计算机视觉主要应用方向之一。目标检测通常包括两方面的工作,首先是招到目标,然后就是识别目标。目标检测可以分为单物体检测和多物体检测。常用的目标检测方法分为两大流派:一步走(one_stage)算法:直接对输入的图像应用算法并输出类别和相应的定位

    2024年02月01日
    浏览(40)
  • 【深度学习】YOLOv5实例分割 数据集制作、模型训练以及TensorRT部署

    yolov5-seg:官方地址:https://github.com/ultralytics/yolov5/tree/v6.2 TensorRT:8.x.x 语言:C++ 系统:ubuntu18.04 前言:由于yolo仓中提供了标准coco的json文件转txt代码,因此需要将labelme的json文件转为coco json. labelme JSON 转COCO JSON 使用labelme的CreatePolygons按钮开始绘制多边形,然后保存为json格式。

    2024年02月06日
    浏览(38)
  • 基于深度学习的跌倒检测系统(UI界面+YOLOv5+训练数据集)

    摘要:跌倒监测系统用于智能化监测是否有行人跌倒,通过YOLOv5的深度学习技术对视频、图片、摄像头等画面进行跌倒检测,分析并安全提醒。在介绍算法原理的同时,给出 P y t h o n 的实现代码、 P y Q t 的UI界面及训练数据集。跌倒监测系统主要用于日常生活中行人跌倒情况

    2023年04月18日
    浏览(34)
  • 基于YOLOv5的停车位检测系统(清新UI+深度学习+训练数据集)

    摘要:基于YOLOv5的停车位检测系统用于露天停车场车位检测,应用深度学习技术检测停车位是否占用,以辅助停车场对车位进行智能化管理。在介绍算法原理的同时,给出 P y t h o n 的实现代码、训练数据集以及 P y Q t 的UI界面。博文提供了完整的Python代码和使用教程,适合新

    2024年02月11日
    浏览(33)
  • Yolov5部署训练及代码解读

    一、前言 1.集成的资源,包括我自己做成的成品,可以直接train与detect。需要加qq群:938162384 2.本文目的主要是能够让读者复现,直接使用,而且少讲原理。如果想深入了解yolov5的原理,可以去看热度比较高的博主做的 3.如果是制作自己的数据集,那么有一个自己给训练集打标

    2024年02月04日
    浏览(29)
  • 目标检测论文解读复现之十:基于YOLOv5的遥感图像目标检测(代码已复现)

    前言        此前出了目标改进算法专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读最新目标检测算法论文,帮助大家解答疑惑。解读的系列文章,本人

    2024年02月06日
    浏览(30)
  • 目标检测论文解读复现之十六:基于改进YOLOv5的小目标检测算法

    前言 此前出了目标改进算法专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读最新目标检测算法论文,帮助大家解答疑惑。解读的系列文章,本人已进行创

    2024年02月03日
    浏览(35)
  • 【深度学习】yolov5 tag7.0 实例分割 从0到1的体会,从模型训练,到量化完成,bug避坑

    这里记录下yolov5 tag7.0的实例分割,因为也用过paddle家族的实例分割,能够训练出来,但是开放restiful api时遇到点小问题,还是yolov爽啊!!通过这篇博文,您可以一步步的搭建自己的分割网络。 git仓库:https://github.com/ultralytics/yolov5/tree/v7.0 在tag7.0开始支持的,号称sota,在mas

    2024年02月06日
    浏览(35)
  • Kears-4-深度学习用于计算机视觉-使用预训练的卷积网络

    本篇学习记录主要包括:《Python深度学习》的第5章(深度学习用于计算机视觉)的第3节(使用预训练的卷积神经网络)内容。 相关知识点: 预训练模型的复用方法; 预训练网络 (pretrained network) 是一个保存好的网络,之前已经在大型数据集上完成训练。理论上数据集足够大

    2024年02月11日
    浏览(32)
  • 计算机竞赛 Yolov安全帽佩戴检测 危险区域进入检测 - 深度学习 opencv

    🔥 优质竞赛项目系列,今天要分享的是 🚩 Yolov安全帽佩戴检测 危险区域进入检测 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:4分 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/d

    2024年02月12日
    浏览(39)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包