孟 瑤,楊懷卿,楊惠斐,楊 華
(山西農業大學信息科學與工程學院,山西 晉中 030801)
國內樹木資源豐富,有多種植物的葉片可供家畜食用[1]。合理利用這些葉片能擴大家畜飼料選擇范圍,同時節約成本。為解決人工采集可作家畜飼料的植物葉片耗時耗力的問題,通常利用采摘機器人進行自動化采摘。植物葉片識別是自動化采摘的關鍵步驟,多數學者采用機器學習的方法對葉片進行識別,其中,卷積神經網絡以其獨特的讀取方式而被廣泛運用于植物葉片識別研究中。
國內外學者針對植物葉片識別進行了大量研究。Jeon等[2]使用Googlenet模型自動提取Flavia數據庫的植物葉片特征并進行分類識別。Krizhevsky等[3]提出了包含7層隱藏層的AlexNet網絡模型,在ImageNet數據集中失誤率為15.4%。Rashad等[4]以10種不同的植物圖像集作為實驗對象,在對植物圖像的識別過程中,提取到了部分植物葉片紋理特征,取得了較好的識別效果。于慧伶等[5]選取Flavia公共葉片數據集,考慮了葉片信息的邊緣形狀與內部紋理特征,構建了雙路卷積神經網路結構,提高了植物葉片的識別準確率。孫穎異等[6]構建了一種基于殘差連接的Alexnet卷積神經網絡模型,對PlantVillage工程提供的12種植物葉片數據集進行分類和識別。張帥[7]通過8層卷積神經網絡模型分別對PlantNet葉片庫和自擴展的葉片圖庫中的圖像進行訓練和識別,取得較好的識別效果。楊天天等[8]對7種柳屬植物葉片進行圖像分析,通過對單一葉片相關特征融合比較進行識別。龔丁禧等[9]針對傳統圖像識別技術的不足,結合卷積神經網絡技術,在Swedish葉片集上優化算法,該算法優于傳統葉片識別算法。陶震宇[10]通過改進ResNet-50網絡模型,根據農業害蟲數據庫提供的花生病害圖像進行訓練和識別,實現了對花生蟲害的有效識別。邊緣等[11]構建卷積神經網絡模型對Flavia數據集中的植物葉片進行識別,準確率可達90%以上。李龍龍等[12]利用LBP算法通過度量和提取圖像局部的紋理信息,不經過預處理操作進行識別。朱良寬等[13]利用CVL研究領域中的瑞典植物葉片集,提出一種融合DCGAN與遷移學習[14]的植物葉片識別方法。畢立恒等[15]為提高葉片圖像識別率,采用改進神經網絡算法[16-17]提高識別準確率。王艷等[18]及丁常宏等[19]利用深度學習相關算法[20-21]對中草藥圖像進行分類識別,取得不錯的效果。尚建偉等[22]利用Res-Unet模型對德國波恩大學圖像庫提供的雜草數據進行識別,準確率可達98.67%。朱靜等[23]通過葉片圖像的形狀和葉緣特征,對14種植物337份葉片樣本的葉形測試準確率達92%。闞江明[24]提出一種基于植物葉片圖像的自動識別方法,該方法對葉片圖像進行預處理后進行識別,平均正確率為70.83%。
現有對植物葉片的識別方法,大多選取開源圖像進行建模,并且部分學者在構建神經網絡模型時,并未對圖像進行預處理,使得模型訓練時間過長,擴展性不強。筆者采用Alexnet模型構建可作家畜飼料的植物葉片識別模型,以人工采集植物葉片作為研究對象,采用灰度化處理和圖像增強相關方法對葉片圖像進行預處理,從而提高模型識別準確率,旨在實現對可作家畜飼料植物葉片的自動識別。
(1)使用智能手機,對單一背景下可作家畜飼料的植物葉片進行拍攝,構建圖像數據庫。拍攝時間集中為2020年7—8月,地點為山西農業大學植物園內。葉片圖像主要有刺槐、金葉榆、山楂、泡桐、菊芋、毛梾、構樹、桑樹8個種類。圖像數據庫共計5136張植物葉片,分辨率為4032像素×3024像素,隨機選取4104張圖像樣本作為訓練集、1026張為測試集。
(2)考慮到自然環境對植物拍攝的影響,將室外采摘的植物葉片帶回室內進行歸類拍攝,光照為自然光+日光燈。將葉片平鋪于A4紙上,在距離葉片正上方20~35 cm處進行拍攝,角度為80°—90°。可作家畜飼料的植物葉片圖像集如圖1所示。

圖1 可作家畜飼料的植物葉片圖像集合
1.2.1 圖像灰度化 為更好抑制光照等因素對模型識別的干擾,需要將RGB彩色圖像轉換為灰度化圖像。本研究中采用加權平均法進行灰度化處理。具體如式(1)。

其中,Y(x,y)是坐標為(x,y)的像素點的灰度值,紅(R)、綠(G)、藍(B)為3個顏色分量。葉片原始圖像轉灰度化效果圖,如圖2所示。

圖2 葉片原始圖像轉灰度化圖像效果圖
1.2.2 數據增強 為了增加訓練數據量,提高模型泛化能力,引入了OpenCV計算機視覺的數據增強方法。主要方法有2種。
(1)旋轉(rotation)。通過旋轉、鏡像翻轉擴充數據集,將原始數據集擴充到9600張。并按順時針方向旋轉90°—180°,所得到的葉片圖像旋轉效果圖如圖3所示。

圖3 葉片圖像旋轉效果圖
(2)對比度增強(contrast adjustment)。為了避免葉片受光不均勻而造成失真,對圖像的亮度以及顏色進行調節,以此突出圖像紋理特征。葉片對比度增強效果圖如圖4所示。

圖4 葉片對比度增強效果圖
1.2.3 卷積神經網絡 CNN由輸入層、多個卷積層、池化層、全連接層、輸出層組成。由輸入層讀取預處理后的植物葉片圖像,經過C1層提取出圖像特征,然后由S1層對卷積操作過后的圖像進行降維處理,減少原始圖像帶來的參數,進而通過全連接層將圖像特征進行整合,再通過Softmax分類器對圖片進行分類和識別,最后由輸出層將最終結果展示。CNN工作基礎結構如圖5所示。

圖5 卷積神經網絡的工作基礎結構圖
1.2.4 Alexnet卷積神經網絡模型 Alexnet是CNN中較為經典的網絡模型,包含8層(5個卷積層和3個全連接層)。每一個卷積層中包含了激勵函數ReLU(Rectified Linear Unit)以及局部響應歸一化LRN(Local Responce Normalization)處理。使用ReLU激活函數降低訓練時間,解決了梯度彌散問題,LRN局部響應歸一化層抑制模型中反饋較小的神經元,增強模型泛化能力,并在全連接層后引入Dropout避免網絡過擬合。該模型在圖像分類和識別領域獨具特色。Alexnet模型網絡示意圖如圖6所示。

圖6 Alexnet卷積神經網絡示意圖
在第1個卷積層中輸入大小尺寸為224×224×3的圖片,224個像素代表圖片的長寬,RGB彩色圖通道為3通道,采用了96個11×11×3尺寸大小的卷積核,在步數為4的像素設置下,對所輸入的圖像進行卷積操作。將輸出作為第2個卷積層的輸入,利用256個5×5×48尺寸大小的卷積核,在步數為1的像素設置下通過池化操作來降低參數量。緊接著第3個卷積層采用了384個3×3×256尺寸大小的卷積核,第4個采用了384個3×3×192尺寸大小的核,第5層采用256個3×3×192尺寸大小的卷積核,繼而進行池化降維操作。第6、7、8層為模型的3個全連接層,第6、7層包含4096個通道,將之前學習到的圖像特征相融合,在第8層設置為1000輸出,通過Softmax進行分類識別。
1.2.5 基于Alexnet網絡可作家畜飼料的植物葉片識別模型 為了對可作家畜飼料的植物葉片進行識別,將預處理后的數據圖像輸入到Alexnet模型中進行訓練。經過模型中的卷積池化等操作,提取出待檢測圖像的特征,配合Softmax分類器對圖像進行分類識別。利用梯度下降等算法對神經網絡進行有監督學習訓練,從而求得損失函數作為代價函數最小時所對應網絡的參數,最后由輸出層將結果展示。基于Alexnet網絡可作家畜飼料的植物葉片的識別流程如圖7所示。

圖7 基于Alexnet網絡可作家畜飼料的植物葉片識別流程
在Alexnet模型中,卷積層和池化層是重要組成部分,卷積運算[25]用式(2)表達。

采用卷積神經網絡模型中的池化操作對卷積后的特征采樣,因此,池化運算[25]如式(3)。

1.3.1 實驗平臺 實驗在戴爾Inspiron5488版本電腦上運行,CPU為Intel Core i5-8265U,8 G內存;Win10 64位操作系統,開發工具為Pycharm 2019。
1.3.2 Alexnet模型訓練 本次實驗采用批量訓練的方式,將數據集分為訓練集、測試集。訓練集分為4104張,測試集為1026張。模型學習率初始設置為0.0004,train batch及 test batch設置為 32。選用tensorflow作為主要的深度學習框架,通過tf.data模塊將圖像數據轉化成tensorflow可讀的數據結構,封裝多線程使得訓練加速。本研究將迭代輪數(epoch)設置為50輪次,每輪迭代完成之后,觀察訓練精度值是否提升從而保存當前模型。
為觀察Alexnet模型在訓練過程中損失函數和準確率的變化情況。模型會在訓練完成后自動保存日志,并引入matplotlib庫繪制損失函數及準確率變化曲線圖。Alexnet模型對預處理前和預處理后的圖像進行訓練,所得的準確率和損失函數的指標值如圖8所示。從圖中可以看出,將預處理前的圖像輸入到模型中訓練,隨著輸入圖像個數的遞減,損失函數呈緩慢下降趨勢,準確率緩慢上升,模型訓練時間相對較長;而將經過預處理后的圖像輸入到模型中訓練,損失函數在第10輪迭代后有明顯下降趨勢,準確率在第10輪迭代后有明顯提升,訓練時間縮短,整體變化趨勢上模型趨于穩定。

圖8 圖像預處理前后模型訓練結果對比圖
表1給出了8種可作家畜飼料的植物葉片在Alexnet模型中的識別準確率。將圖像預處理前和預處理后的葉片識別率進行對比,Alexnet卷積神經網絡模型對預處理后的可作家畜飼料的植物葉片識別準確率達到98.38%。

表1 植物葉片識別準確率
本研究構建了Alexnet可作家畜飼料的植物葉片識別模型。在實驗室對采集的8種可作家畜飼料的植物葉片進行歸類拍攝,共計5130張。然后采用圖像預處理相關方法優化葉片數據集,進而構建Alexnet卷積神經網絡模型,分別對預處理前和預處理后的植物葉片進行訓練,識別率為78.52%和98.38%,表明該模型對圖像預處理后的植物葉片識別率較好。后續還需開展以下研究:(1)文章只對單一背景下可作家畜飼料的植物葉片進行識別且種類較少,當背景復雜且種類較多時,該如何構建模型進行識別。(2)本研究在采集植物葉片圖像時,拍攝背景單一且角度固定。當背景復雜且拍攝角度多變時,葉片會出現重疊,并且會有光照影響。在這種狀態下,該如何對植物葉片圖像進行處理以及構建模型。