2026/2/19 17:44:04
网站建设
项目流程
建设部网站政策法规,东莞网站优化案例,做推广哪个平台效果好,wordpress弹窗提示摘 要
蔬菜水果的种类繁多#xff0c;是人们日常生活中不可或缺的一部分。然而#xff0c;在蔬菜水果的生产、销售和储存过程中#xff0c;往往面临着诸多挑战#xff0c;如品质检测、分类等问题。为了提高蔬菜水果行业的生产效率和产品质量#xff0c;提出了基于深度学习…摘 要蔬菜水果的种类繁多是人们日常生活中不可或缺的一部分。然而在蔬菜水果的生产、销售和储存过程中往往面临着诸多挑战如品质检测、分类等问题。为了提高蔬菜水果行业的生产效率和产品质量提出了基于深度学习技术的蔬菜水果检测系统。本项目采用了Yolov8算法这是一种高效的目标检测算法能够在图像中快速准确地检测出各种目标。将其应用于蔬菜水果的检测旨在实现对蔬菜水果的自动化检测和识别。关键词YOLO V8类蔬菜水果检测识别ABSTRACTThere are various types of vegetables and fruits, which are an indispensable part of people’s daily lives. However, in the production, sales, and storage of vegetables and fruits, there are often many challenges, such as quality inspection, classification, and other issues. In order to improve the production efficiency and product quality of the vegetable and fruit industry, a vegetable and fruit detection system based on deep learning technology has been proposed. This project adopts the Yolov8 algorithm, which is an efficient object detection algorithm that can quickly and accurately detect various targets in images. Applying it to the detection of vegetables and fruits aims to achieve automated detection and recognition of vegetables and fruits.Keywords: YOLO V8; Testing of vegetables and fruits; distinguish;目录摘 要 IABSTRACT II1 问题与背景 12 数据整理与清洗 23 模型设计与优化 83.1 需求 83.2 算法原理 103.3 优化网络结构 134 实验结果与评价 144.1 数据集准备 144.2 训练结果分析 164.3 模型推理分析 185 结果分析 20总结 21参考文献 241 绪论1.1 问题与背景蔬菜和水果是人们日常饮食中不可或缺的一部分品种繁多形式各异。然而蔬菜和水果生产、销售和储存中的质量控制和分类问题长期困扰着该行业的经营者。传统的识别和分类方法主要基于手工工作效率低容易出错使现代农业生产和流通的需求更加困难。随着深度学习的发展目标识别算法在各个领域都取得了显著成果。其中YOLOYou Only Look Once算法因其高效性和高精度而出现在目标检测任务中。YOLO V8是YOLO系列的最新版本具有更高的性能和灵活性使其成为广泛目标检测的理想选择。本文基于YOLO V8算法设计并实现了一个27类蔬菜和水果识别系统。该系统收集并评论了大量的蔬菜和水果图像数据并使用迁移学习方法对预训练的YOLO V8模型进行微调和优化以准确识别不同的蔬菜和果实形状和类别。该系统的顺利实施不仅可以提高蔬菜和水果行业的生产效率和产品质量降低劳动力成本和风险还有助于行业向智能化和高效化发展。因此本研究在理论和实际应用方面都具有重要意义。材料的选择是决定项目成功的关键因素。们收集了大量的蔬菜和水果图片并对其进行了广泛的标记涵盖了27种普通蔬菜和水果的不同形状。这些信息全面支持模型训练并确保其在不同条件下的准确性和稳定性。在训练过程中迁移学习用于用蔬菜和水果材料对预训练的Yolov8模型进行微调和优化。通过这种方式该模型在检测蔬菜和水果方面的性能和准确性得到了成功的提高。该项目的最终目标是将训练好的模型应用于实际场景帮助蔬菜和水果行业实现自动化生产和管理提高产品质量和市场竞争力。相信这项技术的应用将为蔬菜和水果行业带来新的发展机遇并将推动该行业朝着智能化和高效化的方向发展。基于这个项目使用Pyqt5库设计一个页面显示系统。该系统支持的活动包括导入和初始化培训模型调整信任和IOU阈值上传图像检测可视化结果显示导出结果停止检测下载、检测、可视化结果、导出结果和停止视频检测摄像机加载、检测、结果可视化和最终检测已识别目标数据和位置数据列表推理时间。1优势多样性和准确性该模型能够使用27种不同种类的蔬菜和水果进行训练准确识别不同形状和品种的蔬菜和果实。。应用广泛该项目不限于特定的品种或场景而是涵盖了蔬菜和水果行业的广泛领域可以应用于农业生产、仓储和物流、超市零售等各种环境。。智能化管理将蔬菜水果检测技术应用于生产和销售环节可以实现自动化检测和管理提高生产效率和产品质量降低人力成本和风险。2应用前景农业生产在种植和收获植物和水果时使用鉴定技术进行质量控制和分类可以提高农产品的质量和市场竞争力。仓储物流通过检测技术实现了蔬菜和水果储存和物流的自动化分类和管理提高了储存效率和产品新鲜度。超市零售在超市销售过程中使用检测技术对蔬菜和水果质量进行检查和分类可以提高产品展示和销售效率改善客户体验和满意度。1.2 文献综述1传统的目标检测算法区域选择的作用是对目标的位置做大致的定位。目标可能出现在图像中的任何位置目标的宽度可能会有所不同使位置有点复杂。一个数学学会是第一个进入一个看起来很疲惫的搜索窗口的该窗口具有很高的时间复杂性并在窗口后生成一个很高的数字导致部分分析的活跃较低;而且由于性能的限制[1]滑动窗口的大小和纵横比通常是固定的对于一些尺寸变化较大的目标区域的定位效果不是很好。随着SelectiveSearch和EdgeBox等区域选择算法的引入性能问题得到了改善。然而由于目标形式的多样性、图像背景的复杂变化和照明角度的巨大差异设计通用的手动功能几乎是不可能的。在获得候选区域的内部特征后使用SVMP和Adaboost1等常见分类算法等[2]对目标进行分类。DPMDeformable Parts Model是最成功的传统目标检测算法它是一种基于组件的检测方法,对目标的形变具有很强的鲁棒性[3]。目前DPM已成为分类、分割、位置估计等众多算法的关键组成部分。尽管传统的目标检测算法为当今的深度神经网络奠定了坚实的基础但它们在科学和研究方面仍然具有重要价值。2神经网络发展历史最早的神经网络思想起源于 MCP人工神经元模型当时的研究员希望用计算机模拟人类神经元反应的过程[4]。该模型将神经元简化为三个过程输入信号权重、求和和和和以及非线性激活。机器学习和神经网络的最早结合导致了感知器算法的发明该算法可以在多维数据的输入端执行二进制分类。然而学科的发展受到时间和知识储备的限制这种方法被认为只能处理线性分类问题导致研发停滞了近20年。采用非线性激活函数Sigmoid 的反向传播算法[5]该算法适用于多层感知器有效地解决了非线性分类问题将神经网络研究推向了第二个高潮。同年对流神经网络之父LeCun教授发明了LeNet并将其应用于数字识别取得了良好的效果。这意味着CNN的真正出现但由于当时计算机性能的限制它没有受到太多关注。随后由于缺乏突破性方法和反向传播算法固有的梯度消失问题神经网络的研究再次达到了冰点。同时提出了各种统计学习方法如隐马尔可夫链、决策树、线性支持向量机、AdaBoost、随机森林等。他们在各自的领域非常成功。深度网络训练中梯度消失问题的解决方案是将无监督预训练与监督训练调优相结合来初始化权重。其主要思想是首先使用自学习方法即自动建模器学习训练数据然后对训练后的数据进行监督训练。从那时起神经网络就进入了深度网络时代其中具有更多隐藏层的神经网络可以更好地理解基本数据属性因为它们具有更多的网络参数和更深的网络结构带来更好地图像检测效果[6]。基于CNN的AlexNet在图像分类任务中取得了巨大的成功。AlexNel创新性地引入了激活ReLU的功能大大加快了训练过程中的收敛速度解决了深度神经网络中梯度消失的问题同时AlexNet首次使用GPU加速神经网络训练大大提高了算法训练速度。在AlexNet之后更复杂的深度神经网络被提出第三波神经网络一直延续到今天。3深度学习在目标检测领域的研究现状深度学习并不是一个全新的概念它是机器学习的分支[7]。不同之处在于深度神经网络使用包含许多非线性激活函数的中间层来处理从而显著提高了特征提取能力通过构建合适的网络结构来学习图像的特征[8]并对函数的数据进行抽象。它需要大量的训练数据和强大的计算能力这最终会显著提高检测结果。根据不同的训练方法深度学习算法大致可分为监督学习、无监督学习和强化学习三种[9]。随着算法的成熟和计算能力的提高深度学习的性能正在迅速改变许多研究领域。在目标检测模型中使用深度学习逐渐成为一种研究趋势。与传统的机器学习或浅层学习相比深度学习的特点是:1)模型的结构更深神经网络的参数更多。在目前的研究中具有数十甚至数百层和数千万网络质量值的深度神经网络并不罕见。。2)突出特征学习在整个模型中的重要性。样本输入通过深层神经网络的过程并不是随机设计的而是经过逐层的运算进行特征变换[10]保留原始特征空间中的信息并将其转换为特征空间的新维度最终有效地学习可用的特征信息进行分类或预测。卷积神经网络CNN将人工网络与对流操作相结合。由于对流操作的特点CNN具有罕见的连接和权重分布。结合深度学习应用它可以有效减少传统深度神经网络中的参数数量解决过度拟合和训练速度慢等问题。因此许多基于对流神经网络的算法模型在各种目标识别任务中取得了良好的效果。一国外研究现状国外在深度学习技术图像识别分类的发展历程与国内大同小异。早在1995年IBM 公司开发出了名为 VeggieVision67 的果蔬识别系统其主要的识别依据是通过对比果蔬的颜色、纹理、形状等进行识别但由于当时设备的计算能力不足系统的发展和推广受到了一定的限制。而后在2020年Haci Bayram Ünal [1]等人使用卷积神经网络在两个不同数据集中对 20 种不同水果进行了识别和分类。Shubham Kathepuri[2] 在 2020 年的研究中使用 CNN、VGG16 和 ResNet50 等模型对 131 类水果进行分类CNN 在预处理的数据集上准确率达到 0.9691ResNet50 在增强数据集上准确率达到 0.9522。 Nur-E-Aznin Mimma [3]等人在 2022 年的研究中使用了数据增强技术并利用 YOLOv3 进行水果检测ResNet50 和 VGG16 进行分类在自定义数据集上分别达到了 99% 和 98% 的准确率。2国内研究现状早期起步阶段深度学习技术在国内农业领域的应用相对较少水果分类和识别主要以传统的图像处理和机器学习方法为主1996年刘禾提出使用图像识别系统对果形进行自动判别[4]。2011年孟大伟[5]提出基于纹理信息的水果图像识别方法。随着深度学习在国际上的兴起国内研究人员开始将其引入水果分类和识别领域。一些高校和科研机构开始尝试使用经典的深度学习模型如 LeNet-5、VGG16、ResNet 等对水果图像进行分类识别。2019年曾平平[6] 参照 LeNet-5 结构提出新的卷积神经网络结构对苹果、梨、橙子、橘子、桃子五种水果进行分类识别取得了 96.88% 的识别准确率。朱玲[7]采用K-means聚类和BP神经网络相结合的方法,大大提高了水果分类识别的准确率。随着研究人员不断对深度学习模型进行改进和创新以提高水果分类和识别的性能。如鄢紫[8][9]等人在 2024 年提出的 YOLO-FFD 模型以 YOLOv5 框架为基础通过设计轻量化模块和改进颈部结构使模型的平均精度均值达到了 96.12%在保证精度的同时提高了检测速度。将深度学习与其他技术如光谱成像、机器视觉、数据增强等相结合以获取更丰富的水果特征信息提高分类和识别的准确率。张梦云[10]等结合光谱透射图像采用全卷积网络完成了对蓝莓内部损伤的无损检测。应用方面李赟[11]团队为解决水果分拣难题设计了一种基于深度学习的水果识别系统。系统可对视频文件进行快速、准确的水果图像识别视频识别实时帧率稳定在22fps/s左右识别准确率大于85%,可为后续水果识别、分拣等自动化作业提供技术支撑。一国外研究现状国外在深度学习技术图像识别分类的发展历程与国内大同小异。早在1995年IBM 公司开发出了名为 VeggieVision67 的果蔬识别系统其主要的识别依据是通过对比果蔬的颜色、纹理、形状等进行识别但由于当时设备的计算能力不足系统的发展和推广受到了一定的限制。而后在2020年Haci Bayram Ünal [1]等人使用卷积神经网络在两个不同数据集中对 20 种不同水果进行了识别和分类。Shubham Kathepuri[2] 在 2020 年的研究中使用 CNN、VGG16 和 ResNet50 等模型对 131 类水果进行分类CNN 在预处理的数据集上准确率达到 0.9691ResNet50 在增强数据集上准确率达到 0.9522。 Nur-E-Aznin Mimma [3]等人在 2022 年的研究中使用了数据增强技术并利用 YOLOv3 进行水果检测ResNet50 和 VGG16 进行分类在自定义数据集上分别达到了 99% 和 98% 的准确率。2国内研究现状早期起步阶段深度学习技术在国内农业领域的应用相对较少水果分类和识别主要以传统的图像处理和机器学习方法为主1996年刘禾提出使用图像识别系统对果形进行自动判别[4]。2011年孟大伟[5]提出基于纹理信息的水果图像识别方法。随着深度学习在国际上的兴起国内研究人员开始将其引入水果分类和识别领域。一些高校和科研机构开始尝试使用经典的深度学习模型如 LeNet-5、VGG16、ResNet 等对水果图像进行分类识别。2019年曾平平[6] 参照 LeNet-5 结构提出新的卷积神经网络结构对苹果、梨、橙子、橘子、桃子五种水果进行分类识别取得了 96.88% 的识别准确率。朱玲[7]采用K-means聚类和BP神经网络相结合的方法,大大提高了水果分类识别的准确率。随着研究人员不断对深度学习模型进行改进和创新以提高水果分类和识别的性能。如鄢紫[8][9]等人在 2024 年提出的 YOLO-FFD 模型以 YOLOv5 框架为基础通过设计轻量化模块和改进颈部结构使模型的平均精度均值达到了 96.12%在保证精度的同时提高了检测速度。将深度学习与其他技术如光谱成像、机器视觉、数据增强等相结合以获取更丰富的水果特征信息提高分类和识别的准确率。张梦云[10]等结合光谱透射图像采用全卷积网络完成了对蓝莓内部损伤的无损检测。应用方面李赟[11]团队为解决水果分拣难题设计了一种基于深度学习的水果识别系统。系统可对视频文件进行快速、准确的水果图像识别视频识别实时帧率稳定在22fps/s左右识别准确率大于85%,可为后续水果识别、分拣等自动化作业提供技术支撑。2 数据整理与清洗1数据集介绍本文中使用的材料是27种普通蔬菜和水果的图像识别文件旨在支持YOLO V8You Only Look Once Version 8深度学习模型中对象的检测和识别。该材料共包含2013张图片每张图片都可以包含一个或多个目标涵盖了从水果到蔬菜的广泛类别。2数据清洗步骤去除重复数据识别并删除重复记录。处理缺失值填补缺失值或删除包含缺失值的记录。统一数据格式统一数据格式如日期、时间或数值单位。纠正数据错误修正数据中的错误和不一致如拼写错误或错误的分类。处理异常值检测和处理数据中的异常值或离群点。数据一致性检查确保数据在不同数据源或表之间的一致性。数据转换将数据转换成适合分析的格式例如归一化、编码分类变量等。图2.1 数据清洗步骤图2.2 数据处理模型1、对缺失值进行清洗数据清理的第一步是删除缺失的值。缺失值是一个非常常见的知识问题有很多方法可以处理它。这是一种常用的方法。首先明确缺失值的区域计算每个部门的缺失值比率并根据缺失率和该领域的重要性制定策略。。2、去除不需要的字段这个步骤很简单直接删除它。这里要注意的一件事是在将数据应用于大量数据之前要记住先备份数据或进行小数据测试以确保其准确性。这样做是为了避免“一误删成千古恨”。3、填充缺失内容填充缺失数据有3种方法分别是以业务知识/经验推测进行填充、以同一个指标计算的结果进行填充、以不同的指标计算的结果进行填充。4、重新取数重新取数是针对那些指标重要但缺失率又较高的数据这需要向取数人员或是业务人员进行资讯或者从其他渠道取到相关数据。5、关联性验证如果数据的来源较多就有必要进行关联性验证。数据清理可以使用专业的BI工具进行强烈建议使用Smartbi软件。Smartbi软件采用分布式计算架构其中单个节点支持多线程无压力地处理大量数据并有效地提高了计算性能。强大的数据处理功能不仅支持异构数据还支持内置的数据预处理功能如排序、重叠、映射、合并行列、合并行列转换和零值删除。3类别详情数据集包含以下27个类别的蔬菜水果水果类黑葡萄Black Grape绿葡萄Green Grape樱桃Cherry西瓜Watermelon龙眼Longan香蕉Banana芒果Mango菠萝Pineapple柚子Pomelo草莓Strawberry苹果Apple柑橘Orange火龙果Pitaya梨子Pear橙子Tangerine蔬菜类花生Peanut黄瓜Cucumber土豆Potato大蒜Garlic茄子Eggplant白萝卜White Radish辣椒Pepper胡萝卜Carrot花菜Cauliflower白菜Chinese Cabbage番茄Tomato西蓝花Broccoli4系统的总体框架及流程该系统在实现过程中使用了灵活处理流程在预处理过程中先接收已选数据样本后再根据具体情况选择性地开展预处理工作数据预处理时维规约聚集过滤异常值或者删除重复记录等一个或者多个功能都能实现但是通常需要首先完成维规约、在聚集之后再次执行过滤异常值或者移除重复记录的处理。当然还可按需直接执行过滤异常值或者删除重复记录无需通过维规约和聚集其系统框架和过程如下图2.3 系统的框架及流程图数据选取数据选择是从原始数据库中选择与用户感兴趣的知识发现任务相关的数据表项的过程。在选择过程中用户可以通过查看所选数据表中的记录数据来做出进一步选择。通常用户对数据库数据中包含的特定主题感兴趣并希望使用数据探索工具来指导他们的行业行为从而发现该主题下的几个隐藏模式。数据库中的数据量巨大范围相对较广。某些数据表没有连接。如果不简单地过滤数据库挖掘过程中会涉及无用的数据导致各种资源的损失。一个更严重的问题是一般的挖掘算法只适用于抽象数据甚至可以提取出完全无关的数据来搜索模式这些模式可以说没有实际意义是海量数据的结果。鉴于数据量巨大人们要做出完整的选择是不现实的。一般来说人机结合的方法让人们在更高的概念层次上选择数据类别并使用预编程程序在数据库中选择特定的数据表。如果基于数据仓库进行数据探索使用起来会更方便。如果不创建数据仓库则将选择所谓的数据表。单位识别问题即同一实体在不同数据表中由不同属性表示。通常我们可以通过查询元数据来解决这个问题。单元识别问题通常会通过数据表属性的一致性来解决。。数据表属性一致化在选择要提取的数据表后我们开始在提取前对这些表中的数据进行预处理。首先数据表属性级别的统一解决了上述单位识别问题。特别是在产品销售数据库中产品名称字段可以在一个数据表中保存为“产品名称”在另一个数据表格中用拼音描述为“spmc”。作为提取的准备有必要在数据字典的基础上统一同一实体的不同命名表示以获得统一清晰的数据表示。特定的实现方法可以基于一种表示、改变其他表示或重新定义表示。请注意有时同一属性的属性值可以用不同的单位来衡量。例如产品质量水平可以表示为第一、第二或第三类也可以表示为高质量、中等或中等。我们可以根据需要确定标准并指定将自定义表示转换为标准表示的方法。所有更改都必须记录下来以备将来参考或更新数据。预处理方法的选择应基于不同的数据情况。例如在现实生活中的实验中对于商店销售记录您应该首先减小维度以删除操作员、产品描述信息和注释等字段因为这些信息可能与数据探索无关。对产品销售信息进行分组非常重要。数据可以根据地理或时间维度进行观察。为了发现不同季度产品销售的相关知识应按时间、地区和其他方面汇总数据。以前产品销售是按日详细统计的在数据探索之前可以计算出每月的累积信息。选择正确的数据聚合角度对数据探索结果至关重要。5计算效率考虑数据的规模和分布目标是减少 数据清洗任务的总体计算时间。可以通过并行处理、采样和其他优化方法来实现式中Tcleaning 表示数据清洗的总时间T1T 2 …Tn表示各个数据清洗子任务的时间。(6)数据质量确保数据清洗后的数据集具有高质量通常通过准确率、召回率和F1分数等指标来评估。式中precision表示准确率recall表示召回率。3 模型设计与优化3.1 需求1软件核心功能介绍软件主要功能支持图像、批处理、视频和摄像头检测摄像头可以支持内置和外置摄像头分别分析检测结果显示单个检测对象的坐标、可靠性水平等。该界面可以显示目标位置、检测结果、检测时间、置信度和检测结果恢复等实时信息支持记录图像、视频和相机结果并将观察结果保存为Excel文件2界面参数设置说明图3.1 界面参数1图3.2 界面参数2标签4 摄像头源、相机、网络源标签5 交并比阈值目标检测时的iou参数只有目标检测框的交并比大于该值结果才会显示标签6 置信度阈值目标检测时的conf参数只有检测出的目标置信度大于该值结果才会显示标签7 显卡选择在进行推理时是否使用显卡默认勾选使用显卡标签8 半精度选择启用半精度FP16推理可加快支持的 GPU 上的模型推理速度同时将对精度的影响降至最低默认不勾选不适应半精度标签9 图片推理尺寸: 在推理时将推理图片固定的尺寸标签10 数据集的配置文件数据集在训练时的配置文件(.yaml);标签11 训练好的模型最终要进行推理的模型一般选择最优的一个模型3图片检测演示点击打开图片按钮选择需要检测的图片或者点击打开文件夹按钮选择需要批量检测图片所在的文件夹操作演示如下点击表格中的指定行界面会显示该行表格所写的信息内容。4视频检测演示单击视频按钮打开并选择要测试的视频单击开始时测试结果将自动显示。再次单击停止按钮时视频检测停止。单击表中的指定行用户界面将显示表中该行上写入的数据内容。5摄像头检测演示要选择摄像机源请输入一个可识别的摄像机可以是内部计算机摄像机、外部摄像机、视频流等然后单击摄像机图标以更正所选的接线方法。单击开始运行以开始检测。当您单击“停止运行”时相机检测将被禁用。单击表中的指定行用户界面将显示表中该行上写入的数据内容。6检测结果保存点击导出数据按钮后会将当前选择的图片【含批量图片】、视频或者摄像头的检测结果进行保存为excel文档结果会存储在output 目录下。3.2 算法原理分类和识别算法的效率和结果可能因任务和应用场景而异。在本研究的场景中对实时检测和分类的需求很高以提高超市销售实现智能超市销售。因此YOLO算法被选为实现高速检测的智能果蔬识别的第一步。本文选择了可以实现分类检测的YOLOV3算法并将其与YOLOV3 Tiny算法进行了比较以实现更好的检测和检测效率。3.2.1 YOLOv3模型YOLOv3对象识别算法是YOLO算法系列的第三个版本可识别80个不同的对象如人、狗、汽车等。它主要用于图像、视频和相机中的实时对象识别。该方法通过计算每个像素值与相邻像素之间的距离来确定运动范围并根据该确定结果使用相应的跟踪策略来识别和跟踪目标。YOLOv3网络架构如图3.2所示主要分为两部分Darknet53网络层和YOLO层。Darknet53网络层负责解码图像属性而YOLO层用于对检测到的对象进行多尺度预测。这种多尺度预测特征提高了对不同大小和遮挡的对象的检测。Darknet53主要由三部分组成卷积层、批处理标准化和旁路层接口。LeakRelu使用激活函数被称为Darknet53因为它包含53个卷积层。该网络模型可以有效地提高图像的表达同时具有良好的表达效果和噪声抑制。图3.3显示了网络的构建。