
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.
Chine Herbal Medicine Classification and
Recognition Bad 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 Chine medicine, Chine herbal medicine has been recognized by the people in the treatment of certain dias and achieve
d good results. We should make full u of modem science and technology to promote the modernization and internationalization of traditional Chine medicine to meet the development of the times and the growing medical and healthcare needs of the people. By designing the classification method bad on the images of Chine herbal medicine, the accurate classification of Chine herbal medicine can be achieved and the knowledge of Chine medicine can be popularized for the common people. For the 17 kinds of Chine herbal medicines unique to the Yellow River Delta, a data t was established. Using deep learning algorithm for classification, the classification accuracy is finally improved, and the average recognition accuracy of the verification t parated from the training t reaches 96%.
KEY WORDS: WeChat applet; Chine 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 JsonRespon(n,safe^Fal)
賦值后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.