王艷,孫薇,周小平
(吉林大學藥學院,吉林 長春 130012)
藥用植物學野外實習作為藥學專業實驗課程體系的重要組成部分,各學校均會組織學生到野外實習作業,本院就利用長白山豐富的藥用植物資源使學生掌握中草藥識別方法[1]。為了提高野外實習效率,設計并開發了中草藥植物圖像識別系統,收納了包括蕨類植物、裸子植物以及雙子葉植物150種野外常見植物藥。由于長白山地區光照環境變化較大、中草藥拍攝視角不同且圖像背景較為復雜,導致圖像識別精度不是很理想。
為了解決上述問題,本文開展了基于深度學習的中草藥圖像分類識別方法的研究。首先通過仿射變換等數據增強操作對樣本數據集進行擴充。然后采用圖像分割算法將中草藥植物葉片從復雜圖像背景中分離出來。最后提出了一種深度編碼解碼網絡對中草藥圖像進行分類識別,并通過遷移學習解決了數據饑餓問題。實驗結果表明,該方法在光照環境較為復雜的場景下,對中草藥圖像的能夠表現出較高的識別精度。
中草藥圖像識別的基本原理是基于統計模式識別的方法,即具有相似性的樣本在模式空間中是互相接近的,而具有不同特性的樣本必然存在著某些信息上的差異性,這些差異性可以根據已有的樣本集進行統計獲得,通常采用距離函數進行度量[2]。主要包括兩類方法[3]:1)通過建立一個先驗的背景模型,利用圖像檢測算法提取出圖像中所存在的“奇異”信息;2)通過提取圖像特征實現對目標圖像的特征分割,進而檢測出圖像的興趣目標,識別原理框圖如圖1所示。

圖1 中草藥圖像識別原理框圖
在圖1中,預處理包括圖像歸一化、數據集擴充和圖像分割操作。通過歸一化操作將圖像轉化成標準模式,包括對數函數轉換法、線性函數轉換法和法余切函數轉換法。通過數據增強對深度學習訓練樣本數據集進行擴充[4]。通過圖像分割算法將中草藥植物葉片從復雜背景圖像中分離出來[5]。特征提取與選擇是從采集到的圖像中提取各類特征并進行選擇的過程,主要采用基于目標表征模型的特征提取方法,包括基于點特征模型、基于形狀的模型、基于表觀的模型和基于運動的模型[6]。分類器是對圖像類別及其特征按照一定的算法進行學習訓練后,對任意給定的圖像特征進行判別,包括K近鄰法、神經網絡法和支持向量機法等[7]。
基于深度學習的中草藥圖像識別方法可以表示為圖像的深度特征提取和基于深度神經網絡的目標識別和定位。其中用到的主要深度學習模型是卷積神經網絡(Convolutional Neural Network,CNN),它是一種深度前饋神經網絡。目前可以將基于深度學習的目標檢測與識別方法分為三類[8-9]:基于區域建議的目標識別算法,如R-CNN、Fast R-CNN和Faster R-CNN;基于回歸的目標識別算法,如YOLO和SSD;基于搜索的目標識別算法,如AttentionNet和深度強化學習算法。近些年最具代表性的工作是參考文獻[10]設計的AlexNet,網絡結構及參數配置如圖2所示。

圖2 AlexNet網絡結構
在圖2中,AlexNet主要由5個卷積層和3個全連接層組成,最后一個全連接層通過softmax分類器對1 000個類別的圖像進行分類識別。AlexNet是第一個使用卷積神經網絡在ILSVRC比賽獲得冠軍的網絡結構,具有如下特點:1)使用ReLU作為卷積神經網絡的激活函數,加快了深度網絡的訓練速度;2)首先通過平移、縮放、旋轉等對數據集進行增強處理;3)使用Dropout避免過擬合,并使用更有效的方式進行模型融合;4)提出了Local Response Norm層,增強了模型的泛化能力;5)使用CUDA加速深度卷積網絡訓練,提升了計算效率。
AlexNet中連續的卷積并不能充分還原復雜場景下低質量圖像的細節信息,導致圖像目標檢測與識別精度受限。筆者通過反卷積對AlexNet卷積提取的圖像特征進行細節補充[11],采用一種深度編碼解碼網絡對中草藥植物圖像進行分類識別。首先通過卷積操作提取圖像的深層次特征,然后通過反卷積操作來對圖像特征細節信息進行復原重建。深度編碼解碼網絡由卷積層、激活函數、池化和反卷積層組成,網絡結果如圖3所示。

圖3 深度編碼解碼網絡結構
2.2.1 網絡參數配置
深度編碼解碼網絡包括兩個卷積層、一個反卷積層和一個全連接層,如圖4所示。其中conv1表示卷積層,deconv2表示反卷積層,卷積核大小為11×11,卷積核數量為96。卷積層初始化參數與通過AlexNet訓練參數相同,deconv2參數與conv2參數相同。

圖4 深度編碼解碼網絡參數配置
2.2.2 卷積和反卷積操作
卷積和反卷積操作如圖5所示。在圖5中,多對一卷積通過濾波和激活函數,使低質量圖像特征得到增強,并對圖像噪聲可以起到抑制作用。一對多反卷積可以復原重建出更多的圖像細節特征,通過反卷積核對圖像特征映射降維。筆者在這里給出卷積層的計算公式:

圖5 卷積與反卷積操作

(1)
(2)
在公式(1)和(2)中,inputw,inputh表示輸入圖像的寬度和高度,outputw,outputh表示輸出圖像的寬度和高度。kernelsize表示卷積核大小,stride表示步長值,pad表示填充值。
2.2.3 網絡結構優化
通過遷移學習解決數據饑餓問題[12-13],采用訓練好的AlexNet參數對深度編碼解碼網絡卷積操作的參數進行初始化,采用高斯分布對反卷積參數進行初始化。通過平移、旋轉、縮放等對圖像樣本集進行數據增強處理,如圖6所示。

圖6 圖像樣本數據增強
實驗測試計算機硬件環境:處理器Intel Core i9-9900K,顯卡GeForce RTX2080 Ti,內存64 GB。計算機軟件環境:基于Python的數據處理和科學計算平臺Anaconda,Python IDE編輯器Pytorch。
從長白山中草藥植物圖像數據庫中隨機提取3 752張圖片組成圖像樣本數據集,包括:人參、刺五加、松茸、天麻、北冬蟲夏草、靈芝、紅景天、紫杉、沙棘、藍靛果、黃芪、五味子、月見草、細辛和平貝母,共計15種中草藥。通過旋轉、翻轉、仿射變換和下采樣等數據增強操作對樣本數據集進行擴充,得到18 760張圖片組成的樣本數據集,將樣本數據集劃分為訓練樣本和測試樣本,其中訓練樣本15 008張、測試樣本3 752張。
首先采用基于蟻群優化的圖像分割算法[14]將中草藥植物葉片從復雜圖像背景中分離出來,然后分別采用AlexNet和深度編碼解碼網絡結構對圖像訓練樣本數據集進行深度學習分類訓練,并分別使用Softmax分類器對15種中草藥植物圖像進行分類識別。最后對3 752張測試樣本圖像進行分類識別。實驗結果如圖7所示,深度編碼解碼網絡在13種中草藥植物圖像識別中表現出較高的精度,平均識別精度為99.38%。

圖7 中草藥圖像分類識別結果
通過開展基于深度學習的中草藥圖像分類識別方法的研究,建立了一種基于深度編碼解碼網絡的中草藥分類識別系統,用于解決長白山野外實習草藥圖像分類識別精度較低的問題。首先,通過平移、旋轉、縮放和仿射變換對圖像樣本進行數據增強處理。然后,采用基于蟻群優化的圖像分割算法將中草藥植物葉片從復雜的圖像背景中分離出來。最后,提出一種深度編碼解碼網絡對15種中草藥圖像進行分類訓練,并通過遷移學習解決了數據饑餓問題。實驗結果表明,該方法在光照條件較為復雜的場景下,對中草藥圖像識別能夠表現出較高的精度,平均識別精度為99.38%。