曹香瀅,孫衛民,朱悠翔,錢 鑫,李曉宇,業 寧
(1.南京林業大學 信息科學技術學院, 南京 210037; 2.江蘇省住房和城鄉建設廳住宅與房地產業促進中心,南京 210009)(*通信作者電子郵箱yening@njfu.edu.cn)
植物是生命的主要形態之一,與人類的生活密切相關,對其進行分類識別在生物多樣性保護、生態農業、生物安全中有著重要的意義。目前,對植物種類的識別大部分僅依靠有經驗的專家和相關行業從業人員進行人工識別,識別結果與領域專家的知識和實踐密切相關,這種方法費時費力、效率低下。計算機自動識別一直是計算機視覺的一個重要應用,植物圖像識別也備受關注。
傳統的植物圖像識別方法主要是通過人工干預,由人提取特定的特征,如葉片、花的形狀、顏色、葉脈紋理、邊緣輪廓等,然后根據這些特征或它們的組合,使用各類分類器進行分類。王麗君等[1]基于葉片圖像多特征的融合,提取顏色、形狀和紋理特征,使用支持向量機(Support Vector Machine, SVM)算法[2-5],識別率為91.41%; 鄧立苗等[6]針對玉米葉片單獨進行了 48 個葉片特征的提取,使用SVM算法,識別率達到了96%; Naresh等[7]運用改進的局部二進制模式(Modified Local Binary Pattern, MLBP)提取葉片的紋理特征,在4個單一背景數據集上分別獲得了93.62%、97.55%、90.62%、96.83%的識別率; Chaki等[8]將葉片紋理、形狀特征結合起來,對多個實驗測試識別效果, 最高獲得了67.7%的識別率; Jin等[9]分割了葉片圖像的背景,檢測葉片的輪廓、邊緣和葉片鋸齒特征,在自然環境數據集上獲得了76.3%的平均正確率; Olsen等[10]提取植物葉片的紋理特征,并自己建立植物圖像數據集,獲得了86.07%的正確率; Ghasab等[11]使用蟻群優化(Ant Colony Optimization, ACO)作為特征選擇算法對2 050種樹葉圖像獲得95.53%的識別率。
盡管傳統的植物圖像識別方法的研究取得了許多進展,但事實上用人工選擇的特征不一定能很好地進行植物識別,因為人在選擇特征時都是靠經驗的,具有很大的盲目性,而且這些特征都是針對特定數據和特征提取技術設計的,如果用同樣的特征來處理不同的數據集,結果可能大相徑庭,因此這種特征具有不可遷移性; 同時傳統方法對于復雜背景拍攝下的自然環境圖像識別率明顯降低。隨著深度學習[12]的發展,基于深度學習的方法在圖像識別領域取得了很好的結果。基于卷積神經網絡(Convolutional Neural Network, CNN)[13]的深度學習算法可以自動提取圖像特征而不需要人工干預,很好地克服了傳統的植物葉片識別人為提取特征的缺陷。
近年來,許多研究基于深度學習方法,利用植物的葉片、花朵等圖像對植物進行識別。Liu等[14]利用5層卷積層及3層全連接層(Fully Connected layers, FC)的CNN自動學習優秀的特征來進行花朵分類,在兩個自然環境數據集上分別獲得了76.54%和84.02%的識別率; Grinblat等[15]建立了5層的CNN模型,自動識別葉片紋理圖像,獲得了92.6%的平均正確率; Barré等[16]建立了14層的CNN,從樹葉圖片學習特征取代手工特征,對單一背景數據集識別率達到了97.9%;Pawara等[17]提出將不同分類器的視覺詞與深度卷積神經網絡相結合,在多個植物數據集上均獲得比使用SVM更高的識別率; Jeon等[18]提出基于GoogleNet[19]的多維度分類模型,在純葉片的數據集上獲得了94%的識別率。這些研究中,對單一背景圖像的識別取得了很高的識別率, 然而,對復雜識別背景的自然環境圖像的識別準確率比較低。
為了提高精度和改善深度卷積神經網絡的過擬合問題,本文借鑒現代植物分類學理論,提出科優先(Family Priority,FP)的植物分級識別方法,學習關鍵性的特征。首先判斷植物所屬的科,進一步得到它的種類, 將其與卷積神經網絡MobileNet[20]相結合,搭建科優先植物識別模型(Family Priority MobileNet, FP-MobileNet); 然后利用遷移學習[21]的方法,對MobileNet網絡的結構進行微調,通過訓練網絡權重獲得植物識別模型。實驗使用了單一背景植物葉片數據集flavia[22]和自然環境花卉數據集flower102[23]。實驗結果表明,對于flavia,卷積神經網絡VGG16[24]和MobileNet的識別率分別為 97.3%和99.8%,均高于傳統方法的識別效果;而對于更具挑戰的自然環境數據集flower102,FP-MobileNet模型獲得了最高的識別率99.56%,并且該模型同時保持了較小的權重大小,適合推廣到移動設備應用。
植物識別領域包括兩類問題:單一背景圖像識別和自然環境圖像識別問題。由于拍攝照片時模糊、噪聲、復雜背景等問題的存在,自然環境圖像識別難度更大。基于CNN的深度學習方法發展迅速,應用在植物識別領域也取得了很好的效果。
為了提高識別精度,當前卷積神經網絡的發展趨勢主要有增加網絡的深度和寬度,以及構造新的模型結構,如VGG16[24]、GoogleNet[19]、ResNet[25]等。VGG16是由Simonyan等提出的用于大型圖像識別的深層卷積網絡,網絡結構如圖1。VGG16由AlexNet[26]發展而來,網絡共16層,提出使用小濾波的組合,加深了網絡的層次。

圖1 VGG16模型結構
GoogleNet網絡共22層,為了在擴大網絡的同時盡可能地發揮計算性能,使用稀疏網絡結構,提出加大網絡寬度的Inception模塊,結構如圖2所示,既保持了網絡結構的稀疏性,又能利用密集矩陣的高計算性能。

圖2 Inception模塊
網絡深度的加深帶來的退化問題會導致系統優化困難。ResNet提出引入深層殘差學習框架來解決退化問題。網絡提出Residual結構,如圖3,將擬合目標函數H(x)轉換為擬合F(x)+x, 通過殘差結構起到優化訓練的效果,改善了深度網絡退化的問題。

圖3 Residual結構
雖然隨著研究的發展,深度卷積神經網絡在提高精度和改善網絡性能上取得了很大的進展,但是深度網絡結構復雜,訓練耗時長,模型規模巨大,并且在訓練集規模不夠大時容易出現過擬合的問題。輕量級網絡模型MobileNet兼顧了資源和精度,在保證較高精度同時,優化延遲,降低模型的大小。為了改善過擬合的問題和提高模型對自然環境植物圖像的識別率,本文提出基于科優先策略的植物識別方法,并將其與MobileNet模型相結合,搭建FP-MobileNet模型,得到植物識別模型。
本文采用交叉熵(cross-entropy)作為損失函數對目標網絡進行優化。由于激活函數Sigmoid在上邊界和下邊界斜率值下降得很快,傳統的方差損失函數使得模型的收斂速度變得非常慢; 而交叉熵為對數函數,使得在接近邊界時,模型的收斂速度不會受到影響。將網絡的n個輸入圖像記為{X1,X2,…,Xn},對應的正確標簽為{y1,y2,…,yn},共k類。交叉熵公式為:
(1)
其中σi表示激活函數sigmoid的值:
科優先的植物分類方法首先由Jean Baptiste Lamarck[27]在1778年提出。按照現代植物分類學,植物的逐級分類如圖4所示,植物學家按照“門綱目科屬種”分級方式對植物進行分類,其中植物所屬的科對于區分植物種類十分重要,因此植物學家首先根據植物關鍵特征找到它所屬的科,然后確定物種。事實上,屬于同一科的植物往往形態上比較相似,如圖5,同屬錦葵科的朱槿和木槿在形態上極為相似。

圖4 現代植物逐級分類方法
Fig. 4 Modern plant classification gradual strategy

圖5 同屬于錦葵科的朱槿和木槿
為了改善深度卷積神經網絡存在的過擬合問題,獲得更好的識別效果,除了在網絡中引入dropout[28]以外,本文借鑒植物學家的植物分類學理論,提出科優先策略(FP)模型,優化網絡結構,該模型可以應用于深度學習模型。引入植物的科標簽作為監督學習的另一個學習目標來學習,搭建FP-MobileNet網絡模型。實驗證明引入科優先方法后模型的識別精度提升,泛化能力提高。
FP模型通過CNN得到科標簽的預測結果。由于單獨訓練各科的CNN資源消耗巨大,提出運用多任務學習[29]的方法,降低網絡規模。模型結構如圖6所示,通過一個CNN得到兩組預測輸出:科標簽和種標簽。網絡訓練時,同時完成對科標簽和種標簽兩個維度的預測。科標簽的引入有助于進一步對種標簽訓練的優化。在優化時,網絡同時最小化科標簽和種標簽的交叉熵損失函數。由于有的植物科標簽的關鍵特征易得到,有的植物則是種標簽的關鍵特征易得到,兩個任務同時進行優化,可以實現相互促進,進而使模型識別精度提升。

圖6 FP模型結構
然而,由于網絡打破了植物分級結構,可能存在科標簽與種標簽結果矛盾的情況,如某植物圖像的預測結果中種標簽為朱槿而科標簽不是錦葵。為了解決這一問題,優化時對于科、種相一致的情況,使用標準的交叉熵損失函數,如式(1);否則將該交叉熵損失函數值賦值為0,忽略它的輸出結果。將第i個輸入圖像記為Xi,yci表示預測的種標簽,yfi表示預測的科標簽,則交叉熵值為:
具體的科優先策略模型算法如下所示。
算法 科優先策略模型算法。
輸入 圖片X;
輸出 預測結果y。
1)
forXiinXdo
2)
tmpi= model.train(conv+conv/fc)(Xi)
3)
yfi= model.train(fc+softmax)(tmpi)
4)
yci= model.train(fc+softmax)(tmpi)
5)
end for
6)
forXiinXdo
7)
ifycimatchesyfithen
9)
else
10)
Hi= 0
11)
end if
12)
updateW
13)
end for
MobileNet是谷歌提出的一個適用于移動嵌入式的高效模型。它基于流線型架構,使用深度可分離卷積來構建輕量級深度神經網絡,將標準卷積分解成一個深度卷積和一個點卷積(1×1卷積)如圖7所示, 其中:K為卷積核的長和寬,M為通道數,N為卷積核的數目。深度卷積將每個卷積核應用到每一個通道,而1×1卷積用來組合通道卷積的輸出。MobileNet模型引入了兩個簡單的全局超參數寬度乘數α和分辨率乘數β,因此可以平衡延遲和精度。
本文使用預訓練的MobileNet模型,根據使用的數據集,運用遷移學習的方法建立了MobileNet植物識別模型。FP模型與卷積神經網絡是兼容的,如圖6,將CNN模型MobileNet轉換為科優先的方法形式,建立FP-MobileNet,每個圖像輸入得到科標簽和種標簽兩個輸出,根據交叉熵損失函數進行優化,訓練網絡。

圖7 標準卷積分解過程
flavia[22]是一個單一背景植物葉片圖像數據集, 包括32種植物共1 526幅葉片圖像,每類包括51到76張圖像,均為白色背景上有唯一的葉片圖像。在數據集中隨機選擇1 103幅圖像作為訓練集,423幅圖像作為測試集。
flower102[23]是一個自然環境花卉圖像數據集,包括102種花卉,每類包括40到258張圖像,共8 189張圖像,均在自然環境下拍攝。按兩種方案進行訓練集和測試集的劃分:方案一在數據集中隨機選擇6 149幅圖像作為訓練集, 2 040幅圖像作為測試集; 方案二隨機選擇2 040幅圖像作為訓練集,6 149 幅圖像作為測試集。當訓練集的圖像數量少于測試集時,研究具有更大的挑戰性,從而進一步驗證模型的識別率和泛化能力。

圖8 數據集圖像示例

數據集類別數訓練集大小測試集大小favia321103423flower102方案一10261492040flower102方案二10220406149
驗證深度卷積神經網絡對單一背景植物圖像的識別率,將卷積神經網絡VGG16和MobileNet對flavia數據集進行識別,進行對比的傳統方法有兩種,分別是:概率神經網絡(Probabilistic Neural Network, PNN)[22]和結合灰度共生矩陣(Gray-Level Co-occurrence Matrix, GLCM)、空隙度(lacunarity)和Shen特征的模型[30]。從表2可以看出,目前傳統方法與深度學習方法對單一背景植物圖像的識別研究已經達到了較高的水平,并且卷積神經網絡通過對圖像端對端的學習,可以達到比傳統方法更好的結果。

表2 數據集flavia上各方法的識別結果
表3給出了FP-MobileNet和MobileNet在flower102數據集上的識別結果。由于圖像背景復雜,flower102數據集的識別挑戰性更大。按照方案一和方案二不同的數據集劃分方法,FP-MobileNet的識別率分別為99.56%和95.56%,均高于單純使用MobileNet模型的識別結果。在訓練集規模小于測試集的方案二劃分方法下,FP-MobileNet仍取得了95.56%的識別率,表明該模型具有很好的自然環境植物識別效果和泛化能力;同時,比較兩種模型的權重發現,FP-MobileNet保持了MobileNet權重規模小的特點。實驗結果表明,FP-MobileNet作為輕量級網絡,具有較低權值和較高識別率的優勢,適合推廣到移動設備上使用。

表3 數據集flower102上各方法的識別結果
本文利用遷移學習的方法,借鑒現代植物分類學理論,提出了科優先的植物分級識別方法,并與MobileNet相結合,搭建植物圖像識別模型FP-MobileNet。在相對容易的單一背景數據集上,深度學習模型MobileNet獲得了比傳統識別方法更好的識別結果。對于更具挑戰的自然環境植物圖像, FP-MobileNet模型在訓練集規模小于測試集的情況下,仍取得了95.56%的正確率,高于單純使用MobileNet網絡。該模型改善了卷積神經網絡的過擬合問題,降低了權重大小,提高了對自然環境植物圖像的識別率和泛化能力。在數據集flower102上FP-MobileNet模型的權重僅占13.7 MB,在保持較高識別率的同時有效降低了模型的權重空間,適合向需要輕量模型的移動設備推廣。
下一步將進一步研究如何提高卷積神經網絡對具有復雜背景的自然環境圖像的識別準確率,并研究更高效的科優先植物識別方法。