APP下载

面向采摘机器人的水果精准识别算法研究进展

2022-04-29陈品岚朱立学张世昂

现代农业装备 2022年2期
关键词:准确率水果苹果

陈品岚,朱立学,张世昂

(1.仲恺农业工程学院机电工程学院,广东 广州 510225;2.仲恺农业工程学院自动化学院,广东 广州 510225)

0 引言

我国是世界上的水果生产大国,在2020 年我国的果园面积为1 228 万hm2,而且水果的产量正在逐年增长,同年水果产量已经达到了28 962 万t[1]。此外,从2005—2019 年,农业就业的人数减少了5 800万人[2],采摘作业所用劳动力占整个生产过程所用劳动力的33%~50%[3]。随着现代农业技术的发展,水果的生产与采收自动化是必然趋势,而水果的目标识别是实现采摘自动化的重要环节之一。

任何一个水果采摘机器人都离不开对目标果实精准识别的视觉系统。视觉系统的好坏直接影响采摘机器人的工作效率和采后水果的损伤程度。它的性能指标主要有2 个部分,分别是识别速度和平均精度均值(mean Average Precision,mAP)[3]。影响视觉系统的性能指标因素有很多,比如在自然环境下的光照变化、果实生长环境和生长程度、果实重叠、枝叶的遮挡等,同时使用的识别方法对其性能指标也有很大影响,比如所使用图像处理的方法、数据集、神经网络算法的层数等。此外,视觉系统所用的硬件设备会限制其性能指标。

水果外观的特征因生物学的特性而有很大的不同,同时自然环境的复杂性和时间变化也会增加水果外观的变化,这使得视觉系统对目标果实识别难度增大。因此,目标识别的方法也在不断地发展与创新,其主要的方法有3 部分,分别是传统图像处理技术,如KURTULMUS 等[4]使用颜色和Gabor 纹理的特征分析方法识别了未熟的柑橘,达到了75.3%的识别正确率,但对枝叶覆盖的水果的识别效果较差;机器学习算法,如WANG 等[5]使用K-means聚类将荔枝与树叶、树枝和背景进行分离,该识别方法对光照变化的影响具有较强的鲁棒性,对未遮挡荔枝和部分遮挡荔枝的平均识别率最高,分别为98.8%和97.5%;卷积神经网络的深度学习算法,如武星等[6]使用了一种轻量化网络Light YOLOv3 对复杂背景下的苹果果实进行检测,对YOLOv3 的卷积块和损失函数进行了改进,并使用了多阶段的学习优化技术,最后模型的平均精度可达94.69%,其在复杂环境下的复杂目标识别任务中表现出良好的识别能力。

1 传统水果识别图像处理技术

传统图像处理技术的水果目标识别主要对果实颜色、纹理和形状等外部特征进行检测处理,从而实现目标检测。

苹果[4,6-7,16]、柑橘[8-11]、荔枝[5,12,18]等果实具有显著的颜色特征[13-15],对于目标果实的颜色特征与其背景有明显差异时,一般通过不同的颜色空间,如RGB、HSI 和HSV 等,来提取水果的颜色特征,并使用阈值分割提前果实区域进行目标识别[13]。如陈雪鑫等[17]使用改进最大类间方差法OTSU 对水果图像进行分割,提取目标果实颜色特征,其方法最终对苹果的识别正确率为90%。熊俊涛等[18]分析荔枝果实、果梗和树叶的颜色信息特征,并对不同自然光照条件下的荔枝进行识别,识别率可达95.5%。

纹理特征[19-21]是果实重要生物特征,可以区分果实与背景或遮挡物,将目标果实从图像中分割出来。如谢忠红等[22]对自然场景下苹果的彩色水果图像进行分割,利用灰度共生矩阵分析果实和背景的纹理特征,对果实和背景颜色相似的图像进行分割,分割成功率均达到95%以上。

形状特征[23-24]则可通过提取果实与背景的边缘特征获取,使用Hough 变换法、几何属性法、最小二乘法等方法将目标果实从复杂的背景图像中提取出来。如朱坚民等[25]使用灰色关联分析和模糊隶属度匹配方法提取球形水果图像中的颜色和形状特征,最终的识别正确率达99%。

由于自然环境中存在很多干扰因素,仅仅对一种特征进行提取,往往果实的识别精准度会不稳定且有所下降。因此,采用多特征尺度对果实识别具有更高的精准度和鲁棒性。如麦春艳等[26]使用RGB-D 相机提取自然环境下苹果的颜色特征,并结合图像的深度信息进行三维球体形状提取,在存在干扰的情况下仍有较高的识别率,其果实正确识别率达95.5%。

2 机器学习算法

机器学习是一种发现数据集中规则和模式的技术,通过自动分析数据集以获得显著结构规律[27]。机器学习能够使用来自多个潜在互连的数据集自主解决大型非线性问题,为数据驱动决策提供了一个强大而灵活的框架,在真实场景中实现更好的决策和明智的行动[28],如基于最近邻(K-Nearest Neighbor,KNN)算法、基于朴素贝叶斯分类(Native Bayesian Classifier,NB)算法、基于支持向量机(Support Vector Machine,SVM)算法、人工神经网络(Artificial Neural Networks,ANN)、基于K-means 聚类算法等。

KNN 在机器学习中为最简单的学习算法,通过从训练集找到与新样本最接近的K 条数据,从而判断新样本的类别。如GILL[29]采用KNN 分类器算法对红苹果、金苹果、青苹果、橙子、香蕉进行分类,最终准确率为100% 。

SVM 是有监督的分类学习算法,主要为解决小样本数据的学习和分类预测,具有很好的分类准确率。PENG 等[30]使用SVM 分类器对水果进行分类识别,对苹果、柑橘的识别率分别为95%、97.5%。

ANN 是一种类似于大脑神经结构进行的数学模型。如赵玲等[14]建立BP(Back Propagation)神经网络进行训练,判断果实成熟度等级,正确识别率大于90%。

K-means 聚类算法是通过确定k 个中心点,寻找所有数据点到其各自聚类中心的距离之和的最小值,从而判断该数据样本是属于哪一类别。如刘刚、高瑞[31]使用K-means 聚类算法对图像进行聚类分割,最终识别正确率高于81%。宋怀波等[32]使用K-means聚类对苹果图像进行处理,结合凸壳理论提取果实轮廓,实现果实的识别定位,该方法的平均识别定位误差只有4.28%。

同时也有使用多分类器结合识别的,如朱玲[33]采用K-means 聚类对苹果、梨子、火龙果、石榴、香蕉、橘子进行分类识别,并在K-means 聚类算法基础上加入BP 神经网络,最终分类识别准确率为96.28%,并且大大减少了识别时间。

由于不同的分类器对同样的水果识别准确率不一样,为解决此问题,蔡浩等[16]提出了一种基于多分类器DS(Dempster Shafer)证据理论融合的水果识别方法,根据不同分类器对5 种水果的识别准确率,使用基本概率函数将分类器进行DS 证据理论融合。其中文献[16]的识别结果见表1。

表1 文献[16]样本集识别结果

3 深度学习算法

深度学习是通过采用多个特征层进行深度卷积,并从大量的数据中自动学习图像特征[34]。近年来,因其对目标识别分割具有良好识别精度和速度,其在水果采摘机器人的目标识别上也逐渐被广泛应用。对于果实识别,主要使用算法有RCNN(Region Convolutional Neural Networks)系列、SSD(Single Shot Multibox Detector)、YOLOv1~v5、CenterNet 等。

Faster RCNN 是两个阶段的目标检测算法,其网络结构复杂,因此训练与识别速度慢,但检测目标的精度高。如熊俊涛等[35]使用Faster RCNN 对自然环境下的绿色柑橘检测,最终得到的模型平均精度为85.49%,处理1 张图像的平均时间为0.4 s。

SSD、YOLO 系列为一个阶段的目标检测算法,其算法对目标检测与分类是同时进行的,其优势就是速度快,但因其训练目标与背景数量不平衡,导致算法的准确率降低。如LIANG 等[36]提出了一种基于SSD 算法的树上芒果实时检测框架,得到模型F1 分数为0.911,识别速度为35 fps/s,检测性能比Faster RCNN 更高。赵德安等[37]为提高苹果采摘机器人的效率与适应性,提出使用YOLOv3 对苹果识别定位方法,其平均精度为87.71%,单张图像的处理速度为16.69 ms,在复杂环境下鲁棒性高。

CenterNet 是一种中心网络算法,是基于anchorfree 的目标检测,它相对于一些其他基于box 的网络算法更简单、速度更快。如李小敏等[38]使用CenterNet 网络模型对林下落果柑橘进行检测识别,经过训练后的模型的识别准确率大于90%,单张图像识别速度小于0.3 s,为研究不同深度学习框架在实际果园环境中识别效率与准确性,此文使用了4种算法进行落果检测性能比较,得到YOLOv3 识别性能最佳,各模型性能如表2 所示。

表2 文献[38]不同模型性能

4 数据增强及算法改进

4.1 常用数据增强方法

数据增强是一种扩充数据规模的有效方法[39],一定程度可提高目标检测算法的性能指标。对于运用在水果目标检测数据集的数据增强方法有翻转、旋转、亮度变换、缩放、裁剪、噪声、模糊、随机擦除和Retinex 图像增强等。如TIAN 等[40]对苹果图像在颜色、亮度、旋转和模糊方面进行了预处理。同时为了验证数据增强对模型性能的影响,采用控制变量方法每次删除一种数据增强,并获得IOU 值和F1 分数。结果如表3 所示。

表3 使用控制变量方法训练的模型的F1分数和IOU值[40]

张磊等[41]对苹果、桃子、橙子数据集采用了翻转、0°~180°随机旋转以及缩放处理操作。为了验证不同训练集数量对模型性能的影响,控制训练集图片数目为10、50、100 和500 进行模型训练,精准率和召回率随着训练图片数量的增加而上升,同时模型检测性能更好。

Retinex 是一种科研中常用的图像增强方法,它可以减少光照不均对图像的影响,改善图像整体的视觉感观。JI 等[42]为解决光照对果园中柑橘识别的影响,使用Retinex 对采集的图像进行优化处理,并使用YOLOv5 算法进行训练,通过对比不同时间和不同的Retinex 图像增强方法,得到在10:00-11:00和14:00-15:00 时段采集的数据,使用多尺度Retinex的模型比原模型平均精度高9.28%,其他方法均对模型平均精度有一定的提升。

此外,文献[43-47]均使用了图像增强方法对数据集进行优化。

4.2 常用算法模型改进方法

不同的检测目标的算法模型性能不同,对算法模型改进,其目的就是为了获得更好的检测性能,更好对目标特征进行提取。算法模型改进主要可以从主干特征提取网络、特征金字塔网络、损失函数、卷积核大小、注意力机制等方面进行。其主干特征提取网络主要有LeNet、AlexNet、ZFNet、DSPNet、GoogleNet、VGGNet、ResNet、MobileNetv1~v3、DenseNet 等。

如李林升等[43]对Faster RCNN 中的RPN 网络进行改进。改进后对苹果识别准确率提高2.3%,达到了97.6%,但由于卷积核增加,模型训练和识别速度有所下降。

闫建伟等[44]提出改进Faster RCNN 刺梨果实识别方法,将算法中感兴趣区域池化改进为感兴趣区域校准区域特征聚集方式,提高模型准确率,并使用VGG16 代替Faster RCNN 主干特征提取网络,其准确率达95.53%,每幅图像识别时间为0.2 s,有一定实时性。

彭红星等[45]以苹果、荔枝等4 种水果为对象,将传统SSD 算法中的主干网络模型VGG16 替换为ResNet101,并使用迁移学习方法降低训练时间,最终改进后模型平均精度为89.53%,提升了3.15%,但此模型的检测速度比原始模型增加了0.09 s,实时性下降。

赵辉等[46]为使采摘机器人在自然果园环境下可以对不同成熟度的苹果实现快速、精准识别,改进了YOLOv3 算法,通过将残差网络与CSPNet 结合,降低网络参数量。在特征提取FPN(Feature Pyramid Networks)网络中加入SPP(Spatial Pyramid Pooling)网络,提高召回率。使用Soft 非极大值抑制算法代替传统非极大值抑制算法,最后再使用Focal Loss 和CIoU Loss 优化损失函数。最终改进后的模型平均精度达96.3%,提高了3.8%,检测平均速度为27.8 fps/s,实时性高。

陈文康等[47]针对果园中柑橘目标小且遮挡严重等问题,对YOLOv4 算法进行改进,通过Canopy算法和K-Means++算法优化先验框,在尺度特征变化的输出层后加入1 个调整层,并将残差网络与DenseNet 结合,优化损失函数,提高对小柑橘的识别率,最后去除一些通道和网络层,降低模型参数量。最终改进后的模型对不同生长阶段的柑橘识别准确率为96.04%,每张图像的检测平均时间为0.06 s,实时性高。

李志军等[48]为提升果园苹果测产准确率,对YOLOv5 算法进行改进,通过将YOLOv5 中特征提取网络的普通卷积替换为深度可分离卷积,并加入注意力机制,两者结合构成池化注意力模块,改进后平均精度达96.79%,检测速度最大提升了15.37%,具有良好准确性和实时性。

夏雪等[49]提出改进算法轻量级无锚点深度学习网络模型(M-CenterNet)对果园苹果检测,其通过使用轻量级的MobileNetv3 网络代替CenterNet 算法中的主干网络,同时在MobileNetv3 中加入了基于压缩与激励结构轻量级注意力模块,增强网络学习能力。最终平均精度为88.9%,模型大小为14.2 M,检测速度为8.1 fps/s,比SSD 算法提高了近1 倍。

两阶段网络算法由于网络本身参数量大的原因,经过改进后虽能一定程度上提高检测精度和速度,但实时性仍然较低。一阶段网络算法其网络结构参数量较低,经过改进后,其表现出良好的检测性能,其中YOLO 算法表现出的检测性能最佳。

5 结语

1)传统的图像处理技术用作目标检测,其检测精度受自然环境的影响程度高,环境中的光照变化、果实与枝叶之间的无规律遮挡、果实生长姿态的不确定性,对其特征提取会造成极大的干扰,即使使用多特征提取相结合的方法,仍无法对自然环境中果实实现较好的检测效果。

2)机器学习算法运用在目标检测,其检测性能优于传统的图像处理技术,通过多分类器融合并结合传统的图像处理技术,在一定情况下可表现出良好的检测效果,但其对数据依赖性强,且需要提前设定好各种分类参数,对训练结果影响大。当环境多变时,其检测性能会受到很大的影响。

3)深度学习算法对图像目标特征具有很好的提取能力,经过训练后得到的模型,其检测性能受自然环境变化的干扰程度低。此外,两阶段网络算法虽表现出良好的识别准确率,但其检测的实时性低。而一阶段和CenterNet 算法准确率与速度并存,在一些情况下,其准确率更高于二阶段算法,但一阶段算法对于小目标检测性能较差。

4)数据增强在对果实目标检测的深度学习算法的模型性能中展现出了极大的价值。数据增强作为深度学习算法数据集图像预处理方法,通过增加图像目标数量和质量来提高模型平均精度、F1 分数等,已得到较广泛的应用。

5)深度学习算法模型的改进就是为了使模型对目标具有更好的检测性能。其主干特征提取网络一般选用参数量小的DSPNet、MobileNetv1~v3 和网络深度高的ResNet 等网络。对于水果采摘机器人的目标检测算法,应根据对应的识别目标进行改进,以此使算法更适合识别目标的检测,提高模型检测性能。因此,深度学习算法更适合作为水果采摘机器人的目标检测算法。

6)从水果采摘机器人的目标检测算法的发展来看,传统的图像处理技术和机器学习算法作为其检测系统已经越来越少,深度学习算法表现出来的良好识别能力和抗干扰能力,使其鲁棒性越来越高。

猜你喜欢

准确率水果苹果
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
四月里该吃什么水果
收获苹果
拿苹果
会说话的苹果
水果篇之Cherry
水果畅想曲