2020年12月第6卷第35期
No.6 roll up No. 35 Issue, December, 2020
智慧健康
Smart Healthcare1
智蕙匣疔_行业劲您
DOI:10.19335/jki.2096-1219.2020.35.001
基于深度学习的中草药分类识别张万义1,张千2,潘继波\张浩宇2,孟宇翔2,相玖红2
(1.东营市胜利医院,山东东营257091; 2.中国石油大学(华东)计算机科学与技术学院,山东青岛266580)
摘要:随着国家对中医药发展的大力支持,中草药在某些疾病方面得到了老百姓的认可,取得了很好 的效果。应充分利用现代科学技术,推动中药现代化和国际化,以满足时代发展和民众日益增长的医疗保健需求。通过设计基于中草药图像的分类方法,实现对中草药的准确分类,为老百姓普及中医药知识。针
对黄河三角洲地 区特有的十七种中草药,建立数据集。使用深度学习算法分类,最终提升了分类的准确率,使训练集分离出来的 验证集的平均识别准确率达到了 96%。
关键词:小程序;中草药;分类识别;深度学习
本文引用格式:张万义,张千,潘继波,等.基于深度学习的中草药分类识别[J].智慧健康,2020,6(35):1-4.
Chinese Herbal Medicine Classification and
Recognition Based on Deep Learning
ZHANG Wan-yi1, ZHANG Qian2, PAN Ji-bo1, ZHANG Hao-yu2, MENG Yu-xiang2, XIANG Jiu-hong2 (l.Shengli Hospital of Dongying, Dongying, Shandong 257091; 2. College of Computer Science and Technology, China
University of Petroleum, Qingdao, Shandong 266580)
ABSTRACT: With the country's strong support for the development of Chinese medicine, Chinese herbal medicine has been recognized by the people in the treatment of certain diseases and achieved
good results. We should make full use of modem science and technology to promote the modernization and internationalization of traditional Chinese medicine to meet the development of the times and the growing medical and healthcare needs of the people. By designing the classification method based on the images of Chinese herbal medicine, the accurate classification of Chinese herbal medicine can be achieved and the knowledge of Chinese medicine can be popularized for the common people. For the 17 kinds of Chinese herbal medicines unique to the Yellow River Delta, a data set was established. Using deep learning algorithm for classification, the classification accuracy is finally improved, and the average recognition accuracy of the verification set separated from the training set reaches 96%.
KEY WORDS: WeChat applet; Chinese herbal medicine; Classification and recognition; Deep learning
〇引言
中草药作为中医药材,是中华民族在与疾病长 期斗争的过程中积累的宝贵财富。目前各地在救治 新冠肺炎过程中,广泛运用中医药,显著提高了治 愈率和成功率。国务院印发的《中医药发展战略规 划纲要》中指出,在继承发扬中医药优势特的基 础上,充分利用现代科学技术,推动中药现代化和 国际化,以满足时代发展和民众日益增长的医疗保 健需求,是历史赋予我们的责任。
目前线上对中草药进行分类和介绍的软件还比 较少,对于中草药分类的研究比较少,现有的研宄 只是对少数的植物进行分类。各个地域的中医对于 不同中草药的需求也不一样。近几年来,深度学习 技术发展迅速,在分类识别这方面已经取得了非常 好的效果,所以我们采用深度学习的方法对收集到 的中草药植物图像进行分类。针对黄河三角洲一带的中医大夫的需求,使用深度学习相关技术来制作一款实现线上智能识别的APP,为经验尚浅的大夫们 辨识中草药提供方便,为中医的发展起到一定的帮 助,为中医的线上发展提供新的思路。
1中草药信息库的实现
目前,对于中草药图像并没有一个非常全面的 数据库,所以我们首先收集并建立了包含数量较多 的中草药图像数据集。本项目与山东省名中医药专 家张万义博士团队合作,由医生团队提供中草药图 像数据集。使用最近比较流行的python语言,在 Djang〇[3]框架上进行具体实现。将近300种中草药 数据存放在MySql[7]数据库中。将所需要的图片文 件放在Django项目之内方便快速读取,部分图片 直接放在前端工程中方便快速加载。将工程部署在 腾讯云[8]服务器上,保证项目可以随时无间断地运 行。前端用C S S进行布局,用JavaScript进行函 数编写[5],充分考虑用户的体验,设计了合理并且 能充分展示所要显示的药品信息的界面。
基金项目:项目资助:中央高校基本科研业务专项基金(项目编号:18CX02019A);全国大学生创新创业训练项目-智能自助购 药系统(项目编号:20190400 )。
作者简介:张万义(1962-),男,山东招远人,主任医师,医学博士,研究方向:中医内科疾病、智慧医疗。
2
智慧健康
Smart Healthcare
2020年12月第6卷第35期
No.6 roll up No. 35 Issue, December, 2020查询功能主要分为三个模块:按名称关键字查
询、按首字母查询和按照功效查询。在mysql数据库中,因为中草药的名称是可以唯一确定这种中 草药对应的全部信息的,一条记录对应一种草药 名称,所以数据库中只设置一个数据表,取名为 herbalplant。表中包含的字段包括hid (自动生成 的记录编号,主码)、name (中草药名,候选码),name_supply (别名)、fami ly (科类)、genus (属类)、character (形状)、field (分布)、officinal—part (入药部位)、value (药用价值)、latin—name (拉丁语名,候选码)、english_name (英文名)、effect (功效分类)。用户在选择查看一种中草药 的信息时,数据库中的这些信息能够全部反馈给用 户。关键字查询利用了数据库的模糊查询机制,按 首字母查询利用了数据库中的englishjiame字段,而
按照功效查询则利用了 effect字段。
此功能模块主要适用于己知中草药的全称或者 全称的一部分,然后获得全称中包含输入内容的中 草药。如图1所示,这是打开小程序后的首页,在 上方的输入框中输入关键词,比如“白”。如图2 所示,是搜索后的结果。因为利用的是数据库的模 糊查询机制,关键字必须在名称中连续存在。
黄河三角麵®< •••©
iiAf.翻中華麵
图1小程序首页图2关键字“白”查询结果
2中草药识别
针对黄河三角洲特有的十七种中草药进行深度 学习识别。用tensorflow®和keras[6]等工具对图 片进行处理,借助大量的训练集对机器进行训练,通过CWJ算法让机器掌握每一种中草药的若干特征,从而让机器能够“认识”每一种中草药》在给出一张中草药的照片后,机器能够准确识别出中草药。
对其中17种中草药识别的过程是通过从相册选 取或者拍照上传一张中草药的图片,系统会告诉用 户这张图片最可能对应哪种中草药,并且提供识别 结果中的中草药详情页的链接。需要识别的17种中 草药
包括:百合、薄荷、车前、枸杞、益母草、桔梗、酸枣、薏苡、蒲公英、决明子、艾叶、黄精、黄芩、罗布麻、马齿苋、茵陈、蛇床。
2.1模型选取
因为本次研宄没有现成的对应这17种中草药的 优质数据集,从网上爬取的数据集首先需要人工剔 除一些并不能展现对应中草药和重复了的图片。即便这样,由于爬取的原始图片的分辨率参差不齐,很多图片的分辨率较低也会成为限制,很难支撑太 多的卷积层和池化层。而且常用的VGG-11、LeNet、AlexNetw等模型计算非常复杂,所以本次研究选取 了通道数较少的VGG模型,并以其为基础,配合使 用Relu激活函数和Adam[1]优化算法。
2.2数据获取和处理
使用爬虫[9]在百度和必应搜索引擎上爬取每种 中草药的图片。因为爬取的图片集总体质量不高,所以需要经过人工筛选的过程,保证最终的原始数 据集中的图片都能正确反映对应的中草药。因为所 获取的图片集的最小行/列分辨率为165,所以设计 了三层卷积层+三层池化层的结构。考虑到池化层 的输入应该为偶数,经过分析后得出处理后的数据 集最大分辨率在这种结构下为160X160。
将原始数据集拆分为训练集和测试集两组,训练集用于深度学习训练阶段,测试集用于检测训练 的效果。
将原始图片设置标签,因为目前识别的中 草药一共十七种,所以打标签的时候,让一种中草 药的训练集名字中的前两个数字一样,从而让系统 实现区分这十七种中草药的训练集的效果。后来采 用了 python批量打标签的方法让这个过程变得更为 高效。验证集与之同理,模型取得验证集对应的中 草药种类,跟预测的结果进行比对,从而得到最终 的准确率。如图3为对蒲公英的图片集批量打标签 后的蒲公英数据集,可以看到其中的所有图片的标 签中的前两位数字都是08,表示蒲公英是识别模型 中的08号中草药。训练时用python中的正则表达 式提取出标签中的前两位数字,转化为对应的整数,然后跟识别完成后得到的索引值做对比,如果相同 说明识别的结果是准确的。
先统计每个文件中图片的个数,然后将所有原 始数据经过灰度化并将大小调整为160X160,最后 一层的输出为20X20,再继续增加层数的意义己经 不大了。灰度化后的蒲公英数据集如图4所示,此 时的数据集中图片的大小全部变为160X160。使用
Keras在安装了 Tensorflow的环境下进行训练。
2020年12月第6卷第35期
No.6 roll up No. 35 Issue, December, 2020
智慧健康
Smart Healthcare3
國_圃1關i w ^1:H: .•S*A j j f v j i i e a J i l f i M i u v W i p^3W»i C i i)J s e j l»S!
C i«J;B S M w S a iM^p j ^i t»C8%.s3U s,S i t f s O W^5*<a i^I4*k(U d j.T J U411,□國_i B_■■肩 ‘_
图3蒲公英数据集
|P^ .、、m.m\T m F
i)%il b'1-i#V »*, U w ii k d k U糾I .«*浐flirtv U^V K«\ *t\' ^i.t f r.» 'P i S H M u i.i ' n*•j i* •v««h. f J^i a i i i i議國i_ai&
«W*'t*>.C l44r j*. i*'U-•#-<-.(,:^•―丨%、i«j W x j-.i A»*» •n j | l«ut ln>i r*»V
图4灰度化后的蒲公英数据集
2.3结构设计
将上述中草药库的功能设置在同一个小程 序[1()]之中,作为其“中草药识别”功能模块。训练 好了的模型文件提前放到服务器上,然后前端对后 端发送请求并上传要识别的图片后,将上传的图片 文件转化为二进制格式,如图5和图6所示。然后 将模型文件调入,根据生成的二进制预测数组对上
[[168161179 ...5564153]
[139177187 ..•4968141]
[104154179 •••5679128]
[159181101 ••■313128]
[163182165 _••352133]
[142179182 ••.321526]]
图6上图转化成二进制的数组
2.4结果分析
Batch (批尺寸)过小时,验证的准确度较低;而batch值达到了 20之后,继续增加效果并不明显。Epoch(训练轮数)的值较小时,验证的准确度度较低j 达到30轮后模型已经“熟悉”了训练集,继续增加 轮数对准确度的增长效果较小。之前使用过处理之 后为126*126的训练集和测试集,可以明显看出改 用160*160的训练集和测试集后准确度也有所提升,因为分辨率较大意味着较多的有用数据,有利于更 好地提取一种中草药的特征。合理设置这些参数,使对从训练集分离出来的验证集的平均识别率达到 96%,图> 展示了其中一次的验证结果。由此可以看 出batch、epoch和分辨率等参数对于识别率的重要 意义。
图7对训练集中取出来的验证集的一次测试结果
2.5识别结果选取
传的图片进行预测,预测值越大,说明图片显示的 是该值对应的中草药的概率就越大。将预测的编号 传到前端,前端将编号转化为对应的草药显示出来。
图5原始图片
因为数据集较少,在有些图片中,识别的最佳 答案和实际图片呈现的内容还是会出现一些偏差,所以采
取最可能答案+备选答案的呈现模式。对一 张图片进行识别后,会得到包含17个和为1的元素 的numpy数组,选取两个最大的值的位置,将这两 个位置对应的中草药作为前二可能的识别结果;第 一个结果作为最佳答案,第二个结果作为备选答案。部分代码(运行在Pycharm中)如下所示:
m = my model,predict(data)[0]
num = int (m.argmax ())
m[np.argmax(m)]= np.min(r a)
nural = int (m.argmax())
n = num * 100 + numl + 10000
return JsonResponse(n,safe^False)
赋值后m
中为预测数组,num存放最可能的结果
4
智慧健康
Smart Healthcare
2020年12月第6卷第35期
No.6 roll up No. 35 Issue, December, 2020
的编号,然后将该位置的值变为数字终端最小值。然后再到此时值最大的值的索引,即原数组中值 第二大的值的索引,存放在numl种。此时原数组中 两个最大值的索引,将这两个索引合成一个五位数,前端即可在该五位数中的第2、3位到num (最可 能结果的编号)的值,第4、5位到numl (第二可 能结果的编号),然后即可在前端完成转化。
3效果展示
图8为初始界面,即进入“黄河三角洲本草”小程序后点击下方的“中草药识别”进入的界面。图9为选择完本
地图片或拍照后的效果,对应的图 片己经显示在图片框中。图10和图11为选择好图 片后点击“识别中草药”得到的结果,(如果未选 择图片,点击识别按钮后会提示未选择图片,从而 不能进入下一页)图中正确识别出了“益母草”,并且提供了另一个相对可能性大一些的答案“桔梗”。并且点击这两个按钮可以分别进入益母草和桔梗的 详情页。
• WeChar?' 21:03 S
两渴三角浙S西•;?街•••®
絕i?J麟器A/j垮〜:
选择图片
iR S Il中草药
f S认獅臟括H
〇M©©
选择图片
iR Slj中草药
,_觀翁齡'|■〇 m®
图8中草药识别功能首页图9选择好图片后的界面••••• W?C h a:令
©
图10识别结果(上)图11识别结果(下)3.1按功效查询中草药
如图12所示,在分类页面点击“按功效查询”,然后选择想查询的中草药的功效分类,如“理气药”。如图13所示,即得到数据库中对应该功效的全部中 草药,图中所列的中草药均属于“理气药”。此功 能一般用于査看某一种功效的中草药有哪些。
• 5:19 !rc\ _
興沔三龟洲3:a•••®
I安字母查询按功效產洵
3.2查看中草药详细信息
如图14示,在首页或搜索页面点击某一项中草 药,就会显示中草药的详细信息,包括简介、功效 作用、性状三个部分,包含的内容包括名称、拼音、拉丁文、科、属、产地、功效作用、性状,这些内 容均是来源于MySQL数据库中。
••••• W e C h a t*21 58100%
< 药品介绍•••©
功效作兩 性状
名称:白剌
拼音:baici
f立丁文:N itrariatangutorpniBobr
彦聚科 Zygophyllaceae
白剌厲Nitraria
中草药名称产地:为旱生型®性植物.不耐E萌、不
两劳。多生长在干燥、多閃、盐■里、土壤贫
瘠.植物稀疏的严誔琢境中.伴生植物比较少.
在土壤含盐量1.2%以上的地方偶见有盐地馘蓬、
51碱蓬'柽柳,中华补m草等混生,
图14白刺简介
4结束语
总共对蒲公英、决明、车前、益母草、薄荷等
(下转第13页
2020年12月第6卷第35期
No.6 roll up No. 35 Issue, December, 2020
智慧健康
Smart Healthcare13
信号、低回声信号呈现,同时具有相对较少的血流 信号。
参考文献
[1J余亮,陈勇刚,陈卉品,等.彩多普勒超声对大腿肌层肿块的诊断价值(附30例分析)〇].福建医药杂 志,2018,40(03) :60-64.
[21李东蔚,高景破.肌骨超声对膝关节滑膜炎的诊断价值D].'中国实用医刊,2019,46(13):98-99.
[3]唐鸿鹄,王英,刘毅,等.肌骨超声在类风湿关节炎评估
中的应用研究〇].西部医学,2016,28(11):1741-1743.
⑷李会旭,卜令学,潘克清,等.口腔颌面部肌内型
结节性筋膜炎3例报告及文献复习[J].上海口腔医
学,2019,28(4):430-434.
[5]李晨,李建宁,杨裕辉,等.超声引导下细针穿刺细胞学
检查在甲状腺微小结节良恶性鉴别诊断中的应用价值U1.
中国临床医学影像杂志,2017,28(3):223-225.
[6]盛小乐.肌骨超声诊断创伤性浅表软组织损伤的临床价
值[J1.实用医学影像杂志,2019,20(01):100-101.
[7]刘超然,王宁华.骨骼肌超声图像纹理分析的研究进展[J】.
中国康复医学杂志,2019,034(005):612-616.
[8]陈萍,朱连华,方可敬,等.超声造影结合定量分析技术
在鉴别诊断甲状腺良恶性结节中的应用价值[J】.第三军
医大学学报,2019,41(06)587-593.
[91李进华,李洁,王国军,等.深层肌肉刺激足底筋膜炎的疗效观察U].中华物理医学与康复杂
志,2018,40(11):858_859.
丨10]周宗波,陆志夫,朱华亮.中西医综合方案腰背肌筋膜炎寒湿瘀阻证的疗效对比分析[J].重庆医
学,2017,46(11):1521-1524.
(上接第4页)
17种中草药进行了识别,以VGGNet模型为基础,提 前对图像进行批量标准化操作,缓解网络模型的过 拟合操作。使用三层卷积层和三层池化层,激活函 数选用relu函数来对数据进行修正。使用Adam优 化器来解决梯度下降算法初始化。使训练集分离出 来的验证集的平均识别准确率达到了 96%。将卷积神 经网络的中草药识别功能移植到小程序端,用户通过上传照片来实现对图片中的中草药植物的识 别。后端对此图片进行匹配,将匹配到的结果送还 前端,呈现给用户最后的匹配结果。
参考文献
[11汪友明,徐攀峰.基于改进Adam优化器的CN N电镜医 学图像分类[〇.西安邮电大学学报,2019,24(05):26-33.2]刘晓,齐德,曹世轩.基于TensorFlow2.0的图像分类 算法研究U].现代计算机,2020(14):63_68+74.
3]刘志凯,张大红.Django框架在web开发中的应用〇].农 业网络信息,2015(02)31 -52.
4J黄方亮,俞磊,沈同平,金力,许欢庆,黄星语.基于AlejcNet深度学习模型的中草药植物图像分类研究与实
现⑴.齐鲁工业大学学报,2020,34(02):44-49.
51王显梅,陈慧.Web前端技术在网页视觉中的应用研究[J].
信息技术与信息化,2020(05):41-43.
6]高云,彭炜.基于Keras的分类预测应用研究[J].山西大 同大学学报(自然科学版),2019,35(05):26-30.
7]伍志聪.MySQL数据库在中小型业务系统的应用[J】.数 字技术与应用,2011(11):122.
8J刘建连.云服务支持下远程计算机网络系统开发分析[[].
数字技术与应用,2019,37(01):189+191.
9]李培.基于Python的网络爬虫与反爬虫技术研究[J].计 算机与数字工程,2019,47(06):1415-1420+1496.
1〇1陈家勇,张珩.安全管理小程序的开发和应用⑴.电 力安全技术,2020,22(04):10-13.
(上接第8页)
为反映肝脏纤维化程度的相关指标,值得推广。
综上所述,GLDH、LAP及G GT可作为慢性乙型肝
炎感染性肝病生化联合检测指标,可用于评估及判
断疾病预后的参考指标。
参考文献
【1]朱绍辉,李泽信,王建国,等.原发性肝癌的多药耐药⑴.
现代生物医学进展,2010,10(8):1586.
[2]肖蕾,毛睿,杨颖,等.高尔基体糖蛋白73、  a -L-岩藻
糖苷酶、甲胎蛋白单项检测与联合检测对原发性肝癌的
诊断价值研究[J].中国全科医学,2013,16(18):1581.
[3]中华医学会传染病与寄生虫病学分会、肝病学分会
联合修订.病毒性肝炎防治方案[J].中华肝脏病杂
志,2000,8(3):324-329.
[4]胡芳,汪玉芳,司平,等.健康成人亮氨酸氨基肽酶参考值的调查U1.热带医学杂志,2012,12(10):1205-1206.
[5]李章勇.林应标,夏川,等.肝纤维化指标联合AFP、
GGT检测在肝病诊断中的应用价值[J].中国医药导 报,2019,16(7):153-156.
丨6丨郑慧慧.肝病患者血清谷氨酸脱氢酶的检测及其预后变 化规律⑴.医药前沿,2016,6(19):213-214.
[7J郑平燕.血清亮氨酸氨基肽酶与腺普脱氨酶在乙型肝炎 病毒感染性肝病生化指标检测中的应用研究[J].现代实 用医学,2015,027(004):477-478.
丨8]蒙毅军,余洪立,杨石.GLDH、GGT、ALT、ALP联合 检测对药物性肝损伤诊断的临床意义[J].检验医学与临 床,2019,016(012)4735-1737.
|9]佩君,翁彭剑,高国生.血清亮氨酸氨基肽酶检测在肝病 中的临床价值⑴.现代实用医学.2010,22(11):130〇-1301.丨10丨高娟,何洁月.血清肝纤维化标志物联合肝功能指标对 慢性乙型肝炎诊断价值及其相关性研究[J】.中国社区医 师,2017,33(33):112—113.