王 越,馮 振
(重慶理工大學(xué) 計算機(jī)科學(xué)與工程學(xué)院, 重慶 400054)
在森林等生態(tài)系統(tǒng)中,鳥類識別技術(shù)能夠有效幫助相關(guān)工作人員實現(xiàn)自動化的鳥類監(jiān)測,具有重要的研究價值。然而傳統(tǒng)鳥類識別大多依靠專家經(jīng)驗對鳥類進(jìn)行識別,該方法雖然能保證較高的精確度,但是需要依靠專家進(jìn)行人工識別,成本高。圖像分類技術(shù)受益于深度學(xué)習(xí)等技術(shù)的發(fā)展,目前取得巨大進(jìn)步[1]。因此,可以利用計算機(jī)視覺等技術(shù)自動提取圖像特征,實現(xiàn)鳥類識別。目前大部分的圖像分類工作集中在通用分類,用以區(qū)分圖像是否屬于特定大類類別[2]。子類別精細(xì)化的識別在實際應(yīng)用中更為廣泛,但存在較大難度。細(xì)粒度圖像主要存在以下難點:較大的類內(nèi)差異,不同種類的鳥類存在非常細(xì)微的差異等。
為了能夠更好地克服上面存在的難點,提出一種基于反復(fù)CAM網(wǎng)絡(luò)、雙線性注意力網(wǎng)絡(luò)、嵌入空間的鳥類圖像識別方法。由于使用CAM網(wǎng)絡(luò)僅僅能夠提取最具判別性區(qū)域特征,缺乏其他輔助判別性區(qū)域特征,從而導(dǎo)致不能很好地完成鳥類圖像識別任務(wù)。比如:在鳥類識別任務(wù)中,鳥類的頭部特征是非常重要的。但是僅僅依靠頭部特征顯然不足以完成最終分類任務(wù)。因此為了更好地完成該任務(wù),需要其他額外的補(bǔ)充判別性特征,比如鳥的翅膀、腳等其他判別性區(qū)域特征。為此,本文通過RestNet50-CAM網(wǎng)絡(luò)提取判別性區(qū)域特征,選擇卷積層中的最后一層作為特征提取層,然后設(shè)置閾值,將最具判別性區(qū)域特征進(jìn)行抑制,然后將抑制處理后的圖像重新輸入到第二分支網(wǎng)絡(luò),從而強(qiáng)迫網(wǎng)絡(luò)學(xué)習(xí)到其他補(bǔ)充判別性特征??梢岳斫鉃橥ㄟ^讓網(wǎng)絡(luò)學(xué)習(xí)到鳥類其他次要部位特征從而更好地進(jìn)行分類。并且采用一種新穎的方式進(jìn)行加權(quán)特征圖融合,然后分別將融合后的圖像與原始輸入圖像送到注意力雙線性網(wǎng)絡(luò)提取高階特征。提出嵌入空間,通過一種新穎的損失函數(shù)更加有效地提取判別性特征。最終在CUB-200-2011數(shù)據(jù)集上,該方法達(dá)到了87.3%的準(zhǔn)確率。
在計算機(jī)視覺領(lǐng)域,對物體進(jìn)行分類是計算機(jī)視覺的基礎(chǔ)性質(zhì)任務(wù)。而細(xì)粒度圖像分類不僅僅是識別一個大類,而是要識別一個大類下面的不同子類。目前細(xì)粒度圖像識別研究思路按照是否需要額外強(qiáng)監(jiān)督標(biāo)注信息,總體上可以分為2類:第一類主要是基于強(qiáng)監(jiān)督學(xué)習(xí)的方法。具體來說就是除了標(biāo)簽類別信息,而且需要額外標(biāo)注等信息。第二類則是很少需要標(biāo)注框,僅僅需要類別標(biāo)信息[3]。
一類方法是基于強(qiáng)監(jiān)督學(xué)習(xí),需要標(biāo)注框等額外標(biāo)注信息才能完成細(xì)粒度圖像分類任務(wù)。Xiushen等[4]提出的Mask-CNN是首次利用深度卷積神經(jīng)網(wǎng)絡(luò)并將其應(yīng)用到細(xì)粒度圖像分類上面,第一個端到端的使用深度卷積神經(jīng)網(wǎng)絡(luò)并將其應(yīng)用到細(xì)粒度圖像識別任務(wù),取得了一定的成效。Zhang等[5]利用R-CNN算法分別進(jìn)行部位級的識別與整體物體的識別,需要使用精細(xì)化的額外部位級標(biāo)注信息,因此分類效果較為理想。Branson等[6]首先利用姿態(tài)歸一化算法完成局部姿態(tài)對齊,然后再完成區(qū)域的定位檢測。但是該類算法一般需要強(qiáng)監(jiān)督標(biāo)注信息,成本非常高,在實際應(yīng)用中有很多局限。
另一類在進(jìn)行細(xì)粒度圖像分類時候,僅僅需要圖像類別標(biāo)簽。因此選擇更具判別性區(qū)域的特征對于分類非常重要,找到關(guān)鍵區(qū)域并定位到這些區(qū)域?qū)τ谒惴ㄗ罱K的表現(xiàn)非常關(guān)鍵。Xiao等[7]使用二級注意力的算法,引入對象級、部件級特征來進(jìn)行分類。Simon等[8]利用卷積神經(jīng)網(wǎng)絡(luò)來提取一些關(guān)鍵的局部區(qū)域信息。Tsung-yu等[9]提出了雙線性CNN網(wǎng)絡(luò),利用2個網(wǎng)絡(luò)將其得到的特征進(jìn)行相乘,然后得到最終的分類結(jié)果。Yu等[10]提出HBP模型,通過跨層雙線性池化技術(shù)來獲取不同層的特征關(guān)系。Yang等[11]提出一種比較新穎的弱監(jiān)督網(wǎng)絡(luò),從原始圖像選取K個區(qū)域,這些區(qū)域含有豐富的信息量。Ge等[12]利用Mask R-CNN進(jìn)行對象檢測,然后使用雙向的LSTM網(wǎng)絡(luò)來整合區(qū)域的特征信息。Wang等[13]首先提取特征,結(jié)合空間加權(quán)Sher向量的編碼方式,然后結(jié)合Fisher向量得到最終的判別結(jié)果。王永雄等[14]提出一種聚焦-識別聯(lián)合學(xué)習(xí)框。Bürgi等[15]提出一種基于GoogleNet的深度遞歸神經(jīng)網(wǎng)絡(luò)。Zheng等[16]提出了一種多級注意力網(wǎng)絡(luò),通過基于部件與特征學(xué)習(xí)相互增強(qiáng),從而實現(xiàn)更好的分類效果。
首先使用ResNe50作為反復(fù)CAM特征提取網(wǎng)絡(luò)。由于僅僅使用ResNet50只能提取到最具判別性區(qū)域特征,從而導(dǎo)致忽視其他具有補(bǔ)充判別性特征的部分,這些區(qū)域不應(yīng)該被忽視。因此,應(yīng)該將其考慮在內(nèi)。比如,CAM網(wǎng)絡(luò)關(guān)注到的最佳判別區(qū)域為鳥的頭部,其他補(bǔ)充判別性區(qū)域為鳥的其他部位,這些補(bǔ)充判別性區(qū)域特征同樣對鳥類識別結(jié)果也起著關(guān)鍵作用。為此引入第二個網(wǎng)絡(luò)分支捕獲其他補(bǔ)充判別性區(qū)域特征從而提高方法的準(zhǔn)確率。本文方法的總體結(jié)構(gòu)如圖1所示。
圖1 方法總體結(jié)構(gòu)示意圖
首先,本文提出的方法主要包含3個部分:反復(fù)CAM特征提取網(wǎng)絡(luò)、雙線性注意力網(wǎng)絡(luò)、嵌入空間。首先將原始輸入圖像送入到判別性特征提取網(wǎng)絡(luò)的CNN1分支提取判別性區(qū)域特征,得到最具判別性特征圖,設(shè)置閾值將該部分進(jìn)行抑制,然后將得到后的圖像送入到第二分支網(wǎng)絡(luò)CNN2,強(qiáng)迫網(wǎng)絡(luò)必須學(xué)習(xí)到其他補(bǔ)充判別性區(qū)域特征??紤]到不同判別性區(qū)域特征對最終分類的重要性不同,通過設(shè)置不同的權(quán)重進(jìn)行特征融合,從而得到最終的判別性特征。然后將處理后的圖像送到雙線性網(wǎng)絡(luò)的其中一個分支CNN3,原始輸入圖像送入到雙線性網(wǎng)絡(luò)的第2個注意力模塊分支CNN4得到全局注意力特征表示,通過雙線性注意力網(wǎng)絡(luò)得到雙線性高階特征后,再將其送入到嵌入空間。嵌入空間通過引入一種新的損失函數(shù),提高特征的判別性。最后將處理后的圖像特征送入到全連接層,進(jìn)而得到最終的分類結(jié)果。
(1)
式中:Mc(x,y)代表不同的特征圖對類別c的加權(quán)作用的結(jié)果。代表這些區(qū)域?qū)D像的反應(yīng)最為強(qiáng)烈,對圖像最終的分類結(jié)果更為重要。選擇最大聯(lián)通區(qū)域得到最顯著區(qū)域,并通過插值縮放到原始圖像大小。為了得到抑制二進(jìn)制掩碼圖像,選擇設(shè)置閾值為s,s的大小設(shè)置為得到特征圖最大值的0.7,將大于s的賦值為0,小于s的賦值為1,得到其抑制二進(jìn)制掩碼特征圖公式:
s=0.7·max(H*)
(2)
(3)
(4)
(5)
在細(xì)粒度圖像識別領(lǐng)域,圖像的高階特征(二階等特征)對細(xì)粒度圖像任務(wù)非常重要。為此本文引入雙線性卷積神經(jīng)網(wǎng)絡(luò)。全局分支網(wǎng)絡(luò)輸入為原始圖像,另一分支輸入圖像為經(jīng)過反復(fù)CAM特征提取網(wǎng)絡(luò)融合后的圖像。不同于原始的雙線性卷積神經(jīng)網(wǎng)絡(luò)。通過在其中一個網(wǎng)絡(luò)分支加入空間注意力模塊來增強(qiáng)特征提取能力。通過雙線性注意力網(wǎng)絡(luò)來獲取圖像的高階圖像特征。
在通用物體分類中,大多數(shù)算法采取softmax損失函數(shù)作為損失函數(shù)進(jìn)行模型訓(xùn)練,然而softmax損失函數(shù)不需要強(qiáng)調(diào)類內(nèi)的差異盡可能小,無法更為精確地學(xué)習(xí)到判別性特征。為了使提取到的圖像特征更加具有判別性,選擇將圖像特征映射到一個嵌入空間。同時,為了使相同類別的圖像特征之間的距離更小,非相同類別的圖像特征之間的距離更大,采取一種新穎的損失函數(shù)公式L。該公式主要由Lc和Lsoftmax組成。同時為了更好地提高本文方法的訓(xùn)練速度和收斂速度。選擇引入softmax損失函數(shù)并進(jìn)行加權(quán),a代表對應(yīng)損失函數(shù)的權(quán)重,用來控制2個損失函數(shù)占總損失函數(shù)的權(quán)重。公式為:
L=aLc+(1-a)Lsoftmax
(6)
Lc=La+Lb
(7)
(8)
式中:La損失函數(shù)主要來源于Triplet Loss[17]。輸入是一個三元組〈a,p,n〉,a的含義是一個輸入的基準(zhǔn)樣本,p的含義是與a同一個類別的樣本,n的含義是與a不是同一類別的樣本。該損失函數(shù)通過學(xué)習(xí),使得同一類別內(nèi)部的樣本距離到不同類別的樣本距離小于λ1。
為了減少類內(nèi)差異,使同一類別的特征距離盡可能近。選擇在La損失函數(shù)基礎(chǔ)上增加損失函數(shù)Lb,限制同一個子類別正樣本對之間的距離小于λ2,Lb公式為:
(9)
最終得到的公式Lc如式(10)所示,β1、β2分別代表La、Lb損失函數(shù)的對應(yīng)權(quán)重。
(10)
使用的數(shù)據(jù)集是國際上公開的數(shù)據(jù)集CUB-200-2011。實驗中僅使用圖像類別的標(biāo)簽,沒有借助其他邊界框等額外標(biāo)注信息。僅依靠圖像類別標(biāo)簽實現(xiàn)弱監(jiān)督分類。
CUB-200-2011:主要由200個類別的11 788張鳥類圖像組成(圖2)。由于不同種類個體自身的差異、拍攝光照、拍攝環(huán)境等影響,導(dǎo)致該數(shù)據(jù)集鳥類識別具有很大的難度。數(shù)據(jù)集不僅僅包含所有圖像類別標(biāo)簽,同時也提供其他強(qiáng)監(jiān)督學(xué)習(xí)需要的部件標(biāo)注等信息。在數(shù)據(jù)預(yù)處理階段,通過數(shù)據(jù)增強(qiáng)進(jìn)行數(shù)據(jù)擴(kuò)充,擴(kuò)充的部分樣本圖片如圖3所示。
圖2 CUB-200-2011中的部分樣本圖
圖3 擴(kuò)充的部分樣本圖
實驗采用的GPU顯卡是1080Ti,CPU型號是i5-9400F,內(nèi)存(RAM)為32 GB。采用Pytorch作為編程框架進(jìn)行本文方法的具體實現(xiàn)。在實驗過程中,對于要輸入的圖像首先在預(yù)處理階段進(jìn)行圖像處理,圖像大小為448×448。使用數(shù)據(jù)增強(qiáng)策略,采用預(yù)訓(xùn)練RestNet50作為特征提取器。訓(xùn)練初始學(xué)習(xí)速率設(shè)定為0.001,每當(dāng)經(jīng)歷150次訓(xùn)練后,將學(xué)習(xí)速率調(diào)整為原先的0.1倍。
為了證明提出的反復(fù)CAM特征提取(反復(fù)CAM網(wǎng)絡(luò))網(wǎng)絡(luò)能夠捕獲其他輔助判別性區(qū)域特征,將CAM網(wǎng)絡(luò)與反復(fù)CAM網(wǎng)絡(luò)得到的類激活圖分別進(jìn)行可視化。實驗效果如圖4所示。
圖4 CAM可視化實驗效果圖
從圖4中可以明顯看到,僅僅使用單個CAM網(wǎng)絡(luò)僅能捕獲單一判別性區(qū)域特征,無法捕獲到其他互補(bǔ)的判別性區(qū)域特征。而本文中提出的反復(fù)CAM特征提取網(wǎng)絡(luò)能夠更加有效地捕獲其他互補(bǔ)區(qū)域特征,這些互補(bǔ)的區(qū)域特征也能更好地提高方法的準(zhǔn)確度。
3.4.1各類算法結(jié)果
為了驗證本文方法的有效性,通過選擇不同方法在CUB-200-2011數(shù)據(jù)集進(jìn)行對比試驗。通過與其他算法進(jìn)行對比,可以明顯看到本文中提出的算法取得了87.3%的精度,具有一定的優(yōu)越性。本文提出的方法分類準(zhǔn)確率比RACNN、MA-CNN分別高了2.0個百分點、1.2個百分點。最終實驗效果如表1所示。
表1 CUB-200-2011數(shù)據(jù)集上的分類結(jié)果
3.4.2消融實驗
為了進(jìn)一步驗證本文方法各個分支的貢獻(xiàn)度,選擇僅使用RestNet-50作為本文的BaseLine。分別對反復(fù)CAM特征提取網(wǎng)絡(luò)(反復(fù)CAM)、雙線性注意力網(wǎng)絡(luò)分支(雙線性網(wǎng)絡(luò))、嵌入空間進(jìn)行消融實驗。實驗結(jié)果如表2所示。
表2 消融實驗結(jié)果
從表2可知,提出的反復(fù)CAM特征提取網(wǎng)絡(luò)、雙線性注意力網(wǎng)絡(luò)、嵌入空間在CUB-200-2011數(shù)據(jù)集上的表現(xiàn)均優(yōu)于BaseLine的分類結(jié)果。由于反復(fù)CAM特征提取網(wǎng)絡(luò)能捕捉到其他輔助判別性區(qū)域特征。雙線性注意力網(wǎng)絡(luò)通過2個分支提取高階圖像特征,圖像高階特征非常有利于鳥類圖像識別這一任務(wù),嵌入空間中通過改進(jìn)的損失函數(shù)有效提高特征的判別性。本文中提出的反復(fù)CAM特征提取網(wǎng)絡(luò)、雙線性注意力網(wǎng)絡(luò)、嵌入空間都在不同程度提升了方法的準(zhǔn)確率,最終本文方法在CUB-200-2011數(shù)據(jù)集上的準(zhǔn)確率高達(dá)87.3%,高出基礎(chǔ)分類方法5.6個百分點,證明了反復(fù)CAM特征提取網(wǎng)絡(luò)、雙線性注意力網(wǎng)絡(luò)、嵌入空間的有效性和互補(bǔ)性。
首先利用反復(fù)CAM特征提取網(wǎng)絡(luò)獲取圖像的不同判別性區(qū)域特征,使用加權(quán)投票融合不同判別區(qū)域特征圖,然后將處理后的圖像送入雙線性注意力網(wǎng)絡(luò)提取圖像高階特征,最后引入嵌入空間,通過一種新的混合損失函數(shù)來更好地提高特征的判別性。在CUB-200-2011數(shù)據(jù)集上進(jìn)行了實驗,方法的準(zhǔn)確率為87.3%,具有一定的優(yōu)越性。并且,本文提出的方法不需要其他額外的標(biāo)注信息,僅僅需要圖像類別標(biāo)簽信息。未來將會進(jìn)一步探索更強(qiáng)大的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)以及考慮使用知識蒸餾、NAS等技術(shù)來進(jìn)一步推進(jìn)該領(lǐng)域的發(fā)展。