自然环境中的红色番茄图像识别方法研究

2021-07-10 07:07王晓慧周昆鹏
关键词:识别率灰度边缘

王晓慧,周昆鹏

(内蒙古民族大学工学院,内蒙古 通辽 028000)

我国是世界上番茄种植面积最大、产量最高的国家,年产量约5 500 万t,占蔬菜总产量的7%左右。目前,我国番茄的种植、加工、出口量都处在稳定增长阶段,国内市场的需求略有扩大,消费结构也趋于稳定。番茄产业对促进社会经济发展和提高人民生活水平都起着重要的作用。在采摘作业方面,基本都是人工采摘番茄,但是,劳动力不足、采摘对象和采摘环境的复杂性高等问题,对人工采摘的模式提出了挑战。因此,番茄采摘机器人的研究和应用已十分必要。而采摘机器人要想识别出自然环境中的果实并能够对其精确定位,最核心的解决方法是研究出一种识别率高、稳定性好的识别技术。

在对番茄图像识别研究方面,ILLINGWORTH等[1]通过对黑白图像进行Sobel 算子和阈值化处理以获得图像的边界图像和方向图像,然后采用改进的Hough 变换圆检测识别轮廓。然而,这种算法的阈值需要人为去设定,且并不能适用于对光线有变化的图像,加之枝叶的轮廓和果实的重叠,造成了识别的误判和漏判,对识别结果影响很大,因此,此方法的果实识别率仅为68%。KONDO 等[2]研制的番茄采摘机器人采用彩色摄像机作为视觉传感器,寻找和识别成熟的番茄果实,再用机械手将果实摘下来,采摘的速度大约是15 s/个,采摘成功率在70%左右。赵杰文等[3]根据色调/饱和度/强度(hue,saturation,intensity,HSI)模型彩色空间的特征对自然环境中成熟番茄的识别技术进行了研究,使其可以很好地识别那些彼此之间不重叠的自然环境中的成熟番茄。李印清等[4]根据目标区域的特征对自然环境中的番茄识别技术进行了研究,由于其分割方法没有利用自然环境中的成熟番茄与背景在颜色上的区别,实验效果并不理想,识别率约为74.3%。孙建桐等[5]基于几何形态学与迭代随机圆相结合的算法对串收番茄进行了研究,识别准确率为79.1%,此算法在一定程度上解决了复杂环境下多个果实粘连或被少量遮挡情况下的果实分割问题。

目前,果实采摘机器人对果实的识别率都不够高,原因是在自然环境中工作时会受到光线、土壤、枝叶等背景噪声以及果实之间相互重叠的影响。其中,对于相互重叠的番茄果实识别的难度非常高,这是总识别率低的最重要原因。针对上述问题,本文提出了一种基于圆拟合算法的番茄图像识别方法,不仅对单个果实的识别率高,还较好地解决了复杂环境下多个果实重叠的识别问题。

1 图像的预处理

实验在内蒙古自治区通辽市开发区凌云园艺种植公司的番茄种植大棚内进行,通过照相机来采集番茄的彩色图像。首先对番茄图像进行预处理,此前要求对自然环境中的番茄目标、枝叶和土壤等背景环境的颜色和形状等特征信息有一定了解,以便拍照时使得番茄图像的目标和背景呈现出明显的差异,为后续的目标分割打下良好的基础。一般情况下,这些颜色特征信息在灰度级上面有着明显的差异,所以需在不同彩色空间对图片的灰度图像及其灰度直方图进行比较和分析。本文采用Matlab软件平台进行实验,首先从三原色(red,green,blue,RGB)、色调/饱和度/明度(hue, saturation, value,HSV)、HIS 3 个彩色空间分析,结果发现,番茄果实与枝叶背景没有明显的区别。

RGB颜色空间是最常用的彩色空间,且如今照相设备拍摄的图像颜色信息都是基于RGB空间的,所以本文进一步针对图像做RGB颜色空间的研究。不同的光照强度、拍摄角度等条件的差异,对图像的R、G、B 值都有较大的影响。基于此,为使得R、G、B 各分量之间的相关性降低,同时,也考虑到成熟番茄果实的红色(R)分量和背景枝叶的绿色(G)分量之间存在显著差异,采用色差分量运算进行图像预处理。本实验对目标图像的RGB 颜色空间的各分量分别进行色差运算,结果如图1 所示。从中可知,R-G色差分量图中目标与背景的差异最为显著,因此,最终选择利用R-G 色差图作为预处理结果图像,即后续分割的目标图像。

图1 R、G、B各分量之间的色差图像及灰度直方图Fig.1 Color differences between each component image and gray histograms of R,G and B

2 目标分割

分割的目的就是将番茄果实目标从自然环境背景中准确地分割出来,以实现识别系统对目标的准确识别。本研究采用了多种分割方法进行实验。

2.1 边缘检测

采用边缘检测算法,将目标的边缘检测出来,达到将目标与背景分割开来的效果。所谓的边缘就是目标与背景的分界线,它表示某个区域的结束和另外一个区域的起始,而分界线所分开的每个区域的内部属性是相同的,且不同区域的内部属性是不一致的。边缘检测是依据检测到的图像中灰度值的变化,对图像进行一阶导数或二阶导数的计算,能够非常有效地检测出各个像素点在其邻域内的灰度值的变化,进而检测出边缘。本实验采用几种最常用的边缘检测算子,包括Roberts边缘检测算子、Prewitt 边缘检测算子、Sobel 边缘检测算子、高斯-拉普拉斯(Laplace of Gaussian, LoG)边缘检测算子、Canny边缘检测算子进行处理。

首先,利用Roberts 边缘检测算子对RGB 灰度图像和R-G 色差图像进行边缘检测,结果(图2)显示,对R-G色差分量图像进行分割能够去掉大部分的背景噪声,可以成功将图像中的枝叶等背景信息区分开来,有效地将番茄果实部分检测出来。说明本文选择R-G 色差分量图像作为分割图像的选择是正确的。其次,对R-G色差图像进行各类边缘检测,从中可以看出:Roberts、Prewitt、Sobel 这3 种算法的效果基本一致,都不同程度地出现了漏检的情况。高斯-拉普拉斯边缘检测算法在连续性上效果较好,但是检测图像出现了双边缘等情况。Canny边缘检测算法也是一种连续性较好的检测方法,缺点就是检测图像有太多的虚假边缘出现。所以,边缘检测算法并不是理想的分割算法。

2.2 分水岭分割和阈值分割

分水岭分割是一种借鉴了形态学理论的分割方法,将水文学和地形学的概念融入图像分割中,灰度值被解释为地形的高度,其中,山峰用高灰度值来表示,山谷用低灰度值来表示,图像分割的目的就是要找出灰度级图像中不同的吸水盆地和分水岭,进而达到有效分割。

阈值分割是数字图像处理中一种简单而有效的分割方法。图像中每个像素点的灰度值和阈值进行比较[6],大于阈值的像素点都用“255”这个灰度值来代替,将其划分为目标部分;小于阈值的像素点都用“0”这个灰度值来代替,将其划分为背景部分。图像最终被分割成黑白2 种类型,完成基于阈值的图像分割。最大类间方差法(Otsu)是一种常用的自动确定阈值的方法,速度快,操作简单,其确定最佳阈值的原则是令分割后图像中各个像素类的类间方差取得最大值[7]。

图2 灰度图像的Roberts边缘检测及R-G图像的各种边缘检测Fig.2 Roberts edge detection of the gray image and various edge detections of R-G images

基于Otsu 和分水岭分割算法的R-G 色差图像分割结果如图3 所示。从中可知:分水岭分割虽然能够将番茄果实从背景中分割出来,但也会将目标区域分割成若干细小目标区域,产生很大的噪声,所以从分割效果来看,此方法并不理想;然而,相比较而言,Otsu 分割方法的分割效果最为理想。当然,任何分割的效果都不是完美的,用此方法分割不同条件下的图像时存在着噪声的干扰,如目标边缘的毛刺、缺陷,光照和枝叶等因素造成的内部空洞和缺失,果实重叠造成的区域相连等。因此,可考虑进一步优化分割效果,对分割后图像进行数学形态学处理,利用腐蚀(erosion)、膨胀(dilation)或者是二者组合使用产生的开运算、闭运算等操作算子,去除噪声边缘的小毛刺、凹陷、不平滑等小噪声,提高后续目标特征提取和识别效率[8]。

图3 R-G图像的Otsu和分水岭分割Fig.3 Otsu segmentation and watershed segmentation of R-G images

3 特征提取与识别

3.1 图像特征提取

在番茄图像经有效分割后,需要对番茄果实目标进行特征提取,进而对其进行识别研究和后续的分析及定位。首先对分割后的图像进行区域标记[9],通过对图像中每个独立的连通区域进行标记,以便对其几何特征和形状特征等信息进行提取。本研究提取了番茄果实目标的周长、面积、圆形度、矩形度、偏心度以及质心,这6个特征信息可以很好地归纳轮廓特征的特征向量。

提取目标区域的周长是为了得出此目标区域的圆形度特征参数;提取目标区域的面积是为了得出此目标区域的圆形度、矩形度等特征参数,还可根据面积的大小去除一些噪声。圆形度、矩形度和偏心度可以反映区域形状接近圆形的程度,当目标区域的圆形度越接近于1,矩形度参数值越接近于π/4,偏心度参数越接近于1,则此目标区域的形状就越接近于圆形,根据这个特点就可以找到符合番茄形状特征的条件。

质心是区域面积的中心,它反映了图像中物体的位置。基于二值图像的质量分布都是均匀的,所以目标区域的质心便与形心重合[10]。在将自然环境中的番茄果实识别出来后需要确定其位置,为采摘定位提供数据,所以需要准确地将目标区域的番茄果实的质心提取出来。

3.2 果实识别

3.2.1 基于反向传播人工神经网络(back propagation-artificial neural network, BP-ANN)的果实识别

人工神经网络(artificial neural network,ANN)是通过高度非线性进行自适应、自组织和实时学习,进而达到处理信息目的的一种网络。但是这种网络是需要提前知道一些相互对应的输入-输出数据,通过对这些数据进行分析,找出它们之间遵循的规律,这个过程就称之为训练,训练后的网络再对新的输入数据进行分析,得到输出结果[11]。

人工神经网络目前已被广泛地应用于图像处理与识别、字符识别、语音识别、图案识别和分类、过程控制和优化等领域[12]。对人工神经网络模型的应用已经获得了较大的成果。当前,已经研发的神经网络模型接近40 种,最常用的神经网络包括感知器、BP神经网络、径向基函数网络、Hopfield网络等。

BP神经网络是允许包含多个隐含层的网络,具有处理线性不可分问题的能力[13-14]。该网络算法预测精度高,可实现参数自动修正,且对全局最优解有着良好的逼近能力[15],解决了多层神经网络的学习问题,对神经网络的发展起到了极大的促进作用。

提取番茄目标的特征参数后,利用这些特征参数建立BP 神经网络算法。实验选择3 层BP 神经网络[16]对自然环境中的番茄进行识别:输入层采用3 个神经元,分别是在前面特征提取部分已经处理好的番茄果实目标区域的圆形度、矩形度和偏心度3 个特征值;隐含层采用7 个神经元;输出层为1 个神经元。输出为1 表示判定为番茄目标,输出为0表示判定为非番茄目标。部分实验结果如图4 所示:图4A、B 显示,该算法对无遮挡和被枝叶等背景遮挡的番茄能够成功识别,定位较准;图4C 显示,对于红色番茄间相互重叠的情况,错误地将其识别为一个目标;图4D显示,面对红色和绿色番茄间的重叠情况时可以很好地识别出成熟的红色番茄目标。

图4 BP神经网络的识别结果Fig.4 Recognition results based on BP neural network

在对实验结果进行统计时,为更好地分析结果,将番茄按照其着生情况分为3 类:1)没有被任何背景所遮挡的番茄果实数是234 个;2)只被枝叶等背景信息所遮挡,没有与其他番茄果实重叠的番茄果实数是156 个;3)番茄果实之间相互重叠的有305 个。共有番茄果实695 个。对于不同目标图像的识别率如表1 所示。从中可见,BP 神经网络算法对无遮挡和被枝叶等背景信息遮挡的果实识别率比较高,但对于相互重叠的番茄果实的识别率特别低。该算法的识别时间大多在0~2 s 之间,对单个果实目标比对多个果实目标的识别稍快。

表1 BP神经网络算法得出的识别结果Table 1 Recognition results obtained by BP neural network algorithm

3.2.2 基于圆拟合算法的果实识别

番茄的轮廓一般被近似地看成圆形,而经常使用Hough变换方法来提取目标的圆形特征[17]。本研究也采用Hough 变换方法进行识别,虽然该方法对番茄果实之间重叠的部分有较好的轮廓识别,在提高识别率上也有一定的效果,但识别结果的轮廓经常出现断裂、缺失等情况,得出的结果并不理想,导致识别率降低和准确性下降。因此,本研究对Hough 变换方法进行了改进,采用圆拟合的方法对目标果实的轮廓进行提取识别,部分实验结果如图5所示。

圆拟合算法的识别时间大多在0~2 s 之间,对单个果实目标比对多个果实目标的识别稍快。识别率如表2 所示:对无遮挡的番茄果实的识别率达到93.58%,对被枝叶等背景信息遮挡的番茄果实的识别率达到89.74%,这2 类的识别率达到要求,且圆拟合算法的综合识别率达到90.07%,重点是对于相互重叠的番茄果实的识别率也达到了87.54%。这就解决了前面几种算法对于相互重叠的番茄果实的识别率特别低的难题。

图5 基于圆拟合算法的识别结果Fig.5 Recognition results based on circle fitting algorithm

表2 圆拟合算法得出的识别结果Table 2 Recognition results obtained by circle fitting algorithm

3.2.3 2 种识别方法结果的对比

圆拟合算法对无遮挡和被枝叶等背景信息遮挡的果实的识别率分别为93.58%和89.74%,稍低于BP 神经网络算法的97.00%和92.94%,主要原因在于无遮挡的番茄果实受到成熟度和光照强度等因素影响,造成分割后图像果实目标部分缺失;被背景信息遮挡的番茄果实目标也会部分缺失。当果实缺失部分较多时就会造成利用圆拟合算法识别时得出的半径较小,在去除非目标物时目标物被当作非目标去除了,导致目标物无法被成功识别。但是,这2部分的识别率相差3百分点左右,差异不显著。而对于相互重叠的番茄果实的识别,圆拟合算法识别率为87.54%,远远高于BP 神经网络算法的52.13%,主要原因在于BP 神经网络算法在对大部分重叠果实识别时不能区分开重叠区域,最终将其作为一个番茄果实识别,导致识别率很低;而圆拟合算法有效地解决了对重叠番茄目标图像的识别问题。圆拟合算法总的识别率为90.07%,远高于BP神经网络算法的76.40%,在识别速度方面2种算法基本一致,都是对单个果实目标的识别比对多个果实目标稍快。所以,采用圆拟合算法作为番茄采摘机器人识别系统的识别方法更优。

4 结论

本研究以自然环境中的番茄图像为研究对象,鉴于在自然环境中会受到背景中的光线、土壤、枝叶等噪声和果实之间相互重叠的影响,首先采用RG 色差算法对图像的目标和背景进行预处理,使二者呈现明显差异,然后采用边缘检测、分水岭分割和阈值分割算法对预处理后的图像进行目标和背景分割处理。通过对比各种方法的实验结果可知,采用阈值分割中的最大类间方差法效果最优;再次,采用数学形态学方法对分割后的图像进行简单去噪处理,进而进行特征提取和识别,建立了基于BP 神经网络的识别算法和圆拟合的识别算法。从识别结果来看,圆拟合算法对无遮挡和由于枝叶等遮挡的果实识别率很高,对相互重叠的番茄果实的识别率也比较好,最终总的识别率达到90.07%。同时,圆拟合算法还能够较准确地得到果实中心,并且获得的拟合圆的半径与番茄果实的半径也基本一致,即得到红色番茄果实的轮廓、质心和半径,进而定位果实目标。此研究为后续的采摘工作打下了坚实的理论基础,可以应用于采摘机器人的识别系统。本研究对多个果实目标的识别稍慢,所以提高算法的执行速度是下一步研究工作的重点内容;同时,实验过程中番茄图像采集的颜色类型较少,只针对红色或者橘红色番茄进行采集,后续可开展针对多种颜色如黄色、绿色和花纹色等类型的番茄识别算法研究,提高算法的适应性。

猜你喜欢
识别率灰度边缘
采用改进导重法的拓扑结构灰度单元过滤技术
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
Arduino小车巡线程序的灰度阈值优化方案
档案数字化过程中OCR技术的应用分析
一张图看懂边缘计算
基于PCA与MLP感知器的人脸图像辨识技术
科技文档中数学表达式的结构分析与识别
人工智能现状和发展
基于热区增强的分段线性变换提高室间隔缺损超声图像可懂度研究
在边缘寻找自我