采摘机器人分割与识别算法的研究现状
2021-11-15李天华孙萌娄伟张观山李玉华李钦正
李天华,孙萌,娄伟,2,张观山,2,李玉华,2,李钦正
(1.山东农业大学机械与电子工程学院,山东 泰安 271018;2.山东省农业装备智能化工程实验室,山东 泰安 271018;3.农业部黄淮海设施农业工程科学观测实验站,山东 泰安 271018)
采摘是果蔬生产的重要环节之一,需要消耗大量的人力、物力。随着生活水平的提高,人们对果蔬的需求量逐年上升,而与之相对的是劳动力严重缺乏的问题。根据测算,我国自2000年开始逐渐进入人口老龄化阶段,老龄化趋势日益严重,预计到2025年人口老龄化率达到14%,进入深度老龄化社会阶段,到2035年达到21%,进入超级老龄化社会阶段[1];另外,随着农村人口逐渐向城市流动等问题,农村劳动力流失严重,劳动成本不断提高。因此,实现智能化采摘对于我国果蔬产业可持续发展尤为迫切,采摘机器人的研发成为当前研究的热点。对于采摘机器人来说,要准确高效地完成目标果实的采摘,识别是关键,直接影响采摘的效率和精度。
人类对于采摘机器人识别技术的研究从很早就已经开始了,1968年Schertz和Brown[2]就将机器视觉引入到了果实的识别中,1977年Parrish等[3]建立了第一个用于识别苹果的视觉系统。近年来有关分割识别算法的研究也有很多,这对于提升采摘机器人的识别准确性具有重要意义。但实际生产应用的采摘环境复杂,影响识别准确性的因素较多,如何精准识别目标果实仍是目前亟待解决的问题,这使得采摘机器人仍难以广泛应用到实际采摘中。本文综述了近年来用于采摘机器人的分割识别算法,分析了目前仍面临的问题与挑战,并对未来分割识别算法的发展趋势进行了展望。
1 基于特征的识别
通常我们在分辨一个物体是不是需要的目标时,先会利用其颜色、形状以及纹理等特征进行直观判断。因此,在设计采摘机器人对目标进行识别时,最直接的方式就是对目标特征进行匹配,其中最常用的是基于颜色和形状特征的分割识别算法。
1.1 基于颜色特征的分割识别算法
如果目标果实自身的颜色与背景相差较大,颜色就是区分目标与复杂自然背景最突出的特征之一,利用该特征,选用合适的颜色空间,就可从图像中提取出目标果实区域。
常用的基础颜色空间有RGB、HIS、Lab、YIQ、YUV、HSV等,选择或构造能使目标果实与背景颜色差异明显的颜色通道,就可以有效地分割出图像中的目标果实区域[4]。如Thendral等[5]基于YIQ、Lab等颜色空间对目标果实进行了分割与识别;Feng等[6]基于HIS颜色空间对图像进行了识别;王晓楠等[7]基于HIS色彩模型对图像进行了分割识别;Malik等[8]基于改进的HSV将红色番茄从背景中识别出来;Ling等[9]通过对RGB图像进行颜色分析,结合分类器实现了番茄的检测识别。
由于基础的颜色空间对某些目标的识别效果会受到光照环境的影响,为了降低这种影响,改善识别效果,有些学者通过对颜色通道进行加权运算或组合等处理,突出需要识别的目标,从而提高识别精度。如Zhou等[10]提出了一种基于色差R-B和G-R的苹果识别算法,用R-B>40识别偏绿的苹果,R-G>0识别红色的苹果;麦春艳等[11]利用色差R-G将目标苹果图像从背景中识别出来;董建民等[12]通过融合HSI颜色空间和Lab颜色空间的分割结果完成对番茄的识别。
通过颜色特征直接分割识别自身颜色与背景差异较大的目标果实,只需按照基础颜色空间中的颜色通道进行分割,不需要经过建模等过程就可以达到较好识别效果,具有运行速度快、准确度和实时性较高等特点。而对于一些在单一基础颜色空间中无法达到较好识别效果的目标,可以通过对颜色通道进行组合等处理获得较好地识别效果,但不同颜色通道的组合过程比较困难,且适用的目标有限。
1.2 基于形状特征的分割识别算法
形状也是识别果实的重要特征性状,因此利用形状特征对采摘目标进行分割识别可行。常用的分割识别算法有三种:基于曲率的算法、基于边缘信息的边缘检测、基于任意规则几何形状的霍夫变换。
对于轮廓为弧形的果实,如柑橘、番茄等,可以通过曲率信息或直接利用圆形特征对目标进行识别。Xiang等[13]基于边缘曲率分析与圆回归相结合的方法实现了对相互粘附的番茄的识别。Si等[14]基于随机环法(RRM)从轮廓图像中提取果形特征。孙建桐等[15]以串收番茄为研究对象,在图像预处理的基础上,提出一种基于几何形态学和迭代随机圆相结合的目标提取算法。刘妤等[16]通过一种基于轮廓曲率和距离分析的分割方法,实现了重叠柑橘的识别。
当目标与背景的亮度差异较明显时,边缘信息也可作为图像分割识别的基本特征之一。常用的边缘检测算子主要有Canny算子、Prewitt算子等[4]。Fu等[17]采用Canny算子等传统的图像处理方法实现了目标果实的检测。刘现等[18]基于Canny边缘算子对福橘进行检测,提升了福橘智能分选的效率。陈礼鹏等[19]通过对去除了小面积区域后的图像进行Prewitt算子边缘检测,完成了对多目标猕猴桃果实的识别分割。
此外,对于规则几何形状果实还有一种常用的算法——霍夫变换检测,其通过线条特征来判别形状的种类,可检测任意给定的几何形状,通常与边缘检测算子一起使用。周文静等[20]利用圆形Hough变换(CHT)对葡萄果粒进行了识别;Gongal等[21]使用圆形Hough变换对图像中的苹果目标进行了分割识别。当采摘点为果实的果梗部分时,霍夫变换也可用来定位采摘点。如熊俊涛等[22]利用霍夫直线拟合结合角度约束法找到主穗梗所对应的直线,并将直线的中点确认为采摘点,实现了扰动葡萄采摘点的定位。
基于果实形状特征的分割识别算法应用广泛,此处比较了三类常用算法的优缺点,如表1所示。
表1 基于形状特征的常用分割识别算法的优缺点
2 基于像素的识别
基于像素对图像进行处理也可以实现对目标物的分割识别。一般需将采集的原始图转换成灰度图,即对像素值进行0或1转换形成二值化图像,此时的灰度值即为像素值。常用的基于像素的分割识别方法有阈值分割法、区域生长法以及归一化识别算法。
2.1 基于阈值的分割识别算法
对于目标和背景占据不同灰度级范围的图像,可以使用阈值分割算法,包括固定阈值分割和动态阈值分割两种方法。阈值分割只适用于灰度图,因此需要先对采集的图像进行灰度处理。Xu等[23]利用HSV颜色信息识别目标草莓,并通过固定阈值实现了草莓图像的分割。
动态阈值分割法中最常用的是最大类间方差算法(Otsu),其通过计算方差寻找灰度级,将图像分成两个部分,使得同部分间的灰度值差异最小,而不同部分间的灰度值差异最大,从而实现目标的分割。Lü等[24]利用Otsu对苹果图像进行了分割识别。Dai等[25]在进行了2R-GB色差法灰度值变换后,采用自适应阈值Otsu算法对图像进行了分割。梁喜凤等[26]通过对R-G直方图采用Otsu进行动态阈值分割,实现了对目标果实串的分割。王冰心等[27]通过Otsu动态阈值分割法对果实簇区域进行了分割识别。齐锐丽等[28]通过HSV空间的H分量与改进的Otsu算法相结合的方式,实现了花椒图像的分割。
固定阈值分割算法的处理速度快,实时性较好,但其对于光照变化的适应能力有限,而大多数采摘机器人的工作环境较为复杂,外界光照条件变化较多,因此固定阈值算法的分割效果往往欠佳。而动态阈值分割法的阈值是通过计算得出的,会随着光照的变换而动态计算合适的阈值,受亮度等的影响较小,适用范围更加广泛。张日升等[29]在利用阈值分割法对浒苔进行识别时发现,固定阈值法的分割精度较低,而Otsu的分割效果较好(图1)。
图1 浒苔图像的固定阈值分割与Otsu分割效果对比
2.2 基于归一化法的识别算法
归一化互相关匹配(NCC)是基于灰度特征的匹配方法中比较经典的算法,其基本原理是将模板图像与待搜索图像的灰度矩阵进行比较,得到相关性最高的匹配位置。归一化互相关匹配算法具有较好的鲁棒性和很高的匹配精度,但是计算量很大,不能满足实时性要求较高的系统[30]。因此在实际应用于采摘机器人时,通常要根据采摘需求对NCC进行改进。赵德安等[31]通过对图像进行快速归一化匹配,实现了对重叠果实的跟踪识别。Li等[32]利用基于快速归一化互相关的方法,利用室外采集的彩色图像对未成熟的绿色柑橘进行了识别。李寒等[33]利用快速归一化互相关函数算法对绿熟番茄果实的潜在区域进行检测,实现了对目标果实的识别。吕继东等[34,35]采用Fast Inverse Square Root算法和快速哈特莱变换对去均值的归一化相关匹配算法进行加速优化,并用于识别目标果实,减少了振荡果实动态识别的匹配识别时间。
改进后的归一化算法运行速度有所提高,而且对于采集目标发生的较小的移动或旋转,以及光照变化带来的色差等问题适应能力较强,通常用于振荡幅度较小时的目标果实识别。
2.3 基于区域生长的分割识别算法
区域生长法是基于像素进行处理的方法,通过将具有相似属性如强度、灰度级、纹理颜色等的相邻像素合并到同一区域,实现成组像素或区域的增长,从而完成目标的识别。Tao等[36]将区域生长方法与RGB颜色相结合,实现了目标苹果从背景中的识别。滕大伟等[37]把图像用G-B颜色因子处理后,结合区域生长算法实现了图像的分割。卢夏衍等[38]通过多算法混合的区域生长算法实现了温室幼苗图像的分割。Sun等[39]使用区域生长法对叶子病变的区域进行了分割。
区域生长法能将具有相同特征的联通区域分割出来,可以提供很好的边界信息和分割结果。但计算较为复杂,实时性较差,而且对于阴影、光斑处的分割识别效果不是很好。因此,基于区域生长法的不足,有的学者对其进行了改进,以改善分割识别的效果。韩纪普等[40]基于超像素对区域生长算法进行了改进,使其能够在一定程度上解决分割空洞等问题。
3 基于机器学习的识别
机器学习作为实现智能化的关键技术之一,近年来被广泛应用于采摘机器人的视觉识别中,可分为无监督学习和有监督学习。机器学习在采摘机器人中较常应用的方法是聚类和深度学习。
3.1 基于聚类的分割识别算法
聚类是一种无监督学习方式,只需要通过计算相似度把相似的东西分为一类,而不需要具体分析这一类是什么,通常不需要使用训练数据进行学习。根据聚类方式的不同,产生了许多聚类算法,本文对较常用的K均值聚类(K-means)和模糊C均值聚类(FCM)进行阐述。
K-means是基于划分的聚类方式,通过选择K个点作为初始中心点,然后对其他点进行迭代重置,最后划分成几类,使得类内的点都足够近,类间的点都足够远,最终实现识别。Jiao[41]与吴雪梅[42]等通过对Lab颜色空间处理后的图像进行K-means聚类,分别实现了目标苹果与茶叶嫩芽的分割识别。罗陆锋等[43]利用HSV颜色空间和改进的K-means聚类方法,对葡萄图像进行了分割。杨帆等[44]将K-means聚类算法与Canny边缘检测算法相结合,实现了遮挡或重叠橘子的分割识别。Niu等[45]将K-means聚类算法与凸壳理论相结合,实现了对目标苹果的分割识别。
FCM是一种基于模糊划分的聚类方式,通过判断每个点的隶属度来进行聚类。王富春等[46]提出了一种基于FCM的目标识别方法,通过利用FCM对图像进行模糊聚类,并对聚类后的果实图像与丢失的部分目标图像进行相加,完成了番茄的识别分割。熊俊涛等[1]利用FCM算法分别与一维随机信号直方图分析法[47]、Hough变换直线拟合[48]以及Otsu[49,50]相结合,实现了荔枝果实的分割与识别。Yang等[51]基于HSV色彩空间结合基于S分量的快速FCM算法,将白菊花从背景中分割识别出来。
分别用K-means与FCM算法对同一张图片进行处理,其显示的二值化图像如图2所示。通过对两种聚类方法优缺点的比较(表2),可以看出,K-means聚类处理数据的速度快,在图像识别过程中有较好的实时性,但其抗干扰能力较差,且对于K值的选取较为困难;而FCM识别的结果更加合理,但计算量较大,识别速度不如Kmeans聚类快。
图2 K-means与FCM处理图片效果对比
表2 K-means与FCM聚类方法比较
3.2 基于深度学习的分割识别算法
深度学习作为近些年快速发展的技术,逐渐被广泛应用于采摘机器人分割识别图像,其主要通过神经网络对大量目标图像的数据集进行训练,从而实现目标果实的分割识别。用于图像识别的神经网络有很多,其中最常用的是YOLO系列和R-CNN及其衍生网络。闫建伟等[52]提出了一种基于Faster RCNN改进的网络,实现了自然环境下刺梨果实的识别。张袁熙[53]利用Mask-RCNN与Kinect V2相机实现了果园中苹果的分割识别。赵德安等[54]用YOLO v3神经网络实现了复杂环境下苹果的识别。熊俊涛等[55]基于改进的YOLO v3网络对夜间自然环境下成熟的柑橘进行了识别。闫建伟等[56]采用带有残差模块的YOLO v3神经网络对刺梨果实进行了识别。
基于深度学习的分割识别算法具有较好的识别效果,但为了提升其识别性能,大多数网络的结构都比较复杂,且不同的网络在速度或精度上都有不同的优势和不足。本文对果实采摘中最常用的两种网络及其部分衍生网络进行对比发现,识别精度较好的网络,如R-CNN系列的twostage网络,检测速度通常较低,在实际应用中的实时性有所欠缺;而对于YOLO系列的onestage网络,其识别速度较快,实时性较好,但在识别精度方面相较于前者还有所不足(表3)。
表3 R-CNN系列网络及其各自的衍生网络与YOLO网络对比
虽然目前针对这些问题都有相应的算法改进,但其分割识别的效果仍需进一步提高。
4.1.2 遮挡或重叠 在自然条件下,果实的生长不会全部显露在最明显的外部,目标果实可能会面临枝蔓、树叶和其他果实的遮挡等问题,而且大多数情况下是多种遮挡共同存在,如图5,这些都会给识别带来一定困难。这种情况下,无论是基于颜色还是基于形状对果实进行识别,可能都无法达到理想的效果。目前对被遮挡或者重叠的果实进行识别,采用的大多是多种算法相结合的方式,可在一定程度上解决遮挡或重叠面积较小的果实的识别,但对于遮挡或重叠面积较大的果实仍未找到有效的识别算法。
图5 果实遮挡重叠
4 存在问题及展望
4.1 存在问题
4.1.1 光照影响 光照的变化可能会引起果实表面颜色产生色差,而对于生长周期相近的果实,其颜色本就比较相近,若仅通过颜色进行分割识别,容易产生误差。番茄完全成熟时,其表面呈正红色,而在半成熟尚未达到完全成熟时,其表面为橘色,如图3a;而在光照条件的影响下,部分完全成熟的番茄也会呈现出橘色,如图3b,从而引起识别错误。
图3 不同光线下不同生长期番茄的颜色对比
当顺光或者夜间加光源采摘时表面具有果腊的果实,如苹果、柑橘等,由于光照的影响,易在果实表面形成光斑,如图4所示,使其在进行图像分割时会出现孔洞等干扰,进而产生识别误差。
图4 果实光斑
4.1.3 振荡 在自然采摘条件下,果实一般不会处于完全静止的状态,风力、鸟类或进行采摘动作时,都会使果实发生或大或小的振荡。这时采摘机器人若采集图像,就可能会出现图像模糊、噪声大等情况,从而影响进一步的分割识别。对于振荡果实的识别,除了对算法进行优化外,对相机性能的要求也较高,今后仍需进行改进。
4.2 趋势展望
由于田间环境的复杂多样性,单种分割识别算法的识别效果大多远远达不到实际需求,如:只基于颜色特征的识别方法容易受到光照影响,仅通过形状进行识别会因遮挡或重叠而产生错误等,因此基于多种物体特征或者采用多种分割识别算法组合对图像进行处理,可在一定程度上改善识别效果,提高识别准确度。但采用组合算法时,需要进行多方面考虑,以减少方法组合可能带来的识别效率低等问题。
对于被遮挡的果实,一方面随着深度学习在采摘识别中的应用逐渐增加,经过大量的数据训练后,深度神经网络对于被遮挡果实的识别准确度已有所提高。随着深度神经网络的不断改进和算法的进一步优化,其识别效果将会进一步提高。另一方面还可以通过运行设备从多角度采集图像,使得被挡住的果实能够在其他角度下遮挡减少或完整呈现,从而达到识别的目的。
5 总结
分割和识别算法作为识别过程中不可或缺的一部分,其优化情况直接关系到识别的效果。随着学者们研究时考虑到的影响因素愈发全面以及对多种算法进行组合尝试,识别特定目标的效果也在逐渐提升,尤其是基于特征和像素识别方式的组合,在一定程度上提高了重叠或光照影响下的目标识别精度。而且随着智能化技术的飞速发展,具有学习能力的神经网络越来越多地被应用于识别采摘,由一开始的CNN网络发展到如今的YOLO等,基于深度学习的分割识别算法逐渐趋于成熟。虽然到目前为止,对于基础神经网络的识别还无法兼顾精度和速度,但对网络的改进或者新网络的推出都将使识别性能在某方面有进一步的提升。
分割和识别算法还有很多,本文仅针对采摘机器人最常用的几种方式进行分类汇总,而且目前关于光照影响、遮挡重叠以及振荡果实的识别效果仍待提高,相信随着已有算法的不断改进和新算法的提出,这些问题将会逐渐被解决,识别效果将会越来越好,采摘机器人在田间的广泛应用将指日可待。