当前位置:首页 > 皮肤科 > 基于深度学习的中药材饮片识别

基于深度学习的中药材饮片识别

admin3个月前 (12-12)皮肤科5

基于深度学习的中药材饮片识别

韩勇兰杰  郭瑞瑶  邢聪颖  黄新杰  霍迎秋

西北农林科技大学信息工程学院

摘要:为了解决中药饮片种类繁多、形态相似导致难于快速、准确识别的问题,构建一个包含50种,共计15 622张图像的中药材饮片数据集,并基于Keras框架建立深度学习模型,模型包含4个稠密块和3个过渡层,每个稠密块和过渡层交替连接。最后利用全局最大池化层将稠密块特征向量化,并加入丢弃法来防止过拟合,优化DenseNet-201网络模型。结果表明该模型在43种中药上的识别率可以达90%以上,最高识别率达95.21%。因此,基于深度学习的方法可以有效解决中药饮片快速、智能识别的问题。

中药饮片是中药材经过切制、炮制后可直接用于临床的中药。中国中药资源丰富、品种繁多。药材识别是中药配方及饮片研究的关键技术之一,可用于中药鉴定、分类识别、质量品质统计等领域,对临床应用研究起重要作用,也能够加快推动智能医疗建设,具有重要社会意义。很多中药形态相似,导致鉴定和研究很困难。传统的中草药分类与质量评估涉及到性状鉴别和显微鉴别,鉴别方式过于主观,且鉴别效率偏低,无法满足中医中药产业化发展的客观需求[1,2,3]

目前基于图像处理与模式识别技术在中药检测中的应用主要是从形状、颜色和纹理中提取底层图像特征[4,5,6]等分类方法进行识别鉴定,陶欧等[5]采用了朴素贝叶斯和十折交叉验证方法,在中药饮片的纹理特征基础上进行饮片辨识模型的构建,具有一定的参考价值,但要先对每张图像提取角二阶矩、对比度、相关等纹理参数;也有学者构建综合颜色特征向量用以进行图像识别[6,7,8,9,10],获得了较好的识别结果,但是浅层特征易受环境因素影响,准确度不高且存在偶然性。为了解决上述问题,可基于深度学习进行图像识别[11,12,13,14],以深度学习为手段,研究建立深度卷积神经网络模型来实现定位检测、品种识别等功能;孙鑫等[15]利用卷积神经网络CNN50种中药共计2 554张图进行训练和测试,达到了70%的平均识别精度,但是识别精度过低,无法投入实际使用。综上所述,目前利用深度学习对中药材饮片进行识别的工作还仍在初级阶段,仅有的研究中存在着识别精度不高、中药种类数过少等问题,而对大量中药饮片的精准识别鲜有实现;另外,图像的识别环境过于简单,与现实场景中多个饮片相互重叠的图像不符,因此缺乏实际应用意义。

为了弥补上述不足,本试验建立对多种中药直接进行图像识别的深度学习模型,提高识别率和实际可用性,可供药检部门、药材公司和个人方便快捷地鉴别中药,具有潜在的社会意义和经济意义。试验采集50种中药饮片,共计15 622张,构建图像数据集,以稠密网络模型为基础建立深度学习识别模型,以期实现中药饮片图像的有效识别。

1材料与方法

1.1 试验材料

在中医饮片图像识别的研究领域中,目前还尚未见到相关用于试验的数据集,因此很难在同一个标准下评估不同方法,为了解决上述问题,本次试验的数据集均由笔者所在团队在陕西省杨凌大寨卫生院的中药部进行拍摄得到,共采集中药类别50种。

拍摄均在白天正常日光下进行,每一种的数目达到300张以上,一共获得图像15 622张。图像均在白色背景板下用2 400万像素的手机相机拍摄,每张图片包含的饮片数量、分辨率、大小、复杂程度、色彩不限。50种常见中药材名称及其图像数量如表1所示。

其中,将数据集按照71.51.5的比例划分成训练集、验证集和测试集,其中2 340张用来测试,其余图像用来训练。在性能评估中使用所有的类别。对于饮片图像的识别问题,将给出每一类的识别精度和所有类别的平均识别精度。图1为部分数据集的展示。

1 50种常见中药名称及数量

Table 1 Slicenames and quantities of 50 common Chinese herbal medicine

名称Name

数量Quantity

名称Name

数量Quantity

名称Name

数量Quantity

名称Name

数量Quantity

名称Name

数量Quantity

猪苓Polyporus umbellatus(Pers.) Fries

305

枳壳Citrus aurantium (Lour.) Engl.

331

知母Anemarrhena asphodeloides Bge.

323

预知子Akebia quinata(Thunb.)Decne.

320

郁金Curcuma aromatica Salisb.

201

灵芝Ganoderma lucidum (Curtis) P. Karst.

313

西洋参Panax quinquefolium L.

304

天麻Gastrodia elata Bl.

309

天花粉Trichosanthes kirilowii Maxim.

300

锁阳Cynomorium songaricum Rupr.

341

水牛角Bubalus bubalis Linnaeus

349

山楂Crataegus pinnatifida Bge.

324

升麻Cimicifuga foetida L.

311

地龙Pheretima aspergillum(E.Perrier)

315

三棱Sparganium stoloniferum Buch.-Ham.

320

人参Panax ginseng C. A. Mey.

306

青风藤Sinomenium acutum(Thunb.)Rehd. et Wils.

365

木通Akebia quinata(Thunb.)Decne.

310

木瓜Chaenomeles speciosa(Sweet)Nakai

326

金樱子Rosa laevigata Michx.

323

鸡血藤Spatholobus suberectus Dunn

314

黄药子Dioscorea bulbifera L.

341

黄柏Phellodendron chinense Schneid.

305

虎杖Polygonum cuspidatum Sieb. et Zucc.

300

大血藤Sargentodoxa cuneata (Oliv.) Rehd. et Wils.

301

红景天Rhodiola crenulata(Hook. f. et Thoms. )H. Ohba

309

合欢皮Albizia julibrissin Durazz.

305

葛根Pueraria lobata(Willd.)Ohwi

307

藁本Ligusticum sinense Oliv.

320

防己Stephania tetrandra S.Moore

306

防风Saposhnikovia divaricata (Turcz.) Schischk.

306

大黄Rheum palmatum L.

306

川芎Ligusticum chuanxiong Hort.

312

陈皮Citrus reticulata Blanco

323

苍术Atractylodes lancea(Thunb.)DC.

315

槟榔Areca catechu L.

324

桑白皮Morus alba L.

312

桑螵蛸Tenodera sinensis Saussure

315

白术Atractylodes macrocephala Koidz.

309

泽泻Alisma plantago-aquatica Linn.

307

异叶天南星Arisaema heterophyllum Bl.

307

全蝎Buthus martensii Karsch

307

土茯苓Smilax glabra Roxb.

308

地黄Rehmannia glutinosa Libosch.

310

瓜蒌Trichosanthes kirilowii Maxim.

315

姜黄Curcuma Longa L.

312

骨碎补Drynaria fortunei(Kunze)J.Sm.

353

乳香Boswellia bhaw-dajiana Birdw.

306

地骨皮Lycium chinense Mill.

308

椿皮Ailanthus altissima(Mill.) Swingle

316

1.2 试验方法1.2.1 DenseNet-BC模型

选取传统稠密神经网络DenseNet为试验模型。DenseNet由密集连接块、过渡层、池化层、卷积层以及全连接层组成,具有网络窄,参数少的特点,从而使得特征和梯度的传递更加有效。

DenseNet根据是否包含瓶颈层和压缩层又分为以下三类:DenseNet-B(包含瓶颈层)DenseNet-C(包含压缩层)以及DenseNet-BC(既包含瓶颈层又包含压缩层)。表2DenseNetDenseNet-BC3个数据集(C10,C100,SVHN)上的对比结果,由表中数据可知DenseNet-BC的网络参数和相同深度的DenseNet相比减少很多,既可节省内存,还能减少过拟合。

利用Keras框架选择其中的DenseNet-201网络进行复现。数据经过预处理后进入卷积网络,网络中包括1个初始卷积层,卷积核宽度为7,步长为2;初始卷积层后是一个最大池化层,连接4个密集连接块,块与块之间使用过渡层连接,共3层;数据在经过最后一个密集连接块后通过一个全局平均池化层将特征向量化,连接一个线性分类层完成分类。

3为网络模型结构。网络中的卷积层定义为3个连续操作的复合函数:批量规范化处理,修正线性单元和核大小为1×1的卷积操作。稠密模块是数个核大小1×1卷积层的卷积核组,这样的卷积核组在4个稠密模块中的数目分别为6,12,4832,并且设置特征映射网络的增长速率k32。每个稠密模块中特征映射网络的大小是不变的,只有数量上的变化,因此需要用过渡层来连接不同的块。过渡层是由一个核大小为1×1的卷积层连接一个步长为2×2的平均池化层组成的。

1部分中药图像

Fig.1 Some slices of traditional Chinese herbal medicine

2CIFARSVHN数据集上的错误率

Table 2 Error rate on CIFAR and SVHN datasets

%

方法Method

深度Depth

参数大小Paramus

C10

C10+

C100

C100+

SVHN

稠密网络(k=12)DenseNet(k=12)

40

1.0M

7

5.24

27.55

24.42

1.79

稠密网络(k=12)DenseNet(k=12)

100

7.0M

5.77

4.1

23.79

20.2

1.67

稠密网络(k=24)DenseNet(k=24)

100

27.2M

5.83

3.74

23.42

19.25

1.59

瓶颈稠密网络(k=12)DenseNet-BC(k=12)

100

0.8M

5.92

4.51

24.15

22.27

1.76

瓶颈稠密网络(k=24) DenseNet-BC(k=24)

250

15.3M

5.19

3.62

19.64

17.6

1.74

瓶颈稠密网络(k=40) DenseNet-BC(k=40)

190

25.6M

-

3.46

-

17.18

-

3模型结构

Table 3 Model structure

层次Layer

输出大小Output size

传统稠密神经网络Dense neural net

卷积层Convolution

112×112

7×7 conv, stride 2

池化层Pooling

56×56

3×3 max pool, stride 2

稠密块Dense block(1)

56×56

过渡层Transition layer(1)

56×56

1×conv

28×28

2×2 average pool, stride 2

稠密块Dense block(2)

28×28

过渡层Transition layer(2)

28×28

1×1conv

14×14

2×2 average pool, stride 2

稠密块Dense block(3)

14×14

过渡层Transition layer(3)

14×14

1×1 conv

7×7

2×2 average pool, stride 2

稠密块Dense block(4)

7×7

分类层Classification layer

1×1

Global average pool

softmax

1.2.2 丢弃法

由于全连接层参数过多会产生过拟合,为避免网络的过拟合,结合本文数据集,在传统网络模型基础上引入丢弃法,随机将50%的元素置零,这样每次被学习的特征有所不同,每个特征都可以对模型的预测有所贡献,同时也在训练时起到正则化的作用。在多层感知机中,假设其输入层节点数为n,那么隐藏层节点数为n+1,故而隐藏层节点hi(i=1,2,……,n)的输出值计算方法为:

hi=φ(x1w1i+…+xnwni+bi) (1)

其中φ表示激活函数,bi表示偏差,wji(j=0,1,……,n-1)表示第i个隐藏层节点和输入层连接之间的权重。当对隐藏层使用丢弃法时,该层的隐藏单元将有一定概率被丢弃掉。设丢弃概率为p,那么有p的概率hi会被清零,有1-p的概率hi会除以1-p做拉伸。丢弃概率是丢弃法的超参数,具体来说,设随机变量εi01的概率分别为p1-p,使用丢弃法时计算新的隐藏单元hi:

由于期望值E(εi)=1-p,因此:

即丢弃法不改变其输入的期望值。

2结果与分析

2.1 扩充数据集

根据Keras框架建立卷积快、稠密块和过渡层等模块,在卷积模块中主要进行批量标准化层、利用ReLu()激活函数将一个节点的输入信号转换成一个输出信号和卷积等操作;稠密模块是卷积层的叠加,每一个卷积层都与其之上的同一个稠密模块中的卷积层有相互链接;过渡层连接每个稠密模块,并使用平均池化层进行降维、特征压缩和减少网络复杂度。利用构建的DenseNet-201模型分别在中药材图像测试数据集上进行测试,并统计分析试验结果。模型的训练和测试流程如图2所示。

2模型训练和测试流程

Fig.2 Model training and testing process

其中对数据集的预处理操作如下:首先把像素点的值除以255,使之为01,将图片进行归一化处理,接着进行水平或垂直投影变换,同时在长宽两个方向进行50%的放缩操作,并在[0,30]度范围内进行随机角度旋转,随机对图片执行水平翻转操作,扩充训练集。对测试集只进行归一化操作。

2.2 参数调优

采用批量训练的方法将训练集与测试集分为多个批次,初始学习率设为0.000 5,采用Adam优化器,当验证集上的准确率停止提升3个迭代次数时,降低学习速率,其中Adam方法能够在训练过程中自适应调整学习率,很适合高维度和大数据集得到非凸优化,一共迭代50个周期。由于GPU的特性,批量大小(batch size)最好选用8163264等,batch size太小会导致网络收敛不稳定,收敛慢,过大会增加花费的时间,对参数的修正也就显得更加缓慢,同时后期训练效果不显著。综上,本试验将batch size分别设为81632,依次进行试验,找出与本数据集适宜的批量大小。

2.3 试验结果对比分析

不同批量大小的模型在验证集上的准确率与迭代次数的关系如图3所示。虽然稳定后的模型准确率均在97%左右,但收敛时间大有差别。可以看到batch size16时,模型在第20个迭代之后就达到收敛,模型稳定性最好,准确率稳定在在90%以上;其次是batch size8时,模型迭代30次之后达到稳定;而当batch size32时,模型验证率起伏较大,收敛相对比较慢,迭代40个周期才逐步收敛。

3不同批量大小下的识别率与迭代次数

Fig.3 Accurate rate and iteration times under different batch sizes

采用交叉验证算法验证鲁棒性,模型在验证集上的损失函数变化如图4所示。从3个曲线可以看出,在迭代的前20次内损失值都处于振荡状态,但当批量为16时,损失值在第20次迭代后开始迅速下降,并维持在很低水平,在0.1左右震荡,而其余两个模型先后在第25次迭代和第30次迭代后逐步到达稳定状态。从这里也可得出批量设为16时,模型拥有较强的鲁棒性。

4不同批量下损失值和迭代次数

Fig.4 Loss and iteration times under different batch sizes

利用这3种模型分别对50种中药测试集进行测试分类,测试结果如图5所示,可见只改变批量时,模型的分类性能很接近,只是在某些中药材上的识别率略有差别。对于每一种模型,识别率在85%以上的药材均占到45种,占到类别总数的90%,最高识别率可达100%

5不同批量大小下50种中药的测试结果

Fig.5 Test results of 50 kinds of Chinese herbal medicine slices under different batch sizes

由表4可见,批量大小对试验结果有一定的影响。对于数据集数目庞大的试验,一次性加载所有数据是不可行的,但如果批量大小设置的太小,模型又很难达到收敛。在合理的范围内,增加批量大小既可以增加内存利用率又可以加快数据处理速度,但增大到一定程度时,其确定的下降方向已经基本不再变化,且对参数的修正也就显得更加缓慢。batch size16时的平均识别准确率达到95.21%,表现出最优秀的识别效果,而增大到32时,识别率与之相差无几,但却占用大量的内存空间。

4不同批量下的识别率

Table 4 Recognition rate under different batch sizes

补充标目Supplementaryheading

批量大小Batch

平均识别率/%Averagerecognition rate

试验1 Experiment 1

8

94.53

试验2 Experiment 2

16

95.21

试验3 Experiment 3

32

95.13

为了进一步探索试验结果,在识别率最高的试验2的基础上进行深入研究,以最佳模型(即批量大小设置为16,初始学习率为0.001,迭代次数为50)50种中药进行识别分类,每个类别上的识别率如表5所示,结果表明此模型在23种药材上的识别精度均达到100%,其中识别率在90%以上的种类达到43种,占总类数的86%;平均识别率达到95.21%,表现出优异的性能,可以精准识别绝大多数的中药饮片。因此,手动搭建的稠密神经网络在加入丢弃法防止过拟合的情况下,不仅在识别精度上保持着较好的准确性,而且在多个药片环境下也具有良好的鲁棒性。

5每种药材的识别率

Table 5 Recognition rate of eachmedicinal material

类别Category

识别率/%Recongnitionrate

类别Category

识别率/%Recongnitionrate

类别Category

识别率/%Recongnitionrate

类别Category

识别率/%Recongnitionrate

类别Category

识别率/%Recongnitionrate

1

84.44

11

100.00

21

44.44

31

97.78

41

97.78

2

86.67

12

100.00

22

97.78

32

100.00

42

97.78

3

100.00

13

100.00

23

100.00

33

100.00

43

100.00

4

100.00

14

95.56

24

100.00

34

100.00

44

95.56

5

100.00

15

100.00

25

100.00

35

97.78

45

100.00

6

100.00

16

86.67

26

95.56

36

97.78

46

100.00

7

77.78

17

100.00

27

88.89

37

70.00

47

97.78

8

97.78

18

93.33

28

93.33

38

100.00

48

95.00

9

100.00

19

100.00

29

100.00

39

88.89

49

93.33

10

97.78

20

95.56

30

100.00

40

97.78

50

97.78

尽管模型取得不错的效果,但是试验中也出现一些低质量的识别结果。其中在类别21鸡血藤上和类别36的识别率很低,只有44.4%70%,如图6、图7所示。具体原因可能是该类中药片拍摄问题,导致图像模糊,纹理细节不清晰,另外选择的白色背景板在阳光下呈透明状态,板上的划痕增加了背景复杂度,影响了识别率。另一个重要原因是类别中同类型的样本纹理特征差异较大,纹理特征和颜色不同。

6鸡血藤图片

Fig.6 Pictures of spatholobus stem

7槟榔片

Fig.7 Pictures of betel nut

2.4模型验证

为了验证该模型和次数据集的拟合度,将同样的数据集置于ResNet网络、Wide_resnet101_2网络和Densenet121网络上分别进行对比试验,试验条件完全相同的情况下,试验结果如表6所示。

由表6可知,该数据集在残差网络模型下的拟合度并不优秀,识别准确率也比稠密网络低3.81%10.05%。同时从该模型在验证集上的识别率和损失值皆在20个迭代左右就稳定在97%0.1左右,综上可得出该模型与预测值更加接近,有较好的泛化能力。

6模型验证结果

Table 6 Validation results of model

预训练模型Pre-training model

平均识别率/%Averagerecognition rate

残差网络152 Resnet152

85.16

宽残差网络101_2 Wide_resnet101_2

91.40

稠密网络121 Densenet121

95.21

3结 论

为解决中药饮片识别困难、效率低的问题,本试验组织研究人员经过多次、长时间的工作,构建了包含常见的50种中药片的数据集,每种药材均包含300张以上图像,其中既有单个饮片图像也有多个饮片重叠图像,模拟了真实的实际应用环境。基于深度学习技术建立DenseNet-201中药饮片识别模型,并引入丢弃法控制变量法优化模型,防止模型过拟合,提高模型识别效果。试验结果表明该模型能够对常见的50种中药材进行有效分类和识别,其中有43种中药识别率90%以上,最高识别率为95.21%,因此基于深度学习的中药饮片识别方法能够快速、高效进行中药饮片识别,具有较好的实际应用价值。

近期文章推荐(点击即可查看)

中药鲜药发展史、鲜药理论及未来展望

中药毒性相关数据库的研究现状及对比研究

《香港中药材标准》发展概况、工作程序和研究技术特点

排版:高瑞祥     校对:陈金秋     审核:蒋涵如

转发本文,或在文末右下角点击在看

感谢您对小编的支持 ,更多精彩请关注公众号~

声明:本文来源于西北农业学报.2023,32(11),转载自知网。分享仅为传播中药基础知识,其版权归原作者所有,文中观点仅代表作者本人,不代表本平台立场,感谢原作者的辛苦付出。转载请标明来源。若有异议,将做删除处理。

由于公众号平台更改了分发机制,不再按照时间显示,而是按权重随机推送,如您没有对我们公众号设为星标,也很少点在看,权重会降的非常低,有可能看不到我们的推文内容了。

如果大家觉得我们的内容还不错,还想每天看到更多文章,请大家动动手:

1.将中药材种植养殖专业委员会公众号设为星标

2.看完文章,在文末右下角给我们点下在看

3.点击左下角分享,更欢迎您的留言评论。

每天一品种,学习靠谱技术

中药材科学种养殖

道地药源

期待你的加入扫码关注

微信公众号|中药材种植养殖专业委员会

中国中药协会|中药材种植养殖专业委员会

入会咨询

扫码添加微信咨询

扫描二维码推送至手机访问。

版权声明:本文素材来源于网络,如有侵权请联系删除。

本文链接:http://www.xiaobingzhong.com/?id=24651

“基于深度学习的中药材饮片识别” 的相关文章

导致男人脱发的5大原因男性脱发吃什么食物好?

导致男人脱发的5大原因男性脱发吃什么食物好?

许多男人不到40就秃顶了,看着日渐稀少的头发,不少男人都犯愁,可又不知怎么办。要想彻底根除脱发,就需找到脱发的原因。那么,男人脱发的原因有哪些呢?男性脱发的治疗方法有什么呢?男性脱发的食疗方...

头皮瘙痒、头发突然脱落,这是血热型脱发!老中医教你治疗调理

头皮瘙痒、头发突然脱落,这是血热型脱发!老中医教你治疗调理

生活中大多数人都会出现脱发现象,然而引起脱发的原因也多种多样。中医认为有肝肾虚弱,血虚,血瘀,血热,气血虚弱,湿热,焦虑,失眠,有脂溢性脱发,中毒等等原因。今天我们先来了解一下血热型脱发!...

脂溢性脱发分为五种证型,治疗要遵医嘱辨证进行

脂溢性脱发分为五种证型,治疗要遵医嘱辨证进行

脂溢性脱发的发病率高居所有脱发病之首。脂溢性脱发就是生活中常说的雄性秃或雄激素源性脱发。但这并非就是特指男性脱发,女性患者也不少见。因为脂溢性脱发与雄激素相关,无论男性还是...

这5个因素都会让你加入“脱发大军”,有人居然全中了!

这5个因素都会让你加入“脱发大军”,有人居然全中了!

在日常生活中,人的头发都有一个生长规律和周期,一般来讲,每个人都会有掉头发的情况,但正常的掉头发数量一般都控制在一个数量内。还有这人会因为各方各面的原因,造成头发脱落严重,...

2023中国临床实践指南:雄激素性脱发诊断与治疗

2023中国临床实践指南:雄激素性脱发诊断与治疗

本文来源:选自《中华整形外科杂志》, 2024,40(1) : 1-20. 雄激素性脱发(androgenetic alopecia,AGA)发病率逐年增高并呈现低龄化的趋势,困扰着...

深入扒一扒NumPy中文网《防脱发指南》,糟糕被圈粉了

深入扒一扒NumPy中文网《防脱发指南》,糟糕被圈粉了

整理 | 伍杏玲 出品 | 程序人生(ID:coder_life) NumPy是使用Python进行科学计算的基础包,可用作机器学习、科学计算,深受程序员的喜爱,拥...