2023年亚太杯数学建模A题解题思路(*基于OpenCV的复杂背景下苹果目标的识别定位方法研究)

摘要


由于要求较高的时效性和劳力投入,果实采摘环节成为苹果生产作业中十分重要的一部分。而对于自然环境下生长的苹果,光照影响、枝叶遮挡和果实重叠等情况普遍存在,这严重影响了果实的准确识别以及采摘点的精确定位。针对在复杂背景下苹果的自动采摘过程中出现的光照影响、枝叶遮挡和果实间相互重叠的问题,提出一种基于OpenCV的复杂背景下苹果目标的识别定位方法。以自然环境下生长的红苹果为对象,通过改进的Retinex算法消除光照、枝叶遮挡的影响;选用Canopy算法与K-Means算法相结合对图像中的苹果目标进行分割提取:利用基于距离变换的分水岭图像分割算法对可能重叠的苹果轮廓进行切分:根据最大外接矩形内切圆法对苹果目标进行拟合,然后计算各个拟合轮廓圆的圆心距离和半径大小,剔除计算结果小于阈值的拟合圆,最终确定各个苹果目标在图像中的位置和大小。基于VS2017与OpenCV3.4.1开发环境,开发了苹果目标识别定位软件测试平台,并在此平台下对296张自然环境下生长的苹果图像进行了测试,测试结果表明:改进的Retinex算法可以较好的削弱在苹果目标图像处理过程中由于光照和枝叶遮挡造成的高亮和阴影影响:在苹果目标提取过程中结合Canopy算法与K-Means算法可以最大程度的保留苹果目标真实轮廓图像;使用最大外接矩形内切圆法拟合苹果目标并通过计算坐标与半径进行伪轮廓剔除,有效的提高时间利用率和准确率。本文方法对苹果目标进行识别定位的平均分割误差为6.67%,苹果目标识别准确率为93.59%,平均识别定位时间为3.96s。应用本文方法可以对自然环境下的苹果目标进行准确识别定位,提高识别效率。


关键词苹果;识别定位;复杂背景;K-Means;OpenCV

引言

我国是苹果生产大国,苹果种植的总面积在逐年提升,其中苹果果园面积截止到2018年已达到1939万亩,而在2019年我国苹果的产量达到了4242万吨。随着我国农业结构的进一步优化,改良了苹果的种植环境,其生产效率也有了显著的提高。在苹果生产过程中,果实的采摘占全部工作量的40-50%,是生产过程中劳动力投入最集中、最吃力、最复杂,并且具有一定危险性的一个环节。果实采摘工作质量的优劣直接影响到苹果的存储与出售,进而影响其市场价值与经济收益。
当前,我国果蔬种植产业机械化、自动化和智能化程度还比较低,尤其是在成熟苹果的采摘生产作业当中,通常都是由人工进行,耗时长、成本高、工作强度大。而由于计划生育政策的施行,劳动力亦大量转移到服务业和制造业,导致了劳动力成本的提高,提升了苹果应时采摘的难度]。从发展的角度看,实现苹果的机械化、自动化和智能化采摘有利于保障果实质量、减少苹果生产过程
中的成本和提高已收获苹果的市场竞争力。因此大力发展自动化果实收获采摘技术,不但是改进传统果蔬生产的有效举措,也是未来果蔬种植产业增收的重要手段,对我国农业总体水平的提升具有十分重要的现实意义4。所以设计实现一种自动采摘苹果果实的方法是大势所趋,而其关键环节则是怎样利用机器视觉技术完成果实的精准识别与定位。现如今,由于人力、物力成本的提高,基于
机器视觉的苹果果实自动化采摘技术已经成为关注的重点。在自然环境下,苹果的生长状况受季候、生长地域、天气等自然条件的影响而具有较大的差别,经常出现果实被枝叶遮挡的情况,而且拍摄获得的苹果图像的背景较为复杂,可能包含天空、枝叶、土地等。现有常规算法常常会在识别
过程中不能够很好的去除光照的影响,导致果实识别的效率及准确率均不高:并且因为枝叶遮挡、果实重叠等原因严重干扰果实的精确识别、采摘点的准确定位以及采摘活动的进行5-)。


机器视觉是果实采摘机器人设计开发的关键技术。近几年来,各国一直在深入研究机器视觉技术,研究方式与触及领域持续拓展,研究成果在农业采摘、医学鉴别、工业监控等方面的应用也逐渐普及。随着现代农业技术的进步,研究人员开始将机器视觉技术应用于农产品的识别和应时果蔬的采摘)。在果蔬自动采摘机器人中应用机器视觉技术始于1968年,美国学者Schertz和Bowm最早实现果实自动化采摘的方法例。他们通过计算图像中的果实与叶子在电磁光谱的红外光反射率差异以及可见光频段的不同来进行水果的识别。1977年,美国学者Parrish和Goksel以人造苹果树作为实验目标创建了首个用于苹果识别的机器视觉系统,并奠定了后续各种果实识别定位方法的研究基础1o。
  1989年,美国加州大学的Slaughter等利用桔子图像的色彩与亮度特征,建立了第一个自然环境下桔子识别的分类器模型,该分类器的识别准确率为75%,检测形状的误差为6%,识别速度基本上可以满足实时性的要求,但精度较差。2001年,美国西北拿撒勒大学的Bulnaon等为了对不同光照条件下的苹果进行检测,以液晶显示模型和色度模型为依据,利用多阈值法对苹果图像进行分割,经实验验证准确率为80%2。

  20l5年,美国卡内基梅隆大学的Abhisesh Silwal等通过循环迭代霍夫变换算法对特征明显的红色苹果图像进行检测,并通过基于距离变换的聚类算法对存在遮挡区域的苹果进行合并,结果表明对于单个苹果的情况该算法具有较好的识别效果,识别率可达到90.11。20l9年,西班牙马德里大学Valeriano Mendez等将3D激光雷达扫描出的图像利用K-Means算法进行果实识别,提高了识别精度,但耗时更长14。到目前为止,在果实识别与定位的研究领域中,美国、以色列、荷兰等国均
处于前列。机器视觉技术在农业采摘方面的研究虽然开始很早,具备大量的先行经验,但是由于农作物的生长环境比较复杂,大多数研究尚处于理论验证的阶段。

  2019年,西班牙马德里大学Valeriano Mendez等将3D激光雷达扫描出的图像利用K-Means算法进行果实识别,提高了识别精度,但耗时更长14。到目前为止,在果实识别与定位的研究领域中,美国、以色列、荷兰等国均处于前列。机器视觉技术在农业采摘方面的研究虽然开始很早,具备大量的先行经验,但是由于农作物的生长环境比较复杂,大多数研究尚处于理论验证的阶段。

第2章图像增强及苹果目标提取


本文所使用的苹果图像是以RGB格式保存的,并且在图像中包含了复杂的背景区域。为了方便算法的下一步处理,需要分割背景区域与苹果目标,提取出图像中的苹果目标。彩色苹果图像的处理分为两个部分:一是挑选适合的颜色空间模型。合适的颜色空间模型有益于增强算法的稳定性与实时性,为下一步分割算法奠定基础:二是确定提取苹果目标的分割算法。分割算法的选择标准为在尽可能降低误分割率的情况下,提高算法的可靠性。


2.1苹果目标识别定位算法整体流程


由于现有的苹果识别定位算法在光照问题的处理上大部分是依靠颜色空间转换来解决的,当由于枝叶遮挡而导致苹果图像上出现高光和阴影区域时,很难保证算法的稳定性,而且在复杂背景和重叠果实的处理方面效果较差。针对上述问题,本文提出一种基于OpenCV的复杂背景下苹果目标的识别定位方法,能够较好地处理光照问题并且提取图像中的苹果目标,分离可能出现重叠情况的苹果目标,最终获得苹果目标的坐标与半径。


2.1.1自然环境下的苹果图像分析


本文研究的算法主要应用于自然环境下生长的红苹果的识别与定位,而自然环境下的苹果图像背景较为复杂。本文的数据集是通过果园内拍照以及互联网搜集图像来构建的,为了更好的确定算法的流程,提高算法的准确性和适用性,首先对数据集内的苹果图像进行分析。经过分析后发现数据集内的图像包括普通苹果图像、光照过量苹果图像、光照不均苹果图像、存在枝叶遮挡苹果图像和存在果实重叠苹果图像等情况。自然环境下生长的苹果如图2-1所示,图2-1)为正常情况下的苹果图像:图2-1b)为存在枝叶遮挡的苹果图像,图像中的一部分苹果果实被树叶所覆盖,右上方果实由于枝条的存在而被分成两个部分,在进行苹果目标拟合时会出现拟合圆偏小以及伪轮廓的情况:图2-1c)为光照过量苹果图像,图像中的三个苹果果实由于光照的原因均出现严重的反光现象,使得苹果表面出现高光区域,对于后续的图像处理会造成较大影响;图2-1)为光照不均匀苹果图像,枝叶遮挡和光照角度使得苹果图像中存在亮暗相邻的区域,即一部分为高亮区域,而相邻部分为昏暗区域,果实的阴影部分表面亮度小于非阴影部分或背景的亮度,在进行分割时会丢失像素信息,增加了分析苹果图像信息的难度:图2-1)为存在果实重叠情况的苹果图像,苹果目标区域的重叠使得分割提取的苹果果实存在一定误差,更对后续的苹果目标拟合造成影响,导致最终结果会有部分偏差。在后续算法研究中以具有代表性的图2-1c)、d)为例进行处理,对算法进行验证分析。

74c25bc03a0f409bac0142c17b448797.png

2.1.2算法整体流程
本文设计的基于OpenCV的复杂背景下苹果目标的识别定位算法,其过程可划分为七个步骤:苹果图像采集、苹果图像增强、苹果目标提取、苹果目标图像预处理、苹果目标分割、苹果目标拟合、拟合圆判定并存储,如图2-2所示。具体工作流程为:首先采集苹果图像,并对苹果图像进行增强,减少光照对下一步苹果图像处理的影响:其次将苹果图像从RGB颜色空间变换到Lb颜色空间,并利用改进的K-Means算法提取图像中的苹果目标:接着对二值化后的苹果目标图像进行图像预处理,然后采用基于距离变换的分水岭算法进行苹果目标重叠区域分割:再通过最大外接矩形内切圆法拟合出图像中的苹果目标圆:最后通过拟合圆判定算法对拟合出的苹果目标圆进行伪轮廓滤除,得到最终的苹果目标信息。

5940b5d87c364f56aec35ebb6534a485.png

 

2.2苹果图像增强算法


颜色包含的信息相比于灰度而言更多。对于在果园中拍摄的存在复杂背景的苹果图像,苹果目标与背景区域最明显的区别就是两者之间颜色的差异。因此可以依据这一特性,选择相对适宜的颜色模型,对苹果图像进行区域分割。对于提取出的苹果目标图像,选择高效且快速的识别定位算法,尽可能快速精确地获得苹果目标位置与大小信息。为了解决由于枝叶遮挡和光照不均匀所造成的问题22,231,学者们提出了多种图像增强方法,主要有:基于直方图的方法、基于Mask匀光的方法、基于Retinex的方法等。

2.2.1直方图均衡化算法


对于整体偏亮(暗)的光照不均匀苹果图像,其图像对比度较低。通常使用直方图变换的方法把分布不均匀的图像进行拉伸,以此来提高苹果图像的整体对比度。但该算法未曾考虑到苹果图像的细节信息,容易造成图像过增强。使用直方图均衡化算法242处理苹果图像的步骤如下:
(1)按照从上到下,从左到右的次序扫描原始苹果图像三通道的所有像素,将对应像素点的三通道像素值求平均值,计算出苹果图像的灰度直方图H:
(2)进行归一化处理,将每一个像素灰度值在图像中出现的次数求和并除以苹果图像的大小,最终得到归一化的直方图

6dee8022b8ce4b8bb70ae2b9a8fc1de1.png

其中,x)为结果图像,L表示灰度等级,H(x)表示苹果灰度直方图中每个灰度等级像素的数量,w表示灰度图像的宽,h表示灰度图像的高。使用直方图均衡化算法对图2-1c)、d)进行增强,结果如图2-3所示:增强后的图2-3a)中的灰度级减少,苹果果实与枝叶重叠的部分某些细节消失,在进行苹果果实分割提取时可能会造成部分背景图像(枝叶)冗余,不利于后续部分的处理;图2-3b)经过处理后,图像对比度增大,灰度级不平坦,部分苹果果实图像灰度值较低,部分图像灰度值较高,导致苹果图像的灰度值变化范围增大,因此提取图像中的苹果果实信息较困难。

e5c7ceae2a934e29b8ee04af2bb68210.png

 2.2.2Mask匀光算法


Mask匀光算法是一种基于传统光学相片晒印方法而提出的图像增强算法。原理是以模糊透明的正片为遮光板,然后将模糊透明正片与准备好的负片重叠后进行晒像,得到一张密度较为均匀但反差较小的相片229。对于存在不均匀光照的苹果图像可描述如下:
f(x,y)=r(x,y)+g(x,y)(2-3)
其中,fx,y)为光照不均匀苹果图像,r(x,y)为使用Mask匀光算法处理后的苹果图像,g(x,y)为表征亮度分布的苹果背景图像。由式(2-3)可知,原始苹果图像减去背景苹果图像就能获得光照均匀的苹
果图像。通常情况下为了对苹果图像灰度等级的取值范围进行补偿,会在计算过程中加上灰度偏移量,公式如下所示:r(x,y)=f(x,y)-g(x,y)+offset(2-4)其中,offset为灰度偏移量。利用Mask匀光法对图2-1c)、d)进行图像增强的结果如图2-4所示,可以看出Mask匀光算法可以有效地平抑苹果图像高光部分,但对图2-2a)中的阴影部分的增强效果并不理想,降低了苹果图像的整体亮度。

 

 

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

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

相关文章

智安网络|如何最大限度地提高企业网络安全水平

在当今数字化时代,企业面临着日益复杂和智能化的网络威胁。为了保护企业的机密信息和客户数据,漏洞扫描成为了一个至关重要的安全措施。然而,对于企业来说,他们最关心的是什么问题呢? 一、漏洞的发现和修复 在网络安全…

c语言通过前序遍历构建二叉树

前言: 在链式二叉树中,我们一般都是通过一个建立好的二叉树从而算出他的前序遍历,那么如何通过一个前序遍历来创建一个二叉树呢,本文将详细解读前序遍历每一个步骤是如何创建二叉树的。 1、分析前序遍历,构建出二叉树…

【算法】链表-20231124

这里写目录标题 一、83. 删除排序链表中的重复元素二、206. 反转链表三、234. 回文链表 一、83. 删除排序链表中的重复元素 简单 1.1K 相关企业 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 示例…

Spring Boot + hutool 创建海报图片

Spring Boot hutool 创建海报图片 /*** 分享,生成图片* param id* return*/GetMapping("/getShareImg")public void getShareImg(String id,HttpServletResponse response) throws IOException {CouponConsignSaleClassify byId couponConsignSaleClassifyService…

机器学习之自监督学习(四)MoCo系列翻译与总结(一)

Momentum Contrast for Unsupervised Visual Representation Learning Abstract 我们提出了“动量对比”(Momentum Contrast,MoCo)来进行无监督的视觉表示学习。从对比学习的角度来看,我们将其视为字典查找,通过构建…

C#/.NET/.NET Core推荐学习书籍(已分类)

前言 古人云:“书中自有黄金屋,书中自有颜如玉”,说明了书籍的重要性。作为程序员,我们需要不断学习以提升自己的核心竞争力。以下是一些优秀的C#/.NET/.NET Core相关学习书籍,值得.NET开发者们学习和专研。书籍已分类…

医学图像分割:U_Net 论文阅读

“U-Net: Convolutional Networks for Biomedical Image Segmentation” 是一篇由Olaf Ronneberger, Philipp Fischer, 和 Thomas Brox发表的论文,于2015年在MICCAI的医学图像计算和计算机辅助干预会议上提出。这篇论文介绍了一种新型的卷积神经网络架构——U-Net&a…

Linux【安全 01】云服务器主机安全加固(修改SSHD端口、禁用登陆失败的IP地址、使用密钥登录)

云服务器主机安全加固 1.SSH登录尝试的系统日志信息2.安全加固方法2.1 修改SSHD端口2.2 禁用登陆失败的IP地址2.3 使用密钥登录 3.总结 1.SSH登录尝试的系统日志信息 Last failed login: Sat Oct 7 14:10:39 CST 2023 from xxx.xx.xx.xxx on ssh:notty There were 10 failed …

构建未来:云计算 生成式 AI 诞生科技新局面

目录 引言生成式 AI:开发者新伙伴云计算与生成式 AI 的无缝融合亚马逊云与生成式 AI 结合的展望/总结我用亚马逊云科技生成式 AI 产品打造了什么,解决了什么问题未来科技发展趋势:开发者的机遇与挑战结合实践看未来结语开源项目 引言 2023年…

Oracle中文显示???????解决办法

项目场景: Oracleoracle中文显示???解决办法 问题描述 原因分析: Oracle中文显示???通常是由于字符集不匹配或者编码问题导致的。当数据库中的数据使用的是某种字符集,而客户端或者应用程序使用的是另一种字符集时,就会出…

JOSEF约瑟 热过载保护继电器 JR36-160,整定值100-160A

系列型号 JR36-20 1.0-1.6A热继电器 JR36-20 0.25-0.35A热继电器 JR36-20 0.32-0.5A热继电器 JR36-20 0.45-0.72A热继电器 JR36-20 0.68-1.1A热继电器 JR36-20 1.5-2.4A热继电器 JR36-20 2.2-3.5A热继电器 JR36-20 3.2-5A热继电器 JR36-20 4.5-7.2A热继电器 JR36-20 …

ES之x-pack-core-7.14.2许可证修改为白金版

X-Pack是什么 X-pack是elasticsearch的一个扩展包,将安全,警告,监视,图形和报告功能捆绑在一个易于安装的软件包中,虽然x-pack被设计为一个无缝的工作,但是你可以轻松的启用或者关闭一些功能。 主要分一下步…