程祥云,宋欣
(天津农学院 工程技术学院,天津 300384)
果蔬机械采摘作业中,首先要通过视觉系统进行果实的识别和定位。视觉系统性能的优劣决定了果实识别和定位的精度和效率,对机器人的采摘效果有着直接的影响[1]。本文在简要介绍果蔬采摘机器人视觉系统的基础上,对国内外果实识别与定位方法方面的研究现状进行了阐述,分析并提出现有研究中存在的问题,并对采摘机器人视觉系统的未来研究方向进行了展望。
视觉系统一般由摄像机、图像处理装置、距离测量装置以及计算机组成。目前常用的摄像机个数是1或2个,即单目或双目视觉技术。在采摘之前先通过摄像机获取果实图像,然后对图像进行处理,以便能识别出果实和枝叶,最后确定出果实准确的空间坐标。为了避免自然光的影响,往往借助人工光源或光学滤波器以减少果实表面阴影对识别效果的影响。
目标识别即从视觉系统获取的原始图像中,把被识别目标从背景环境中分离出来。常用方法主要有阈值分割、K-means聚类算法、人工神经网络和K最近邻法(KNN)等[2]。为了提高目标识别的准确度和效率,往往会将多种算法相结合,利用各自的优势来达到优化算法目的。
果实图像经过识别后,要对其进行定位。常用的定位方法:1)利用质心定位;2)根据果实目标的轴对称特征对果实进行空间定位;3)采用类似包围盒的方法,用略大于果实最大轮廓的球包围果实,用球心和半径定位即可确定位置[3];4)利用空间三维坐标定位。对视觉系统采集到的图像进行处理,或者利用激光测距传感器、三维相机定位。
近年来,国内外学者在果实识别和定位方法方面取得大量研究成果。Lü等[4]采用OTSU动态阈值分割方法实现了苹果果实的识别和提取;Arefi等[5]将番茄图像在RGB颜色空间下,利用R-G方法去除背景,然后利用形态学特征定位番茄目标,识别准确率可达96.36%;Gongal等[6]将HIS颜色空间的直方图均衡化处理、RGB颜色空间的R-G-B和Otsu阈值分割以及Hough变换、Blob分析相结合,实现了对苹果目标的识别;宋健等[7]采用双目视觉系统,通过基于亮度的阈值分割算法和四连通像素标记法实现对采摘目标及其特征的提取,并通过质心匹配、极线约束和视差梯度约束算法获得采摘目标的坐标信息,但该方法的定位精度和实时性还有待提高;宋家慧等[8]同样利用双目视觉系统采集果实图像,通过拉普拉斯变换、高斯滤波和Canny算法分别对图像进行平滑噪声,加强处理和图像边缘分割,从而实现目标识别;姚立健等[9]针对立体视觉系统中左右图像特征匹配问题,将尺度不变特征变换(Scale-invariant feature transform,SIFT)匹配算法进行改进,结合随机抽样一致算法(random sample consensus,RANSAC)剔除错误的匹配点,相比传统的匹配算法,该方法能够有效地提高匹配精度和实时性,但精度会受摄像机与采集目标间距离的影响;梁喜凤等[10]针对成串番茄的采摘,通过图像增强处理和多尺度形态学方法获得串连通区域,并将该区域的最小外接矩形与其过质心的垂线之间的交点作为采摘参考点,但该方法仅对于垂直向下的串番茄具有较好的识别效果;王滨等[11]针对猕猴桃采摘,利用Kinect传感器分别获取深度图像和RGB图像,然后依次将RGB图像映射到深度图像,再将深度图像映射到Kinect传感器中的骨骼坐标系上,从而获得以红外摄像机为中心的采摘目标的空间坐标,经实验验证,该方法的定位误差在2 mm以内,但由于该方法使用的是Kinect传感器,因此对采摘环境的光线要求比较高;王政等[12]针对双目视觉系统中果实彩色图像数据量大且噪声多、处理速度慢等问题,通过采用Lab彩色空间聚类算法对视频图像进行量化,能够有效地提高图像的处理速度,从而为提高果实定位速度提供了一种方法;李大华等[13]针对复杂背景环境下果实难以识别的问题,提出一种基于HSI颜色和纹理属性的图像分割算法,此算法的识别率高,适合于果实和背景相近的情况,但在遮挡物存在的情况下,分割效果不好;郭凯敏等[14]利用成熟西红柿果实与植株颜色特征的差异进行图像分割,并在双目视觉系统中建立了目标定位误差分析机制,可对系统定位的准确性做出判断;郭艾侠等[15]将SIFT与Harris两种算法相结合进行采摘点计算和匹配,并利用平行双目立体视觉的三角测量法对特征点定位,实现了对串型荔枝的识别和定位;张起荣等[16]利用樱桃上特征点的三维坐标重建樱桃球模型,利用最小二乘法求出质心位置实现定位;Xiao等[17]采用BP神经网络训练识别出图像中的果实,并提取出目标轮廓,然后对该轮廓进行圆拟合,进而实现定位,该算法具有较好的环境适应性;王丹丹等[18]利用K-mean聚类算法得到苹果轮廓,然后通过去噪、平滑处理,再利用转动惯量法提取果实目标的对称轴,完成目标的二维定位,此方法定位精度有较大提高,但不适用于苹果目标对称性较差及果实颜色偏绿的情况。
上述研究成果虽然都实现了对果实图像的提取和定位,但都仅适用于特定的果实和采摘环境,而且算法的准确性和实时性还有待于进一步的提升。
由于采摘作业是在复杂的非结构化的自然环境下进行,目标识别和定位效果往往会受到光照强度、振荡、果实重叠和存在遮挡物等诸多因素的影响[19],因此,考虑到这些影响因素,许多研究者进行大量的算法优化和改进工作。
针对光照的影响,刘立群等[20]提出了基于混合蛙跳算法的阈值分割算法,实现了阈值寻优,该算法对光照强度存在差异的果实图像均能实现较好的分割处理。项荣等[21]提出了一种番茄采摘机器人夜间照明系统的评价方法,以前景与背景类间方差和类内方差的比值作为图像可分割性评价的依据,确定出采摘机器人夜间照明系统的最佳组合为荧光灯和对角布局的方式。熊俊涛等[22]通过对荔枝图像进行颜色特征分析,确定YIQ颜色模型适合夜间果实的识别,并利用Otsu和模糊C均值聚类算法实现快速准确识别。Linker等[23]利用黑暗条件下,光源照射会使凸状苹果产生亮点的现象对果实进行识别,该方法的优点在于可以识别出不同颜色的果实,但缺点是无法识别出完整的果实目标区域。赵德安等[24]提出了一种夜间识别苹果的方法。该方法要经过两次分割过程,第1次是先将用白炽灯照明拍摄得到的图像进行色差分割;第2次是提取出果实表面的光亮区域。两次分割之后可得到较为完全的图像。由于夜间采摘作业,图像会有大量的噪声,贾伟宽等[25]用差影法对夜间图像进行了噪声分析,用PSO-ICA算法对夜间图像进行降噪处理,有效地降低了夜间作业各种噪声对图像的影响,并得出白炽灯是最合适的人工光源的结论。在夜间进行采摘作业时,为了提高工作效率,林宏等[26]通过引入导频追踪技术,采用基于直接判决的快时变信道估计方法实现了夜间对果实的快速识别定位。但该方法需要依赖于照片条件,而实际夜间照明条件难以控制,因此还需要结合其他特征进行识别。姬伟等[27]针对夜间苹果图像不清楚的问题,对引导滤波进行了改进,提出了一种具有边缘保持特性的Retinex算法,很好地起到了图像增强的效果,但算法的时间效率低。傅隆生等[28]根据猕猴桃栽培方式的特点,提出了以竖直向上的方式获取果实图像,并以果萼为参考点实现了夜间对猕猴桃果实的识别,但该方法对于多果挤压所导致的果萼不在果实图像中心区域,以及果实间存在暗色三角形封闭区域时的识别会存在一定的误差。
针对果实振荡导致难以精确定位的问题,李国利等[29]将经过阈值分割、形态学处理和灰度填充后的图像序列进行叠加,得到目标果实运动区域,计算出振荡果实在该区域内的二维平衡坐标信息,并结合超声传感器所获得的目标果实深度信息,实现果实的识别和定位,试验采摘成功率为86%。程辉等[30]提出帧间差分法对自然环境下具有遮挡的扰动柑橘进行识别,以及采用内切圆圆心对扰动柑橘进行定位的方法。
针对果实被遮挡和重叠的情况,王丹丹等[31]采用K-means和Ncut算法相结合的方法实现了无遮挡双果重叠的分割和未被遮挡苹果完整轮廓的提取。该方法与Hough变换重建算法相比具有较低的分割误差和较高的重合度。徐越等[32]采用Snake模型与角点检测的方法实现了双果重叠的分割。上述两种方法都是针对双果重叠的情况,而未实现对多果重叠的分割。Niu等[33]用Shape Context算法对提取的被遮挡苹果轮廓进行匹配,通过提取轮廓的对称轴实现苹果定位。Wang等[34]针对Niu所提方法中关于匹配点选取不同会导致定位结果误差较大的不足进行了改进,定位精度得到了提高。贾伟宽[35]通过K-means聚类分割和神经网络训练的方法进行果实识别,对遮挡和重叠果实具有较高的识别准确率,但耗时较长。为了使采摘机器人实现成功避障,马将等[36]在视觉系统技术中引入DSP实时编码技术,能准确获取果蔬位置和障碍物的位置,提高采摘时避开障碍物的实时性,准确率高达97%以上。胡婵莉等[37]通过计算圆内点到边缘最小距离的方法确定局部极大值来确定圆心和半径,从而实现对重叠苹果的识别和定位,经实验验证,该方法对于遮挡情况不是很严重且果实边缘较为完整的情况具有较好的使用效果。
综上所述,目前见诸报道的关于机械采摘中果实识别和定位算法的研究成果,均存在着或多或少的局限性,其主要原因在于自然作业环境的复杂性和非结构化,以及果蔬生长状态的不确定性,同时这也是采摘机器人视觉系统难以得到推广和应用的主要制约因素。当前果实识别和定位算法主要存在以下问题:1)现有的识别和定位算法仅限于特定的采摘环境和采摘对象,而实际采摘中,由于自然环境的复杂性和多变性,以及不同果实间生长的差异性使得算法不具备通用性,制约了视觉系统的推广应用;2)对于多果重叠及存在复杂遮挡物情况下的果实识别和定位,目前尚未得到有效的解决方法;3)由于果实识别定位的准确性会受到光照、振荡以及果蔬颜色、形态特征、纹理特征和生长状态等诸多因素的影响,算法中考虑到的因素越多,算法的复杂程度也会相应提高,其运行所需的时间将会越长,从而导致算法的实时性较差,对采摘效率有直接的影响;4)在果实识别和定位的影响因素中,有些因素如光照、振荡、干扰物遮挡等产生的影响具有随机性和不确定性的特点,会导致识别和定位结果与实际情况产生较大偏离,因此算法的鲁棒性还有待于进一步的提高。
针对当前果实识别和定位算法存在的问题,未来研究应该重点围绕以下几个问题开展。
提高算法的准确性和普适性。综合考虑环境因素和果蔬栽培生长模式的影响,可以根据果实的不同形态和栽培模式进行分类,建立符合某一类别特征的果实识别和定位算法,使算法对该类果实的识别和定位具有良好的适应性,从而达到提高算法准确性和普适性的目的。
提高算法的鲁棒性和实时性。进一步改进果实识别定位算法,当环境因素或采摘对象所处状态发生改变时,使其仍旧能够保持较高的识别准确性和定位精度。在此基础上,还要对算法进行优化,寻求识别精度、参数选取和运行时间三方面的最优控制,从而提高算法的实时性。此外,随着深度学习理论的日益发展,可通过模拟人脑的思维逻辑来进行图像数据的处理[38],进一步提升算法的智能化。
改善视觉系统作业环境。非结构化和不确定性的作业环境,很大程度增加了视觉系统的工作难度。因此,今后可以考虑将农机与农艺相结合,改进现有的种植模式,使其与采摘机器人的工作模式相适应,降低视觉系统的作业难度,从而有效提高识别和定位算法的准确性、普适性和实时性。种植模式的改进将会成为未来潜在的发展方向。
机械化采摘是我国果蔬收获作业未来发展的必然趋势。视觉系统作为果蔬采摘机器人的重要组成部分,其性能好坏决定了采摘机器人的采摘效率、速度和质量。因此,提高视觉系统的工作性能对于提升我国采摘机器人的研究水平,以及推动采摘机器人的应用普及进程具有深远的意义。