深度学习在水果品质检测与分级分类中的应用

2021-10-31 11:25田有文卢时铅邓寒冰
食品科学 2021年19期
关键词:光谱准确率水果

田有文,吴 伟,卢时铅,邓寒冰

(1.沈阳农业大学信息与电气工程学院,辽宁 沈阳 110866;2.辽宁省农业信息化工程技术研究中心,辽宁 沈阳 110866)

随着社会进步与发展,人们对生活品质的要求也逐渐提高,尤其饮食中水果品质是消费者十分关注的问题。水果在生产、销售、运输过程中其品质可能都会受到影响。为此,将水果交付市场和消费者之前,销售者需要对水果的品质进行检测[1]。在生产时,需要对遭受病害等方面的水果进行分类分拣;在运输方面,水果易造成的机械损伤,需要对损伤水果进行分类分拣;在销售时,需要根据水果糖度、成熟度、大小、外观缺陷等指标进行分级销售等。按照以上指标,对采摘后的水果品质进行快速精确的检测,分拣出质量不合格的果实,并将质量合格的果实进行分级销售,可以提高在售水果的品质,减少水果的安全质量问题。因此水果的品质检测与分级分类对保障人们健康生活起到重要的作用,同时也可提升食品工业的经济效益,目前其已成为食品科学领域的热点研究问题。

以往的水果品质检测与分类大多依靠人工操作,浪费人力资源且效率低下。由于大多数水果品质都可以通过RGB图像、高光谱图像等直观反映出其大部分特征,从而被检测与识别。因此现代光学成像技术(如计算机视觉、光谱成像等)广泛应用于水果品质自动无损检测与分级分类。这些技术可以获取大量与水果特性相关的数字信息。如何处理如此大量的数据并从中提取有用的特征并建立有效的模型是一个迫切而重要的问题。为此研究者们开发了许多特征提取方法(如主成分分析(principal component analysis,PCA)算法[2]、连续投影(successive projections algorithm,SPA)算法[3]、竞争性自适应重加权(competitive adaptive reweighting sampling,CARS)算法[4]、小波变换(wavelet transform,WT)[5]、独立成分分析[6]等)和数据分析方法(如偏最小二乘法[7]、人工神经网络(artificial neural network,ANN)[8]、支持向量机(support vector machine,SVM)[9]、随机森林[10],k-最近邻(k-nearest neighbor,KNN)[11]等)来解决数据处理问题,但是这些传统方法在处理大量的水果数据时存在计算耗时较长、准确率较低等问题。

近些年来深度学习作为机器学习的重要分支,因在数据处理方面呈现出了显著的优势而飞速发展。它通过对模型进行预训练,自动提取并不断优化特征,可快速处理大量数据,拥有更好的性能和更高的精度。因此,深度学习越来越受到遥感监测[12]、农作物病害识别[13]、农产品在线识别[14]、农产品品质分级[15]等农业各个领域的研究学者关注,尤其一些研究者通过深度学习技术分析水果的RGB图像和光谱图像等而实现水果品质检测与分级分类,并取得了一系列的重要研究进展。本文旨在梳理水果外部品质检测、内部品质检测、安全品质检测和分级分类等方面深度学习技术的最新研究进展,以期为此领域的研究者和工作者提供一些参考。

1 深度学习简介

深度学习是基于多层神经网络的规则自学习方法,可以对海量数据进行训练。深度学习通过对大量数据的特征学习总结出数据特征中的高级抽象规律,以服务不同领域的应用需求[16]。其模型具有高度分层结构和较强的自动学习能力,因此能够特别好地执行检测、分级和识别分类操作,灵活且适用于各种各样的复杂数据分析问题的挑战。目前在处理基于图像与数据的众多应用中,深度学习已经十分流行。

1.1 深度学习发展历程及特点

20世纪80年代的神经网络第二次发展热潮时期,卷积神经网络(convolutional neural network,CNN)[17]、长短期记忆网络(long and short-term memory,LSTM)模型[18]获得了快速发展。2006年,杰弗里·辛顿以及他的学生鲁斯兰·萨拉赫丁诺夫正式提出了深度学习的概念[19]。2012年,在ImageNet图像识别大赛中,杰弗里·辛顿团队的深度学习模型AlexNet一举夺冠,将错误率降低至16%[20],至此开启了基于深度学习的人工智能繁荣新时代。随后研究者们对其深度学习模型不断改进,以降低分类错误率。2015年,LeCun等[21]明确了深度学习的定义,指出深度学习是一种更复杂的特征表示学习,具有多个级别的表示,它通过组合简单但非线性的模块获得,每个模块将一个级别的表示(从原始输入开始)转换为更高、更抽象的表示;有了足够多的这种变换的组合,就可以学习非常复杂的模式。

深度学习的迁移学习能力极高,因此预训练好的深度学习模型可以对较小的数据集实现精确的迁移学习。深度学习在处理图像问题时的优点是减少了对特征工程(feature engineering,FE)的需求。深度学习出现之前,传统的图像分类方法都是基于人工设计的特征,性能严重影响整体结果。FE是一个十分复杂且耗时的过程,每当目标问题或使用的数据集发生更改时,FE都需要重新做出调整。另外相对于机器学习来说,深度学习的测试速度比基于机器学习的方法快很多[22]。但深度学习对计算机硬件、数据集的要求较高。当计算机硬件水平较差时,计算速度会大幅下降。

1.2 深度学习的主流方法

目前典型的深度学习算法主要有深度玻尔兹曼机[23]、自动编码器[24]、CNN[25]等。各种算法的组成结构与特点如表1所示,这些典型算法经过不断的优化与发展,衍生出了更多的算法。

表1 深度学习主流算法Table1 Mainstream deep learning algorithms

深度玻尔兹曼机是一个随机神经网络(即当网络的神经元节点被激活时会有随机行为,随机取值),包含一层可视层和一层隐藏层,同层中的神经元相互独立,不同层神经元相互连接(双向)。深度玻尔兹曼机是以受限玻尔兹曼机为原型进行层数加深的一种深度学习模型。深度玻尔兹曼机由多层受限玻尔兹曼机叠加而成,不同于DBN,深度玻尔兹曼机的中间层与相邻层是双向连接的。受限玻尔兹曼机借鉴了模拟退火的思想,定义一个网络温度以模仿退火温度,将网络能量作为欲优化的函数,网络中的神经元只有0与1两种输出状态,输出概率的取值以概率统计的规则决定。但是此类网络的算法复杂性太高,在大规模学习的问题上应用起来比较困难,所以在水果检测领域的应用明显少于CNN。

自动编码器是一种自监督的神经网络模型,它可以学习到输入数据的隐含特征,称为编码,同时用学习到的新特征重构出原始输入数据,称之为解码。自动编码器可以用于特征降维,类似PCA,但是其相比PCA性能更强。除了进行特征降维,自动编码器学习到的新特征可以送入有监督学习模型中,所以自动编码器可以起到特征提取器的作用。自动编码器是从训练样本中进行自动学习的,但是迁移学习能力较弱。因此自动编码器只能处理与训练与样本类似的数据,所以自动编码器在水果品质检测与分级分类领域更多的是作为一种特征提取方法使用。

CNN是一类深度、前馈的神经网络,主要结构为输入层、卷积层、池化层、全连接层和Softmax输出层,具体如图1所示。图像从输入层输入之后,神经元经过多层卷积层和池化层对图像进行特征的提取,每层的单个神经元与前一层中的神经元进行卷积或者采样操作,最后由输出层进行结果的输出。每个卷积层和池化层中都有若干个特征平面,每个特征平面都用来表示提取到的图像特定区域中的特定特征,如方向特征、边缘特征等。CNN适用于图像处理,十分适合对水果RGB图像和高光谱图像进行识别,完成水果检测与分类的目标。大多数水果检测与分类论文中的方法都是以CNN为基础进行优化和改进的。可见,CNN是目前深度学习在水果识别与分类中比较常用的方法。

图1 卷积神经网络结构Fig. 1 Structure of convolutional neural network

AlexNet是CNN最经典的模型,近年来,研究者们在此模型基础上,通过各自的研究,提出了VGG-16、VGG-19、GoogleNet、Fast-RCNN、ResNet等优秀的深度学习模型,并不断进行优化。AlexNet模型设计了含有5 个卷积层和3 个全连接层的8 层网络结构,并引入了更简单的ReLu激活函数,首次证明了CNN在复杂情况下的有效性,并通过大量的图像增强方法缓解了过拟合问题。以AlexNet模型为基础,VGGNet更进一步地提高了网络的深度,VGG16模型与VGG19模型分别达到了16 层与19 层的网络层数,通过深度的扩展提升了模型的精度。随后GoogleNet继续从模型深度进行探索,并引入Inception模型,提高了模型的宽度。但是随着网络层数的大幅加深,梯度消失问题逐渐严重,有些模型出现了错误率上升的问题,ResNet通过引入残差模块,使得模型在1 200 层的深度下仍能将错误率控制在较低的水平。随着近年来计算机视觉技术的快速发展,在目标检测领域又出现了Faster-RCNN、SSD、Mask-RCNN和Yolo等更优秀的模型,已在水果检测与分级分类问题上有广泛的应用。

同时,各大互联网公司也陆续推出了自己的开源深度学习平台,如Google公司推出的TensorFlow平台以及Caffe、Keras、CNTK、MXNet、Leaf和Pytorch等众多平台。这些平台各有特色,支持C++、R、Python等多种语言进行编程,大大拓宽了深度学习的应用领域。目前TensorFlow平台是最受欢迎的开源平台,因为Google公司在深度学习方面一直是世界顶尖水平,所以各界对TensorFlow平台的认同度很高。在科研领域,Caffe框架和Keras框架也深受研究者们的喜爱。众多深度学习应用平台的陆续推出,以及云计算的快速发展,使得深度学习技术应用门槛降低,越来越多的研究领域引入了深度学习技术,在水果品质检测与分类识别方面,短短几年就涌现出了大量的科研成果,也侧面证实了深度学习技术的普适性。

2 深度学习在水果品质检测与分类领域的研究现状

2.1 水果外部品质检测

水果在生产、销售、运输、贮存期间容易受到环境影响,发生机械损伤等,而导致水果的外观品质受到影响。水果的外部品质主要依据它们的颜色、形状、尺寸等物理特征和机械损伤、外部缺陷等进行评估。外部品质是水果最直观的品质特征,直接影响它们的市场销售价格和消费者的购买欲望。对水果外部品质进行快速及时的无损检测,可以最大限度地减少损失,满足消费者的需求。

蓝莓是日常生活中常见的一种水果,个体较小且表皮颜色较深,RGB图像难以反映出其损伤程度,而光谱图像能反映出蓝莓的损伤情况。Zhang Mengyun等[32]结合光谱透射图像采用全卷积网络,完成了对蓝莓内部损伤的无损检测。作者将基础VGG16模型改进成全卷积模型进行训练与检测。对VGG16模型的改进如图2所示,将池化层的结果与预测结果结合后加入两个转置卷积层进行卷积得到最终预测结果。使得最后的输出结果与输入图像的大小、分辨率相同,成为全卷积模型。实验结果表明,采用深度学习方法,可以将机械损伤后30 min的蓝莓分割出蓝莓损伤区域和花萼区域,测试集的准确度达到81.2%。Wang Zhaodi等[33]同样将高光谱图像和深度学习方法相结合,采用AlexNet和ResNet两种模型,将ResNet模型卷积层中的滤波器数量进行了调整,然后通过高光谱透射率数据检测蓝莓的内部机械损伤。同时使用顺序最小优化、线性回归、随机森林、多层感知器等机器学习方法做了对比实验。结果两种深度学习模型在大幅缩短计算时间的情况下提高了检测准确率,表明深度学习在分析水果内部机械损伤方面的潜力。

图2 基于VGG16的全CNN模型[31]Fig. 2 Fully convolutional neural network (CNN) model based on VGG16[31]

外部缺陷是水果外部品质检测的重要研究内容之一。番茄水果在各国需求量都很大,而以往番茄都是由人工根据果实大小、外部缺陷等进行分类,效率低下且容易出错。Costa等[34]建立了一个包含外部缺陷番茄的43 843 幅图像的数据集,提出了一种用于番茄外部缺陷检测的深层神经网络模型。该模型以ResNet模型为基础,对ResNet50模型的所有层都进行了微调,使其能够利用特征提取和微调来检测外部缺陷。该模型在测试集上的平均精度达到94.6%。Luna等[35]也研究了番茄的外观缺陷问题,他们基于深度学习,利用Python中的OpenCV库进行编程,对外部品质有问题的番茄进行了识别。作者利用简单的图像采集箱采集了1 200 幅番茄图像,将采集的番茄图像集80%作为训练集和20%作为验证集。然后使用了VGG-16、InceptionV3和ResNet50 3 种模型进行了对比实验。相比之下,VGG-16模型的准确率接近100%,而InceptionV3模型的准确率仅有60%左右。通过对比3 个模型的训练与测试准确率可以看出,对番茄缺陷进行识别的最佳模型是VGG-16模型。

Azizah等[36]采用深度学习CNN模型检测了山竹的表面缺陷,采用CNN结合4 次交叉验证的方法解决了二值分类问题。该方法对山竹缺陷表面检测的分类准确率可达97.5%。但选取的数据集是用120 幅手工标注RGB图像组成的,数据集偏小。进行数据增强或者对数据集进行扩充之后,准确率会有所提高。Fan Shuxiang等[37]自主设计了一个含有卷积层、汇集层和分类层的CNN网络,大幅减少了传统CNN模型中的参数与连接数。使用该CNN模型对水果分拣机上的苹果进行了实时的缺陷检测,在分拣机上可以获取单个苹果6 个角度的图像。经实验,CNN模型的检测准确率达到了92%。

由已发表的文献可知,水果的外部缺陷检测主要集中在机械损伤和外观缺陷参数两方面。对于水果外观缺陷检测一般通过RGB图像反映,而机械损伤早期水果外观变化不明显,其检测常利用光谱图像。对于各种流行的深度学习模型,包括AlexNet、VGG、GoogLeNet,ResNet等都在水果检测与分类领域有所应用。此外,这些提到的网络架构在TensorFlow、Caffe等平台都有预训练模型,这些模型已经被一些像ImageNet这样的公开图像数据集训练过。有些研究通过这些平台提供的模型,或者对这些模型进行调整之后,完成了对水果外观品质问题的检测[38-39]。这些被预训练过的模型,已经能够在测试集中自动提取基础的图像特征。研究者们直接使用预训练模型,可以省去大量的预训练工作所需的时间,还能提高识别的准确率。使用预训练好的模型,只需根据自己的研究内容对模型网络权值进行微调即可直接使用。

2.2 水果内部品质检测

水果的内部品质主要包括可溶性固形物含量(soluble solid content,SSC)、硬度、糖度、成熟度等,是人们十分关注的问题,因此水果内部品质检测一直是研究热点之一。近年来,深度学习与图像处理和光谱传感技术相结合作为一种高效、无损的水果内品质检测手段,展现出了令人惊喜的研究成果。

Yu Xinjie等[40]结合深度学习与可见/近红外高光谱反射成像技术,预测了库尔勒香梨采后硬度和SSC。将堆叠自动编码器(stack auto encoder,SAE)和全连接神经网络(fully connected neural network,FNN)相结合,构建出一个SAE-FNN模型,具体如图3所示。在此模型中,将采集到的光谱图像使用SAE进行提取,获得深度光谱特征作为模型的输入,随后对模型进行训练,并将提出的SAE-FNN模型与SVM方法进行对比实验,结果显示SAE-FNN模型准确度更高,表现更优越。

图3 SAE-FNN模型[39]Fig. 3 Stack auto encoder-fully connected neural network (SAE-FNN) model[39]

Bai Yuhao等[41]建立了多产地苹果中SSC的预测模型。该模型将深度学习、光谱指纹特征、多元回归分析等方法相结合,能够消除不同产地的苹果造成的预测偏差。模型将多产地苹果的光谱指纹特征提取出来,使用CARS算法选择最佳波长,输入深度学习模型中进行训练,然后使用训练完成的模型进行未知苹果SSC预测。经实验,预测苹果样品的预测平方根和预测平方根误差值分别为0.990和0.274,SSC预测模型表现十分优秀。温馨[42]以脐橙、香梨为研究对象,糖度为研究内容,自主设计了基于深度学习的水果糖度回归模型。与偏最小二乘、PCA等传统方法进行对比实验后,结果表明新模型识别与预测能力性能更佳。吴爽等[43]将高光谱成像技术与机器学习和深度学习相结合,对西瓜的SSC进行了定量判别。在相同数据集下,分别使用两种机器学习算法(KNN、随机森林)和两种深度学习算法(CNN、Res-CNN)进行了实验,将ResNet模型中的残差块(Resblock)引入CNN模型进行改进得到Res-CNN模型。结果表明深度学习算法的预测集相关系数远高于机器学习算法,且Res-CNN模型的预测集相关系数达到了89%,效果更好。

黑枸杞具有很大的商业和营养价值。Zhang Chu等[44]采用近红外高光谱成像技术测定了干燥黑枸杞中的总酚、总黄酮和总花色苷含量。然后使用CNN模型预测其化学成分。CNN模型和深度自动编码器分别用作有监督和无监督的特征提取方法。结合偏最小二乘和最小二乘支持向量机作为建模方法,SPA算法和CARS采样作为波长选择方法,PCA和WT作为特征提取方法作为常规方法进行比较研究。作为建模方法和特征提取方法的深度学习方法获得了与传统方法相当的良好性能。结果表明,深度学习作为近红外光谱化学成分分析的建模和特征提取方法具有很大的潜力。

水果成熟度也是反映水果内部品质的重要指标。番木瓜是一种营养价值很高的常见热带水果,不同成熟度的番木瓜有不同的经济价值。Behera等[45]在探究番木瓜成熟度分级问题时将常规机器学习方法(KNN、SVM和朴素贝叶斯)和深度学习方法(ResNet101、ResNet50、ResNet18、VGG19、VGG16、GoogleNet和AlexNet)进行了比较。作者采用智能手机拍摄番木瓜未成熟、半成熟和成熟状态的3 种图像作为数据集进行实验。因为深度学习模型有强大的迁移学习能力,因此使用的深度学习模型都是在ImageNet图像集上预训练过的。经过实验得出,众多的机器学习与深度学习模型中,VGG19、ResNet50、ResNet18、VGG16、GoogleNet等都达到了100%准确率,但VGG19模型所需的时间最少,所以认为VGG19模型表现最好。李稳稳[46]将光谱信息与深度学习结合,成功检测了砂梨的成熟度。作者建立了3 种深度学习模型,即标准DBN、自编码网络与随机隐匿DBN模型,经实验测试,3 种模型的检测准确率都在90%以上,随机隐匿DBN模型准确率达到了95.8%,表明了深度学习强大的学习与表达能力。

光谱图像数据集获取相对较难,有些研究者放弃利用直接图像进行研究,而选择使用声音传感作为中转进行水果内部品质探究。Lashgari等[47]同样以苹果为研究目标,将深度学习技术与声音传感技术相结合,将苹果反馈的声音转换为图像,然后使用AlexNet和VGGNet进行训练,通过探究果实内部粉状物的含量,预测出了苹果的成熟度与品质。

水果内部品质如糖度、成熟度等,这些信息无法通过RGB图像显示出来,只有通过高光谱图像才可以反映,而高光谱图像所含数据过大,光谱图像大数据集的建立相对困难、处理复杂,深度学习模型无法进行足够次数的训练,且受硬件条件的制约,所以采用高光谱图像进行实验难度较大,深度学习与光谱图像相结合的实验也较少,希望随着硬件水平的不断发展,能够早日出现高质量的水果光谱图像数据集供研究使用,推动水果内部品质检测取得更好的研究进展。

2.3 水果安全品质检测

水果的安全品质关系到消费者的饮食安全和健康,是水果最为重要的品质特征之一,主要通过对各种病虫害、农药残留、外来污染物等进行检测评估。

水果病害是水果安全品质研究的核心问题之一,尽早发现病害便能最大程度上降低影响、减少经济损失。水心病是苹果的一种病害,会使苹果的保质期比普通苹果低,所以在采摘后要尽快识别分拣水心苹果。徐亚琴[48]在探究如何无损检测水心苹果时,将近红外光谱与深度学习技术相结合,利用Keras平台建立了一个CNN模型,将预处理后的光谱图像作为输入,将150 个图像作为样本,划分训练集与测试集进行实验,结果表明CNN模型的识别准确率达到了98%。苹果霉心病也是危害苹果安全品质的主要病害之一。周兆永等[49-50]提出了基于DBN的苹果霉心病病害程度判别模型,该模型由多层受限玻尔兹曼机(restricted boltzmann machine,RBM)网络和1 层反向传播(back progagation,BP)神经网络组成。RBM网络实现最优特征向量映射,BP神经网络实现对霉心病病害程度分类。实验采集了225 个苹果在200~1 025 nm波长处的透射光光谱,采用DBN方法对健康苹果、轻度霉心病、中度霉心病和重度霉心病苹果进行分类,并与偏最小二乘判别分析、SVM和反向传播神经网络等传统机器学习方法进行了比较。DBN模型对训练集和测试集中霉心病病害等级的判别正确率(99.33%)高于传统机器学习方法(88.00%)。实验结果表明,DBN模型具有更强的学习能力和预测能力,可用于苹果霉心病病害程度的快速无损识别。Akagi等[51]用VGG16、InceptionsV3、ResNet50和InceptionResnetV25种CNN模型预测了柿果内部疾病并可视化了疾病指数。训练集与测试集使用了从果实顶端获得的3 173 幅RGB图像,测试准确率高达90%;此外,还使用InnResearch库实现了特征可视化。崔灿[52]将图像处理技术中的注意力机制和中心损失函数引入ResNet34模型,完成了对草莓病害的识别分类。将包含204 幅图像的数据集进行了图像预处理与数据增强,分为训练集与测试集进行实验,并基于此模型成功编写了一个草莓病害系统,用户只需上传草莓图像即可获得草莓患病种类的识别结果。刘杰[53]通过改进传统AlexNet模型,结合图像质量评价(image quality assessment,IQA)技术完成了对柑橘溃疡病的识别。通过减少模型参数、权值均一化和自动剪枝3 种方法对AlexNet模型进行优化,使用含有7 250 幅图像的自建数据集进行了实验,最后结合IQA技术降低了模糊图像造成的影响。

为防止病虫害的发生,水果生长各阶段中需要喷洒农药,所以在果实上难免会有农药残留。农药残留是影响水果安全性的重要因素之一[54]。Jiang Bo等[55]采用AlexNet CNN进行了苹果采后农药残留检测。在实验时采集了喷洒4 种农药的苹果高光谱图像。通过理论分析和实验验证,确定了CNN的结构和参数(图4)。将提取的苹果高光谱图像归一化为227×227×3像素,作为农药残留的CNN网络输入检测。结果表明,当训练周期数为10 个时,测试集的检测准确率为99.09%,且测试集的检测精度为99.09%,单波段平均图像的检测准确率为95.35%。与传统的KNN和支持向量机分类算法的比较表明,CNN方法表现更好,且无损、快速、低成本,可有效检测苹果采后农药残留。

图4 CNNs网络结构[54]Fig. 4 CNNs network structure[54]

目前水果安全品质检测问题的主要研究是针对水果病害和农药残留。因为RGB图像不能明显反映水果内部病害、农药残留,所以需结合光谱数据进行实验研究。但此类实验对数据集的要求很高。只有数据集足够大、质量够高,能够完全满足模型训练的要求,才能在实际预测时获得较高的准确率。但是目前公开的高质量高光谱数据集较少,所以有些研究者使用了自建的数据集,通过数据增强操作提高了模型特征提取准确度,但普适性较差。

2.4 水果分级分类

水果的形状、糖度和表面缺陷等指标不同,其经济价值也会有所不同,所以在采摘与销售过程中要对水果进行分级分类,而这个过程目前仍是以人工主观分类为主,智能化、机械化分级分类尚处于研究阶段。如果能够实现快速高效的自动分级,可以有效减少水果销售过程中时间的浪费,从而保证水果新鲜度,延长水果保质期。

樱桃果实通常以双樱桃或多樱桃的形式发育,樱桃果实的不规则形状导致其不良的市场销售失败,使其在市场上长期未售出并腐烂。Momeny等[56]根据果实外形是否规则对樱桃进行识别与分级。他们改良了传统的CNN模型,利用最大值池化和平均值池化相结合的方法,提高了CNN的泛化能力。使用两个自建的719 个樱桃样品数据集(307 个形状规则和412 个形状不规则)进行实验,通过梯度直方图和局部二值图提取图像特征,并采用KNN算法、神经网络算法、模糊算法和边缘检测算法进行分类,与改良的CNN模型进行比较。基于批量归一化,提出的CNN改良模型能够在所有图像尺寸下以99.4%的准确率对樱桃进行分类。

Jahanbakhshi等[57]选取341 个酸柠檬样品(185 个健康样品和156 个损伤样品)获取RGB图像构成数据集,使用MATLAB软件对图像进行预处理,将30%图像作为测试集,提出改进的CNN模型,根据酸柠檬的表面缺陷进行了分级检测,检测流程如图5所示。同时设立对比实验,与KNN、ANN、模糊综合评价法、SVM和决策树算法的结果进行对比。结果表明改进后的CNN模型准确率更高,可作为加强酸柠檬分级的现代方法。

图5 检测酸柠檬的改进CNN模型[56]Fig. 5 Improved CNN model for detecting lime[56]

青梅是一种深受人们喜爱的水果,有很多的保健功能,国内的青梅分级方式大多是人工分拣,这种传统方式受主观影响较大,导致分级不够明确,对青梅后期加工和销售造成了很多困难。传统的有监督学习青梅分级分类器样本标定困难,泛化能力较弱,陶海[58]提出了一种基于深度学习的青梅品级分类方法。首先将果实根据完好程度、果实大小、果实颜色等几个方面进行综合分析,将青梅分为3 个等级。然后将深度学习优秀的特征提取能力和识别能力引入青梅的品级分类中来,并根据广义熵理论建立了一种认知误差熵,可以反映出分类结果的可信度;这种半监督机制引入后可以增强整个模型的鲁棒性。最后采用包含5 400 幅图像(3 400 幅无标签,2 000 幅有标签,有标签图像包括630 幅优质果实图像、790 幅次品果实图像和580 幅腐烂果实图像)进行实验,证实了青梅品级半监督智能认知算法的有效性。曹仲达[59]在研究青梅分级时基于自适应CNN,引入青梅不同品级的图像决策信息,建立了具有完备评价指标的青梅品级智能决策信息模型。作者将青梅分为优品、带疤良品、次品、带疤次品和腐烂品5 个等级,采用1 008 幅图像进行验证,分级正确率达到了98.15%。

目前水果的分级分类大多是通过RGB图像对水果颜色、果实形状、表面缺陷等方面进行识别从而进行分级的,仅适用于不同品级外观差距较大的水果;而对于外观表现不明显的水果来说,光谱信息更能反映出不同品级水果的某些内部信息,相对于RGB图像更加全面。希望在以后的研究中,有更多的研究者可以将光谱图像信息引入深度学习中,全面采集各种品质指标,进一步提高水果分级精确度。

2.5 水果分类识别

自动化的水果分类识别可以给生活带来很多的便利,比如识别与自动计数、超市中的分类入库和识别付款等,可应用领域十分广泛。深度学习技术能够在极短时间内完成对水果的识别与分类,为水果快速分类提供了新的可能性。

Saranya等[60]以苹果、香蕉、石榴和柑橘为研究对象,在公开数据集fruit-360上对传统的机器学习方法和深度学习方法进行了比较,结果表明CNN模型有更好的学习效果,而共享最近邻法和SVM模型在特征提取方面表现很优秀,但在分类时表现不如CNN模型。Hossain等[61]基于深度学习提出了一个水果分类系统,该系统建立了两种模型,第一种是一个6 层CNNs轻模型(图6)。在这个模型中,分为预处理、特征转换和分类3 个步骤。首先将原始图像进行等高宽裁剪,然后固定图像大小;然后通过CNN模型等的重复卷积和池化操作来实现图像的特征转换;最后学习到的一维特征向量被馈送到输出层。输出层使用Softmax激活。在每个池化层之后和输出层之前添加脱落层,以使网络规则化,并防止过度拟合。第二种模型是经过预训练的VGG-16模型(图7),此模型通过最大池化层对5 个卷积运算块进行连接,每个运算块中包含着一系列的3×3卷积层,卷积核的数量由第一层的64 个逐步增加到最后一层的512 个,共有16 层可学习层数。

图6 6 层CNNs轻模型[54]Fig. 6 Six-layer CNNs light model[54]

图7 VGG-16模型[54]Fig. 7 VGG-16 model[54]

Hossain等[61]采用两个不同数据集对两个模型进行了实验,两个数据集内包含苹果、梨、桃、橙子、西瓜等数十种水果图像。数据集1包括2 633 幅图像,是比较容易识别的图像。数据集2中的5 946 幅图像较为复杂,图像中含有多种水果且含有冗余背景信息。在实验过程中进行数据增强后,通过两个图像集对两种模型进行训练与测试,数据集1的分类准确度分别为99.49%和99.75%,数据集2的准确度分别为85.43%和96.75%。实验结果表明,VGG-16模型在两个数据集上表现都十分优秀,轻量级CNN模型在数据集1上识别准确率也较高,都具有较好的研究前景与实际应用价值。

Rojas-Aranda等[62]在研究零售店的自动化识别与付款时,也使用了轻量级的CNN模型。由于研究的目标是收银台结算,因此建立了一个创新的数据集,即数据集中的图像分为无塑料袋包装和有塑料袋包装两种情况,经测试,总体分类准确率为95%,而对塑料袋内水果的分类准确率也达到了93%。Duong等[63]使用目前最前沿的EfficientNet和MixNet构建出了一个水果分类专家系统,在基础深度学习模型中加入了一个权值计算器,可以调整不同特征所占比重,而且可以通过迁移学习,将其他实验的权值比重导入权值计算器中。最后专家系统在一个包含48 905 个训练图像和16 421 个测试图像的真实水果数据集上进行了实验。实验结果表明,在所考虑的数据集上应用此专家系统,显著提高了整体预测精度。

水果分类不仅仅是不同水果之间的分类,也包括了同种水果间的分类。Rong Dian等[64]建立了包含5 种桃的可见-近红外光谱数据库,通过构造一维CNN模型,实现了桃品种的多重鉴别。首先采集不同品种的桃光谱图像,然后采用CNN模型对光谱信息进行训练,训练完成的模型可完成对未知品种桃的分类。深度学习模型在验证数据集上的准确率达到100%,在测试数据集上的准确率达到94.4%。Osako等[65]利用深度学习技术对台湾4 个常见的荔枝栽培品种(‘桂味’‘黑叶’‘无麦仔’‘玉荷包’)分类进行了研究。通过对预先训练的VGG-16模型进行微调,构建了合适的识别模型,对模型进行训练之后对4 个品种混合图像进行分类,准确率达到98.33%。Rodríguez等[66]采用AlexNet模型,研究了3 个不同品种李子早熟期品种的鉴别。由于使用的是自建数据集,所以首先要进行降噪、腐蚀、膨胀等预处理,去除不需要的背景。测试集的最终分类精度最高达到了97%。

随着深度学习框架的不断优化,越来越多的科研实验依托TensorFlow、Caffe、Keras等开源平台进行操作,采用AlexNet、VGGNet、ResNet和GoogleNet等经典模型,大大提高了科研效率。吕伟[67]使用Caffe平台中的经典CNN模型,对自建训练集(摄像机在不同光照、角度变换以及局部遮挡环境下苹果、百香果、火龙果和橘子等14 类39 种96 815 幅不同类型水果图像)进行学习分类,水果种类分类正确率达99.53%。廉小亲等[68]使用Google公司TensorFlow框架中预训练完成的Inception-V3模型,对含有梨、苹果、香蕉、柑橘、芒果、猕猴桃6 类水果的测试集进行了分类,结果较传统水果分类算法的准确率有明显提升。研究者们基于基础的深度学习模型,通过修改各种模型中各个部分,例如改进预处理方法、修改图像分割方法、修改神经网络隐藏层之间的结构、改进特征提取的方法等,不同程度地提高了水果分类的准确率[69-73]。

智能家居的快速发展使冰箱果蔬识别与分类的应用研究受到了越来越多的关注。曾维亮[74]探究了冰箱中的水果分类问题,提出一种基于感兴趣区域(region of interest,ROI)的区域卷积神经网络(region proposals cnvolutional neural network,RCNN)水果图像识别模型。先从样本确定目标水果ROI,再基于ROI进行大量训练,得到特征明显的图像块后,再进行识别。实验结果表明,基于ROI训练的卷积核能提取区分度较强的特征,在融合多通道水果特征信息时可有效地提高识别率。Zhang Weishan等[75]在设计智能冰箱时,希望冰箱能够自动识别水果。他们的研究重点包括两部分,即识别水果种类与实现水果个体计数。他们的测试集包括智能冰箱内部拍摄的水果图像和来自互联网的冰箱储藏水果图像,使用ResNet、VGG-16和VGG-19多种模型进行训练,这些模型的输出作为输入数据导入到BP神经网络中继续进行运算。这种多结构融合的深度学习模型比3 种模型单独使用的方法具有更好的识别精度。

近年来深度学习技术在水果识别与分类方面最新的一些研究成果,AlexNet与VGGNet等各种不同的算法在不同研究中都有所使用。多数实验以RGB图像作为载体进行相应的研究,也有部分实验使用了高光谱图像进行研究。通过深度学习模型对RGB图像和高光谱图像进行学习和权值训练,可以成功提取与水果的各种特征,完成对水果的识别与分类。与传统的水果分类方法相比,深度学习方法具有更好的性能,值得进一步研究。水果分类识别仍旧是一个水果研究领域的难点问题。有几个难点尚未发现比较好的解决方案,一是有些水果种间外观差距较小,例如李子和杏外观特点就十分相似;二是光照阴影导致的明暗变化使得同物种间图像出现较大差异;三是图像背景干扰大,对识别造成较大影响。从上述几点中可以看出某些水果识别难度较高,如何提高这些水果图像的识别精度将是未来的重点研究目标。

3 结 语

水果品质检测与分类识别领域引入深度学习仅仅短短几年就涌现出大批的优秀科研成果,与过去的模式识别、机器学习和人工分类等传统方法相比有很多的优势:1)在众多的水果研究中,深度学习技术都显示出了良好的适应性与较高的准确率,说明机器学习技术的通用性很高;2)深度学习的另一个优点是兼容性高,可以从多维数据中提取有用信息,在对水果进行检测时,有很多作者在研究中将深度学习和高光谱成像技术等其他技术结合起来,也取得了可喜的成果;3)各种深度学习模型可以单独或者自由组合使用,针对不同的实验目标可以对模型进行针对性调整改造,模型可塑性极高。

深度学习技术在水果品质检测与分类识别领域中的研究才刚刚兴起,还有许多工作需要进一步完善和发展。1)在水果品质检测与分级分类领域的研究中,大多应用的是CNN模型,或是在经典网络模型基础上进行改进。在将来的研究中其他深度学习模型例如循环神经网络、LSTM等的强大功能或多种模型交叉融合,会给未来的科研提供了无数可能,在水果品质检测与分级分类领域的应用潜力值得研究者关注。2)深度学习训练模型所需的数据量很大,对数据集要求较高。目前公开的水果数据集较少,且图像质量参差不齐,而研究者自建数据集的图像数量一般不足以支撑训练与预测。希望在将来的研究中,科研人员可以广泛采集水果各种品质图像,互相分享,建立出更好的水果数据集。3)以RGB图像为载体的研究比较多,但其无法反映出水果的硬度、糖度和成熟度等内部品质,高光谱图像可以反映出这些内部性质,但以高光谱图像为载体进行的研究较少。在深度学习中如何融合高光谱图像,如何充分利用高光谱图像的空间和光谱信息,使其应用具有较强的鲁棒性和网络泛化能力,将是未来的研究热点。4)应进一步扩充研究对象。虽然深度学习已经渗透到水果品质检测中,但检测的品质指标还不完善,如硬度、虫害等还未涉及。另外如果将时间维度引入水果品质检测与分类的研究中,可能会得到更加精准的结果,如预测水果的成熟趋向、SSC、水果遭受病害的趋向等,值得进一步使用深度学习的方法进行分析和研究。5)多数实验仍旧在实验研究阶段,尚未实现工业化、商业化使用,在线检测、智能手机应用等方面的实验较少,还有广阔的发展空间。期望随着计算机硬件水平的发展,水果的在线智能化检测与识别可以广泛应用到水果生产、运输和销售等环节中,减少人力资源浪费。

本文为水果品质检测与分类识别领域的研究者们总结了近期应用深度学习的研究成果,期望深度学习技术未来能够在本领域取得更多优秀的研究成果,并将研究结果付诸实践。

猜你喜欢
光谱准确率水果
基于三维Saab变换的高光谱图像压缩方法
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
高光谱遥感成像技术的发展与展望
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
高速公路车牌识别标识站准确率验证法
四月里该吃什么水果
水果篇之Cherry
水果畅想曲
基于GPU的高光谱遥感图像PPI并行优化