Lightweight tomato ripeness detection algorithm based on the improved RT-DETR

论文地址

摘要

番茄具有很高的营养价值,需要对成熟果实进行准确的成熟度鉴定和选择性采收,以显著提高番茄收获管理的效率和经济效益。以往对番茄智能收获的研究往往只以番茄为目标,缺乏对番茄成熟度的细粒度检测。这一缺陷导致了未成熟腐烂水果的不慎收获,造成经济损失。此外,在自然环境中,光照不均匀、叶片遮挡和果实重叠阻碍了机器人系统对番茄成熟度的准确评估。同时,番茄成熟度检测中对高精度和快速响应的要求与使模型轻量化以降低硬件成本的需要相结合。为了应对这些挑战,本研究提出了一个轻量级模型PDSI-RTDETR。首先,PConv_Block模块将部分卷积和残差块结合在一起,取代了传统主干中的Basic_Block结构,从而减轻了计算量,提高了特征提取效率。随后,将可变形的注意力模块与尺度内特征交互结构相结合,增强了提取细粒度分类的细节特征的能力。此外,提出的特征融合结构,将尺度序列特征融合框架与细颈设计相结合,利用GSConv和VoVGSCSP模块,旨在减少计算量和推理延迟。最后,通过将InnerIoU和EIoU合并形成Inner-EIoU,取代原有的GIoU以加快收敛,同时利用辅助帧来增强小目标检测能力。综合评估验证,PDSI-RTDETR模型的平均MAP50精度达到86.8%,比原始RT-DETR模型提高3.9%,FPS提高38.7%。此外,PDSI-RTDETR的GFLOP降低了17.6%。它在精度和速度上超过了基线RT-DETR和其他流行的方法,揭示了它在检测番茄成熟度方面的巨大潜力。当未来应用于智能收获机器人时,该方法可以通过减少未成熟和变质水果的收集来提高番茄收获的质量。

引言

番茄因其富含维生素C、钾和番茄红素而广受青睐。西红柿在生长过程中,颜色逐渐从绿色变为黄色、橙色,最后变成红色,硬度下降,甜度和酸度达到平衡,导致营养含量增加。番茄的成熟度直接影响其营养价值、口感和采收时间。传统的人工检测方法是主观的,往往效率低、成本高,无法满足高效的成熟度判别和收获的需要。虽然传感器提供了一种检测成熟度的非接触式方法,但它们有时难以准确区分密切相关的成熟期,受到光照和温度等生态因素的显著影响,而且成本高昂。因此,建立一种轻量级、高效、精确的番茄成熟度检测算法对于番茄的智能分级和收获是非常重要的。然而,番茄的自然生长环境以果实遮挡、细微的颜色分化和光照条件的变化为特征,给番茄成熟度的准确识别带来了挑战。

为了提高番茄收获的质量,降低人工成本,同时准确地区分不同成熟度的水果进行收获,某些传统的机器学习方法被用于水果和蔬菜的成熟度检测。… 虽然传统的机器学习在番茄成熟度识别方面表现出明显的优势,但仍然存在人工特征提取过程繁琐、模型复杂性高、检测精度低、处理速度慢等问题

因此,深度学习被用来解决上述问题困难。近年来,YOLO系列的模型在工业对象识别领域表现出了非凡的有效性,表现优于传统的两阶段检测方法。… 然而,当处理严重遮挡、杂乱或体积较小的西红柿时,其检测能力是有限的

深度学习在高维数据的自动特征提取和处理方面取代了传统的机器学习,特别是在图像识别任务中实现了更高的精度。在农业部门,特别是在水果和蔬菜收获方面,对低功耗嵌入式设备的需求越来越大,以降低成本和提高效率。因此,考虑到算法的实用性,最大限度地减少模型的占用空间和计算需求,同时提高识别的精度和速度是至关重要的。此外,算法需要具有鲁棒性,以抵御非结构化外部因素的干扰,如变化的光照、气候条件和植被造成的障碍。这些挑战需要开发创新的深度学习方法,以有效地平衡性能、效率和对真实世界场景的适应性。为解决上述可能出现的问题制定了一种利用增强RT-DETR的轻量级番茄成熟度鉴定方法。我们的主要贡献如下:
1.“残差块与部分卷积的融合”:通过将PConv轻量级卷积与残差块合并成一种新的PConv_Block模块,增强了骨干网络的残差架构。这种集成在降低计算量的同时保持了性能,从而提高了特征提取的效率。

2.引入可变形的注意机构:将可变形的注意机构融入变压器的编码器中,以取代多头注意机构,从而产生AIFI-DAT组件。这使得该框架能够掌握输入的不同部分之间的复杂关联,从而在番茄成熟度的细粒度分类任务中提供增强的性能。

3.“轻量级Neck架构的设计”:将ScaleSequence Feature Fusion(SSFF)框架与集成了轻量级GSConv和VoVGSCSP模块的细颈结构相结合,提出了一种新颖的Slimeck-SSFF结构。该体系结构在颈部阶段引入,在保持精度的同时提高了对微小物品的检测能力,同时降低了计算需求和推理延迟。

4.损失函数优化:将内部IoU与EIoU合并,在EIoU内部引入一个由比例因子比例控制的辅助包围盒,得到内部IoU。用这个损失函数代替模型使用的原始GIOU,可以得到更快、更有效的回归结果。

5.“有效性评估”:对番茄成熟度数据集的全面评估表明,所提出的PDSIRTDETR框架在准确率和速度方面优于最初的RT-DETR框架,并且具有更低的计算代价,并且优于其他常见的目标检测模型。

实验数据集

分两批采集了番茄成熟度图像。
第一批照片是白天在北京市丰台区中国(东经116°12‘3.7548“,北纬39°47’26.8332”)的番茄采摘园拍摄的,使用的是搭载索尼IMX586镜头(48MP,f/1.7光圈,相当于26 mm焦距)的小米9智能手机。这些图像是在各种光照条件下拍摄的,从明亮的阳光到多云的天空,9月初的温度在25摄氏度到30摄氏度之间。捕获的图像表现出不同的条件,如强光、阴影遮挡和重叠的水果。
第二批图像来自Kaggle上公开提供的水果和蔬菜图像识别数据库(Seth,2020)中的112幅番茄图像。这些图像经过了数据增强处理,包括平均模糊(核大小从5×5到15×15)、随机裁剪(将图像的随机部分裁剪到原始图像大小的40-80%)和随机旋转(旋转-60°到60°之间的随机角度),以增强数据集的多样性。所有放大的图像都被调整到640x640像素的一致大小。经过数据增强,共获得3251幅图像。
在这里插入图片描述
数据增强后的番茄图像示例

鉴于本文的重点在于分析计算机视觉算法在番茄成熟度评价中的应用,根据番茄的颜色、色调饱和度、大小和形状以及腐败程度等外观差异进行视觉区分。根据这些特征,西红柿分为五类:未熟、半熟、成熟、过熟和腐烂。生番茄呈鲜绿色调,体积较小,含糖量低,口感酸性,一般可溶性固形物总含量低于5%。半熟的西红柿转变为黄色或粉色,同时保留绿色区域,含糖量约为8%,pH水平约为4.25,TSS略有增加约7%。成熟的番茄呈均匀红色或深红色,体积较大,颜色鲜艳,PH值通常在4.2至4.5之间,TSS含量较高,可能在10%至12%之间。过熟的西红柿是深红色的,开始失去光泽,显示出轻微的收缩或皮肤松弛。腐烂的西红柿可能会形成不规则的棕色或黑色斑点,失去正常的皮肤光泽,表现出显著的收缩,变软,甚至破裂。利用Labelme注释工具,根据上述特征手动标记图像中的西红柿。数据集信息如下:
在这里插入图片描述

PDSI-RTDETR

本研究引入了轻量级的PDSI-RTDETR模型来解决这些问题。本文提出的PConv_Block模块将部分卷积(PConv)(Chen等人,2023)和残差块合并在一起,优化了骨干网络,以减少计算负担,实现高效的特征提取。可变形注意机制(Xia等人,2022)被引入编码器,通过AIFI-DAT模块增强了细粒度分类。所提出的Slimeck-SSFF结构将尺度序列特征融合框架(Kang等人,2023)与细颈设计相结合,以GSConv和VoVGSCSP模块(Li等人,2022A)为特色,以降低计算成本和较低的推理延迟来改进小目标检测。损失函数的优化是通过将内部IOU(Zhang等人,2023a)和EIoU(Zhang等人,2022)整合形成内部EIoU来实现的,从而提高了回归效率。综合评价表明,PDSI-RTDETR模型在准确率、速度和计算效率上都优于基线RT-DETR和其他流行的目标检测方法。
在这里插入图片描述
总体结构图

主干网络的改进

为了避免复杂模型在简单任务中的计算冗余,从而导致检测速度降低,本文使用相对较轻的ResNet-18作为骨干网络的基线。此外,我们用PConv代替BASIC_BLOCK模块中的传统卷积来支持特征提取,同时获得更高的模型亮度。PConv在选定的输入通道子集上明智地利用了滤波器,从而保留了剩余部分,最终实现了比标准卷积更低的每秒浮点运算(FLOPS)。这种方法在不降低任务精度的情况下,确保在广泛的设备上提高操作速度。PConv结构如图所示:
在这里插入图片描述

高效混合编码器的改进

可变形自注意力机制

可变形的自我注意模块基于数据确定自我注意框架内的键和值对的位置。该方法便于对不重要的区域进行有针对性的注意,提高了提取有意义的特征的能力。此外,它还解决了与集中注意力相关的过多内存和计算成本的问题。可变形的注意力共享每个查询的移动键和值,降低了空间复杂性,并避免了下采样技术可能导致的重大信息损失。
在这里插入图片描述
可变形注意力机制结构

将其应用至AIFI

在该模型的Neck体系结构中,单个变压器编码层专门用于处理来自主干网络的S5功能。利用高级特征的丰富语义属性,该方法在不牺牲性能健壮性的情况下显著减少了计算需求并提高了处理速度。这种优化的混合编码器协调尺度内特征交互,将多尺度特征变形为图像特征序列的序列化阵列。用可变形的注意力取代传统的多头自注意,便于对关键特征位置进行自适应采样,减少了内存使用量,避免了下采样技术固有的严重信息损失,从而提高了模型的计算效率和特征捕获能力

特征融合改进

颈部网络在模型中的作用是协调和支持不同层次的特征表示,以提高识别不同大小目标的精度。RT-DETR模型的Neck网络使用AIFI模块来对高层特征进行处理,然后利用CCFM模块进行多尺度特征的交互和融合。与YOLO相比,该网络颈部结构的参数数目和计算量有所增加,并且考虑到需要在单个图像中检测大量目标以及不同成熟度的番茄之间存在较大的色差,原始模型在卷积和下采样过程中丢失了小目标信息。为此,本文引入了SSFF模型、GSConv和Slim-Neck技术,提出了Slimeck-SSFF特征融合体系结构,在提高精度的基础上降低了模型的复杂度和计算量。
在这里插入图片描述
GSConv模块结合了传统卷积和可分离卷积,并使用Shuffle过程整合了两者生成的特征,确保了通道间的信息交换,同时有效地降低了计算成本。

GSbottleneck由两个GSConv模块和一个DWConv模块组成,每个模块都有输入功能,并将它们的输出相加。VoVGSCSP基于GSbottleneck,采用一次性聚合的方法构建,有效地减少了参数和浮点运算的次数。

为了区分不同大小西红柿的成熟期,我们使用SSFF模块来提高网络在捕捉不同尺度特征方面的熟练程度。SSFF模块将不同大小的特征图作为一个尺度空间,将不同分辨率的有效特征图调整到同一分辨率进行拼接,然后水平堆叠不同尺度的特征图,并利用三维卷积提取其尺度序列特征图。与现有文献中仅采用求和或拼接方法融合金字塔特征不同,SSFF模块能够更好地融合深部特征图中的高维信息和浅层特征图中的细节信息。这为不同维度的对象提供了更全面和更精细的特征描述,从而增强了网络捕获多尺度特征的能力。

损失函数改进

在所进行的研究中,模型的原始GIOU被替换为Inner-EIOU,这提供了更快的收敛速度、更高的评估精度和补充的边缘。在模型训练过程中使用较小的辅助边界来计算损失,对于高IOU样本的回归具有增益效应,而对于低IOU样本则相反。使用比例因数比来管理用于损耗计算的辅助边的各种比例的创建,可以在不同的情况下产生更快的回归结果。
在这里插入图片描述
在这里插入图片描述

评价指标

Precision、Recall、mAP、F1 score、GFLOPs、FPS

实验结果

RT-DETR模型的主干网络使用ResNet-18进行特征提取,包括四个Basic_Block模块。为了探索增强骨干网体系结构的合适位置,采用引入的PConv_Block模块来替代各个Basic_Block模块,并对增强后的模型进行了性能测试。
在这里插入图片描述
不同卷积作为主干基础模块的对比
在这里插入图片描述
加入注意力机制的热力图对比
在这里插入图片描述
(A-C)图像标签;(D-F)RT-DETR热力图;(G-I)添加了AIFI-DAT模块热力图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(A-C)阳光下;(D-F)阴凉处;(G-I)密集遮挡下
在这里插入图片描述
(A-C)Ground Truth;(D-F)RT-DETR检测;(G-I)PDSI-RTDETR检测

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/94726.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/94726.shtml
英文地址,请注明出处:http://en.pswp.cn/web/94726.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python音频分析与线性回归:探索声音中的数学之美

摘要:通过Python实现WAV音频信号处理与线性回归建模,揭示双声道音频的数学关联性,为声音特征分析提供新视角。1. 音频数据处理流程 1.1 WAV文件读取与预处理 使用scipy.io.wavfile读取音频文件,获取采样率与时域信号数据&#xff…

Linux shell脚本数值计算与条件执行

变量的数值计算实践 1 算术运算符 如果要执行算术运算,就会离不开各种运算符号,和其他编程语言类似,Shell 也有很多算术运算符。 下面就给大家介绍一下常见的 Shell 算术运算符: 、-,一元正号和负号。、-,加…

C#实战:基于iTextSharp实现PDF加密小工具

目录 1、技术框架 2、代码实战 2.1 创建窗体 2.2 后台代码逻辑 2.3 PDF加密用户类型 2.4 PDF加密权限列表 3、运行效果 4、总结 大家日常办公中有时候为了文档资料的安全需要对文档进行加密,尤其是针对PDF文档这个场景还是非常广泛的。今天给大家分享使用C#来实现PDF…

基于Labview的旋转机械AI智能诊断系统

1.摘要本文基于 CWRU 公开轴承数据集提出了一套“AI 轻量级模型 LabVIEW 智能诊断系统”。首先,LabVIEW 端构建了可视化、可交互的智能诊断平台。系统能够加载本地振动信号数据,调用训练好的深度学习模型进行故障识别与状态判断。界面集成信号时域监测、…

Qt从qmake迁移到cmake的记录

文章目录1.UI程序[开启/关闭]控制台2.增加宏定义3.在主项目中引入子项目4.使用C语言文件1.UI程序[开启/关闭]控制台 qmake: CONFIG console DEFINES QT_MESSAGELOGCONTEXTcmake: set(CMAKE_WIN32_EXECUTABLE OFF) # ON为关闭控制台 OFF为开启控制台2…

LangChain4J-(3)-模型参数配置

LangChain4j 提供了灵活的模型参数配置方式,允许你根据不同的 AI 模型(如 OpenAI、GPT-4、Anthropic 等)设置各种参数来控制生成结果。后面手撸代码继续在之前章节的代码上拓展一、日志配置(Logging)在 LangChain4j 中…

LangGraph - API多种访问方式

本文介绍了Langgraph服务的四种调用方式:1. 通过LangGraph Studio UI界面手动测试;2. 使用Python SDK进行同步/异步调用;3. 通过REST API测试;4. 使用JavaScript SDK接入。Langgraph 服务端代码 graph.pyfrom langchain_openai im…

HEI-612 HART/EtherNet/IPModbus TCP 网关:打通工业通信壁垒

在工业自动化领域,HART 协议设备的广泛应用与以太网网络的高效管理常面临 “协议孤岛” 难题 —— 老旧 HART 传感器、变送器难以接入 EtherNet/IP 或 Modbus TCP 系统,数据双向交互卡顿、调试复杂、兼容性差等问题,严重制约生产效率提升。上…

OSPF 的工作过程、Router ID 机制、报文结构

视频版讲解>>>>>>>>>>>>>>路由协议深度解析:从静态路由到 OSPF 实战 一、回顾静态路由:拓扑与核心逻辑 我们先回到上周讲解的拓扑图,这张图是理解静态路由的核心载体 —— 路由器作为网段分割的…

Qt 6 与 Qt 5 存在的兼容性差异

之前有提到。我的是Qt5,我朋友的是Qt 6,由于版本不兼容问题,在迁移时会有问题。所以这一我们说说这两个的区别。( 正文开始喽! 总结来说:Qt5迁移至 Qt 6 需:1. 破坏性变更(必须修改…

本地windows电脑部署html网页到互联网:html+node.js+ngrok/natapp

目录 核心概念:为什么不能直接分享HTML文件? 1,html文件修改 2,安装设置node.js 3,路由器虚拟服务器 4,采用ngrok工具进行内网穿透(国外工具) 5,采用natapp工具进行…

electron离线开发核心环境变量npm_config_cache

npm_config_cache 这个环境变量。它在离线环境配置中扮演着核心角色。什么是 npm_config_cache?npm_config_cache 是一个环境变量,用于直接设置 npm 的缓存目录的绝对路径。npm 在安装包时,会遵循一个特定的工作流程:检查缓存&…

CTFshow系列——命令执行web57-60

本篇文章介绍命令执行的另一种情况,CTFshow的Web57-60关的讲解解析;要想了解其它关卡可查看我以往的文章,感谢关注。 文章目录Web57(新方法)Web58(POST型)不可用函数可用函数Web59第二种方法&am…

域名、ip、DSN、URL

目录 1、ip 2、域名 3、DSN 4、URL 1、ip 每个连接到Internet上的主机都会分配一个IP地址,此ip是该计算机在互联网上的逻辑地址的唯一标识,计算机之间的访问就是通过IP地址来进行的。写法:十进制的形式,用“.”分开&#xff0…

【JAVA实现websocket】

JAVA实现websocket背景依赖问题代码实现测试背景 近期项目中需要用到websocket&#xff0c;实现即时通信。 依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></depen…

2.6 提示词调优编码实战(一)

目录 写在前面 一,需求定义 二,简单提示词 2.1 代码示例 2.2 输出结果 三,提示词模版 3.1 提示词 3.1.1 任务描述 3.1.2 用户输入 3.1.3 模型输出格式 3.1.4 Prompt模版 3.2 输出结果 写在前面 前面我们总结了提示词对于模型的意义,接下来我们来通过向模型输入…

使用Stone 3D快速制作第一人称视角在线小游戏

首先得有个怪物模型&#xff0c;怪物带有idle, attack动作 然后有个场景模型&#xff0c;把怪物&#xff08;如果模型较大&#xff0c;建议使用remote-mesh来加载&#xff09;摆放到想放的位置。 给相机加上fps-controls和character组件 给所有怪物加上character组件 可以在…

嵌入式第三十七课!!!TCP机制与HTTP协议

TCP的其他机制TCP头部标志位SYN&#xff1a;请求建立连接标志位 ACK&#xff1a;响应报文标志位 PSH&#xff1a;携带数据标志位&#xff0c;通知接收方该从缓冲区读数据 FIN&#xff1a; 请求断开连接标志位 RST&#xff1a;复位标志位 URG: 紧急数据标志…

【测试】pytest测试环境搭建

使用pytest进行API测试&#xff0c;vscode运行 创建虚拟环境&#xff0c;安装pytest&#xff0c;httpx&#xff0c;requests&#xff0c;dotenvvscode中ctrlshiftp&#xff0c;选择python: Configure Tests&#xff0c;选择pytest&#xff0c;目录左侧插件testing里面可以看到有…

javaweb开发笔记——微头条项目开发

第八章 微头条项目开发 一 项目简介 1.1 微头条业务简介 微头条新闻发布和浏览平台,主要包含业务如下 用户功能 注册功能 登录功能 头条新闻 新闻的分页浏览 通过标题关键字搜索新闻 查看新闻详情 新闻的修改和删除 权限控制 用户只能修改和自己发布的头条新闻 1.…