聶聰穎,唐晶磊
(西北農(nóng)林科技大學 信息工程學院,陜西 楊凌 712100)
近年來,隨著計算機視覺的快速進步,植物自動識別[1]已引起越來越多的關注。Y H Sharath Kumar等[2]首先通過圖像分割[3]和骨架修剪算法得到花的骨架,再利用德勞內(nèi)三角剖分提取花朵的長度和角度特征,最后對花朵進行識別,在30類花卉中驗證了該算法的合理性。于慧伶等[4]通過構建雙路卷積神經(jīng)網(wǎng)絡模型,融合了邊緣特征和內(nèi)部紋理特征,對44種植物葉片進行了識別。張善文等[5]提出一種基于典型相關分析(CCA)的對全局和局部特征進行融合的植物識別方法,將梯度直方圖(HOG)[6]和邊緣輪廓Fourier描述子相融合,采用K-最近鄰分類器對50種葉片進行植物識別。羅娟等[7]提出了多線索植物識別模型,利用了植物的7個不同部位對12種植物進行識別。
盡管植物識別方法的研究已經(jīng)取得了許多進展,但是仍然存在許多問題。基于圖像分析的植物識別過程中,研究目標一般只包含數(shù)十種植物,并且數(shù)據(jù)分布較為平衡。而在現(xiàn)實世界中存在著上萬種植物,并且數(shù)據(jù)分布往往不平衡。因此,為了更好對現(xiàn)實世界中的植物進行研究,本文采用包含上千種植物且數(shù)據(jù)分布極不平衡的PlantCLEF2016數(shù)據(jù)集[8]。
為了研究大規(guī)模的植物識別,我們需要解決的一個問題是如何為植物識別獲取更多的判別特征。但是,大多數(shù)現(xiàn)有方法僅從深度CNN的最后一個完全連接層中提取一組深度特征[9,10],而使用一組深度特征無法有效完成大規(guī)模植物識別的任務。通過采用特征融合的設計思想,對不同特征進行融合重復利用,可以使特征更具有判別力和表現(xiàn)力。但是,大多數(shù)現(xiàn)有方法僅從深度CNN的最后一個完全連接層中提取一組深度特征[9,10],而使用一組深度特征無法有效完成大規(guī)模植物識別的任務。通過采用特征融合的設計思想,對不同特征進行融合重復利用,可以使特征更具有判別力和表現(xiàn)力。但是不同的特征對圖像的表達能力不同,應根據(jù)據(jù)不同的特征設置不同的融合權重。尹紅等[11]通過對VGG-16網(wǎng)絡Relu5_2層和Pool5層的特征進行融合實現(xiàn)了對花卉的識別,但融合方式為固定加權融合,不能適應輸入圖像的變化。馮瑋等[12]對圖像分別進行PCA和隨機投影降維處理,再對降維后的矩陣采用加權融合,提高了分類性能,但其融合權重只是人工確定,不能根據(jù)輸入圖像自適應地動態(tài)調(diào)整。因此,采用自適應加權特征融合的方法,能夠自適應地學習不同特征的融合權重,更好地進行大規(guī)模植物識別。而樣本分布不平衡會使分類模型偏好多數(shù)類樣本,造成少數(shù)類樣本的分類精度較低[13]。因此,采用對不同類別設置不同的損失函數(shù)權重以解決樣本不平衡問題,提高模型的分類性能。
基于以上分析,本文提出基于顯著特征和全局特征融合的植物識別方法,首先設計了多層特征融合方法,使用該方法對VGG19[14]網(wǎng)絡卷積層進行改進,并將植物圖像輸入改進后的VGG19網(wǎng)絡卷積層進行全局特征提取,其次利用基于K-means[15,16]的顯著特征提取方法,通過全局特征提取圖像的顯著特征,然后使用自適應加權特征融合方法將顯著特征和全局特征進行融合以獲取融合特征,最后將融合特征輸入優(yōu)化后的VGG19分類子網(wǎng)絡中進行識別。此外,利用Focal Loss損失函數(shù)增大少數(shù)類樣本的權重,以對網(wǎng)絡參數(shù)進行優(yōu)化。
VGG19網(wǎng)絡在卷積層結構上已經(jīng)能夠提取較優(yōu)的特征,取得較好的分類效果,并且具有結構簡單、擴展性強等特點。該網(wǎng)絡提出用尺寸小的卷積核代替尺寸大的卷積核,通過反復堆疊3×3的卷積核使網(wǎng)絡達到與5×5、7×7等較大卷積核相同的感受野,不僅減少了網(wǎng)絡的參數(shù),而且產(chǎn)生了更多的非線性映射,增強了網(wǎng)絡的表達能力。VGG19網(wǎng)絡總共19層,包括5組卷積層、5個池化層和3個全連接層。卷積層結構見表1。
表1 VGG19網(wǎng)絡卷積層結構
VGG19網(wǎng)絡中不同的卷積層學習表達的特征是不同的,對圖像進行卷積,就是不斷地對圖像特征進行過濾篩選,以得到有用的信息。經(jīng)過多次卷積得到的高層特征損失了較多的細節(jié)信息,獲得了較為豐富的語義信息,而低層特征經(jīng)過的卷積次數(shù)較少,仍然保留了圖像中許多的細節(jié)信息。高層特征的語義信息具有較強的特征表達能力,低層特征中包含較多的圖像細節(jié)特征,可作為高層特征的補充。因此,本文基于多層融合的思想,將VGG19網(wǎng)絡中的高層特征與低層特征融合,得到全局特征,以次來提高特征的表達能力。多層特征融合模型如圖1所示。全局特征提取過程如下:
圖1 多層特征融合模型
(1)對圖像進行預處理。設輸入圖像為I∈R(H×W×C),I縮放到512×512大小,進行歸一化、去均值操作。
(2)利用多層特征融合來提取全局特征。預處理后的圖像首先通過前兩組卷積層conv1(conv1_1、conv1_2)、conv2(conv2_1、conv2_2)進行特征提取,然后依次將第3、4、5 組卷積層內(nèi)的conv3_1與conv3_4、conv4_1與conv4_4、conv5_1與conv5_4分別進行融合處理,并輸入到下一層,最后得到的結果就是全局特征F∈R(H×W×D),D為特征圖的通道數(shù),F(xiàn)為全局特征。
顯著特征是圖像中最具有判別性的特征,使圖像有效區(qū)別于其它種類,對識別結果起決定性作用[17],因此本文利用顯著特征來增強特征的表達能力,進而提高植物識別的性能。為了不增加訓練難度,本文設計了一種在網(wǎng)絡的前向傳播過程中,基于K-means提取顯著特征的方法。
對于全局特征F,可以將它看作包含D個H×W大小的特征圖F={F1,F2,…,Fn,…,FD}(Fn代表第n個通道的特征圖)。圖2對數(shù)據(jù)集中兩張植物圖像全局特征的不同通道的特征圖進行了展示,可知單一通道的特征圖中響應高的位置基本都在圖像的目標區(qū)域,但是響應并不規(guī)律。因此,本文綜合考慮全局特征中所有通道的特征圖,當多個通道的特征圖在同一位置都響應比較高時,則代表該位置具有顯著特征。
圖2 不同通道特征
采用K-means算法,生成k個顯著特征圖,即得到每張圖像的k個顯著特征。顯著特征提取過程如圖3所示,依次對每個通道的特征圖Fn計算出該特征圖中極大值點的坐標(x,y),該坐標即為圖像在此特征圖上響應最高的位置,從而得到全局特征圖F的坐標集P=(p(1),p(2),…,pD)∈R(D×2);通過K-means算法對P進行聚類,在D個坐標中隨機選擇k個坐標作為初始聚類中心μ(1),μ(2),…,μ(k),對應的簇為C1,C2,…Ck,根據(jù)式(1)計算樣本p(j)(j∈(1,2,…,D))與各聚類中心的距離,把其劃入距離最小的簇中,劃分完所有樣本后根據(jù)式(2)計算新的聚類中心,重復以上步驟直到聚類中心不再更新,最后得到k個簇
圖3 顯著特征提取過程
(1)
(2)
響應高的位置相近的特征圖屬于同一簇,多個特征圖在同一位置都響應最高,表明此位置具有顯著特征。將同一簇的特征圖在深度方向上進行求和再計算平均值,得到k個二維張量A∈R(H×W),即k個顯著特征圖,計算公式為
(3)
顯著特征提取結果如圖4所示。圖4(a)為植物圖像,圖4(b)和圖4(c)中所標注的位置為顯著特征??梢娀贙-means的顯著特征提取,不僅能準確地提取到顯著特征,而且能有效的將不同位置的顯著特征區(qū)分開,比如在圖4(b)和圖4(c)的圖像中,將原始圖像的葉和花(果實)的特征分別進行了提取。
圖4 顯著特征提取結果
圖像特征包含全局特征和局部特征這兩種,全局特征是指能夠描述圖像整體信息的特征,但對局部細節(jié)特征表達不足;而局部特征反映的是圖像局部的信息,但對圖像全局能力描述不夠。
顯著特征是圖像的局部特征,是圖像識別中重要的鑒別信息,包含眾多的特征細節(jié),所以可以采用局部區(qū)域的顯著特征來表征圖像。僅僅采用全局特征或者顯著特征,都會或多或少地丟失圖像原來的信息,造成圖像識別結果不夠理想。將全局特征和顯著特征相融合產(chǎn)生更具判別性的特征,以實現(xiàn)對大規(guī)模植物更準確的識別。但是不同的顯著特征表達了不同的圖像信息,對分類結果的貢獻程度不同。因此,需要對不同的顯著特征設置不同的權重來進行融合。而融合權重的確定是加權融合方法的關鍵。本文采用自適應加權融合的方法對顯著特征和全局特征進行融合,根據(jù)不同的植物圖像,對不同顯著特征的權重動態(tài)調(diào)整,使得融合特征具有更強的表達能力,以進行大規(guī)模植物識別。
自適應加權融合方法可表示為
Gfuse=f(F,A;φ(F))
(4)
其中,F(xiàn)表示全局特征,A=(A1,A2,…,Ak)表示顯著特征,φ表示權重獲取函數(shù),f表示融合函數(shù)。
將F作為函數(shù)φ的輸入,得到A所對應的融合權重,由式(4)可知,不同A對應于不同的權重值。為顯著特征A增加權重系數(shù)后,和全局特征F進行點乘融合,得到融合特征。為全局特征增加了更具有判別性的顯著特征信息。特征融合如式(5)所示
(5)
其中,F(xiàn)表示全局特征,A=(A1,A2,…,Ak)表示顯著特征,G∈R(H×W×kD)表示融合特征。點乘融合具有融合方式簡單的特點,同時能對圖像的多個顯著特征進行利用,從而保證了融合特征的表達能力強于全局特征的表達能力。
函數(shù)φ為權重獲取函數(shù),因此不同的φ所選取的權重系數(shù)不同,本文使用的權重獲取函數(shù)如下
φ(F)=(wu,v),u∈[1,H],v∈[1,W]
(6)
wu,v=((w1)u,v,(w2)u,v,…,(wk)u,v)
(7)
上式中的u,v,H,W均對應于顯著特征中的參數(shù)。u,v為坐標值,H,W為尺寸。該權重獲取函數(shù)除了對不同顯著特征圖進行自適應權重調(diào)整外,還對顯著特征的不同位置進行了進一步的調(diào)整。
φ的具體實現(xiàn)如圖5所示。首先采用1×1的卷積核對全局特征F進行特征降維,得到與全局特征尺寸相同,通道數(shù)為k的特征圖。隨后利用BN層和Relu層進一步處理后,再次使用1×1的卷積核進行卷積操作,最后對其進行歸一化得到尺寸為H×W×k的權重系數(shù)。
圖5 權重獲取函數(shù)φ(F)
VGG19分類子網(wǎng)絡包含兩個全連接層和一個輸出層,并采用Softmax損失函數(shù)。由于本實驗最終目的是在數(shù)據(jù)規(guī)模大和分布不平衡條件下的分類,因此對VGG19分類子網(wǎng)絡進行優(yōu)化以適應本文的分類任務。具體做法為:采用全局平均池化(GAP)層[18]代替原來的全連接層,既減少了大規(guī)模植物識別網(wǎng)絡的訓練時間,又緩解了過擬合。同時,采用Focal Loss[19]損失函數(shù)代替 Softmax損失函數(shù),以解決樣本不平衡問題。
對于融合后的特征,利用全局平均池化進行特征壓縮,把每個特征圖的全部值融合成一個特征值,并將所有特征值連接成一個向量,再經(jīng)過輸出層和Softmax分類層進行特征分類。此外,利用Focal Loss損失函數(shù)對網(wǎng)絡參數(shù)進行優(yōu)化。
1.4.1 全局平均池化
VGG19分類子網(wǎng)絡的全連接層將相鄰層的所有節(jié)點與當前層的每個節(jié)點相連接,所以會有很多參數(shù),網(wǎng)絡復雜度也會提高,一方面增加了計算量,網(wǎng)絡訓練時間較長。另一方面更易造成過擬合,削弱網(wǎng)絡的泛化能力。
因此,采用一個全局平均池化層代替原來所有的全連接層,減少了參數(shù)的數(shù)量,提高了網(wǎng)絡的訓練效率,也不需要優(yōu)化參數(shù),緩解了過擬合,同時與使用全連接層相比能達到更高的準確率。
全局平均池化對每個通道的特征圖的所有值求取均值,用該值表示對應的特征圖。經(jīng)過全局平均池化的特征向量大小為k×D
(8)
其中,r表示第r個通道的特征圖,i和j表示位置坐標。
1.4.2 損失函數(shù)
在圖像多分類任務中常用Softmax損失函數(shù),但是Softmax損失函數(shù)將所有類別同等對待,在遇到樣本不平衡問題時難以準確分類。
為了解決樣本不平衡問題,采用Focal Loss損失函數(shù)代替VGG19分類子網(wǎng)絡中的Softmax損失函數(shù),通過調(diào)整網(wǎng)絡中各類別樣本的比例和抑制易分樣本在損失函數(shù)中的權重,既降低了樣本數(shù)量多的類別對損失的影響,又降低了易分樣本對損失的影響。
Focal Loss損失函數(shù)公式如下所示
LFL=-α(1-pi)γyilog(pi)
(9)
其中,pi是不同類別的分類概率,α為0到1之間的小數(shù),γ為大于0的值。α用來調(diào)整各類別樣本的比例,當樣本數(shù)量多的類別用α表示時,樣本數(shù)量少的類別就是1-α,削弱了樣本數(shù)量多的類別對損失值的影響。γ削弱了易分樣本對損失值的影響,隨著γ的增加,樣本中的難分樣本所占權重增加。從式(9)中可以看出,pi越大,權重(1-pi)γ就越小,從而抑制了易分樣本對損失值造成的影響。經(jīng)實驗驗證,參數(shù)如下設置時,準確率最高。樣本數(shù)大于200的類別α設為0.4,小于200的類別α設為0.6;γ初始值設為1,當網(wǎng)絡逐漸收斂時,將其設為2。
本文方法整體框架如圖6所示。
圖6 特征融合方法整體框架
2.1.1 PlantCLEF2016數(shù)據(jù)集
本文數(shù)據(jù)集來自于跨語言植物檢索國際競賽(PlantCLEF)2016。PlantCLEF2016數(shù)據(jù)集包含生長在西歐的1000種植物(樹木、草本和蕨類),收集了同一種類的植物在不同地區(qū)和一年中不同時段的圖片,其中訓練集共計約11萬張,測試集共計約2000張。每種植物圖片有植物的一種或幾種器官(整株、果實、葉子、花、莖、枝干和掃描葉),每種器官又包含一張或若干張圖片。訓練集的樣本數(shù)量分布如圖7所示,其中大部分類別的樣本數(shù)量都在200以下,樣本數(shù)量分布極不平衡。
圖7 訓練集樣本數(shù)量分布
2.1.2 顯著區(qū)域數(shù)據(jù)增強
由于PlantCLEF2016數(shù)據(jù)集大部分類別的樣本數(shù)量較少,對網(wǎng)絡進行訓練會導致過擬合現(xiàn)象,因此,本文使用顯著區(qū)域數(shù)據(jù)增強來增加樣本的規(guī)模,以解決樣本不足,緩解網(wǎng)絡過擬合。
對輸入圖像采用顯著特征提取產(chǎn)生k個顯著特征圖,分別對每個顯著特征圖進行處理,得到輸入圖像的顯著區(qū)域,利用顯著區(qū)域進行數(shù)據(jù)增強。顯著區(qū)域獲取過程如下所示:
首先選取一個顯著特征圖,設定一個閾值θc,θc為該顯著特征圖極大值的1/2,如式(10)所示。其次根據(jù)式(11)將顯著特征圖中值大于θc的位置置為1,小于θc的位置置為0,產(chǎn)生一個二值圖M,值為1的位置即為顯著區(qū)域。然后根據(jù)二值圖中的最大連通區(qū)域?qū)︼@著特征進行定位,得到顯著區(qū)域的坐標,最后根據(jù)坐標對原始圖像進行裁剪,得到原始圖像的顯著區(qū)域
θc=Max(Al)×1/2l∈(1,2,…,k)
(10)
(11)
其中,A為顯著特征圖,i、j為顯著特征圖的坐標,M為二值圖,θc為閾值。
為了評價本文算法的有效性,采用mAP(mean ave-rage precision)作為評價標準以衡量算法性能。mAP計算步驟如下所示:
(1)計算AP(average precision),即一個類別的平均準確率。計算方式為:假設N個樣本中有M個正例,將得到M個查全率值r(1/M,2/M,…,M/M);對于每個查全率值r’,計算出對應r>r’的最大準確率,對這M個準確率值取平均即得到最后的AP值;
(2)mAP即對所有類別的AP計算平均值。
本次實驗采用VGG19作為基礎網(wǎng)絡結構。使用ImageNet數(shù)據(jù)集對VGG19網(wǎng)絡進行預訓練,得到預訓練權重,在預訓練權重的基礎上進行本文網(wǎng)絡的訓練。
本文網(wǎng)絡訓練參數(shù)設置為:批量大小設為4,最大迭代次數(shù)為46.75萬;初始學習率設為0.01,當測試集損失值不再下降時對學習率進行調(diào)整,調(diào)整為原學習率的1/2;權重更新采用梯度下降法,動量設為0.9,權重衰減設為0.000 01。本文網(wǎng)絡的測試集準確率變化如圖8所示。
圖8 本文網(wǎng)絡測試集準確率變化
(1)顯著特征個數(shù)影響對比實驗
由1.2節(jié)可知,本文對植物圖像顯著特征的提取方法進行了研究,設計了基于kmeans的顯著特征提取方法,利用顯著特征對所提取的植物圖像特征的表達能力進行增強。在kmeans算法中,k值的選取對準確率影響較大,而該值與本文中的顯著特征個數(shù)相對應,因此顯著特征個數(shù)k對分類結果也至關重要。為了對其進行驗證,對比了不同k值得到的分類結果,如圖9所示。
圖9 顯著特征個數(shù)k的對比結果
實驗結果表明,k=6的準確率為81%,相較其它取值所得準確率較高。此外,由圖可知,k小于6時,隨著k的增大準確率處于上升的變化趨勢。k為6時,準確率最高。而當k繼續(xù)增大,準確率處于下降趨勢。在kmeans算法中,k值較小時,對特征的歸類不夠精確,而當k值過大,會使特征重復歸類。在本文中,k值小于6時,對顯著特征的提取不夠精確,k值大于6時,對植物圖像的顯著特征進行了反復提取,會導致過擬合現(xiàn)象。因此,k值過大或過小均會使得顯著特征提取不夠精確。通過實驗對不同k值進行驗證,最終將本文的k值設置為6。
(2)單一特征與融合特征對比結果
本文對植物圖像的顯著特征進行了提取,然后將其于全局特征進行融合,以此來提高所提取特征的表達能力,進而提高分類準確率。為了對本文的特征融合方法的有效性進行驗證,本文將對單一特征與融合特征的分類結果進行了對比研究。
使用融合特征進行分類得到的準確率為81%,而使用單一形式特征進行分類得到的準確率均較低。其中,單一形式的顯著特征所得準確率最低,這是因為顯著特征僅對植物圖像的局部信息進行了提取,由于缺少植物的整體信息,無法有效的對植物種類進行區(qū)分。全局特征雖然對植物的整體信息進行了提取,但由于對植物圖像的細節(jié)特征表達較差,所得準確率略低于融合特征。因此,在本文中綜合考慮了植物圖像的整體信息以及其細節(jié)特征的表達,將全局特征和顯著特征融合得到融合特征,來提高植物識別的準確率。
表2 單一特征與融合特征的分類準確率比較
(3)本文方法實驗與分析
為了對本文提出的方法進行驗證,共進行了6組對比實驗。分別采用3個評價標準,即準確率、訓練時間以及測試時間。方案一為VGG19基礎網(wǎng)絡;方案二為VGG19基礎網(wǎng)絡與全局平均池化相結合;方案三在方案二的基礎上增加多層特征融合;方案四在方案二的基礎上增加自適應特征融合;方案五將方案三和方案四進行了結合;方案六對方案五的損失函數(shù)進行改進,使用Focal Loss損失函數(shù)代替了Softmax損失函數(shù)。實驗結果對比見表3。
表3 本文方法在PlantCLEF2016數(shù)據(jù)集上的準確率分析
從表3中可以看出,方案六的準確率為81%,遠高于其它方案。而隨著網(wǎng)絡的不斷改進,準確率逐漸提高,表明了方案改進的有效性。GAP代替VGG19基礎網(wǎng)絡中的全連接層,在減少網(wǎng)絡參數(shù)的同時,緩解了過擬合問題,網(wǎng)絡的準確率有所提升。多層特征融合同時利用了高層的語義信息和低層的細節(jié)信息來提取圖像的特征,增強了特征的表達能力,提高了網(wǎng)絡的分類性能。自適應加權特征融合將使得特征的表達能力顯著增強,網(wǎng)絡的分類性能明顯提升。Focal Loss損失函數(shù)能夠有效改善樣本分布不平衡的分類問題,明顯改善了網(wǎng)絡的分類性能。
本文對上述6個方案的訓練以及測試時間進行了計算以驗證本文方法的性能。從表3中可以看出,相較于其它方法,自適應加權融合的訓練時間較長,但該方法使得本文網(wǎng)絡的分類準確率有了較為明顯的提升,有效彌補了效率上的不足。此外,使用GAP代替VGG19網(wǎng)絡中的全連接層,明顯降低了時間開銷。多層特征融合以及損失函數(shù)的改進在保證了分類效率的基礎上,有效的提升了網(wǎng)絡的分類能力。因此,本文在充分考慮網(wǎng)絡處理速度的前提下,使網(wǎng)絡的分類準確率有了明顯的提升。
(4)本文方法與其它方法對比實驗
為了對本文方法進行進一步的驗證和對比,將本文網(wǎng)絡所得實驗結果與PlantCLEF2016官方所公布的參賽結果進行比較。該競賽官方采用mAP作為評價指標。
從表4中可以看出,本文方法所得準確率為81%,高于其它參賽方法。方法SabanciU GebzeTU Run1、CMP Run1、QUT Run3以及LIIR KUL Run3均采用了網(wǎng)絡集成的網(wǎng)絡設計方法。與Floristic Run3、UM Run4兩個非網(wǎng)絡集成方法相比,采用網(wǎng)絡集成思想的方法整體表現(xiàn)更優(yōu),但網(wǎng)絡集成思想訓練方式較為復雜,且訓練參數(shù)是單個網(wǎng)絡的數(shù)倍,網(wǎng)絡收斂較慢。而本文方法未使用網(wǎng)絡集成思想,只使用了單個網(wǎng)絡來構建分類模型就得到了更高的準確率。因此,通過與其它方法進行對比,說明了本文方法的可行性和優(yōu)越性。
表4 不同方法在PlantCLEF2016數(shù)據(jù)集上的準確率比較
為解決自然界中植物數(shù)據(jù)規(guī)模大且分布不平衡導致的識別困難的問題,本文提出了一種基于顯著特征與全局特征融合的植物識別方法。首先利用多層特征融合方法提取全局特征,然后對全局特征采用K-means算法提取顯著特征,再將顯著特征與全局特征進行自適應加權特征融合,得到了更具有圖像表達能力的特征,提高了大規(guī)模植物識別網(wǎng)絡的分類性能。此外,采用Focal Loss損失函數(shù)增大少數(shù)類樣本的權重,解決了樣本不平衡問題。實驗結果表明了本文方法的優(yōu)異性。
大規(guī)模植物識別的研究還剛興起不久,有關該識別任務的網(wǎng)絡模型、優(yōu)化方法還有待進一步完善。另外,本文方法仍具有一定的局限性,下一步將考慮融合網(wǎng)絡中更多形式的特征,獲取更具有區(qū)分性的特征表達,進一步提高植物的識別效果。