果实病害识别(以下简称果害识别)是果实自动采摘与分拣[1]的技术基础, 对实现农业自动化具有重要意义。精确的果害识别不仅能实现果园针对性采摘[2]及装箱, 而且还可以统计各种病害的出现次数, 在预测产量[3]及果害防治[4]方面提供数据指导。传统的果害识别主要通过手工特征提取法与高光谱图像法2种方式实现。例如文献[5]利用图像颜色、纹理与形状特征来对苹果果害进行分类, 取得了较为满意的效果, 但是特征的提取过程较为耗时, 且十分依赖专家经验。文献[6]利用果害的光谱图来识别苹果病害, 准确率达到95.25%, 但存在高光谱图像获取成本过高的问题[7]。
文献[8]提出的深度残差网络(Deep Residual Network, DRN)是包含多个残差结构的神经网络, 可以用来识别果害[9-11]。DRN将整张图像作为输入, 在网络内部通过多层卷积筛选, 从而获取出最优特征, 避免了人为因素的干扰[12], 并且成本低廉, 能够大规模使用[13]。传统的DRN参数量较多, 在果害分类问题中存在冗余、训练开销大的问题。同时, 由于不同病害在同一果实上的表现具有一定相似性[14], 容易造成识别有误。针对上述问题, 本文对传统的DRN结构进行改进, 并在传统的损失函数中添加类间相似惩罚项来提高相似特征病害的识别率。实验对苹果中常见的斑点病、锈病和腐病3种病害[15]进行分类, 并用该分类结果来验证本文方法的准确性。
1 苹果病害图像收集为获得与苹果相关的果害图像, 实验对陕西省长武县果树病理研究场地的样本进行收集, 并分别在不同角度、不同距离以及不同时间段使用相机进行图像采集, 从而保证了样本的多样性。同时, 对于相对较少的病害数据, 为避免不均衡样本造成的模型稳定性差的问题, 实验从网络上收集与之对应的病害图像对其样本模型进行扩充。
考虑到果实果害的平移旋转不变性及可缩放性, 实验对已有数据进行进一步扩充, 包括水平镜像、±25°角度旋转、随机缩放等方式, 总共得到2 000张样本集(正常苹果、斑点病、锈病和腐病各500张), 并按照7:3的比例随机划分为训练集与测试集。
2 神经网络构建 2.1 网络主体残差网络(Residual Network, ResNet)模型引入了残差结构, 能够解决深层次网络下梯度消失以及网络难以训练的问题。残差结构如图 1所示。
![]() |
Download:
|
图 1 残差结构 Fig. 1 Residual structure |
残差块通过引入x的恒等映射连接, 在网络层数过深时, 通过将Y=F(x)+x中F(x)拟合为0来实现网络恒等映射, 解决网络退化问题。同时, 由于x的引入使得反向传播过程中导数值总大于1, 有效防止梯度消失。但由于传统的ResNet面向上千种分类, 参数量大, 存在冗余参数, 降低训练与识别速度[16-17]。考虑到果树实际生长环境中出现的病害种类不会超过两位数, 本文设计出一种改进的残差网络(sResNet)模型, 其结构如图 2所示。
![]() |
Download:
|
图 2 sResNet网络结构 Fig. 2 sResNet network structure |
图 2(a)为残差块具体结构, 由3个卷积层组成, 每层间使用ReLu作为激活函数, 输入经过短路连接后通过最大值池化层输出。图 2(b)为sResNet的主体, 由3个包含128个卷积核、3个包含256个卷积核、5个包含512个卷积核、3个包含1 024个卷积核的残差块及2层全连接层组成, 模型输出维度为4, 对应苹果的4种状态(3种病害状态与1种健康状态)。
表 1列出了sResNet与原始ResNet50网络的卷积层主要结构及其参数量。其中, C为卷积层(Convolution), sResNet的参数量约为传统ResNet50的75%。
![]() |
下载CSV 表 1 2种网络卷积组成对比 Table 1 Comparison of the composition of two network convolution |
在sResNet模型中, 以Sigmoid函数作为输出前的激活函数, 并采用二元交叉熵(Binary Cross-Entropy, BCE)作为损失函数来计算预测值与真实值之间的差值。其中, Sigmoid函数和BCE的表达式为:
$ {{\rm{ Sigmoid }}(x) = \frac{1}{{1 + {{\rm{e}}^{ - x}}}}} $ | (1) |
$ {{\mathop{\rm BCE}\nolimits} {{(x)}_i} = - {y_l}\ln \left[ {{f_i}(x)} \right] - (1 - y)\ln \left[ { - {f_i}(x)} \right]} $ | (2) |
其中, x为输入样本, i为类别个数4, 即每个类别都会有一个BCE值, yi为第i个类别的真实标签, fi(x)为第i个类别的模型输出值, 对应式(1)的输出。
为加速训练过程, 实验采用了批量法, 最终损失函数Loss的表达式为:
$ {\rm{ Loss }} = \frac{1}{N}\sum\limits_{b = 1}^N {\rm{B}} {\rm{CE}}\left( {{x^{(b)}}} \right) $ | (3) |
其中, N为批量大小, 即最终损失函数为一个批量的损失函数相加和再求其平均值。
在式(3)的损失函数中, 若样本实际标签为真, 即yi值为1, 则BCE中第2项为0, BCE可简化为:
$ {\rm{BCE}}{(x)_i} = - {y_l}\ln \left[ {{f_i}(x)} \right] $ | (4) |
若预测值也为真, 即式(1)输出趋近于1, 由对数函数性质可知式(4)值接近0, 产生的损失值几乎可以忽略; 若预测值为假, 式(1)输出趋近于0, 此时式(4)的输出呈单调增大的趋势, 产生的损失值也较大。同理可推知预测值为假时, 损失值的变化情况相反。该损失函数仅可以判断预测类别与实际类别是否相符, 无法保证不同类别之间的空间差异。而果害往往存在相似特征, 此时若继续使用原始损失函数, 模型的预测效果会降低。为此, 提出一种改进的损失函数, 它在原有损失函数基础上, 加入类间相似惩罚项, 具体如下所示:
$ P = \lambda \exp \left( {\frac{1}{{\delta + \sum\limits_{m,n = 1}^c {\left| {{A_m} - {A_n}} \right|} }}} \right) $ | (5) |
其中, λ为类间相似惩罚项在损失函数中占的比重, 是一个超参数, δ是较小的正实数(防止分母为0), C为类别数, A为该类主要特征空间位置, 计算方法如下:
$ A = \frac{1}{N}\sum\limits_{b = 1}^N {{x^b}} $ | (6) |
其中, x为每个样本经过卷积层提取出的主要特征。对于同一类别的不同样本, 其主要特征具有相似性, 则对应的x在空间中的分布位置可以看作是在一个集合中, 模型在识别样本所属类别时是依靠计算样本与该类主要特征之间的距离来判别[18]。若只关注同类样本正负之间的距离差异, 而忽略不同类样本之间的距离大小, 则对于一些具有相似特征的不同类样本, 它们在空间中的分布会接近两集合的分界线, 从而使得模型难以准确判断其所属类别, 降低模型识别率[19]。
改进后的损失函数表示为:
$ {\rm{Los}}{{\rm{s}}_{{\rm{final}}}}{\rm{ = Loss}} + P $ | (7) |
由式(6)可知, 式(5)中的A值是通过对经过卷积层后提取出的样本特征进行求平均值得到的, 可以看作该类样本的主要特征在空间中的位置, 而Am-An则为不同类主要特征的差值距离, 通过增加Am-An的大小即可扩大不同类的主要特征在空间中的间距, 从而减少模型在一些特征较为相似样本上的错误识别, 提升模型识别准确率[20]。
图 3对损失函数改进前后效果进行了可视化。可以看出, 对于样本C, 虽然属于B类别, 但其具有A类别部分特征, 若采用原始损失函数, 则它在空间中的位置会靠近两类别分界线, 从而难以分类; 而在图 3(b)中, 采用了改进后的损失函数后, 扩大了A类与B类的间距, 这使得样本C虽具有A类部分特征, 但由于与B类的距离未变化, 从而远离了A类, 使模型更加容易区分。
![]() |
Download:
|
图 3 改进前后的损失函数对比 Fig. 3 Comparison of loss functions before and after improvement |
研究用的实验图片统一输入尺寸为224×224, 并在输入过程中加入水平翻转、小角度旋转来扩充训练集, 模型使用Adam优化器, 初始学习率设定为0.001, 学习率衰减值设定为0.000 01, 批量大小设定为32, 迭代次数为200次。
研究采取的硬件平台为Intel I9-9900K、Nvidia RTX2080TI、32 GB内存。软件平台为Windows 10 64 bit操作系统、Tensorflow-GPU 1.13.0、CUDA Toolkit 10、CUDNN 7.6。
3.2 结果分析P-R曲线(Precision-Recall Curve)反映了模型的查准性与查全性。精准率是指实际为真的样本占预测为真的比例, 召回率是指预测为真的样本占所有真样本的比例。通常来说, 曲线越靠上代表模型性能越好, 利用sResNet模型及改进损失函数绘制出的P-R曲线如图 4所示。
![]() |
Download:
|
图 4 sResNet模型的P-R曲线 Fig. 4 P-R curve of the sResNet model |
为体现模型及算法先进性, 实验设置了sResNet+改进Loss、sResNet+原Loss、ResNet50+改进Loss和ResNet50+原Loss 4组对比实验, 并采用精准率(Precision)、召回率(Recall)、F1值3个指标来评价模型的优劣性。3种指标计算方法如下:
$ {{\rm{ Precision }} = \frac{{{\rm{TP}}}}{{{\rm{TP}} + {\rm{FP}}}}} $ | (8) |
$ {{\rm{ Recall }} = \frac{{{\rm{TP}}}}{{{\rm{TP}} + {\rm{FN}}}}} $ | (9) |
$ {{\rm{F}}1 = \frac{{2 \times {\rm{ Precision }} \times {\rm{ Recall }}}}{{{\rm{ Precision }} + {\rm{ Recall }}}}} $ | (10) |
其中, TP代表真阳性样本, FP代表假阳性样本, FN代表假阴性样本, 精准率和召回率的值越接近于1则代表本文模型的性能越好。
由于精准率与召回率是一对相互矛盾的衡量, 且都有各自的局限性, 单一使用其中一个来评价模型的优劣并不合理, 综合考虑两者才能客观的对模型进行评价, 因此引入了F1值评价指标。从式(10)可以看出, F1值综合考虑了精准率与召回率, 同样, 该值越大则代表本文模型性能越好。
表 2列出了4种不同模型的对比结果。由表 2可以看出, 使用原损失函数的sResNet与ResNet50模型的精准率与召回率相差不大, 两者的F1值也很接近, 说明相比较ResNet50模型, sResNet模型在网络更加轻量化的同时, 并未损失精度。在采用了改进损失函数后, sResNet与ResNet50模型的网络性能均有所提升。说明在使用了改进损失函数后, 网络在训练时不仅会考虑正负样本之间的差异, 也会考虑不同样本之间的差异, 并在不断的迭代中, 通过原损失函数来减小类内距离、通过加入的类间相似惩罚项来扩大类间距离, 使得模型具有更好的精准率与召回率, 从而提高模型性能。这也说明使用原损失函数训练时, 会导致一些具有相似特征的苹果病害由于类间距离过小而被错误识别。
![]() |
下载CSV 表 2 4组对比实验在苹果病害上的性能对比 Table 2 Performance comparison of four groups of comparative experiments on apple diseases |
实验采用文献[3]中的4种方法与本文方法对苹果斑点病和腐烂病进行分类, 结果如表 3所示。从表 3可以看出, 在苹果斑点病识别上, 相较于文献[3]中的4种方法, 本文方法对苹果斑点病的分类准确率更高; 在苹果腐烂病识别上, 虽然本文方法与文献[3]中的4种方法对其分类准确率相接近, 但手动提取特征对不同果害需要重新提取, 不具有广泛适用性。因此, 说明了本文方法对苹果病害分类更有优势。
![]() |
下载CSV 表 3 本文方法与其他方法的分类效果对比 Table 3 Comparison of the classification effect between the proposed method and other methods |
表 4列出了文献[6]中的高光谱图像法与本文方法对苹果病害的分类效果。由此可知, 相对于高光谱图像法在苹果病害上的分类效果, 虽然本文方法没有明显优势, 但是高光谱仪器成本昂贵, 大规模推广不现实, 难以实际使用。
![]() |
下载CSV 表 4 本文方法与高光谱图像法的分类效果对比 Table 4 Comparison of classification effect between the proposed method and hyperspectral image method |
通过以上对比可以看出, 本文方法能够有效提升果害分类准确率, 且相比手工特征提取及高光谱仪具有一定优越性。
4 结束语针对传统残差网络和损失函数在果害分类问题上的不足, 本文提出一种基于改进残差网络sResNet及损失函数的果害分类方法。该方法通过降低卷积层数与卷积核数来精简网络参数, 再利用类间相似惩罚项使得模型能在训练中尽可能增大不同类之间距离。实验结果表明, 相比较ResNet50, sResNet在不损失精度的情况下减小了模型计算量, 而改进损失函数能提高病害识别准确率, 证明了该方法的有效性。但本文方法对样本的数量以及质量要求均较高, 针对一些样本数量较少的病害, 如何提高识别效果是下一步的研究方向。
[1] |
XIAO Ying, GAO Wanli, ZHANG Ganghong, et al. Compressed sensing based apple image measurement matrix selection[J]. International Journal of Distributed Sensor Networks, 2015, 11(7): 1-7. |
[2] |
WANG Dandan, SONG Huaibo, HE Dongjian. Research advance on vision system of apple picking robot[J]. Transactions of the Chinese Society of Agricultural Engineering, 2017, 33(10): 59-69. (in Chinese) 王丹丹, 宋怀波, 何东健. 苹果采摘机器人视觉系统研究进展[J]. 农业工程学报, 2017, 33(10): 59-69. |
[3] |
BARGOTI S, UNDERWOOD J P. Image segmentation for fruit detection and yield estimation in apple orchards[J]. Journal of Field Robotics, 2017, 34(6): 1039-1060. DOI:10.1002/rob.21699 |
[4] |
RAHNEMOONFAR M, SHEPPARD C. Deep count:fruit counting based on deep simulated learning[J]. Sensors, 2017, 17(4): 905. |
[5] |
DUBEY S R, JALAL A S. Apple disease classification using color, texture and shape features from images[J]. Signal, Image and Video Processing, 2016, 10(5): 819-826. DOI:10.1007/s11760-015-0821-1 |
[6] |
LIU Sijia, TIAN Youwen, FENG Di, et al. Nondestructive detection method of hyperspectral imaging for apple disease[J]. Journal of Shenyang Agricultural University, 2016, 47(5): 634-640. (in Chinese) 刘思伽, 田有文, 冯迪, 等. 基于高光谱成像的苹果病害无损检测方法[J]. 沈阳农业大学学报, 2016, 47(5): 634-640. |
[7] |
TELMO A, HRUKA J, PADUA L, et al. Hyperspectral imaging:a review on UAV-based sensors, data processing and applications for agriculture and forestry[J]. Remote Sensing, 2017, 9(11): 1110-1121. DOI:10.3390/rs9111110 |
[8] |
HE K M, ZHANG X Y, REN S Q, et al.Deep residual learning for image recognition[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C., USA: IEEE Press, 2016: 770-778.
|
[9] |
SUN Jun, TAN Wenjun, MAO Hanping, et al. Recognition of multiple plant leaf diseases based on improved convolutional neural network[J]. Transactions of the Chinese Society of Agricultural Engineering, 2017, 33(19): 209-215. (in Chinese) 孙俊, 谭文军, 毛罕平, 等. 基于改进卷积神经网络的多种植物叶片病害识别[J]. 农业工程学报, 2017, 33(19): 209-215. |
[10] |
YANG Guoguo, BAO Yidan, LIU Ziyi. Localization and recognition of pests in tea plantation based on image saliency analysis and convolutional neural network[J]. Transactions of the Chinese Society of Agricultural Engineering, 2017, 33(6): 156-162. (in Chinese) 杨国国, 鲍一丹, 刘子毅. 基于图像显著性分析与卷积神经网络的茶园害虫定位与识别[J]. 农业工程学报, 2017, 33(6): 156-162. |
[11] |
WANG Xiping, HUANG Ting, TAN Wenxue, et al. Apple lesion image recognition method based on convolutional network[J]. Computer Engineering, 2015, 41(12): 293-298. (in Chinese) 王细萍, 黄婷, 谭文学, 等. 基于卷积网络的苹果病变图像识别方法[J]. 计算机工程, 2015, 41(12): 293-298. |
[12] |
ZHANG Shun, GONG Yihong, WANG Jinjun. The development of deep convolution neural network and its applications on computer vision[J]. Chinese Journal of Computers, 2019, 42(3): 453-482. (in Chinese) 张顺, 龚怡宏, 王进军. 深度卷积神经网络的发展及其在计算机视觉领域的应用[J]. 计算机学报, 2019, 42(3): 453-482. |
[13] |
CHANG Liang, DENG Xiaoming, ZHOU Mingquan, et al. Convolutional neural networks in image understanding[J]. Acta Automatica Sinica, 2016, 42(9): 1300-1312. (in Chinese) 常亮, 邓小明, 周明全, 等. 图像理解中的卷积神经网络[J]. 自动化学报, 2016, 42(9): 1300-1312. |
[14] |
ELMASRY G, WANG N, VIGNEAULT C. Detecting chilling injury in red delicious apple using hyperspectral imaging and neural networks[J]. Postharvest Biology and Technology, 2009, 52(1): 1-8. DOI:10.1016/j.postharvbio.2008.11.008 |
[15] |
PENG Jiang, CHEN Yuehan, LIU Bin, et al. Real-time detection of apple leaf diseases using deep learning approach based on improved convolutional neural networks[J]. IEEE Access, 2019, 7(99): 59069-59080. |
[16] |
ZHENG Yan, WANG Ronggui, YANG Juan, et al. Principal characteristic networks for few-shot learning[J]. Journal of Visual Communication and Image Representation, 2019, 59: 563-573. DOI:10.1016/j.jvcir.2019.02.006 |
[17] |
MAO Yonghua, DAI Zhaosheng, GUI Xiaolin. An improved 5-layers depth learning structure and optimization method[J]. Computer Engineering, 2018, 44(6): 147-150. (in Chinese) 毛勇华, 代兆胜, 桂小林. 一种改进的5层深度学习结构与优化方法[J]. 计算机工程, 2018, 44(6): 147-150. |
[18] |
QI Ce, SU Fei.Contrastive-center loss for deep neural networks[C]//Proceedings of 2017 IEEE International Conference on Image Processing.Washington D.C., USA: IEEE Press, 2017: 2851-2855.
|
[19] |
JIN Xiaobo, XIE Guosen, HUANG Kaizhu. Discriminant zero-shot learning with center loss[J]. Cognitive Computation, 2019, 11(4): 503-512. DOI:10.1007/s12559-019-09629-z |
[20] |
JIANG Huajie, WANG Ruiping, SHAN Shiguang, et al.Learning discriminative latent attributes for zero-shot classification[C]//Proceedings of 2017 IEEE International Conference on Computer Vision.Washington D.C., USA: IEEE Press, 2017: 4233-4242.
|