卷积神经网络下的相似月季识别
2021-08-13王雪琰
王雪琰,张 冲,张 立
卷积神经网络下的相似月季识别
王雪琰,张 冲,张 立*
(北京林业大学理学院,北京 100083)
目前我国关于花卉分类识别技术已较为成熟,但由于类间相似性较高,花卉特征较难提取,对于同种不同类的相似花卉仍存在识别率较低的问题,因此提出使用卷积神经网络(CNN)中4类深度学习网络SqueezeNet、ResNet、InceptionV3及DenseNet的训练模型,搭建了对4种相似月季进行识别的花朵识别客户端,并对识别结果进行比较,筛选出最优模型,同时运用GPU对训练过程以及识别过程进行加速。对实验过程产生的数据进行统计对比后得出Inception V3网络训练后得到的模型较其余3种网络而言识别率最高且识别速度较快,可以作为最优模型。将搭建的花朵识别系统应用于花卉分类工作中,在节省人工的同时也能够加速园艺自动化的进程。
月季;SqueezeNet;ResNet;InceptionV3;DenseNet;深度学习
月季(Jacq)属蔷薇科(),其作为我国著名原产花卉,具备花期长、抗性好、观赏性强的优点,是最常见的观赏花卉之一[1]。自20世纪杂交技术产生以来,我国诞生并引进许多优秀的月季品种,成为世界上种植月季最多的国家。现阶段对月季的分类达到十余种,其中比较常见的分类有:丰花月季、藤本月季、切花月季和灌木月季等[2]。对月季进行区分的方法也各不相同,月季依照颜色分类可分为红、黄、粉、白、橙、复色等;依照花瓣形状分类又可分为单瓣、重瓣、半重瓣等。伴随现代园艺技术的迅速发展与大众对花卉观赏需求的提升,未来拥有更多新的花卉品种已成为趋势。在不具备专业知识前提下对同种不同类的花朵品种进行区分的手段,不仅有助于扩展大众的知识需求,在数据化时代还可为园艺自动化进程提供帮助。传统模式下的花朵识别对花朵颜色、花瓣结构、花朵香型、植株形态等特征进行区分,但凭借人工鉴别花卉不仅需要专业知识的积累,识别率也相对较低[4]。除人工识别手段之外,机器视觉作为近年农林信息化建设的重要工具,在园林产业中也举足轻重。经典的机器视觉算法如SIFT、SVM、K-means、协方差矩阵等都大都运用数学模型对所检测物体进行形状比对与纹理识别[5]。卷积神经网络作为机器视觉下的新兴算法,拥有传统算法所不具备的生物性。对于月季花的花朵识别与对其他花卉识别不同,其花瓣大多重叠,颜色繁多。传统机器视觉算法下对花朵纹理等特征的提取误差较大,若扩大样本量重复训练又十分耗时[6]。卷积神经网络在样本充足的情况下能够达到的精确度比经典机器视觉算法的效果高出10%左右,而目前所具备花卉识别功能的APP如形色识花、花眼、花伴侣等仅能识别花朵大类,无法对同种不同类的花卉进行区分[7]。因此,本研究选择卷积神经网络对自由精神、亚伯拉罕、美咲和真宙4种月季进行识别,以期为识别不同品种的月季及其他品种的花卉提供借鉴。
1 材料与方法
1.1 4种相似月季的选择
作者依据月季花朵颜色、大小和花型3种特征,选取了4种相似的月季进行比对(图1)。
自由精神月季:该品种由英国著名园艺家Austen培育,属于灌木兼藤本月季,花期长,花朵直径中等,呈淡粉色,为重瓣花型。
亚伯拉罕·达比月季:该品种与自由精神月季同为Austen培育的月季品种,属于大藤本月季,四季开花,花朵直径较大,多呈杏黄或粉色,为重瓣花型。
真宙月季:该品种由日本园艺家吉池真藏培育,属于灌木藤本月季,多季重复开花,花朵直径中等,呈粉色,为重瓣花型。
美咲月季:该品种由日本园艺家国枝启司培育,属于丰花月季,多季重复开花,花朵直径中等,呈白粉色,为重瓣花型[3]。
1.2 卷积神经网络
卷积神经网络(CNN)的识别建立在对大量数据的训练上,数据量在一定范围内越多,该网络对特征的把握就越为准确。而它对图像识别的优势在于它的局部权值共享,使它拥有与其他网络所不具备的“生物性”。
图2显示了卷积神经网络的基本结构,在第一层也即输入层中将图像进行预处理,随即将处理过的图像传递到卷积层,它作为CNN最重要的一层,内部经过滤波和滑动减少参数数量,从而提高计算速率,并使用激励函数对卷积后得到的结果赋予不同权重。下面的池化层在不影响图像重要特征情况下,通过缩小图像减少需要计算的参数数量,并将无用信息减少,减少过拟合发生的概率。全连接层会在图像的积层之间将所有神经元都具有权重进行连接,获得分类模型从而得到最后的结果[8-9],最后结果由输出层输出。
图1 不同品种月季图片
Figure 1 Images of different varieties of Chinese roses
图2 卷积神经网络结构图
Figure 2 Structure diagram of convolutional neural network
CNN自诞生以来,经过众多学者搭建,逐渐向精度更高、时间更快的深度学习网络发展。2012年Kizhevsky等人提出的AlexNet颠覆了图像识别领域,后人在其思想基础上构建了ResNet、InceptionV3、SqueezeNet和DenseNet等各具特色的卷积神经网络[10]。
1.2.1 ResNet 该网络拥有152层深度的网络结构,在满足深度的前提下引入捷径(Shortcut connection)和残差支路组成其构成要素(Buliding block),再引入1×1大小的卷积核组成瓶颈层(Bottleneck layer)。不仅在处理梯度消失问题上成果显著,对于提高训练速度、降低训练误差也有很强的能力[11]。
1.2.2 InceptionV3 Inception架构中的主要思想是将图像的特征分解,将大的特征分解成小部分的矩阵特征的组合,将全局的特征转化为局部的特征。在该模型中采用了1×1、3×3和5×5共3类不同大小的卷积核,方便在图像上进行对齐,并使用了模块化结构。Inception module 将网络大致分为9个模块,共有22层,便于修改和增加层。在网络最后使用平均池化层来代替全连接层,性能更优,引入Softmax回归模型,可以有效解决较大调参个数过多的问题[12]。
1.2.3 SqueezeNet 该网络通过添加Fire module使用1×1与3×3的卷积核(filter)进行组合,与仅使用3×3卷积的AlexNet相比大大减少了参量。ImageNet中对其进行测试与AlexNet网络拥有相当的精度,但参数量却仅有后者的20%[13]。
1.2.4 DenseNet 该网络是在ResNet的基础上建立的层与层之间享有直接而密切联系的优化网络,其中所有的特征图均可做到保持尺寸一致,也可以达到较好的防过拟合能力与较强的泛化能力[14]。
1.3 基于卷积神经网络的月季识别系统
本研究所实现的月季花朵图片识别在Intel至强E5-2630V3处理器、Intel C612芯片组、标配三星250 G固态硬盘、WIN10系统上实现,所使用的显卡型号为GTX1070,CPU为8核16线程,软件为Pycharm2019、Python3.7、Matlab7.0、CUDA10.0和cuDNN7.3.1,在Tensorflow框架中运行。作者构建了亚伯拉罕、自由精神两种欧洲月季与真宙、美咲两种日系月季共4种花卉的数据库,其数据均为在自然条件下采集的盛花期图像,但由于时间、地点的限制,采集所得月季花图片有限。为避免识别时产生精度不高、误差较大的结果,本研究使用Python编写程序对数据库中图片分别通过裁剪、旋转、翻转的操作使之加倍。
操作时将模型ResNet、InceptionV3、SqueezeNet和DenseNet设置并对自定义模型进行训练后,即可使用Custom Image Prediction类对自定义模型执行图像预测。本研究中数据库中需要包含训练样本与测试样本,在数据库中4种月季各150张组成训练集,50张作为测试集,同时各准备50张作为验证集。训练模型之前对识别系统进行微调,其中Batch size作为每个Epoch选取的样本个数,适度增大可以在提高训练速度的同时提升模型精度,且其值为2的整数次幂时取得结果最佳。但Batch size值过大会导致内存爆炸,程序无法运行[15]。经多次试验,本研究将ResNet、InceptionV3、DenseNet和SqueezeNet的Batch size值均设置16,此时计算机均可正常运行且该值适度增大后各项数据无显著变化。进行训练时可以在控制台中得到以下内容:Epoch 1/N表示正在进行第N个目标的第1次训练,每行数字代表本实验中正在训练的批次数,最后得模型文件。在文件名中可以看到实验次数和模型的准确率。经过训练后,导出的模型包括一个h5文件和一个json文件,其中h5文件为训练后的模型,json文件为月季种类目录。为方便用户使用,本研究使用Android Studio3.4版本制作对应花朵识别APP,并在小米9手机平台测试,软件系统为安卓7.0(MIUI 10.2 稳定版),该应用包括模式选择和花朵识别两种选项。该APP主界面与识别界面如图3所示。
图3 月季识别APP主界面与识别界面
Figure 3 Rose recognition app main interface and identification interface
1.4 系统评价指标
在模型训练过程中每个Epoch中均出现Loss、acc与Val-loss 3种参数及对应数值。其中的Loss代表训练集的损失值,通过该数据可以直观地得到模型的训练误差也即总误差;acc代表模型训练时达到的精度;Val-loss代表验证集的损失值,该值反映了模型训练过程中有无出现过拟合现象[16]。为了检验本研究所得到的模型是否满足期望值,将根据训练集与测试集识别情况的混淆矩阵图作为判断依据,将其中识别为正确的正样本标记为TP(True positive),识别为错误的正样本标记为FP(False positive),识别为错误的负样本标记为FN(False negative),识别为正确的负样本标记为TN(True negative)[17],又分别列出式(1)(2)(3)得出准确率(Accuracy)、精确率(Precision)以及查全率(Recall),当以上数值越接近100%,则说明模型越好[18]。
2 结果与分析
2.1 模型训练
ResNet、InceptionV3、SqueezeNet和DenseNet4种卷积神经网络在自定义训练过程中的loss、val-loss以及acc的变化曲线如图4至图5所示。
(a) ResNet模型;(b) Inception V3模型;(c) SqueezeNet模型;(d) DenseNet模型。
Figure 4 Training curves of different models
图5 SqueezeNet模型参数随学习率变化曲线
Figure 5 Parameter change curve of SqueezeNet model with learning rate
由以上4组变化曲线看出InceptionV3网络在第74轮训练时就得到acc值为1.0的最优模型;ResNet与DenseNet两种网络分别在第83轮和第110轮训练后得到acc为0.974与0.995的最优模型。而SqueezeNet在150轮训练后模型Loss、Val-loss值均保持在1.38,acc值保持在0.25。为分析以上3个值不变是否由于该网络不具备对相似月季的识别功能,在图5中引入学习率(Learning rate),在Batch size为16的前提下,取其范围为0.001~1设计对比试验其大小与学习速度的快慢及最优解的获得有关。
经设计实验,调整学习率后SqueezeNet模型训练过程中Val-loss、acc和Loss值均未发生变化(图5)。考虑到SqueezeNet为压缩型网络,对卷积、通道数目都进行一定程度的缩减,对特征相差较大的图像仍保留特征提取的功能。但对相似度较高的花卉尤其是相似月季,该网络拥有的参数数量并不具备特征提取的条件。
训练集自由精神真宙美咲亚伯拉罕·达比 自由精神150(25%)0(0%)0(0%)0(0%) 真宙0(0%)149(24.9%)1(0.1%)0(0%) 美咲0(0%)0(0%)150(25%)0(0%) 亚伯拉罕·达比0(0%)0(0%)0(0%)150(25%) 测试集自由精神真宙美咲亚伯拉罕·达比 自由精神50(25%)0(0%)0(0%)0(0%) 真宙0(0%)50(25%)0(0%)0(0%) 美咲0(0%)0(0%)50(25%)0(0%) 亚伯拉罕·达比0(0%)0(0%)0(0%)50(25%)
Figure 6 Confusion matrix of ResNet model for database image recognition
训练集自由精神真宙美咲亚伯拉罕·达比 自由精神150(25%)0(0%)0(0%)0(0%) 真宙0(0%)150(25%)0(0%)0(0%) 美咲0(0%)0(0%)150(25%)0(0%) 亚伯拉罕·达比0(0%)0(0%)0(0%)150(25%) 测试集自由精神真宙美咲亚伯拉罕·达比 自由精神50(25%)0(0%)0(0%)0(0%) 真宙0(0%)50(25%)0(0%)0(0%) 美咲0(0%)0(0%)50(25%)0(0%) 亚伯拉罕·达比0(0%)0(0%)0(0%)50(25%)
Figure 7 Confusion matrix of InceptionV3 model for database image recognition
2.2 不同网络下的月季识别对比
本研究对数据库内图片展开测试,默认输出识别概率最大的花朵作为最终识别结果,最后对上述4种卷积神经网络模型面向所构建的数据库中图像的识别情况进行统计。为展示4种卷积神经网络对月季花朵图像的区分结果,图6至图9列出了ResNet、InceptionV3、SqueezeNet和DenseNet 4种卷积神经网络对自由精神、真宙、美咲和亚伯拉罕4种月季识别情况的混淆矩阵,该矩阵能够显示各网络误差的大小。
训练集自由精神真宙美咲亚伯拉罕·达比 自由精神150(25%)0(0%)0(0%)0(0%) 真宙150(25%)0(0%)0(0%)0(0%) 美咲150(25%)0(0%)0(0%)0(0%) 亚伯拉罕·达比150(25%)0(0%)0(0%)0(0%) 测试集自由精神真宙美咲亚伯拉罕·达比 自由精神50(25%)0(0%)0(0%)0(0%) 真宙50(25%)0(0%)0(0%)0(0%) 美咲50(25%)0(0%)0(0%)0(0%) 亚伯拉罕·达比50(25%)0(0%)0(0%)0(0%)
Figure 8 Confusion matrix of SqueezeNet model for database image recognition
训练集自由精神真宙美咲亚伯拉罕·达比 自由精神118(19.7%)1(0.2%)20(3.3%)11(1.8%) 真宙0(0%)144(24%)0(0%)6(1%) 美咲0(0%)0(0%)142(23.7%)8(1.3%) 亚伯拉罕·达比0(0%)1(0.2%)23(3.8%)126(21%) 测试集自由精神真宙美咲亚伯拉罕·达比 自由精神33(16.5%)1(0.5%)8(4%)8(4%) 真宙0(0%)50(25%)0(0%)0(0%) 美咲0(0%)0(0%)50(25%)0(0%) 亚伯拉罕·达比0(0%)2(1%)8(4%)40(20%)
Figure 9 Confusion matrix of DenseNet model for database image recognition
由以上混淆矩阵图进行比较得出文中4种网络对相似月季的识别误差由小到大依次为InceptionV3、ResNet、DenseNet和SqueezeNet,且SqueezeNet对4种相似月季(表1—表4)。
表1 ResNet模型对数据库识别的测试结果
表2 InceptionV3模型对数据库识别的测试结果
表3 SqueezeNet模型对数据库识别的测试结果
表4 DenseNet模型对数据库图片识别的测试结果
表5 平均训练时间及测试时间在CPU和GPU模式下的对比
Accuracy、Precision和Recall值进行统计可得本研究4种卷积神经网络对月季图像的识别能力由高到低分别为InceptionV3、ResNet、DenseNet和SqueezeNet。
2.3 不同处理器下不同模型的检测速度对比
为体现GPU并行加速的优势,本研究试验使用CPU与GPU分别在自定义模型训练与图像识别阶段对训练模型每个Epoch的训练速度以及图像的识别速度进行比对。两种模式下4种模型的平均训练时间与平均识别时间如表5所示。
由表5可知,在GPU环境下4种模型的训练速度较CPU环境下提升了171~228倍不等,对数据库内图片的识别速度较CPU环境下提升了2.2~10倍不等。 4种模型中无论在GPU与CPU环境下的训练速度和识别速度由快到慢依次为SqueezeNet、ResNet、InceptionV3和DenseNet。
3 讨论与结论
本研究对4种相似月季的选择主要依照月季的花型与颜色特征,一般来说花朵越大,颜色越鲜明,其特征被光线等外界特征影响的程度就越低。其次考虑月季的盛花期持续时间,月季具有较长的盛花期会为为样本图像的扩充提供有利条件。
在模型选择上,本研究使用了4种常用的卷及神经网络模型ResNet、InceptionV3、SqueezeNet和DenseNet,在ImageNet、Oxford 102 Flowers Dataset数据集的测试上都被广泛应用,对以上模型进行自定义模型训练时可以对参数进行调整,在保证程序运行的前提下训练提高精度与效率。
在方法选择上,本研究对模型训练过程中产生的训练集的损失值(Loss)、验证集的损失值(Val-loss)、模型训练时达到的精度acc值对4种卷积神经网络模型进行分析比较,又引入模型对数据库识别的准确率、精确率,查全率作为判别模型优劣的依据,最后分别在CPU与GPU环境中对模型训练速度以及图片测试速度进行比对,发现GPU环境下的训练速度与识别速度均提升数倍。
以上试验结果显示InceptionV3网络对上述4种月季数据库图像均有100%的识别率,且在训练及识别过程的速度较快,是4种卷积神经网络中对4种相似月季识别效率最高的网络。
研究过程中构建的基于卷积神经网络的月季花识别系统虽具有识别速度快、识别率高的特点,但目前该花朵软件仅能识别自由精神月季、亚伯拉罕·达比月季、真宙月季以及美咲月季,若想识别更多种类月季花朵图像,还需要对数据库作进一步扩展,同时也要对所编写的程序作进一步提升。
本研究所得出的结论对于园艺自动化进程的推进具有实用性,同时对自然界中新植物与其他相似物种的识别与区分具有意义。
[1] 马雪范. 月季杂交育种研究[J]. 农家参谋, 2019(17): 18.
[2] 张景普. 现代月季的主要特征及其分类[J]. 现代农业科技, 2019(24): 114-115.
[3] 中国花卉协会月季分会. 中国月季发展报告(第2版)[J]. 农业科技与信息(现代园林), 2014,11(5): 44-47,1-43.
[4] 张娟, 韩殿元, 黄心渊. 自然背景下的梅花图像分割算法研究[J]. 北京林业大学学报, 2012, 34(3): 64-70.
[5] 周伟, 武港山. 基于显著图的花卉图像分类算法研究[J]. 计算机技术与发展, 2011, 21(11): 15-18, 22.
[6] 沈萍, 赵备. 基于深度学习模型的花卉种类识别[J]. 科技通报, 2017, 33(3): 115-119.
[7] 袁培森, 黎薇, 任守纲, 等. 基于卷积神经网络的菊花花型和品种识别[J]. 农业工程学报, 2018, 34(5): 152-158.
[8] RAMA A, KUMARAVEL A, NALINI C. Construction of deep convolutional neural networks for medical image classification[J]. Int J Comput Vis Image Process, 2019, 9(2): 1-15.
[9] 俞颂华. 卷积神经网络的发展与应用综述[J]. 信息通信, 2019, 32(2): 39-43.
[10] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks[J]. Commun ACM, 2017, 60(6): 84-90
[11] HE K M, ZHANG X Y, REN S Q, et al. Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). June 27-30, 2016, Las Vegas, NV, USA. IEEE, 2016: 770-778.
[12] SZEGEDY C, VANHOUCKE V, IOFFE S, et al. Rethinking the inception architecture for computer vision [C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). June 27-30, 2016, Las Vegas, NV, USA. IEEE.
[13] IANDOLA F N, HAN S, MOSKEWICZ M W, et al. SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and < 0.5 MB model size[EB/OL].2016: arXiv: 1602. 07360 [cs.CV]. https://arxiv.org/abs/1602.07360.
[14] 高建瓴, 王竣生, 王许. 基于DenseNet的图像识别方法研究[J]. 贵州大学学报(自然科学版), 2019, 36(6): 58-62.
[15] 朱虎明, 李佩, 焦李成, 等. 深度神经网络并行化研究综述[J]. 计算机学报, 2018, 41(8): 1861-1881.
[16] 张雪芹, 陈嘉豪, 诸葛晶晶, 等. 基于深度学习的快速植物图像识别[J]. 华东理工大学学报(自然科学版), 2018, 44(6): 887-895.
[17] LIN P, LI D, ZOU Z, et al. Deep convolutional neural network for automatic discrimination between×flowers and other similar white wild flowers in fields[J]. Plant Methods, 2018, 14: 64.
[18] 周云成, 许童羽, 郑伟, 等. 基于深度卷积神经网络的番茄主要器官分类识别方法[J]. 农业工程学报, 2017, 33(15): 219-226.
Recognition of similar rose based on convolution neural network
WANG Xueyan, ZHANG Chong, ZHANG Li
(College of Science, Beijing Forestry University, Beijing 100083)
At present, the classification and recognition technology of flowers in China is relatively mature. However, due to the high similarity among species, the flower characteristics are difficult to extract. This research proposed to use the training models of four kinds of deep learning networks, SqueezeNet, ResNet, InceptionV3 and DenseNet in Convolution Neural Network (CNN) to build flower recognition clients for recognizing four kinds of similar roses, to compare the recognition results, so as to screen out the optimal model and to accelerate the training process and recognition process by GPU. After statistical comparison of the data generated in the experimental process, it was concluded that the recognition rate and recognition speed of the model trained by Inception V3 network are the highest and the recognition speed is faster than the other three networks, which can be used as the optimal model. The application of the flower recognition system in flower classification can not only save labor, but also accelerate the process of gardening automation.
rose; SqueezeNet; ResNet; Inception V3; DenseNet; deep learning
TP181; TP391.41
A
1672-352X (2021)03-0504-07
10.13610/j.cnki.1672-352x.20210628.001
2021-06-28 15:49:29
[URL] https://kns.cnki.net/kcms/detail/34.1162.S.20210628.1057.002.html
2020-07-06
中央高校基本科研业务费专项基金(2019SG04)资助。
王雪琰,硕士研究生。E-mail:guojd@bjfu.edu.cn
张 立,副教授。E-mail:zhang_li@bjfu.edu.cn