李萬虎 吳麗麗



關鍵詞:卷積神經網絡;AlexNet;中藥材;圖像識別
中圖分類號:TP391 文獻標志碼:A
0 引言(Introduction)
我國是中藥材的發源地,藥材資源豐富,并且95%以上的中藥材為植物藥材。中藥歷經數千年發展,展現了它強大的生命力和我國醫藥特色優勢。新型冠狀病毒感染暴發以來,中醫藥一直在抗擊感染中發揮了重要作用,一些中醫藥療法在病例的救治和康復中起到良好效果。因此,我們要堅定不移地推動中醫藥的發展。
目前,傳統圖像處理和卷積神經網絡均可用于中藥材識別。孫鑫等[1]通過構建白薇等50種常見中藥飲片圖像數據庫,運用Softmax損失訓練網絡模型,平均識別精度達到70%。屈凌波等[2]利用人工神經網絡對中藥進行模式識別,預測率最高能達到93.7%。劉勍等[3]介紹了圖像處理技術對中藥材的檢驗過程,然后對中藥材圖像鑒定與識別技術面臨的問題及發展前景做了探討與展望。徐飛等[4]通過正交試驗優化卷積神經網絡,其圖像識別準確率為90.9%。劉加峰等[5]建立的中藥飲片圖像檢測識別系統,平均識別率高于80%,但只能識別三種中藥飲片。
分析以上研究可知,在對中藥材識別分類研究上,上述方法在特定的中藥鑒定場景中取得了較好的效果,但對細節特征的關注度不高,鑒別準確度仍然不足。同時,網絡模型設計復雜,難以遷移,其鑒定結果不可量化,與實際應用存在差距。本文提出的基于改進型AlexNet的中藥材圖像識別模型可以解決以上問題。
1 材料與方法(Materials and methods)
1.1 數據集
本研究以百部(Radix stemonae)、白芍(Paeonia lactiflorapalls)、枸杞(Wolfberry)、黃精(Rhizoma polygonati)、姜黃(Turmeric)、蒲黃(Cattail pollen)、蛇床子(Fructus cnidii)、益母草(Motherwort)、郁金(Curcuma turmeric)、枳殼片(Aurantiumaurantium)共10種中藥材為對象,數據集通過Python爬蟲算法爬取百度圖片里的相關關鍵字,每一類選取500張,共5 000張構成數據集,按照占圖像總數量的80%、10%、10%的比例劃分出訓練集4 000張、驗證集500張、測試集500張,將該數據集命名為CMM,如圖1所示[6]。
1.2 數據增強
由于數據量較小,為了避免訓練過擬合,因此需要對原始數據進行增強處理。本研究使用Keras(由Python編寫的開源人工神經網絡庫)中的ImageDataGenerator函數對圖片進行隨機縮放、隨機剪切、水平翻轉,對數據進行擴增,再經過數據篩選和數據分布均衡調整,最終構成每類1 000張,共10 000張圖片的新數據集,增強后的數據集命名為CMM1,按照各占圖像總數量的比例進行劃分,訓練集占比為80%,即8 000張,驗證集占比為10%,即1 000張,測試集占比為10%,即1 000張,如表1所示。
1.3 AlexNet模型
目前,有多種網絡模型可用于圖像分類,例如AlexNet卷積神經網絡、VGGNet卷積神經網絡、ResNet殘差卷積神經網絡等。查閱相關文獻,分析評估參數量、可用性、計算資源需求量、易用性等因素,最終將AlexNet網絡模型作為本研究的基礎模型,其模型結構如圖2所示。
1.5 AlexNet網絡的改進設計
為了構建準確率高和收斂快的網絡模型,本文提出了改進型AlexNet的中藥材圖像識別的網絡模型,具體的改進設計介紹如下。
1.5.1 加入嶺回歸分析
我國的中藥材中有95%以上是植物藥材,它們的圖像特征等信息有很多的相似之處,如果使用傳統模型訓練,就會出現過擬合現象,導致識別準確率較低。為了解決該問題,本文研究引入嶺回歸分析,它可以在一定程度上弱化過擬合問題,對多重共性信息的數據具有較好的分析能力。
1.5.2 改進AlexNet模型
通過文獻[11]發現,原AlexNet網絡模型提取特征能力最強的是第三層和第四層,為了提高分類的精確度,對模型的改進和優化重點集中在這兩層。經過多次實驗發現,可以在第三層之后插入一層,即新的第三層(如圖3所示),新的第三層與原來的第三層結構一致,由于增加了卷積操作,因此可以過濾更多的有效特征,因此特征提取能夠更精確。新的第三層卷積核的大小為3*3,數量為192×2=384個,步長為1,使用ReLU激活函數。輸入特征圖像先擴展一個像素,大小為15×15;輸出特征圖像大小為(15-3)/1+1=13,即13×13×384。
1.5.3 引入遷移學習
為了進一步加快訓練速度,使模型更快收斂,同時為了提高模型識別的精確度,本研究在模型訓練時,引入遷移學習的訓練方法。遷移學習可以使用其他大批量數據訓練所得模型用于訓練新數據,由于大部分數據和任務間存在相關性,因此可以減少訓練步驟,縮短訓練時間,并增加數據量,達到降低過擬合程度的目的。
2 結果驗證(Result verification)
2.1 實驗平臺
本研究基于PyTorch平臺搭建,PyTorch主要用于自然語言處理,它是一個基于Torch的Python開源機器學習庫,不但能夠實現GPU加速,而且能支持動態神經網絡。實驗所用的軟硬件環境如下:Windows 10操作系統,AMD i5-10210u,16GB內存,Python 3.8,JetBrains PyCharm 2018.3.7 x64,GPU 租用AutoDL AI算力云,配置的CPU為14 核2.00 GHz,Intel(R)Xeon(R)Gold 6330,內存為30 GB。
2.2 實驗驗證
本文將每個類別800張,共10個類別,總數量為8 000張中藥材圖像輸入改進后的AlexNet網絡模型中進行訓練,如圖4所示,橫坐標迭代次數代表權重更新的次數,左側縱坐標為訓練過程中真實值與預測值之間產生的損失值,右側縱坐標為Top1值。模型訓練輸入的batch_size 為128,圓圈曲線代表Top1值,倒三角曲線代表損失值。損失值向0.0趨近,Top1 值向1.0趨近。在訓練過程中,就總體趨勢而言,隨著Top1值的不斷增大,損失值不斷減小,在部分階段雖然有反彈的趨勢,但是隨著訓練迭代次數的增加,模型最終克服了局部最優的局面,向全局最優的趨勢發展。損失值和Top1值最終變得平緩并趨于穩定。
3 網絡模型對比實驗(Comparison experimenton network models)
為了驗證改進型AlexNet網絡模型性能的優越性,采用損失值圖[如圖5(a)所示]和Top1值圖[如圖5(b)所示]與AlexNet原網絡模型和ResNet50網絡模型進行對比。圖5(a)中圓圈代表改進后的AlexNet,黑色填充正方形代表AlexNet原網絡模型,菱形代表ResNet50網絡模型,三個網絡模型都采用相同的訓練參數。從圖5可以清晰地看出,本實驗提出的改進型AlexNet網絡的平均識別準確率優于原AlexNet網絡模型和ResNet50網絡模型,這證明了改進型AlexNet網絡模型具有一定的優越性。
為了進一步評估改進后的AlexNet網絡模型、AlexNet原網絡模型和ResNet50網絡模型三個網絡模型的表現,又選取準確率指標對三個網絡模型進行評優。如圖6所示,正方形代表改進后的AlexNet,三角形代表AlexNet原網絡模型,圓圈代表ResNet50網絡模型,選取測試數據集中10%的圖片作為實驗評估時選用的數據集,劃分數據集時先打亂數據集后再劃分,從而確保實驗的說服力。在驗證時共設置100個迭代輪數,每經歷5個輪數開啟一次驗證。由圖6可以看出,改進型AlexNet網絡模型應用于中藥材圖像識別較AlexNet原網絡模型和ResNet50網絡模型更具優勢。
完成模型評估后,開始對訓練好的模型進行測試,測試集是數據集總數的10%,測試結果以十行十列混淆矩陣的形式展現,如圖7所示,橫坐標為每一類中藥材預測的分類百分比,縱坐標為真實分類百分比。橫坐標百分比相加結果應為1,代表對每一類中藥材圖像正確預測與錯誤預測之和。圖7中橫縱坐標重合處對角線代表分類正確的結果,顏色越深,表示分類準確率越高。
為了進一步驗證訓練模型的有效性與準確性,除使用混淆矩陣,還引入Precision(精度)、Recall(召回率)、F1 Score(平衡F分數)三個指標評價模型,結果見表2。
4 結論(Conclusion)
本研究以百部等10種中藥材為研究對象,構建了10種中藥材數據集,通過改進AlexNet原網絡模型,得到了一種用于百部、白芍、枸杞、黃精、姜黃、蒲黃、蛇床子、益母草、郁金和枳殼片等中藥材圖像識別的卷積神經網絡模型,圖像識別準確率為95.4%,同時解決了模型難以遷移和鑒定結果不可量化的問題。下一步,計劃繼續提高AlexNet網絡模型的訓練速度和識別精度,主要從兩個方面入手,一是增加本研究構建的AlexNet網絡模型的中藥材識別品種,二是繼續探索增加新的卷積層數,并優化卷積層與池化層之間的連接。
作者簡介:
李萬虎(1990-),男,碩士生。研究領域:圖像識別,人工智能與數據挖掘。
吳麗麗(1979-),女,博士,副教授。研究領域:圖像識別,人工智能與數據挖掘。本文通信作者。