Recognition of mango fruit diseases based on image processing and deep transfer learning
-
摘要:目的
基于计算机层析成像(Computed tomography, CT)设备所得芒果CT序列图像,实现芒果内部品质的无损检测和病状识别分类。
方法利用分段函数法、中值滤波结合双边滤波,实现芒果图像增强;采用局部自适应阈值法,实现二值化处理;采用种子填充法进行区域填充;最后通过差影法准确提取芒果果实内部组织的坏损区域。基于深度迁移学习模型,对未处理和已处理的芒果图像数据开展训练和测试,通过AlexNet和GoogLeNet深度学习网络开展迁移学习,调整超参数完成训练过程的网络微调,在不同模型中对比未处理和已处理的芒果测试集在模型上的分类结果。
结果基于未处理数据集,GoogLeNet模型在学习率为0.0002下训练,Accuracy和Macro-average指标分别为98.79%和98.41%。基于已处理数据集,GoogLeNet模型在学习率为0.0002下训练,Accuracy和Macro-average指标分别为100%和100%。深度迁移学习模型在已处理数据集下的模型分类指标较未处理的数据集下有较大的提升。基于同一数据集且超参数一致时,GoogLeNet网络的分类效果明显优于AlexNet网络。
结论设定学习率为0.0002、迭代轮数为3、最小批值为64,基于GoogLeNet网络开展深度迁移学习训练,将所得模型作为最终的分类模型。
Abstract:ObjectiveTo realize non-destructive detection of the internal quality of mangoes and disease identification and classification based on the CT sequence images of mangoes obtained by computed tomography (CT) equipment.
MethodWe used piecewise function method and median filter combined with bilateral filter to achieve image enhancement, used local adaptive threshold method to achieve binarization processing, used seed filling method to perform area filling, and used the image difference method to accurately extract the damaged area in inner tissue of mango fruit. Based on the deep transfer learning model, training and testing were carried out on unprocessed and processed mango image data. Transfer learning was carried out through the AlexNet and GoogLeNet deep learning networks, and hyperparameters were adjusted to complete the network fine-tuning of the training process. Under different models, the classification results of unprocessed and processed mango test sets on the model were compared.
ResultBased on the unprocessed data set, the GoogLeNet model was trained at a learning rate of 0.0002, and the Accuracy and Macro-average were 98.79% and 98.41% respectively. Based on the processed data set, the GoogLeNet model was trained at a learning rate of 0.0002, and the Accuracy and Macro-average were 100% and 100% respectively. The deep transfer learning model had a greater improvement in the model classification index of the processed data set than the unprocessed data set. Based on the same data set and consistent hyperparameters, the classification effect of the GoogLeNet network was significantly better than that of the AlexNet network.
ConclusionWhile learning rate is set to 0.0002, the Epoch value is 3, and the Mini Batch value is 64, deep transfer learning training is carried out based on the GoogLeNet network, and the resulting model is used as the final classification model.
-
Keywords:
- mango /
- disease recognition /
- CT imaging /
- damaged area extraction /
- deep transfer learning /
- image classification
-
芒果Mangifera indica作为著名的热带亚热带水果,以其色香味俱佳而享有“热带果王”的美誉,具有极高的营养价值和经济价值,在热带及南亚热带地区有广泛栽培[1]。我国是芒果原生产地之一,种植历史悠久,在海南、广东、广西、福建、云南、四川等省份建立的规模化种植的芒果园,成为重要的地区特色农业经济产业。
由于长期施用过量的化学肥料和农药,土壤环境不断地发生恶化,果类病毒产生新的抗药性,芒果出现新的感染状况并产生诸多病症,如海绵组织病、心腐病、软鼻子病、空心病等生理性病害,对芒果的品质产生了严重的影响。在部分芒果产区,由此类病害造成的芒果损失率甚至达到了30%以上。患有此类病害的芒果,表面与没有患病的芒果相比并无差异,凭肉眼无法观测出来,经验丰富的果农也无法准确对此类芒果做到挑拣和分类,这也就对芒果果实的品质检测和分级技术提出了新的应用方向与挑战[2-5]。
现代农业无损检测技术正朝着智能化方向发展,结合计算机图形图像分析与深度学习的技术正成为水果品质检测的新方向和研究热点[5-7]。研究采用可见/近红外光谱、核磁共振和X射线等检测技术,无损地获得果类果实的内部组织特征图像,然后结合图像处理和模式识别等相关技术,进行组织提取和病状类型分析识别,从而实现果实品质检测和分级[8-9]。
国内外众多学者在农产品果类检测方向开展了大量的研究。2018年余心杰[10]基于可见光和近红外光(Visible-near infrared, VIS-NIR)高光谱反射成像技术,研究开发了一种由堆栈自编码器(Stacked auto-encoder,SAE)和全连接神经网络组成的深度学习方法,用于预测收获的库尔勒香梨的硬度和可溶性固形物含量(Soluble solids content, SSC),证明了深度学习方法与高光谱成像技术相结合,可用于库尔勒香梨的快速无损检测硬度和SSC。2019年Nasiri等[11]采用深卷积神经网络模型(Convolutional neural network, CNN)VGG-16在枣果图像数据集上进行训练和测试,来鉴别健康枣果和缺陷枣果并用来预测健康枣的成熟期,VGG-16模型的分类准确率达到了96.98%,证明了深卷积神经网络模型优于传统的基于图像特征的枣果图像分类方法。2019年Wan等[12]提出了一种改进的快速R-CNN深度学习网络模型,用于机器人视觉系统,实现了苹果、芒果和桔子等多类水果检测,达到了91%以上的检测正确率,该深度学习模型提高了图像处理速度,也更适合于实际场景。2020年Osako等[13]通过对预训练的VGG16网络进行微调,构建了荔枝品种识别模型,该模型对荔枝水果图像进行品种识别,实现了98.33%的准确性,研究表明深度学习可用于区分荔枝品种。
迁移学习是一种机器学习的方法[14-17],是解决训练数据不足这一基本问题而发展起来的重要方法,其基本原理是通过已学习的相关任务中知识转移来改进新任务的学习[17-20]。近年来深度学习技术在图像识别分析领域取得了长足的进步,但是必须要有海量的训练数据作为支撑,来理解数据的潜在模式,才能够实现网络模型的训练[20-22]。深度迁移学习将在原域中预先训练好的深度学习网络结构重新利用,将其用于目标领域的深度神经网络的一部分,因为原网络已经学习了图像丰富特征,有很好的泛化性,通过网络微调可以实现相应的目标领域学习,大大加快了学习速度[23-25]。
本文基于芒果果实计算机层析成像(Computed tomography,CT)设备所得的芒果CT序列图像,提出了传统图像处理技术和深度迁移技术相结合的芒果病状识别判断方法。工作内容包括:1)芒果果实CT序列图像内部坏损区域的提取方法研究;2)利用AlexNet和GoogLeNet[26-28]预训练网络开展芒果病状的识别研究。
1. 研究方法
1.1 芒果CT序列图像的获取
基于平板探测器的计算机层析成像系统(图1)采集芒果CT序列图像。该系统主要由X射线源分系统、平板探测器分系统、机械扫描分系统、图像处理分系统以及安全及辅助分系统组成[29]。该系统采用的平板探测器为VARIAN PaxScan2520V,其像元尺寸为0.127 mm,A/D转换器位数为14位。
选择外表无破损、内部组织坏损的芒果类型。实验室环境要求常温,湿度小于82%,磁场干扰较小,所有芒果样品图像采集的过程中实验室条件、采集方法和参数设置必须一致,这样才能减少误差。设备参数:平板探测器的积分时间为200 ms,X光机的电压为45~50 kV,电流为1 mA,CT检测时根据检测对象大小设置热区参数,扫描方式为标准连续扫描。
1.2 芒果CT序列图像预处理
本文采集海绵组织病和空心病芒果16位DICOM格式CT序列图像(512×512),海绵组织病序列图像650张,空心病序列图像379张,有效图像分别为624张和365张。海绵组织病和空心病芒果CT序列图像如图2所示。
芒果CT图像的像素点的灰度值集中分布在0~35以内,芒果外区域集中在0~10。图3中的a和b分别是对海绵组织病芒果和空心病的CT序列图像作灰度值统计,验证了芒果有效像素值分布在灰度值较低范围,截取256灰度级的原始图像灰度。
灰度变换是实现图像对比度增强的重要手段,最终的目的是为了增强图像清晰度,让图像细节更加突出。在样本的处理中发现未坏损区域的灰度值接近于恒定在14~35,根据灰度的分布特点,结合实际的图像效果,本文采用了分段函数法来实现图像对比度增强。
灰度变换原理是把原图像的灰度函数
$f(x,y)$ ,经过1个变换函数T变换成1个新的图像函数$g(x,y)$ ,即$$ g(x,y) = T[f(x,y)], $$ (1) 通过变换,达到对比度增强的效果,在变换时对每个像素
$(x,y)$ 都经过了同样的处理,因此该方法又叫做图像点处理。分段函数法又称为分段变换,为了突出感兴趣的目标或灰度区间,抑制不感兴趣的目标或灰度区间,常采用分段线性变换法。芒果图像未坏损区域的灰度值接近于恒定在14~35,采用分段函数将未坏损区域的灰度值拉伸变大,坏损区域的灰度值保持不变,公式如下:
$$g(x,y) = \left\{ {\begin{array}{*{20}{l}}{f(x,y) \times 7},&{ 14 \leqslant f(x,y) \leqslant 35}\\{f(x,y) \times 1 },&{f(x,y) < 14}\end{array}} \right.{\text{。}}$$ (2) 1.3 图像降噪
芒果CT序列图像在获取的过程中,因为受到温湿度、磁场干扰、信号传输过程中的损耗、振动噪声等试验条件的限制,降低了图像的质量,造成最终的成像效果失真,这样必然影响后续的图像分析与研究,采用图像滤波处理的方法来进行降噪处理。根据获取的芒果CT序列图像的成像特点,研究采用空间域滤波处理的方式。空间域滤波包括线性滤波和非线性滤波。最终采用了中值滤波和双边滤波相结合的方法,对图像实现降噪处理。中值滤波有去除脉冲噪声和椒盐噪声,保留图像的边缘细节的作用。其算法原理是基于滤波器所在图像区域中像素灰度值
${Z_k}$ 的排序,由排序结果决定的值R代替中心像素的值,公式如下:$$ R = {\rm{mid}}\left\{ {{Z_k}|k = 1,2,3, \cdots } \right\}{\text{。}} $$ (3) 双边滤波是高斯滤波的改进,高斯滤波中只有关于空间距离的权重,而双边滤波在此基础上添加了关于灰度距离的权重,可以消除图像噪声,实现图像平滑,同时保留边缘信息。实现方法:1个与空间距离相关的高斯函数与1个灰度距离相关的高斯函数相乘,得到最终的卷积模板,双边滤波需要每个中心点邻域的灰度信息来确定其系数,计算量增长速度为核大小的平方。空间距离指的是当前点与中心点的欧式距离。空间域高斯函数其数学形式为:
$$d(i,j,k,l) = {\rm{exp}}\Bigg( - \frac{{\left( {{{(i - k)}^2} + {{(j - l)}^2}} \right)}}{{2\sigma _{\rm{d}}^2}}\Bigg),$$ (4) 式中,
$(\left. {i,j} \right)$ 代表输出点,$(\left. {k,l} \right)$ 代表(多个)输入点;${\sigma _{\rm{d}}}$ 为空间域标准差。灰度距离:当前点灰度值与中心点灰度值之差的绝对值。值域高斯函数其数学形式为:$$r(i,j,k,l) = {\rm{exp}}\Bigg( - \frac{{\left. {\left\| {f{{(i,j)}^2} - f{{(k,l)}^2}} \right.} \right\|}}{{2\sigma _{\rm{r}}^2}}\Bigg),$$ (5) 式中,
$(\left. {i,j} \right)$ 代表输出点;$(\left. {k,l} \right)$ 代表(多个)输入点;${\sigma _{\rm{r}}}$ 为值域标准差。将上述2个公式相乘就可以得到依赖数据的双边滤波权重函数:$$\omega (i,j,k,l) = \exp \left( { - \frac{{{{(i - k)}^2} + {{(j - l)}^2}}}{{2\sigma _{\rm{d}}^2}} - \frac{{\parallel f{{(i,j)}^2} - f{{(k,l)}^2} \parallel }}{{2\sigma _{\rm{r}}^2}}} \right),$$ (6) 将得到的权重与邻域像素灰度值相乘并叠加,然后再除以权重和,最终获得该像素点的灰度值:
$$g(i,j) = \frac{{\displaystyle\sum\limits_{k,l} f (k,l)\omega (i,j,k,l)}}{{\displaystyle\sum\limits_{k,l} \omega (i,j,k,l)}}{\text{。}}$$ (7) 由于X射线在穿透物体时,光子会发生散射、折射和衍射等现象,在芒果CT图像区域会形成大量的椒盐噪声(如图6所示)。要求去除椒盐噪声,尽量保留坏损区域的边缘信息和实现图像平滑,确定先双边滤波,再进行中值滤波的滤波处理方案。选定中值滤波窗口尺寸为4×4,双边滤波参数:滤波半径=5,全局方差=8,局部方差=0.2,达到了较好的图像处理效果。
从整体和细节放大角度进行了对比分析,以海绵组织病芒果的第300层CT序列图像为例,进行了滤波效果展示。通过图7、图8分析,中值滤波结合双边滤波的图像滤波处理方案是可行的,能够去除椒盐噪声,实现图像平滑,坏损区域边缘信息得到了保留。文中采用的均值滤波器和高斯滤波器模板如图9所示。
1.4 图像分割
图像分割是为了提取芒果CT图像内部组织坏损区域,对芒果果实内部的各种病害进行特征分析。不同病状芒果以及同一芒果不同层级序列图像呈现出不同的差异特点,使用图像二值化、形态学填充和差影法相结合的图像分割算法。
因为芒果CT序列图像上的不同部分具有不同亮度,局部自适应阈值法可以在同一幅图像上的不同区域采用的是不同的阈值,亮度较高的图像区域的二值化阈值通常会较高,而亮度较低的图像区域的二值化阈值则会相应地变小,从而在亮度不同的情况下得到更好的结果。本文选择了局部自适应阈值法,进行图像的二值化处理。局部自适应阈值法步骤:
1)均值平滑图像(本文采用4×4模板)。
2)求平滑图像梯度图:
$$\begin{array}{*{20}{c}} {{G_x}(x,y)}{ = P(x + 1,y) - P(x - 1,y)} ,\\ {{G_y}(x,y)}{ = P(x,y + 1) - P(x,y - 1)} ,\\ {F(x,y)}{ = \sqrt {{G_x}{{(x,y)}^2} + {G_y}{{(x,y)}^2}} } , \end{array}$$ (8) ${G_x}(x,y)$ :x方向梯度,${G_y}(x,y)$ :y方向梯度,$P(x,y)$ 像素点灰度值,$F(x,y)$ :图像梯度。3)平滑图像作Laplacian运算:
$$\begin{array}{*{20}{c}} {R(x,y) = P(x,y + 1) + P(x,y - 1) + P(x - 1,y) + } \\ {P(x + 1,y) - 4P(x,y)} , \end{array}$$ (9) 找到局部最大阈值的点,这些点的原始灰度值作为候选局部阈值,
$R(x,y)$ 表示Laplacian算子,查找经Laplacian运算后图像中灰度值为零的点,将这些点对应的原始图像灰度值作为候选局部阈值。4)新建与原图像同样大小的零矩阵图像,用原始图像候选点中的灰度值代替零矩阵图像中对应像素的灰度值。
5)多次迭代求阈值面:
$$\mathop {\lim }\limits_{n \to \infty } {P_n}(x,y) = {P_{n - 1}}(x,y) + \frac{{\beta \cdot {R_n}(x,y)}}{4},$$ (10) 当
$\;\beta = 0$ ,残差消失,$1 < \beta < 2$ ,收敛更快,本文中$\;\beta = 1$ ;因为实际中n值不可能取无限大,本文程序中取n值不大于1 500;当${P_n}(x,y)$ 与${P_{n - 1}}(x,y)$ 相减所得残差小于${10^{{\rm{ - }}3}}$ ,停止迭代。6)根据阈值面作二值分割:
$$g(x,y) = \left\{ {\begin{array}{*{20}{l}} {0,}&{f(x,y) < {P_n}(x,y)} \\ {255,}&{f(x,y) \geqslant {P_n}(x,y)} \end{array}} \right.{\text{。}}$$ (11) 本文对海绵组织病和空心病芒果所有有效层CT图像做了二值化处理。以图10中海绵组织病芒果二值化图像为例,局部自适应阈值法可以准确地将坏损区域和正常果肉区域分开,各相近层提取的坏损区域之间表现出明显的连续性。
研究的病状芒果果实样品都是外部完好、内部出现坏损的类型,果实的边缘部分都是封闭的,所以本文中采用了基于边界封闭的种子填充形态学方法进行芒果果实图像内部区域填充[30]。种子填充算法定义:
$${X_k} = \left( {{X_{k - 1}} \oplus B} \right) \cdot {A^c},\quad k = 1,2,3, \cdots , $$ (12) 点
$ {X}_{0} $ 像素灰度值为1,$B$ 表示结构元,$ \oplus $ 表示形态学膨胀运算,如果${X_k} = {X_{k - 1}}$ ,则算法在迭代的第k步结束,用1填完所有孔洞。${X_k}$ 和A的并集包含被填充的集合和它的边界。利用Ac的交集将结果限制在感兴趣区域内,实现条件膨胀。本文选择种子填充算法,孔洞填充后效果如图11b、图12b所示。差影法多应用于同一背景的图片中搜索差异。图像f1被填充,其背景、位置在填充过程中没有发生改变,整个区域的值都为255,得到填充图像f2;未填充的图像f1保留着内部坏损信息(坏损区域值为0),与f2做差影,得到图像f3。差影法公式:$${\rm{f}}2 - {\rm{f}}1 = {\rm{f}}3{\text{。}}$$ (13) 空心病芒果序列图像的第300层和海绵组织病芒果序列图像的第300层的图像分割效果,如图11、图12所示。
2. 分类算法
2.1 分类模型
深度迁移学习模型,针对未做图像处理和已做图像处理的芒果图像数据开展训练和测试,分析分类识别效果。基于AlexNet和GoogLeNet深度学习网络模型,芒果序列图像数据集作为训练数据开展迁移学习,调整超参数,完成训练过程的网络微调,实现分类任务。在不同模型下,对比了未做图像处理和做了图像处理的芒果图像测试集在模型的分类结果。
AlexNet和GoogLeNet已基于超过一百万个图像进行训练,将图像分为1 000个对象类别,学习了丰富的特征表示。AlexNet是在LeNet的基础上加深了网络的结构,学习更丰富更高维的图像特征,其特点包括:更深的网络结构;使用层叠的卷积层和池化层来提取图像的特征;使用Dropout抑制过拟合;使用数据增强抑制过拟合;使用Relu替换之前的Sigmoid的作为激活函数。GoogLeNet相比与AlexNet网络,增加了网络层数和Inception模块增强卷积模块功能,在增加网络深度和宽度的同时减少了参数,其参数数量约为AlexNet的1/12,提升了计算性能。
2.2 模型算法流程
修改预先训练好的网络并使用迁移学习进行训练以执行新识别任务,微调预先训练好的网络比构造和训练新网络更快、更容易,使用更少数量的训练图像迅速迁移学习到新任务。迁移学习的算法流程,如图13所示。
最后3层替换为全连接层、softmax层和分类输出层,将层迁移到新分类任务。根据芒果数据指定新的全连接层的选项,将全连接层分类值设置为分类数目。对于迁移学习,要保留预训练网络的较浅层中的特征(迁移层权重),通过增大全连接层的学习率因子,加快新的最终层中的学习速度,这种学习率设置组会加快新层中的学习速度;执行迁移学习时,所需的训练轮数相对较少,一轮训练是对整个训练数据集的一个完整训练周期。
网络评估的目的是为了提高模型在应用过程的准确率,可以继续迭代,重新研究训练方案、检查数据以及重新配置模型参数。评估分类模型指标有精准率(Precision)、召回率(Recall)、F1分值(F1-score)、准确率(Accuracy)和宏平均(Macro-average)。
$$ {\rm{Precision}} = {\rm{TP}}/({\rm{TP}} + {\rm{FP}}), $$ (13) $$ {\rm{Recall}} = {\rm{TP}}/({\rm{TP}} + {\rm{FN}}), $$ (14) $${{F}}1 {\text{-}} {\rm{score }} = \frac{{ {\rm{ }}2{\rm{Recall}} \cdot {\rm{Precision}}}}{{{\rm{Recall}} + {\rm{Precision}}}}, $$ (15) $$ {\rm{Accuracy}} = \frac{{{\rm{TP + TN}}}}{{{\rm{TP + TN + FP + FN}}}}, $$ (16) $$ {\rm{Macro {\text{-}} average}} = \frac{{\displaystyle\sum {{{F}}1 {\text{-}} {\rm{score}}} }}{n}, $$ (17) 式中,TP表示样本属于正类,且被正确地归为正类;FP表示样本不属于正类,但被错误地归为正类;FN表示样本属于正类,但被错误地归为其他类;TN表示样本属于其他类,且被正确地归为其他类,n表示类的个数。Precision衡量正样本的分类准确率,Recall表示分类正确的正样本占总的正样本的比例,F1-score是Precision和Recall的调和平均,Accuracy衡量所有样本被分类准确的比例。Macro-average则是综合了性能指标的Precision、Recall和F1-score的信息,常和Accuracy一起用来评价模型整体的分类性能。
3. 结果与分析
3.1 芒果图像数据集
芒果数据集分为训练集、验证集和测试集,打上标签。芒果图像数据集分为两大类,即未经图像处理数据集和经图像处理后的数据集。其中未经图像处理数据集包括3类:无病症芒果CT图片(2 168张),海绵组织病芒果CT图片(1 924张),空心病芒果CT图像(864张)。经图像处理后的数据集包括5类:无病症芒果图片(2 168张)、海绵组织病芒果图片(1 924张)、空心病芒果图片(864张)、海绵组织病坏损区域图片(1 920张)、空心病坏损区域图片(864张)。通过水平翻转、垂直翻转、顺时针旋转90°得到了更多的图像数据,图14和图15分别展示了未经图像处理数据集和经图像处理后的数据集其变换后的形式。
3.2 加载未经图像处理数据集
未经图像处理数据集分为训练集、验证集和测试集,随机取各类图片数目的60%作为训练集,20%作为验证集,20%作为测试集。训练集是作为模型拟合的数据样本,验证集用于调整模型的超参数和对分类模型的能力进行初步评估,测试集是用于评估分类模型的泛化能力。
深度迁移学习模型训练阶段监视模型的训练准确率、训练损失、验证准确率和验证损失,在训练过程中,通过调整超参数来优化分类模型,调整的超参数:迭代轮数(Epoch)、最小批(Mini batch)和学习速率(Learning rate)。迭代1轮是指训练算法完全通过整个训练集,训练迭代轮数越多,网络训练时间越长,准确率会随着每次迭代而提高。最小批是指在CPU上处理的训练数据集的子集,最小批越大,训练速度越快。学习速率是控制训练精度的主要参数,学习速率越低,训练结果准确率越高,但网络训练时间会更长。基于未处理的芒果图像数据集进行训练时,迭代轮数设为3,最小批值设置为64,不断调整学习速率来优化分类模型。基于AlexNet和GoogLeNet网络通过设置学习率不同值,开展训练,现分别取值为0.000 8、0.000 5和0.000 2,进行分类模型性能的评估。表1中展示了各个模型针对未处理芒果图像的分类性能参数。所有模型的迭代次数均为138。
表 1 深度迁移学习模型性能参数(未处理图像)Table 1. Performance parameters of deep transfer learning model (Unprocessed image)模型
Model学习速率
Learning rate图片类型
Image type精准率/%
Precision召回率/%
RecallF1分值/%
F1-score模型准确率/%
Accuracy of modelAlexNet 0.0008 无病症芒果 Healthy mango 87.58 92.63 90.03 84.88 海绵组织病芒果
Mango with spongy tissue disease94.90 77.40 85.26 空心病芒果 Mango with hollow disease 64.84 82.08 72.45 0.0005 无病症芒果 Healthy mango 96.02 94.47 95.24 90.22 海绵组织病芒果
Mango with spongy tissue disease93.71 85.19 89.25 空心病芒果 Mango with hollow disease 73.02 90.75 80.93 0.0002 无病症芒果 Healthy mango 97.22 96.77 97.00 94.15 海绵组织病芒果
Mango with spongy tissue disease96.70 91.43 93.99 空心病芒果 Mango with hollow disease 82.63 93.64 87.80 GoogLeNet 0.0008 无病症芒果 Healthy mango 95.55 94.01 94.77 90.73 海绵组织病芒果
Mango with spongy tissue disease95.40 86.23 90.59 空心病芒果 Mango with hollow disease 82.05 92.49 82.05 0.0005 无病症芒果 Healthy mango 98.12 93.61 97.21 95.36 海绵组织病芒果
Mango with spongy tissue disease97.32 94.29 95.78 空心病芒果 Mango with hollow disease 85.49 95..38 90.16 0.0002 无病症芒果 Healthy mango 99.77 99.08 99.42 98.79 海绵组织病芒果
Mango with spongy tissue disease98.96 98.96 98.96 空心病芒果 Mango with hollow disease 96.02 97.69 96.85 文中加载未经图像处理数据集,通过训练深度迁移学习模型,构建了多种分类算法模型。AlexNet模型在学习率0.0008、0.0005和0.0002下,Accuracy分别为84.88%、90.22%和94.15%,Macro-average分别为83.18%、88.47%和92.93%。GoogLeNet模型在学习率0.0008、0.0005和0.0002下,Accuracy分别为90.73%、95.36%和98.79%,Macro-average分别为89.14%、94.38%和98.41%。当学习率为0.0005和0.0002,深度迁移学习模型分类效果较优;学习率值变小,深度迁移学习模型的分类性能有较大提升;在同一学习率下,GoogLeNet网络的分类效果明显优于AlexNet网络。
3.3 加载图像处理数据集
与未处理图像的分类比例相同,随机取各类图片数目的60%作为训练集,20%作为验证集,20%作为测试集。图像处理数据集与未经处理数据集相比,增加了海绵组织病坏损区域图片和空心病坏损区域图片,为保证对比效果,其他各类图片数量保持不变。对处理的数据集进行模型训练时,将迭代轮数值固定为3,将最小批值设置为64,不断调整学习速率值来优化分类模型。基于AlexNet和GoogLeNet网络训练模型的学习率分别取值为0.0008、0.0005和0.0002,进行性能的评估。表2中展示了各个模型针对未处理芒果图像的分类性能参数。所有的模型的迭代次数均为216。
表 2 深度迁移学习模型性能参数(处理图像)Table 2. Deep transfer learning model performance parameters (Processed image)模型
Model学习速率
Learning rate图片类型
Image type精准率/%
Precision召回率/%
RecallF1分值/%
F1-score模型准确率/%
Accuracy of modelAlexNet 0.0008 无病症芒果 Healthy mango 100 96.48 98.21 95.39 海绵组织病坏损区域
Damaged area from spongy tissue disease96.16 97.92 97.03 空心病坏损区域
Damaged area from hollow disease86.46 95.95 90.96 海绵组织病芒果 Mango with spongy tissue disease 93.67 96.10 94.87 空心病芒果 Mango with hollow disease 96.71 84.97 90.46 0.0005 无病症芒果 Healthy mango 97.42 97.42 98.57 97.40 海绵组织病坏损区域
Damaged area from spongy tissue disease98.44 98.44 98.44 空心病坏损区域
Damaged area from hollow disease100 100 95.58 海绵组织病芒果 Mango with spongy tissue disease 98.18 98.18 96.92 空心病芒果 Mango with hollow disease 90.75 90.75 95.15 0.0002 无病症芒果 Healthy mango 100 100 100 100 海绵组织病坏损区域
Damaged area from spongy tissue disease100 100 100 空心病坏损区域
Damaged area from hollow disease100 100 100 海绵组织病芒果 Mango with spongy tissue disease 100 100 100 空心病芒果 Mango with hollow disease 100 100 100 GoogLeNet 0.0008 无病症芒果 Healthy mango 97.93 99.77 98.84 98.05 海绵组织病坏损区域
Damaged area from spongy tissue disease99.21 98.70 98.96 空心病坏损区域
Damaged area from hollow disease93.51 100 96.63 海绵组织病芒果 Mango with spongy tissue disease 98.42 96.88 97.64 空心病芒果 Mango with hollow disease 100 93.06 96.41 0.0005 无病症芒果 Healthy mango 100 100 100 100 海绵组织病坏损区域
Damaged area from spongy tissue disease100 100 100 空心病坏损区域
Damaged area from hollow disease100 100 100 海绵组织病芒果 Mango with spongy tissue disease 100 100 100 空心病芒果 Mango with hollow disease 100 100 100 0.0002 无病症芒果 Healthy mango 100 100 100 100 海绵组织病坏损区域
Damaged area from spongy tissue disease100 100 100 空心病坏损区域
Damaged area from hollow disease100 100 100 海绵组织病芒果 Mango with spongy tissue disease 100 100 100 空心病芒果 Mango with hollow disease 100 100 100 3.4 模型分类结果分析
加载图像处理数据集,训练深度迁移学习模型。深度迁移学习模型在图像处理数据集下的分类模型分类指标较未处理的数据集下有较大的提升。
AlexNet模型在学习率0.0008、0.0005和0.0002下,Accuracy分别为95.39%、97.40%和100%,Macro-average分别为94.95%、96.93%和100%。GoogLeNet模型在学习率0.0008、0.0005和0.0002下,Accuracy分别为98.05%、100%和100%,Macro-average分别为97.70%、100%和100%。基于同一数据集并且超参数一致时,GoogLeNet网络的分类效果明显优于AlexNet网络。GoogLeNet网络的训练时间较长。在学习率为0.000 5和0.000 2时,基于图像处理数据集得到的GoogLeNet分类模型,达到了100%的分类精度。相较于芒果图像识别算法的计数识别准确率82.3%[24],基于改进Faster R-CNN的芒果识别平均识别精度均值为88.94%[28],有极大提升。
综合考虑模型的性能参数和训练时间,选用基于GoogLeNet网络深度迁移学习模型在学习率为0.0002、迭代轮数为3、最小批值为64时,开展训练,将所得模型作为最终的分类模型。
4. 结论
1)针对芒果CT序列图像坏损区域获取的问题,本文采用分段函数法、中值滤波结合双边滤波的图像处理方案实现图像增强,通过局部阈值自适应法开展图像二值化处理,然后通过形态学种子填充法进行填充,最后利用差影法提取了芒果内部组织的坏损区域,能够准确地分割出坏损区域,分割效果较好。
2)本文训练AlexNet和GoogLeNet分类模型,通过比较Accuracy和Macro-average分类性能参数,GoogLeNet网络对芒果图像分类识别的效果最优。当学习速率为0.0002,基于未处理数据集和处理过的数据集进行分类,GoogLeNet网络分类模型性能极佳,可以作为本文芒果数据的分类模型。深度迁移学习模型在水果图像分类领域大有可为。
3)本文分割提取后的芒果坏损区域图像,特征明显,易于区分,在类型识别过程中可达到极高准确度,体现了结合图像处理技术开展深度学习分类识别,具有较高的实际意义。
4)算法的局限性。文中的芒果数据并不能代表所有的海绵组织病和空心病芒果的坏损情况,主要是由于芒果有自己的生长周期,并且坏损情况受到温湿度、土壤水平和种植手段等多方面的影响,在未来的研究中,可以通过增加数据量来探究某类型病状芒果内部坏损的演变过程。
-
表 1 深度迁移学习模型性能参数(未处理图像)
Table 1 Performance parameters of deep transfer learning model (Unprocessed image)
模型
Model学习速率
Learning rate图片类型
Image type精准率/%
Precision召回率/%
RecallF1分值/%
F1-score模型准确率/%
Accuracy of modelAlexNet 0.0008 无病症芒果 Healthy mango 87.58 92.63 90.03 84.88 海绵组织病芒果
Mango with spongy tissue disease94.90 77.40 85.26 空心病芒果 Mango with hollow disease 64.84 82.08 72.45 0.0005 无病症芒果 Healthy mango 96.02 94.47 95.24 90.22 海绵组织病芒果
Mango with spongy tissue disease93.71 85.19 89.25 空心病芒果 Mango with hollow disease 73.02 90.75 80.93 0.0002 无病症芒果 Healthy mango 97.22 96.77 97.00 94.15 海绵组织病芒果
Mango with spongy tissue disease96.70 91.43 93.99 空心病芒果 Mango with hollow disease 82.63 93.64 87.80 GoogLeNet 0.0008 无病症芒果 Healthy mango 95.55 94.01 94.77 90.73 海绵组织病芒果
Mango with spongy tissue disease95.40 86.23 90.59 空心病芒果 Mango with hollow disease 82.05 92.49 82.05 0.0005 无病症芒果 Healthy mango 98.12 93.61 97.21 95.36 海绵组织病芒果
Mango with spongy tissue disease97.32 94.29 95.78 空心病芒果 Mango with hollow disease 85.49 95..38 90.16 0.0002 无病症芒果 Healthy mango 99.77 99.08 99.42 98.79 海绵组织病芒果
Mango with spongy tissue disease98.96 98.96 98.96 空心病芒果 Mango with hollow disease 96.02 97.69 96.85 表 2 深度迁移学习模型性能参数(处理图像)
Table 2 Deep transfer learning model performance parameters (Processed image)
模型
Model学习速率
Learning rate图片类型
Image type精准率/%
Precision召回率/%
RecallF1分值/%
F1-score模型准确率/%
Accuracy of modelAlexNet 0.0008 无病症芒果 Healthy mango 100 96.48 98.21 95.39 海绵组织病坏损区域
Damaged area from spongy tissue disease96.16 97.92 97.03 空心病坏损区域
Damaged area from hollow disease86.46 95.95 90.96 海绵组织病芒果 Mango with spongy tissue disease 93.67 96.10 94.87 空心病芒果 Mango with hollow disease 96.71 84.97 90.46 0.0005 无病症芒果 Healthy mango 97.42 97.42 98.57 97.40 海绵组织病坏损区域
Damaged area from spongy tissue disease98.44 98.44 98.44 空心病坏损区域
Damaged area from hollow disease100 100 95.58 海绵组织病芒果 Mango with spongy tissue disease 98.18 98.18 96.92 空心病芒果 Mango with hollow disease 90.75 90.75 95.15 0.0002 无病症芒果 Healthy mango 100 100 100 100 海绵组织病坏损区域
Damaged area from spongy tissue disease100 100 100 空心病坏损区域
Damaged area from hollow disease100 100 100 海绵组织病芒果 Mango with spongy tissue disease 100 100 100 空心病芒果 Mango with hollow disease 100 100 100 GoogLeNet 0.0008 无病症芒果 Healthy mango 97.93 99.77 98.84 98.05 海绵组织病坏损区域
Damaged area from spongy tissue disease99.21 98.70 98.96 空心病坏损区域
Damaged area from hollow disease93.51 100 96.63 海绵组织病芒果 Mango with spongy tissue disease 98.42 96.88 97.64 空心病芒果 Mango with hollow disease 100 93.06 96.41 0.0005 无病症芒果 Healthy mango 100 100 100 100 海绵组织病坏损区域
Damaged area from spongy tissue disease100 100 100 空心病坏损区域
Damaged area from hollow disease100 100 100 海绵组织病芒果 Mango with spongy tissue disease 100 100 100 空心病芒果 Mango with hollow disease 100 100 100 0.0002 无病症芒果 Healthy mango 100 100 100 100 海绵组织病坏损区域
Damaged area from spongy tissue disease100 100 100 空心病坏损区域
Damaged area from hollow disease100 100 100 海绵组织病芒果 Mango with spongy tissue disease 100 100 100 空心病芒果 Mango with hollow disease 100 100 100 -
[1] 曹霞, 周学成, 范品良. 基于近红外漫反射光谱技术的芒果糖度无损检测方法研究[J]. 农机化研究, 2013(1): 177-180. [2] 郭辉. 基于机器视觉的蜜柚品质检测方法研究[D]. 北京: 中国农业大学, 2015. [3] 黄滔滔, 孙腾, 张京平. 基于CT图像的苹果内部品质无损检测[J]. 浙江大学学报(农业与生命科学版), 2013, 39(1): 92-97. [4] 曹霞. 核桃果实内部品质的无损检测技术研究[D]. 广州: 华南农业大学, 2013. [5] 孙腾. CT技术及图像变换对苹果内部品质的无损检测模型研究[D]. 杭州: 浙江大学, 2013. [6] 郭文川, 孔繁荣, 王转卫, 等. 梨生长发育后期介电特性、生理特性和内部品质的关系[J]. 现代食品科技, 2015, 31(11): 56-61. [7] 吴迪, 杨万能, 牛智有, 等. 小麦分蘖形态学特征X射线−CT无损检测[J]. 农业工程学报, 2017, 33(14): 196-201. [8] 王转卫, 赵春江, 商亮, 等. 基于介电频谱技术的甜瓜品种无损检测[J]. 农业工程学报, 2017, 33(9): 290-295. [9] 张京平, 彭争, 汪剑. 苹果水分与CT值相关性的研究[J]. 农业工程学报, 2003, 19(3): 180-182. [10] 余心杰. 农产品无损检测中的模式识别问题研究[D]. 杭州: 浙江大学, 2018. [11] NASIRI A, TAHERI-GARAVAND A , ZHANG Y D. Image-based deep learning automated sorting of date fruit[J]. Postharvest Biology and Technology, 2019, 153: 133-141. doi: 10.1016/j.postharvbio.2019.04.003
[12] WAN S H, GOUDOS S. Faster R-CNN for multi-class fruit detection using a robotic vision system[J]. Computer Networks, 2020(168): 107036. doi: 10.1016/j.comnet.2019.107036.
[13] OSAKO Y, YAMANE H, LIN S Y, et al. Cultivar discrimination of litchi fruit images using deep learning[J]. Scientia Horticulturae, 2020, 269: 109360. doi: 10.1016/j.scienta.2020.109360.
[14] OQUAB M, BOTTOU L, LAPTEV I, et al. Learning and transferring mid-level image representations using convolutional neural networks[C]//IEEE Conference on Computer Vision and Pattern Recognition, Columbus: IEEE, 2014: 1122-1129.
[15] GE W, YU Y. Borrowing treasures from the wealthy: Deep transfer learning through selective joint fine-tuning[C]//IEEE Conference on Computer Vision and Pattern Recognition, Hawaii: IEEE, 2017: 2102-2113.
[16] PAN S, YANG Q. A survey on transfer learning[J]. IEEE Transactions on Knowledge and Data Engineering, 2010, 22(10): 1345-1359. doi: 10.1109/TKDE.2009.191
[17] SUN C, SHRIVASTAVA A, SINGH S, et al. Revisiting unreasonable effectiveness of data in deep learning era[C]//IEEE. IEEE International Conference on Computer Vision, Venice: IEEE, 2017: 843-852.
[18] ROJAS-CARULLA M, SCHOLKOPF B, TURNER R, et al. Invariant models for causal transfer learning[J]. Journal of Machine Learning Research, 2018, 19(36): 1-34.
[19] CORTES C, MOHRI M, MEDINA A M. Adaptation based on generalized discrepancy[J]. Journal of Machine Learning Research, 2019, 20(1): 1-30.
[20] MOHRI M, ROSTAMIZADEH A, TALWALKAR A. Foundations of Machine Learning[M]. Cambridge: MIT Press, 2012.
[21] 刘慧力, 贾洪雷, 王刚, 等. 基于深度学习与图像处理的玉米茎秆识别方法与试验[J]. 农业机械学报, 2020, 51(4): 207-215. [22] 马金林, 魏萌, 马自萍. 基于深度迁移学习的肺结节分割方法[J]. 计算机应用, 2020(7): 2117-2125. [23] 罗琪. 基于深度学习的水果图像识别系统[J]. 农业工程, 2018, 8(10): 31-34. [24] 岑冠军, 华俊达, 高燕. 基于深度学习芒果图像在线识别与计数方法研究[J]. 热带作物学报, 2020, 41(3): 425-432. [25] 廉小亲, 成开元, 安飒, 等. 基于深度学习和迁移学习的水果图像分类[J]. 测控技术, 2019, 38(6): 15-18. [26] SMIRNOV E A, TIMOSHENKO D M, ANDRIANOV S N. Comparison of regularization methods for ImageNet classification with deep convolutional neural networks[J]. AASRI Procedia, 2014, 6: 89-94. doi: 10.1016/j.aasri.2014.05.013
[27] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks[J]. Advances in Neural Information Processing Systems, 2012, 1: 1097-1105.
[28] WAN L, ZEILER M, ZHANG S, et al. Regularization of neural networks using DropConnect[C]//ICML. Proceedings of The 30th International Conference on Machine Learning, Atlanta: ICML, 2013.
[29] 李一海. 植物根系三维矢量模型的构建与分析方法[D]. 广州: 华南农业大学, 2016. [30] 陈郁淦, 周学成, 乐凯. 根系CT序列图像区域生长分割的新方法[J]. 计算机工程与应用, 2011, 47(28): 158-161. -
期刊类型引用(6)
1. 柯愉. 基于迁移学习的正温度系数热敏电阻表面损伤分类算法研究. 计算机与数字工程. 2024(06): 1703-1707 . 百度学术
2. 刘小刚,李荣梅,范诚,杨启良,赵璐. 基于语义分割的芒果表皮缺陷识别. 华南农业大学学报. 2023(01): 134-141 . 本站查看
3. 罗旭斌,刘波. 结合集成学习与迁移学习的标签比例学习方法. 计算机应用研究. 2023(05): 1422-1427 . 百度学术
4. 叶永雪,马鸿雁. 基于人体关键点与迁移学习的口罩佩戴检测研究. 计算机仿真. 2023(06): 234-239 . 百度学术
5. 周泽聿,王昊,张小琴,范涛,任秋彤. 基于Xception-TD的中华传统刺绣分类模型构建. 数据分析与知识发现. 2022(Z1): 338-347 . 百度学术
6. 王建冲,高军伟,张炳星,刘佳浩. 基于机器视觉的SOP芯片引脚缺陷检测系统. 工业仪表与自动化装置. 2022(05): 32-37 . 百度学术
其他类型引用(11)