克服田间果园环境下非结构化背景挑战的果实检测优化策略

news2024/10/7 2:26:41

文章目录

  • 摘要
  • 复杂的背景因素和消极影响
    • 照明条件
    • 水果遮挡现象
    • 不同成熟度的水果
  • 参考

摘要

由于世界粮食和环境危机的持续影响,对智能农业的需求正在增加。以水果检测为重点,随着目标检测技术的快速发展,现在可以在水果检测系统中实现高精度。然而,在非结构化的果园环境中,高精度地检测果实仍然特别具有挑战性。这种环境由不同的光照条件和遮挡程度组成,可以通过某些策略来缓解。据我们所知,这是第一次回顾了用于水果检测的优化策略。本文综述旨在探讨在复杂环境中改进水果检测的方法。首先,我们描述了在室外果园环境中常见的复杂背景类型。随后,我们将改进措施分为图像采样前后的优化两类。接下来,我们比较了应用这些改进方法前后的测试结果。最后,介绍了水果检测优化技术在复杂背景下的未来发展趋势。我们希望这篇综述将激励研究人员设计他们的优化策略,并帮助探索更低成本和更健壮的水果检测系统。

复杂的背景因素和消极影响

本文根据视觉传感器在不同农业应用场景中输入的背景的复杂性,将视觉检测对象的背景类型分为两类:干净背景和复杂背景。例如,在RGB相机的情况下,干净的背景指的是与待检测对象有明显颜色偏差的纯色平面,或者只有少数对检测性能有最小的缺陷且容易消除的干扰因素,例如机械结构的纹理和传送带上的规则线。这些情况通常出现在超市自助结账或自动水果和蔬菜分类等地区,如图1所示。
在这里插入图片描述
相比之下,复杂的背景在需要部署在户外种植环境中的毡类植物中很常见,如户外水果采摘机器人和自动水果产量估计。与干净的背景不同,导致复杂背景的因素更多样化,通常对水果检测性能有显著影响。因此,许多研究提出了优化策略来克服或减轻这些缺陷,并评估了在真实农业场景下的水果检测方法的可行性。

我们认为,在对这些优化策略进行全面审查之前,有必要详细介绍复杂的背景。

照明条件

非结构化照明条件是常见的复杂背景因素,可以影响场环境中的水果检测性能。这些条件会随着时间的变化和天气条件的变化而动态变化,例如白天的阳光方向的变化,以及晴天和阴天之间的光照强度的变化。这些因素在水果图像中再现如下:(1)果实图像亮度随光强的变化;(2)阳光直射导致果实表面过饱和区域;(3)由于光遮挡现象,将果实表面分为阴影部分和非阴影部分。

虽然人类视觉系统可以在不断变化的光和成像条件下确定物体表面的颜色不变性,但成像设备并不具有这种颜色不变性能力(Tian et al.,2019a,2019b)。因此,光照条件可以显著地影响水果的检测性能(Zhou et al.,2022)。Wang等人(2020)指出,一些基于传统机器学习的分割算法明显受到自然环境中照明的影响。此外,非优化的深度学习模型在不均匀的光照中表现出错误识别。Yan等人(2021)将针对复杂背景优化的改进模型与其他四种主流目标检测模型进行了比较,发现未优化的检测模型在多云条件下可能表现出错误识别或遗漏识别。同一模型在不同光照条件下的检测性能也会有所不同。例如,Wang et al.(2018a,2018b)提出的绿色柑橘检测方法在前光条件下比在背光条件下更容易出现假阳性,而漏果现象则相反。在猕猴桃检测任务中,Fu等人(2021)提出的改进的YOLOv3-tint模型在下午的检测性能优于早上。

水果遮挡现象

遮挡被认为是目标检测中最重要的复杂背景因素之一。虽然人类的视觉系统不能通过场景遮挡器来可视化被遮挡目标的完整图像,但它可以基于一个小的可见区域抽象地推断出目标是什么。然而,这种功能对于视觉检测系统来说是昂贵的,因为更好的特征提取和信息推断能力通常意味着一个更大的、更复杂的模型体系结构。模型体系结构的设计往往受到部署平台的硬件条件的限制。因此,目标遮挡对检测性能提出了一个巨大的问题。

一般情况下,遮挡可分为两类:类间遮挡和类内遮挡。前者发生在一个物体被不同类别的物体遮挡时,而后者发生在一个物体被同一类别的物体遮挡时(Wang et al.,2018a,2018b)。在果实检测中,果实遮挡的情况如下: (1)果实被果实植株的分支和叶子覆盖,(2)同一植物的果实相互覆盖、重叠和粘附,如图1右下角所示。

Gongal et al.(2016)指出,相机不能仅从苹果冠的一侧捕捉到大多数苹果(大约60%的水果),因为叶子、树枝和其他苹果在果园中相互遮挡,这对果实计数精度有显著的影响。Yu等人(2019)使用Mask R-CNN模型来检测和分割生长在非结构化环境中的草莓,并定位它们的采摘点。总体准确度和召回率分别为95.78和95.41。检测误差可归因于在对草莓数据集进行采样时,由于光效应、遮挡或照片角度的影响,采集到的图像特征不够突出,导致误判。Jia等人(2020)对青苹果的检测和分割的研究表明,所提出的识别方法对无遮挡果实的检测性能最好。而遮挡果实的检测性能明显下降,对重叠果实的检测性能进一步下降。

不同成熟度的水果

果园通常在果实接近成熟时收获果实,以确保在最佳的消费时间出售。在这一点上,同一棵果树可能在不同的成熟阶段都有果实。如果果实的外观(主要是其颜色)根据成熟度显示出明显的差异(也见图1的右下角),则会干扰机器人的采集,这依赖于准确可靠的果实检测。此外,如果需要监测果实的生长阶段或通过果实检测技术提供阶段性产量估算,则必须提高检测模型对不同成熟度果实的稳健性。

Tian等人(2019a,2019b)提出了一个实际果园环境中不同生长阶段的苹果检测模型。研究人员根据苹果的颜色特征发生显著变化的时期,将苹果的生长分为三个阶段:幼苹果、膨胀苹果和成熟苹果。实验结果表明,熟苹果的检测性能最好,幼苹果的检测性能最差。对荔枝果实(Wang et al.,2021a,2021b,2021c)和樱桃果实(Gai et al.,2021)的检测也获得了相同的实验结果。这三种果实有一个相似的特点:在果实的发育过程中,果实的目标和周围的叶片之间的颜色差异往往变得更加明显。

参考

Optimization strategies of fruit detection to overcome the challenge of unstructured background in feld orchard environment: a review

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenGL(十三)——世界光照

目录 一、前言 二、平行光 2.1 片段着色器 2.2 app渲染 三、点光源 3.1 距离衰减 3.2 衰减片段着色器 四、聚光 4.1 片段着色器 4.2 光照入射方向 4.3 平滑边缘 一、前言 Light Caster :光投射(Cast)到物体的光源。现实世界中通常多…

面对复杂的系统与众多的插件,如何确保Jenkins项目的安全性?

CloudBees在Jenkins/CBCI生态系统上建立了一个专门的安全团队。关于该团队的公开信息可以在从此链接中找到:https://www.jenkins.io/security/。由于所涉及的系统复杂且插件数量众多(见下文),许多扫描提供的信息缺少有价值的上下文…

1015. 可被 K 整除的最小整数(leetcode)取模技巧题-------------------c++实现

1015. 可被 K 整除的最小整数(leetcode)取模技巧题-------------------c实现 题目表述 给定正整数 k ,你需要找出可以被 k 整除的、仅包含数字 1 的最 小 正整数 n 的长度。 返回 n 的长度。如果不存在这样的 n ,就返回-1。 注…

看完这篇文章你就彻底懂啦{保姆级讲解}-----(I.MX6U驱动EPIT定时器中断《按键消抖》) 2023.5.10

前言 首先我们在使用开发板进行开发时,自然而然会使用到定时器这个外设,因为我们需要它来完成精准的定时功能,但是说到精准,我会在下一篇文章中使用其他的定时器来完成这个功能即GPT定时器。在本文章中我们会利用定时器中断来解决…

LeetCode2. 两数相加

写在前面: 题目链接:LeetCode2两数相加 编程语言:C 题目难度:中等 一、题目描述 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 …

光学液氮恒温器T9120-4W的技术参数

液氮型低温恒温器,利用液氮作为降温媒介,标准恒温器可实现快速降温至液氮温度(约20min),其工作原理是在恒温器内部液氮腔内装入液氮,通过调整控温塞与冷指的间隙来保持冷指的漏热稳定在一定值上&#xff0c…

lua实战(1)

目录 IDELua中的名称Lua是一种区分大小写的语言 Lua 是一个小巧的脚本语言。它是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo三人所组成的研究小组于1993年开…

vue3+electron开发桌面软件(9)——选中多个文件,右键上传

系列文章目录 系列第一篇: vue3electron开发桌面软件入门与实战(0)——创建electron应用 文章目录 系列文章目录前言一、我们如何思考二、解决问题1.选择方案2. 发现electron多开窗口监听3.查找可使用的官方参数4.示例代码 总结 前言 从本系…

Docker 安全及日志管理

Docker 安全及日志管理 Docker 容器与虚拟机的区别隔离与共享性能与损耗 Docker 存在的安全问题Docker 自身漏洞Docker 源码问题Docker 架构缺陷与安全机制Docker 安全基线标准 容器相关的常用安全配置方法容器最小化Docker 远程 API 访问控制重启 Docker在宿主机的 firewalld …

ASEMI代理ADI亚德诺ADXL345BCCZ-RL7车规级芯片

编辑-Z ADXL345BCCZ-RL7特点: 超低功率:在测量模式下低至23A 在VS2.5 V的待机模式下为0.1A(典型) 功耗会随带宽自动调整 用户可选分辨率 固定的10位分辨率 全分辨率,其中分辨率随着g范围的增加而增加&#xff0…

00后才是内卷之王,被卷的头皮发麻....

都说00后躺平了,但是有一说一,该卷的还是卷。这不,前段时间我们公司来了个00年的,工作没两年,跳槽到我们公司起薪18K,都快接近我了。后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了。…

Redis主从复制(搭建集群的一种方式)【故障转移,内存,回收】

做一个伪集群 配置文件: daemonize yes port 7777 logfile .redis-7777.log dir ./ bind 0.0.0.0启动6666 and 7777 现在设置主从表 但是有个问题我把服务器停掉 关系就会解除 还可以手动解除 slaveof no one 命令 配置Sentinel(哨兵&#…

基于络达SOC AB1562A TWS蓝牙耳机设计

V hezkz17进数字音频答疑 一 原理框图 二 电子电路设计 (1)SOC主芯片 (2) 最小系统晶振电路设计26MHZ (3) 电池电路设计 4 充电电路与充电保护设计 5 LED输出电路设计</

hexo stellar设置目录跳转记录

1. 使用hexo-toc插件 一开始使用的是hexo-toc的插件&#xff1a;参考hexo安装toc插件 详细的可以看github的项目&#xff1a; github-hexo-toc 更加详细的配置&#xff1a; Hexo添加Toc支持&#xff0c;生成文章目录 2. 官网的方式&#xff08;推荐&#xff09; stellar博…

flink cdc原理与使用

flink cdc原理与使用 1 cdc 介绍1.1 cdc简介与对比1.2 基于日志的 CDC 方案介绍 2 基于 Flink SQL CDC 的数据同步方案实践2.1 案例 1 : Flink SQL CDC JDBC Connector2.2 案例 2 : CDC Streaming ETL2.3 案例 3 : Streaming Changes to Kafka 3 Flink SQL CDC 的更多应用场景…

Java EE企业级应用开发(SSM)第10章

第10章MyBatis核心配置及动态SQL 一.预习笔记 1.第九章的细节处理 1-1.mappers标签中的配置 1-2.jdbc属性文件的配置 1-3.包的别名配置 2.Mybatis核心配置文件 2-1&#xff1a;settings标签&#xff08;P145-146中的表10-1&#xff09; 2-2.类型别名 3.Mybatis映射文件 3-1…

项目集管理绩效领域

项目集管理绩效领域是对活动或职能相关领域的补充分组&#xff0c;这些活动或职能在项目集管理工作的 整个范围内&#xff0c;专门描述和区分一个绩效领域中的活动。 本章包括&#xff1a; 项目集管理绩效领域的定义项目集管理绩效领域的交互组织战略、项目组合管理和项目集管…

vue 水印组件

效果图展示 Watermark 参数说明类型默认值版本width水印的宽度&#xff0c;content 的默认值为自身的宽度number120height水印的高度&#xff0c;content 的默认值为自身的高度number64rotate水印绘制时&#xff0c;旋转的角度&#xff0c;单位 number-22zIndex追加的水印元素…

24.eslint

eslint是约束代码写法的插件&#xff0c;比如组件的命名必须要用驼峰命名这种 eslint官网 检测并修复 JavaScript 代码中的问题。 - ESLint - 插件化的 JavaScript 代码检查工具 目录 1 vue-cli的eslint 2 标准规则 2.1 不能连续出现两个空行 2.2 结尾必须有空行 2.3…

深入了解Dubbo SPI 工作机制——@Activate (5)

在上一篇Dubbo 基于xml文件分析主流程源码 &#xff08;4&#xff09;_chen_yao_kerr的博客-CSDN博客中, 我们已经初步了解了Dubbo SPI的 key - value 结构。接下来将会继续分享Dubbo SPI其他功能的使用方式&#xff0c;并且从源码的角度去一谈究竟。 Activate注解 参数名 …