CJLIS (Traditional Chinese Medicine)

基于 DeepLearni­ng4J on Spark深度学习方­法在药用植物图像识别­中应用初探

【引文格式】赵彦辉,范欣宁,张建逵,等.基于 DeepLearni­ng4J on Spark 深度学习方法在药用植­物图像识别中应用初探[J].中国中医药图书情报杂­志,2018,42(5):18-22.

- (收稿日期:2018-03-23) (修回日期:2018-05-02;编辑:魏民)

赵彦辉 ,范欣宁 ,张建逵 ,谢明

1.辽宁中医药大学图书馆,辽宁 沈阳 110032;2.辽宁中医药大学药学院,辽宁 大连 116600

摘要:目的 基于卷积神经网络,使药用植物的图像识别­自动化、智能化,从而提高药用植物识别­的效率。方法 使用中国植物图像库搜­集药用植物图像,进行灰度化、角度随机旋转等批量处­理。采用卷积神经网络图像­识别技术,结合 DeepLearni­ng4j 框架,对模型参数进行优化调­试。结果 使用DL4J-example、AlexNet、VGG16模型,小样本单一背景药用植­物图像识别正确率分别­达到 68.00%、70.00%、24.00%,大样本复杂背景药用植­物图像识别正确率分别­达到 48.87%、60.00%、91.35%。

结论 图像识别技术的使用提­高了复杂背景下药用植­物图像识别的正确率和­效率,为药用植物的识别提供­了新方法,识别正确率高低与激励­函数、迭代次数、卷积层数及参与训练的­图像数量直接相关。

关键词:图像识别;卷积神经网络;深度学习;迁移学习;药用植物

DOI: 10.3969/j.issn.2095-5707.2018.05.005

中图分类号: G250.7 文献标识码: A 文章编号: 2095-5707(2018)05-0018-05

Discussion on Applicatio­n of Deep Learning Method in Medical Plant Image Recognitio­n Based on DeepLearni­ng4J on Spark

ZHAO Yan-hui1, FAN Xin-ning2, ZHANG Jian-kui2, XIE Ming2*

(1. Library of Liaoning University of Traditiona­l Chinese Medicine, Shenyang 110032, China; 2. College of Pharmacy, Liaoning University of Traditiona­l Chinese Medicine, Dalian 116600, China)

Abstract: Objective To automate and intelligen­tize medical plant image recognitio­n based on the convolutio­n neural network. To improve the efficiency of medical plant recognitio­n. Methods Chinese plant image database was used to collect medical plant images, and the batch processing of gray scale and angle random rotation were carried out. Convolutio­n neural network image recognitio­n technology was used and DeepLearni­ng4J frame was combined. Model parameters were optimized and debugged. Results DL4J-example, AlexNet and VGG16 models were used. The accuracy rates of image recognitio­n for small samples of single background medical plants reached 68.00%, 70.00% and 24.00%, respective­ly, and the accuracy rates of image recognitio­n of medical plants in complex background reached 48.87%, 60.00% and 91.35%, respective­ly.

Conclusion The use of image recognitio­n technology can improve accuracy and efficiency of medical plant image recognitio­n under complex background, and provide a new method for recognitio­n of medical plants. The recognitio­n accuracy rate is directly related to the excitation function, the number of iterations, the number of convolutio­n layers, and the number of images participat­ing in the training.

Key words: image recognitio­n; convolutio­n neural network; deep learning; transfer learning; medical plants 基金项目: 2014 年辽宁省高等学校创新­团队(WT2014004)第一作者:赵彦辉,E-mail: 644735344@qq.com *通讯作者:谢明,E-mail: x6m6@163.com

传统的药用植物识别主­要依靠专业人员通过眼­看、手摸、口尝、鼻闻的方式进行[ 1],这种方式主要依赖操作­者的专业水平和经验,因此不同的操作者识别­药用植物有一定的主观­性,其正确率有所不同。而图像识别技术能解决­人工识别主观性强等问­题,可以降低药用植物识别­的难度。图像识别是指利用计算­机对图像进行处理、分析和理解,以识别各种不同模式的­目标和对象的技术,是信息科学和

[2]

人工智能的重要组成部­分 。近年来,深度学习已经成为图像­识别领域的热点。为解决人工识别药用植­物效率低、主观性强的难题,本研究基于卷积神经网­络( Convolutio­nal Neural Network, CNN),探究药用植物图像识别­的方法,构建自动化的识别系统,并利用搜集的 5 种药用植物图像对系统­进行识别训练,为药用植物的识别提供­新方法、新思路。

1 实验材料及开发工具

1.1 操作系统及分布式实时­计算环境

Windows 7 sp1 64 位(客户端), CentOS-Linux release 7.4-64 位, Hadoop2.6.0-CDH5.5.2,Spark2.2.1。

1.2 硬件环境

Intel CORE i5-42100-2.4GHZ/6G 内存/1T 硬盘笔记本电脑 1 台;清华同方超越 E550,2 核 Intel(R) Pentium(R) CPU G645@2.90GHz/8G/500G 2 台; Dell台式机 2 核 Intel(R) Celeron(R) CPU G1820@ 2.70GHz/6G/500G 1 台; Dell 虚拟机 Vmware5.5.0-4

核 Intel(R) Xeon(R) CPU E3-1220 V2@3.10GHz/7G/ 46G 1 台;曙光 Vmware5.5.0-15 核 AMD Opteron(TM) Processor 6212/8G/50G 1 台。

1.3 软件环境

Eclipse Oxygen 集成开发平台、JAVA 语言环境、 DeepLearni­ng4j 深度学习框架、 Adobe Photoshop CC软件。

2 实验方法与结果

2.1 卷积神经网络框架设计

本文所构建的 CNN 构架主要由输入层、卷积层、池化层、全连接层和输出层 5 个部分组成(见图。1)

2.1.1 输入层 若输入对象是图像,那么输入层的原始输入­数据为图像的像素值。本研究中原始输入数据­即为 256×256 像素大小的图像, JPG 格式,

RGB3 通道。

2.1.2 卷积层 卷积层由多个特征面组­成,每个特征面由多个神经­元组成,每个神经元通过卷积核­与

[3]上一层特征面的局部区­域相连 。卷积层的主要作用为提­取输入数据特征,其过程如图 2 所示。几种滤波(即核)在已被分解为彩色值的­图像上滑动,将核内值的滤波乘积加­和,并将加和的值返回,得到卷积特征。卷积层中卷积核数量越­多,提取的输入数据特征就­越多。本实验通过更改核的值­来提取不同类型的特征。 2.1.3 池化层 由多个特征面组成,它的每一个特征面均唯­一对应于其上一层的一­个特征面,且池化

[3]层的神经元也与其输入­层的局部接受域相连 。池化层自身并不会训练­或者学习,仅仅是把卷积层传播过­来的图像进行池化(下采样)。其主要作用是在保留有­用信息的基础上减少数­据的处理量,加快网络训练的速度。

2.1.4 全连接层 后面层的神经元节点和­前一层的神经元节点连­接,而同一层神经元节点间­无连接。每一层神经元节点通过­连接线上的权值进行前­向传播,加权组合得到下一层神­经元节点的输入。其实质为多层感知机的­隐含层。本文中,为了提升卷积神经网络­性能,降低模型的计算复杂度,在全连接层选用了 Relu(修正线性单元)激活函数。计算公式如式⑴。除此之外,在网络训练的过程中,为了避免过拟合,本文在全连接层使用了­正则化方法——

dropout 技术,有研究表明,此方法可使隐含层神经­元的输出值以 50%的概率变成 0[ 4]。因此能有效降低神经元­间的复杂性,忽略无效细节,从而提升神经元学习特­征的鲁棒性。

2.1.5 输出层 可根据具体应用任务来­设定输出层的神经元节­点数,本文训练 5 种药用植物图像,因此输出节点数设置为­5。

2.2 DeepLearni­ng4j 深度学习框架搭建

2.2.1 安装集成开发环境 下载并安装 JDK9.0.1、Eclipse Oxygen 版 for windows(64Bit)软件。设置系统环境变量, JAVA_HOME 为 D:/JAVA/JDK9.0.1 , PATH 增加 %JAVA_HOME%\bin , CLASSPATH 为.;%JAVA_HOME%\lib。测试运行环境,运行 CMD、java-version、javac 回报版本和编译信息。安装 Eclipse 软件至 D:/ECLIPSE。

2.2.2 安装 DeepLearni­ng4J 访问https://deeplearni­ng4j.org/ ,下载 ZIP 文件到D:/DL4J,安装 MAVEN 环境,导入 Maven Existing Maven Projects,打开 dl4j-examples。

2.2.3 搭建 Hadoop 集群和 Spark 集群 测试任务提交命令, #spark-submit -- class cn.edu.lnutcm. nd4jonSpar­k. FitFromFea­turized -- master spark:// storm6: 7077 -- deploy-mode client -- driver-memory 6g -- executor-memory 4g hdfs://ns1/spark_lib/ Nd4jTestOn­Mllib-0.0.1-SNAPSHOT.jar。

2.3 图像的搜集与处理

2.3.1 植物图像的搜集 图像特征提取是药用植­物

[5]

图像识别的核心,直接影响最终的识别效­果 。本实验选取银杏、牛蒡、薄荷、知母、芍药 5 种药用植物。

银杏( Ginkgo biloba L.),幼树树皮近平滑,浅灰色,大树之皮灰褐色。叶互生,在长枝上辐射状散生,在短枝上 3~5 枚成簇生状,扇形,淡绿色,具多数叉状细脉。

牛蒡( Arctium lappa L.),茎直立,带紫色,上部多分枝。基生叶丛生,大型,有长柄;茎生叶广卵形或心形。头状花序多数,排成伞状;总苞球形,总苞片披针形;花淡红色,管状。

芍药( Paeonia lactiflora Pall.),茎直立,上部分枝。叶互生,近革质,二回三出复叶,小叶窄卵形。花两性,数朵生茎顶和叶腋,白色,有时基部具深紫色斑块­或粉红色。

薄荷( Mentha haplocalyx Briq.),茎四棱形。单叶对生,叶片长卵形或长圆形。轮伞花序腋生,花冠二唇形,淡紫色或白色, 4 裂。

知母( Anemarrhen­a asphodeloi­des Bunge.),叶基生,丛出;线形,基部扩大成鞘状。花茎直立, 穗状花序稀疏而狭长,花常 2~3 朵簇生;花绿色或紫堇色;花被片6,宿存,排成2 轮。

在中国植物图像库( PPBC, http://www. plantphoto.cn/)中搜集具有上述识别特­征的植物图像。经筛选,本文选取了银杏图像 2483 个,牛蒡图像 1494 个,薄荷图像 2120 个,知母图像 591 个,芍药图像 2318 个,共计 9006 个图像。以上图像均经过辽宁中­医药大学药学院张建逵­副教授鉴定。2.3.2 植物图像的预处理 为加强卷积神经网络对­图像特征的学习效果,利用Adobe Photoshop CC 软件对这些图像进行批­量处理。首先去掉图像中的水印­和干扰元素,只保留识别所需的特征­部位,然后进行灰度化处理,并归一化像素值为 256×256 大小。为增加图像的数据量、更好地检验卷积神经网­络对几何变换、形变等一定程度上的不­变性[ 6],本实验将图像进行了随­机角度旋转( 5~ 180°)变换,并将随机旋转角度后的­图片背景处理为白色。

经过以上处理,图像数量增长了 1 倍,变为18 012 个,将这些图像构建为大样­本复杂背景数据库,命名为 L( Large)数据库,图像见图 3。另外,为了探究图像数量及背­景复杂程度对模型训练­效果的影响,还建立一个小样本简单­背景数据库,即从 5 类植物图像中各随机抽­取 25 个图像,进行单一背景处理,命名为 S(Small)数据库,含单一背景图像 125 个(见图4)。 2.3.3 实验模型参数调试 本文分别采用了 DL4Jexampl­e、AlexNet 和 VGG16 共 3 种神经网络模型进行有­监督学习的训练[ 7],在每次模型训练过程中­先将数据库中的图像进­行标签,然后随机选取其中80%图片作为训练集, 20%作为测试集。

为了较好地评价所建立­的模型是否具有较强的­鲁棒性,本实验统计了 5 类植物分类的正确率

( accuracy ),计算了每个类别的查准­率( precision)、查全率( recall)及查全率与查准率的加­权平均分数( F1),取其平均值作为模型评­价标准。具体计算表达式见式⑵、式⑶、式⑷,其中, nij表示类别 i 预测为第 j 类的样本数, nii表示类别 i 预测为第 i 类的样本数, nji表示类别 j 预测为第i类的样本数, ncl表示样本类别数,本实验值为5。

参照查阅的文献,在 DL4J-examples 源码基础上构建模型,进行 1~7、10~12 号实验。在第 8、13 号实验引入 AlexNet 网络模型,在第 9、14 号实验引入 VGG16 网络模型。对模型中的参数进行调

将本文所构建的深度学­习模型对单一背景和复­杂背景图像识别的正确­率分别与文献中查阅到­的CNN+SVM 模型[ 8]( 8 层 CNN+SVM 分类器,其中 SVM 选取默认参数 C=10,为 SVM 分类器的惩罚变量值;σ= 0.038 461 54,是径向基 RBF 形式核函数的变量值)及 PCANet 模型[ 8]( L1=10,L2= 8,指层滤波核数分别为 10、8)的图像识别正确率进行­对比,结果见表2。 试,并对其性能进行检测。1~8、10~13 号实验为单机运行所得, 9、14 号实验是在 Spark 集群上运行所得。实验结果见表1。 用植物图像模式识别程­序的性能受激励函数、迭代次数、卷积层数及图像数量等­因素的影响。

3.1 激励函数

Tanh 函数是饱和非线性函数,能在解决梯度爆

[9]

炸(或消失)问题的同时加快收敛速­度 。而 Relu函数是不饱和­非线性函数,从第 3、6 号实验不难看出,使用 Relu 函数后,正确率提升了 9.05%。可见,在卷积神经网络中选用 Relu 函数,能够更有效地提升网络­模型的性能。

3.2 迭代次数

从第 3、5 号实验的测试结果可以­看出,训练和测试集来自 S 数据库时,迭代次数为 1 次的准确率比 10 次的高出 4.55%。再对比 10、12 号实验的测试结果可以­发现,训练和测试集来自 L 数据库时,

迭代次数为 15 次时的准确率较 1 次迭代的准确率高出 26.69%。

因此,不能简单地说明迭代次­数与准确率成线性关系。对于较小数据库的训练­来说,迭代次数少,会使准确率更高;但对于较大数据库的训­练来说,迭代次数多会使准确率­更高。

3.3 卷积层数

从 10、11、12 号实验可以看出,随着数据量的增大,只增加卷积层的数量是­不够的,从 2 层卷积增加至 7 层后查准率反而下降了。因此,我们将卷积层数与迭代­次数同时增加,层数加至 7 层(在第二层增加隐含层,在第七层增加池化层),迭代次数加至 15次,结果表明,正确率有所提高。

3.4 数据量对网络性能的影­响

结合上述实验结果来看,数据量越大,所构建的卷积神经网络­模型也就越复杂,但是对比5、12 号实验,不难发现,数据量的增加对于正确­率的提升有一定帮助。用于训练的图像数量越­多,卷积神经网络能提取、学习到的特征也就越丰­富,再加上多次反复的学习,识别的准确度和效率也­就越高。

3.5 单机深度学习与分布式­迁移学习的差别

因为单机内存不足,利用VGG16 模型无法运行迁移学习,故 9、14 号实验选择了分布式平­台,搭建了由 5 台计算机组成的 Spark 集群环境。由单机勉强运行的 13 号实验( 13 层卷积,迭代 50 次),训练了24 747 397个参数,运行了7.70 h,才得出结果。而在 Spark 集群环境下,冻结134 260 544 个参数,训练 20 485 个参数,仅运行 6.95 min,得出了91.35%的正确率。

3.6 与其他模型对比分析

从表 2 中可以看出,与其他模型相比,本文所构建的模型在复­杂背景图像的识别应用­中将现有研究中的最佳­正确率提高到 91.35%,使用迁移学习方 法,训练时间大大缩短。但与学习识别单一背景­图像的模型相比,由于数据量较小,正确率较低。

4 小结

图像识别技术通过对图­像特征提取、处理和分析,能够自动完成对图像进­行描述、辨认、分类和解释,已经成为信息科学和人­工智能的重要组成部分。将卷积神经网络应用到­药用植物识别中,降低了药用植物识别的­难度,避免了手工提取特征而­导致误差累积的缺点。使用相对较少的预处理,更适用于复杂的图像特­征,具有适用性强、特征提取与分类同时进­行、泛化能力强、全局优化训练参数少等­优点,为药用植物的识别提供­了新方法、新思路。

参考文献

[1] 叶锋,蔡光东,郑子华,等.基于多特征融合的药用­植物标本识别[C]// [2] 2011代化,2014(4):12-19.龚丁禧,曹长荣.基于卷积神经网络的植­物叶片分类[J].计算机与现年中国智能­自动化学术会议论文集(第一分册).北京,2011:5. [3] 40(6):1229-1251.周飞燕,金林鹏,董军.卷积神经网络研究综述[J].计算机学报,2017, [4] 孙俊,谭文军,毛罕平,等.基于改进卷积神经网络­的多种植物叶片病害识­别[J].农业工程学报,2017,33(19):209-215. [5] 谭亮.基于内容的中草药图像­检索关键技术研究[D].杭州:浙江大学, 2016. [6] 马珍玉,王树森,聂磊,等.基于 Matlab 的植物叶片识别研究与­实现[J].内蒙古科技与经济,2016(9):48-49,51. [7] 张善文,黄德双.一种鲁棒的监督流形学­习算法及其在植物叶片­分类中的应用[J].模式识别与人工智能,2010,23(6):836-841. [8] 张帅,淮永建.基于分层卷积深度学习­系统的植物叶片识别研­究[J].北京林业大学学报,2016,38(9):108-115. [9] 罗晓曙.人工神经网络理论•模型•算法与应用[M].桂林:广西师范大学出版社,2005.

 ??  ?? 图 2 卷积特征提取示意图
图 2 卷积特征提取示意图
 ??  ?? 图 1 卷积神经网络设计构架­示意图
图 1 卷积神经网络设计构架­示意图
 ??  ??
 ??  ?? 图 3 大样本复杂背景图片示­例(Large数据库) 图 4 小样本单一背景图片示­例(Small数据库)
图 3 大样本复杂背景图片示­例(Large数据库) 图 4 小样本单一背景图片示­例(Small数据库)
 ??  ??
 ??  ??
 ??  ??
 ??  ??

Newspapers in Chinese (Simplified)

Newspapers from China