基于图像处理的成熟草莓检测技术研究
2021-12-14崔明蒋其友薛小松
崔明 蒋其友 薛小松
(江苏农林职业技术学院,江苏 镇江 212400)
引言
随着我国设施农业的快速发展,草莓种植已经由传统的露天种植向大棚种植转变,并进一步向智慧种植方向发展。当前我国的草莓种植已经部分实现了设施智能化,主要包括温室内的环境参数控制,但在草莓采摘、草莓生长信息监测等方面的智能化程度较低,仍主要采用人工方式进行。成熟草莓检测对草莓自动采摘和生长信息监测具有重要的意义。在草莓采摘领域,成熟草莓检测是草莓采摘机器人目标定位的前提。在草莓生长信息监测方面,成熟草莓检测能够为草莓的生长控制提供状态参数信息,有利于提高草莓温室控制的自动化水平,并可以为产量预测提供技术支持。因此,成熟草莓检测是草莓目标检测的关键技术,对我国草莓产业的智慧化发展具有非常重要的意义。
随着图像处理技术和人工智能技术的快速发展,当前针对草莓目标检测已经开展了一些研究,且取得了一定的研究成果。覃磊[1]提出了一种基于RGB颜色相似度和形态学处理的成熟草莓图像分割算法,通过对比目标区域和成熟草莓主颜色的颜色相似度,并结合阈值分类和形态学处理方法实现了成熟草莓分割,实验结果表明,该方法可以实现草莓的实时快速检测,能够应用于草莓采摘机器人的目标定位中。赵玲[2]提出了一种基于HIS颜色空间特征和BP神经网络的草莓成熟度检测方法,通过提取H分量的相关特征参数建立BP神经网络预测模型,实验结果表明,该方法对草莓成熟度的检测准确率达到90%。赵世达[3]提出了一种基于“HOG+SVM+NMS”的成熟草莓识别方法,分别对正负样本图像提取HOG特征,并送入SVM训练器中进行训练,采用NMS方法提升草莓重叠目标的检测精度。李鑫[4]提出了一种基于CaffeNet深度学习网络的成熟草莓度检测方法,实验结果表明,该方法对成熟草莓的检测准确率高、检测速度快,且对相互重叠情况具有较好的鲁棒性。
虽然当前针对成熟草莓检测开展了很多研究,但主要停留在理论研究阶段,且存在复杂环境下的成熟果实检测精度不高等问题。本文针对成熟草莓检测技术进行研究,提出了一种基于图像处理的成熟草莓检测方法,以实现成熟草莓的快速准确检测。
1 硬件系统构成
成熟草莓检测系统可以分为硬件系统和软件算法2部分,其中硬件系统是基础。本文根据实际检测需求,采用相机、镜头、处理器等硬件设备完成硬件系统搭建,如图1所示。
1.1 相机和镜头
相机是图像采集的核心元件,其选型主要包括感光元件类型和分辨率的选择。按照感光元件类型,相机可分为CCD和CMOS 2种类型,其中CCD相机的图像采集噪声小,但价格较贵,相比之下CMOS相机的性价比更高。相机分辨率主要根据检测精度进行选择,考虑到检测算法的误差影响,相机实际分辨率要比理论计算值大。镜头的选择要根据相机感光元件尺寸、视野大小和物距进行确定,同时还需要考虑景深影响。
1.2 处理器
处理器是图像处理的核心硬件,对图像处理速度具有直接的影响。处理器对相机传输过来的图像数据,采用图像处理算法进行分析,并将处理结果进行显示或者发送到执行机构进行控制。常用的图像处理器有DSP、树莓派、工控机等,其中DSP和树莓派适用于小空间环境下的嵌入式开发,而工控机适用于大空间环境下的高处理速度开发,本文选择工控机进行图像处理分析。
图1 硬件系统结构图
2 图像检测算法
作为成熟草莓检测系统的核心,图像检测算法的好坏直接决定了成熟草莓的检测精度。
本文针对成熟草莓的图像处理算法进行分析,具体检测流程包括图像预处理、Lab颜色空间变换、固定阈值分割、形态学处理、区域特征提取和目标区域定位等步骤。
2.1 图像预处理
图像在采集过程中由于硬件和实际环境干扰等原因,导致图像中存在噪声干扰信息,因此需要进行图像预处理以提高图像的信噪比。本文采用图像滤波方法祛除图像中的噪声信息。通过实验对比发现,高斯滤波器在滤除图像噪声信息的同时能更好地保留目标细节信息,其中高斯滤波模板尺寸为5×5。
2.2 颜色空间变换
颜色空间特征分析法是图像特征提取的主要方法之一,常用的颜色空间包括RGB、HSV、NTSC、CMY、Lab等。颜色空间特征分析法的目标是提取目标相对背景灰度对比最明显的颜色空间分量图像,能够有效降低后续图像处理的难度。同时,经过颜色空间变换后,图像由彩色图像变为灰度图像,降低了后续图像处理的时间。
图2 Lab颜色空间特征变换
针对草莓目标图像特点,经过对比分析,本文采用Lab颜色空间特征提取方法。Lab是一种基于人类视觉感应的设备无关颜色空间系统。Lab颜色空间特征中,每个像素参数可以由L、a、b 3个参数分量构成,分别表示亮度分量、绿色到红色分量和蓝色到黄色分量。考虑到草莓成熟过程中颜色由绿色向红色转变,因此本文提取a参数分量进行分析,如图2所示。可以看出,相比背景区域,成熟草莓的灰度值更高,且相比背景区域的灰度差异较大。
2.3 阈值分割
图像分割是图像处理的关键技术,本文针对成熟草莓图像特点,采用阈值法实现图像区域的分割,常用的阈值分割方法包括固定阈值法和局部阈值法[5]。固定阈值法主要适用于图像目标和背景灰度值差异较大的情况,阈值可以根据图像灰度直方图分布自动设置或者手动设置。局部阈值法主要适用于图像背景灰度不稳定的情况,相比于固定阈值法计算量较大。考虑到草莓图像背景稳定,且目标区域相比背景区域的灰度差较大,因此这里采用固定阈值方法进行图像分割。本文通过对实际图像灰度直方图的分析,设置固定阈值为130,图像分割结果如图3所示,可以看出,成熟草莓区域被精确的分割出来。
图3 阈值分割结果
2.4 形态学处理
形态学处理是基于集合论基础的一种图像处理方法,主要包括膨胀、腐蚀、开和闭等形态学运算。形态学处理采用结构体元素对图像区域进行像素运算处理,常用的结构体元素包括矩形、圆形等类型。膨胀运算能够扩展目标区域边界,将位置靠近的区域连接起来,可以用来弥合区域间的小缝隙。腐蚀运算能够消融目标区域边界,并能够消除尺寸小于结构体的区域,可以用于切断区域间的细小连通部分。开运算和闭运算是基于膨胀和腐蚀操作组合形成的。开运算是先腐蚀后膨胀,可以切断连通区域间的细窄连接和消除边缘毛刺。闭运算是先膨胀后腐蚀,除了能够平滑目标轮廓外,还能够弥合区域间的狭窄缝隙,并具有填充孔洞的效果[6]。考虑到部分草莓之间存在粘连和重叠情况,本文采用开运算腐蚀草莓间的粘连区域,并消除图像中小于结构体的噪声干扰区域。在此基础上,考虑到草莓存在因遮挡导致内部区域不完整的情况,采用闭运算结合孔洞填充算法弥合草莓内部的缝隙,形态学处理结果如图4所示。
图4 形态学处理结果
2.5 区域特征分析与提取
经过形态学处理后得到的目标区域包含一些噪声干扰区域,因此需进一步进行区域提取。这里定义灰度值一致且像素位置8连通的区域为连通区域,连通区域的常用特征包括面积、周长、矩形度、最小外接矩形等。考虑到草莓的生长环境复杂,存在叶片遮挡、相互重叠等情况,成熟草莓区域的形状特征变化较大,因此本文采用面积特征分析法。具体来说,根据公式(1)提取出像素面积在(SMin,SMax)的目标特征区域O,其中Zi表示第i个连通区域,面积阈值上下限要根据草莓区域的实际像素大小确定,同时要考虑到不同位置距离对像素面积的影响,目标提取结果如图5所示。经过区域特征分析和提取后,面积较小的噪声区域被滤除,获得了成熟草莓目标区域。
(1)
图5 区域特征提取结果
2.6 目标区域定位
经过区域特征分析和提取后获得的草莓目标区域存在粘连和重叠等情况,对实际草莓机器人的采摘定位造成干扰。因此,需要进一步进行草莓目标区域定位,获取单个草莓的区域位置。根据图像特点,本文提出了一种基于距离变换的分水岭分割方法。分水岭变化是基于地理学中的分水岭集水原理,将图像分割过程模拟为山脊中的集水过程,集水盆地即为图像分割后的目标区域。距离变换方法计算目标区域与背景像素间的位置关系,具体来说,对二值图像寻找背景区域中与目标区域像素距离最近的像素,并将距离信息转换为相应的灰度值,通过距离变换可以清晰地反映出目标区域与背景区域的位置分布[6]。这里定义二值图像I的连通区域为S,目标区域为O,背景区域为B,距离变换D的计算公式:
D(p)=Min(disf(p,q))p∈O,q∈B
(2)
(3)
经过距离变换后的图像灰度值范围较小,不易于处理,为了扩展灰度值范围,这里对图像灰度值做线性变换,将灰度值范围扩展到0~255的范围,公式:
(4)
通过距离变换,获得了成熟草莓目标区域与背景区域的分布特征,在强化了目标区域中心位置灰度强度的同时,弱化了其与背景区域接触位置的灰度强度,使得相互粘连的草莓目标更容易分割。在距离变换的基础上,本文利用分水岭算法实现不同草莓区域的分割,图像分割结果如图6a所示,可以看出,相互粘连的草莓区域经过分水岭分割后相互分离。本文采用分水岭分割算法将成熟草莓的粘连区域切断,但仍然存在着噪声干扰区域。因此,需要进一步对分水岭分割结果进行连通区域特征分析,以滤除噪声干扰信息。这里采用连通区域面积特征分析法,通过设置合适的面积上下限阈值,提取真实的成熟草莓目标区域,区域特征提取结果如图6b所示,可以看出,成熟草莓目标区域被准确的检测出来。
3 软件系统开发与测试
为了验证算法的实现效果,本文基于VS2010平台结合C#语言完成了成熟草莓图像检测软件系统的开发,系统运行结果如图7所示。本文所用工控机CPU为Inter Core i7-3517UE CPU2.20GHz,内存为8GB,操作系统为Windows7。
图6 目标区域定位
图7 系统运行结果
软件系统界面针对实际检测需求设计了“相机连接”、“手动模式”、“自动模式”、“设置”等功能。“相机连接”功能用于建立相机与工控机的通讯,实现工控机对相机图像采集的控制,并将图像数据传输到工控机进行处理分析。“手动模式”功能用于手动单张图像的采集和自动处理,一般用于参数调整和软件算法测试。“自动模式”功能用于软件系统运行时的图像连续采集,并实时输出图像处理和检测结果,是软件系统的主要工作模式。“设置”功能用于检测参数的调整,包括图像滤波尺寸、区域特征面积阈值、分水岭阈值等参数,实际现场参数的调整有利于提高成熟果实的识别效果。同时,软件系统展示了成熟草莓目标的检测数量和像素位置坐标,可以为草莓采摘机器人提供目标图像位置信息。
为了验证软件算法的检测效果,本文分别对粘连、遮挡和果实重叠3种情况的检测效果进行分析,如图8所示。可以看出,本文算法对粘连、遮挡和果实重叠情况具有较好的自适应性。在对粘连果实的检测结果分析时发现,本文算法能够实现草莓果实的准确分割和定位。在对遮挡果实检测情况分析时发现,连通区域面积阈值对检测结果有重要影响,需要根据实际环境和检测需求调整面积阈值上下限。在对果实重叠情况进行分析时发现,分水岭算法的阈值选择会影响检测结果,因此需要根据实际检测环境调整分水岭阈值参数。经测试,单张图像的检测时间为0.061s,能够满足成熟草莓的在线检测需求。
图8 检测结果分析
4 结论
本文针对成熟草莓检测技术进行研究,提出了一种基于图像处理的成熟草莓识别方法。针对成熟草莓的颜色空间特点,对Lab颜色空间下的a颜色分量图像进行特征提取以提高成熟草莓目标和背景的对比度,并在此基础上进行图像阈值分割。为了获取成熟草莓目标区域,对分割区域进行形态学处理和连通区域特征分析以祛除噪声区域干扰和填充孔洞,并利用基于距离变换的分水岭分割算法解决果实粘连和重叠问题。本文在图像算法研究的基础上,开发了成熟草莓图像检测系统,实现了草莓的实时在线检测。