企业微网站哪个版本好,建设企业网站一般多少钱,网站建设与管理的实训,微信公众好第三方网站怎么做项目介绍
项目中所用到的算法模型和数据集等信息如下#xff1a;
算法模型#xff1a; yolov5 yolov5主要包含以下几种创新#xff1a; 1. 添加注意力机制#xff08;SE、CBAM、CA等#xff09; 2. 修改可变形卷积#xff08;DySnake-主… 项目介绍
项目中所用到的算法模型和数据集等信息如下
算法模型 yolov5 yolov5主要包含以下几种创新 1. 添加注意力机制SE、CBAM、CA等 2. 修改可变形卷积DySnake-主干c3替换、DySnake-所有c3替换
数据集 网上下载的数据集详细介绍见数据集介绍部分。
以上是本套代码的整体算法架构和对目标检测模型的修改说明这些模型修改可以为您的 毕设、作业等提供创新点和增强模型性能的功能 。
如果要是需要更换其他的检测模型请私信。
注本项目提供所用到的所有资源包含 环境安装包、训练代码、测试代码、数据集、视频文件、 界面UI文件等。 项目简介
在本文中我们将详细介绍如何利用深度学习中的YOLOv5算法来实现对蔬菜和水果的检测并结合PyQt5设计了一个简约而强大的系统UI界面。通过该界面您可以轻松选择自己的视频文件或图片文件进行检测并且还能够根据需要替换训练好的yolov5模型以适应不同的数据检测需求。
我们的系统界面不仅外观优美而且具备出色的检测精度和强大的功能。它支持多目标实时检测并允许您自由选择感兴趣的检测目标。
本博文提供了完整的Python程序代码和使用教程非常适合新入门者参考学习。您可以通过文末的下载链接获取完整的代码资源文件。以下是本博文的目录大致内容 目录 项目介绍项目简介效果展示一、环境安装二、数据集介绍三、 目标检测介绍yolov5相关介绍1. YOLOv5的网络结构 四、 yolov5训练步骤五、 yolov5评估步骤六、 训练结果 下载链接 效果展示
功能 1. 支持单张图片识别 2. 支持遍历文件夹识别 3. 支持识别视频文件 4. 支持结果导出xls、csv两种格式 5. 支持切换检测到的目标 基于深度学习的果蔬识别系统 一、环境安装
本项目提供所有需要的环境安装包python、pycharm、cuda、torch等可以直接按照视频讲解进行安装。具体的安装流程见此视频视频链接 环境安装视频是以车牌项目为例进行讲解的但是可以适用于任何项目。
视频快进到 3:18 - 21:17这段时间讲解的是环境安装可直接快进到此处观看。
环境安装包可通过百度网盘下载 链接https://pan.baidu.com/s/17SZHeVZrpXsi513D-6KmQw?pwda0gi 提取码a0gi –来自百度网盘超级会员V6的分享
上面这个方法是比较便捷的安装方式省去了安装细节按照我的视频步骤和提供的安装包安装即可如果要是想要多学一点东西可以按照下面的安装方式走一遍会更加熟悉。
环境安装方法2: 追求快速安装环境的只看上面即可
下面列出了5个步骤是完全从0开始安装可以理解为是一台新电脑没有任何环境如果某些步骤已经安装过的可以跳过。下面的安装步骤带有详细的视频讲解和参考博客一步一步来即可。另外视频中讲解的安装方法是通用的可用于任何项目。
python环境安装B站视频讲解cuda、cudnn安装B站视频讲解torch安装 B站视频讲解pycharm安装 B站视频讲解第三方依赖包安装 B站视频讲解
按照上面的步骤安装完环境后就可以直接运行程序看到效果了。 二、数据集介绍
数据集总共包含以下类别且已经分好 train、val、test文件夹也提供转好的yolo格式的标注文件可以直接使用。
白菜
白萝卜
胡萝卜
番茄
大蒜
花生
黄瓜
茄子
辣椒
花菜
西蓝花
土豆
菠萝
火龙果
黑葡萄
梨子
柑橘
龙眼
草莓
芒果
苹果
绿葡萄
西瓜
樱桃
香蕉
柚子数据样式如下 三、 目标检测介绍
yolov5相关介绍
1. YOLOv5的网络结构
YOLOV5有YOLOv5nYOLOv5sYOLOv5mYOLOV5l、YOLO5x五个版本。这个模型的结构基本一样不同的是deth_multiole模型深度和width_multiole模型宽度这两个参数。就和我们买衣服的尺码大小排序一样YOLOV5n网络是YOLOV5系列中深度最小特征图的宽度最小的网络。其他的三种都是在此基础上不断加深不断加宽。不过最常用的一般都是yolov5s模型。 本系统采用了基于深度学习的目标检测算法YOLOv5该算法是YOLO系列算法的较新版本相比于YOLOv3和YOLOv4YOLOv5在检测精度和速度上都有很大的提升。YOLOv5算法的核心思想是将目标检测问题转化为一个回归问题。此外YOLOv5还引入了一种称为SPP(Spatial Pyramid Pooling)的特征提取方法这种方法可以在不增加计算量的情况下有效地提取多尺度特征提高检测性能。 在YOLOv5中首先将输入图像通过骨干网络进行特征提取得到一系列特征图。然后通过对这些特征图进行处理将其转化为一组检测框和相应的类别概率分数即每个检测框所属的物体类别以及该物体的置信度。YOLOv5中的特征提取网络使用CSPNet(Cross Stage Partial Network)结构它将输入特征图分为两部分一部分通过一系列卷积层进行处理另一部分直接进行下采样最后将这两部分特征图进行融合。这种设计使得网络具有更强的非线性表达能力可以更好地处理目标检测任务中的复杂背景和多样化物体。 在YOLOv5中每个检测框由其左上角坐标(x,y)、宽度(w)、高度(h)和置信度(confidence)组成。同时每个检测框还会预测C个类别的概率得分即分类得分(ci)每个类别的得分之和等于1。因此每个检测框最终被表示为一个(C5)维的向量。在训练阶段YOLOv5使用交叉熵损失函数来优化模型。损失函数由定位损失、置信度损失和分类损失三部分组成其中定位损失和置信度损失采用了Focal Loss和IoU Loss等优化方法能够有效地缓解正负样本不平衡和目标尺寸变化等问题。 YOLOv5网络结构是由Input、Backbone、Neck、Prediction组成。Yolov5的Input部分是网络的输入端采用Mosaic数据增强方式对输入数据随机裁剪然后进行拼接。Backbone是Yolov5提取特征的网络部分特征提取能力直接影响整个网络性能。YOLOv5的Backbone相比于之前Yolov4提出了新的Focus结构。Focus结构是将图片进行切片操作将W宽、H高信息转移到了通道空间中使得在没有丢失任何信息的情况下进行了2倍下采样操作。 四、 yolov5训练步骤
此代码的训练步骤极其简单不需要修改代码直接通过cmd就可以命令运行命令都已写好直接复制即可命令如下图 下面这条命令是 训练 添加 CBAM 注意力机制的命令复制下来直接就可以运行看到训练效果**需要将coco_NEU-DET.yaml修改为自己的数据集的yaml文件 **。
python ./train.py --epochs 500 --cfg models/yolov5s-CBAM-2.yaml --hyp data/hyps/hyp.scratch-low.yaml --data data/coco_NEU-DET.yaml --weight weights/yolov5s.pt --workers 4 --batch 16执行完上述命令后即可完成训练训练过程如下
下面是对命令中各个参数的详细解释说明 python: 这是Python解释器的命令行执行器用于执行后续的Python脚本。 ./train.py: 这是要执行的Python脚本文件的路径和名称它是用于训练目标检测模型的脚本。 --epochs 500: 这是训练的总轮数epochs指定为500表示训练将运行500个轮次。 --cfg models/yolov5s-CBAM-2.yaml: 这是YOLOv5模型的配置文件的路径和名称它指定了模型的结构和参数设置。 --hyp data/hyps/hyp.scratch-low.yaml: 这是超参数文件的路径和名称它包含了训练过程中的各种超参数设置如学习率、权重衰减等。 --data data/coco_NEU-DET.yaml: 这是数据集的配置文件的路径和名称它指定了训练数据集的相关信息如类别标签、图像路径等。 --weight weights/yolov5s.pt: 这是预训练权重文件的路径和名称用于加载已经训练好的模型权重以便继续训练或进行迁移学习。 --workers 4: 这是用于数据加载的工作进程数指定为4表示使用4个工作进程来加速数据加载。 --batch 16: 这是每个批次的样本数指定为16表示每个训练批次将包含16个样本。
通过运行上面这个命令您将使用YOLOv5模型对目标检测任务进行训练训练500个轮次使用指定的配置文件、超参数文件、数据集配置文件和预训练权重。同时使用4个工作进程来加速数据加载并且每个训练批次包含16个样本。 五、 yolov5评估步骤
评估步骤同训练步骤一样执行1行语句即可注意--weights需要变为自己想要测试的模型路径VOC_fruit.yaml替换为自己的数据集的yaml文件。因中文显示乱码的原因此处将其转为了英文显示
python ./val.py --data data/VOC_fruit.yaml --weights ../weights/YOLOv5s/weights/best.pt评估结果如下 六、 训练结果
我们每次训练后会在 run/train 文件夹下出现一系列的文件如下图所示 下载链接 该代码采用PycharmPython3.8开发经过测试能成功运行运行界面的主程序为main.py提供用到的所有程序。为确保程序顺利运行请按照requirements.txt配置Python依赖包的版本。Python版本3.8为避免出现运行报错请勿使用其他版本详见requirements.txt文件 若您想获得博文中涉及的实现完整全部程序文件包括训练代码、测试代码、训练数据、测试数据、视频py、 UI文件等如下图这里已打包上传至博主的面包多平台可通过下方项目讲解链接中的视频简介部分下载完整文件截图如下
项目讲解链接B站