李國瑞 何小海 吳曉紅 卿粼波 滕奇志
(四川大學 四川 成都 610065)
細粒度圖像識別是深度學習領域的重要研究方向,其目的是對屬于同一基礎類別的圖像進行更加細致的從屬類別劃分,由于從屬類別內部之間差別細微,細粒度圖像識別任務相較于傳統通用圖像識別任務難度更高。近年來,隨著我國生態保護事業的蓬勃發展,物種監控圖像視頻數量劇增,生物種類識別的需求也劇增。細粒度鳥類識別成為其中重要的任務之一,其識別結果可以幫助生物學家有效監控鳥類種群分布及生態環境的變遷。目前,針對細粒度圖像識別任務,大多數研究都以卷積神經網絡(Convolutional Neural networks,CNN)為基礎,主要分為基于強監督學習的細粒度圖像識別和基于弱監督學習的細粒度圖像識別兩大類[1]。
基于強監督學習的細粒度圖像識別,除了使用圖像真實類別標簽以外,還使用了目標標注框坐標等局部語義標注信息。Wei等[2]提出的Mask-CNN,是首個端到端地將深度卷積特征運用到物體檢測的細粒度圖像識別模型。基于強監督學習的細粒度圖像識別方法使用了局部語義標注信息,相較于傳統CNN方法,檢測精度和模型泛化性能均有明顯提升。但由于人工標注成本昂貴,且不能確保局部語義的有效性,此類算法在實際應用中受到限制。因此,目前主流的研究方法基于弱監督學習的思想,其優點在于,模型僅使用圖像真實類別標簽,不再使用局部語義標注,也能準確定位到局部關鍵區域,得到與基于強監督學習相當的準確率。Yu等[3]提出HBP模型,開發了一種簡單有效的跨層雙線性池化技術,以一種相互增強的方式學習圖像的細粒度表征。Yang等[4]首次提出一種新穎的自監督機制網絡NTS-Net,可以有效定位出關鍵區域而無需局部語義標注信息,在廣泛的基準數據集上實現了最先進的性能。
盡管對細粒度圖像識別的研究已經取得了不少成果,但仍有諸多問題亟待解決。本文工作基于弱監督學習的思想,主要解決細粒度鳥類識別的兩大難點:第一是在沒有局部語義標注的情況下,自動定位到具有有效信息的關鍵區域;第二是提出一種有效的特征融合方式以提高最終分類性能。
殘差網絡(ResNet)[5]首次提出殘差塊結構,其基本結構如圖1所示。該結構在增加網絡深度的同時,能有效減少網絡參數量,防止過擬合現象發生,一定程度上避免網絡性能隨深度增加而降低。

圖1 ResNet網絡殘差塊結構
ResNet有不同的網絡層數,其中ResNet-50共有50層網絡層,分為Conv_1層、Conv_2層、Conv_3層、Conv_4層和Conv_5層,Conv_1層為1個單獨卷積層,Conv_2層到Conv_5層分別包含3、4、6、3個殘差塊結構,Conv_5層后為全局均值池化層(Global Average Pooling,GAP),GAP層后為全連接層(Fully Connected Layers,FC)。
Ren等[6]在多目標檢測中提出區域建議網絡(Region Proposal Networks,RPN),利用CNN卷積操作后的特征圖譜生成具有有效信息的區域,代替了選擇性搜索等方法,在檢測速度上提升明顯。
RPN是一種全卷積神經網絡,整個網絡沒有全連接層,所以該網絡能接受任意尺寸的圖像輸入,輸出一系列圖像局部矩形區域坐標及每個區域是目標和背景的概率得分,原理如圖2所示。錨點是特征圖譜上的一個像素映射到原圖像上的像素位置,對應于一組預先設定的k1個不同尺度和k2個寬高,以相應錨點為中心,生成k=k1×k2錨點框。對于m×m大小的特征圖譜,采用3×3×256卷積核進行卷積,得到m×m×256維向量,再用大小為1×1×2k卷積核對每個256維向量進行卷積,從而得到對應的2k個置信度,代表特征圖譜上相應像素對應原圖像上的錨點對應的錨點框前景和背景的概率。同時,用1×1×4大小卷積核對256維向量進行卷積操作,得到4k個錨點框的位置信息,每個錨點框的位置信息由矩形框的左上角點的橫坐標偏移量、縱坐標偏移量和矩形框的長度偏移量、寬度偏移量共4個數據組成。

圖2 RPN核心原理圖
RPN網絡會產生大量的候選框坐標,因此存在對同一目標產生多個近似的候選框。Neubeck等[7]提出的非極大值抑制(Non-MaximumSuppression,NMS)算法,能有效去除同一目標冗余的候選框,保留信息含量最豐富的候選框。首先,對同一類別的候選框按RPN網絡得分高低排序,選出得分最高的候選框;其次,遍歷剩余得分候選框,計算與當前最高得分候選框的重疊面積(Intersection over Union,IoU),設為S,如果S大于一定閾值,將該遍歷的候選框刪除;重復前面步驟,直到所有的剩余候選框都和得分最高的候選框比較過,留下非冗余候選框。S的計算方法如下:
(1)
式中:A代表得分最高的候選框區域,B代表每次遍歷的候選框區域,A∩B表示區域A、B交集部分的面積,A∪B表示區域A、B并集部分的面積。
針對細粒度鳥類識別的兩大難點,本文提出如圖3所示的細粒度鳥類識別網絡模型。該模型由3種網絡組成,分為區域定位網絡、特征提取網絡和特征融合網絡CFF-Net。其中,特征提取網絡用于提取全局和局部圖像特征,且所有特征提取網絡共享網絡訓練參數;區域定位網絡用于在沒有局部語義標注信息的情況下,自動定位出圖像中信息含量最豐富的Top-n個局部區域,且對每一個區域信息量含量打分,按大小分別排序為:I0,I1,I2,…,In;CFF-Net網絡對多個局部和全局特征進行融合,有效結合局部與全局特征信息,提高最終分類性能。

圖3 細粒度鳥類識別網絡模型
基本特征提取網絡既要保證能提取有效圖像特征及較快的損失收斂速度,還要避免過擬合現象的發生。本文采用ResNet-50作為特征提取網絡,由于訓練集圖片與測試集圖片數量相當,在ResNet-50的GAP層后增加一個dropout層,dropout radio設為0.5,防止過擬合現象發生。同時修改FC層輸出參數,使其最終輸出為200維,滿足數據集類別總數。特征提取網絡在訓練時加載在ImageNet圖像庫預訓練好的模型參數,對網絡進行微調。
基于弱監督學習的細粒度圖像識別,其難點是在沒有局部語義標注信息的情況下,自動定位出具有有效信息的關鍵區域。由于圖2中原始RPN網絡需要局部語義標注信息為監督對位置進行精細修正,因此對原始RPN網絡做如下精簡:
(1) 刪除圖2中RPN網絡回歸層,直接得出對應于原圖的局部區域坐標,不做位置的精細修正;
(2) 修改圖2中分類層卷積核大小為1×1×256×k,只得到k個置信度,將其定義為每個錨點框內所含有效信息的豐富程度,而不再代表每個錨點框內目標和背景的概率大小。
本文引入精簡后的RPN,改進提出圖4所示的區域定位網絡。

圖4 區域定位網絡原理圖
區域定位網絡共享特征提取網絡的前Conv_5層,然后引入連續的3個卷積網絡,在每層卷積網絡輸出的特征圖譜上使用精簡后的RPN網絡。原始RPN網絡進行目標檢測時,以最后一層卷積作為輸入,該方法在大目標定位時性能優異,但對于小目標,卷積池化到最后一層時,語義信息已經基本消失,不能很好地定位出小目標。因此,借鑒FPN[8]網絡的思想,針對不同的特征圖譜層使用精簡后的RPN網絡,較淺的特征圖譜層用于定位更小的目標,而較深的特征圖譜層用于定位更大區域的目標。
由于輸入圖片大小為448×448,對每一層特征圖譜選定的基準錨點框大小分別設為64×64、128×128和256×256,單獨設置每一層錨點框的面積比和寬高比,共產生1 614個候選框與對應的信息量得分。經NMS算法后,選取Top-n個得分最高的候選區域,作為局部區域,將其上采樣到224×224大小,送入后續的特征提取網絡,其中,NMS算法中IoU取0.3。
區域定位網絡作為選取局部有效信息區域的重要手段,在沒有局部語義標注信息的前提下,如何保證得分越高的區域,其所含有效信息越豐富,成為影響定位網絡性能的核心因素。NTS-Net提出了一種新穎的自監督機制,將整幅圖像的類別標簽作為局部區域圖像的類別標簽,局部區域圖像經特征提取網絡后有圖像類別標簽作為監督,得到置信度,即為標定圖像(ground-truth)的概率大小。置信度越高的局部區域圖像,其所含有效信息越豐富,對應的通過定位網絡的打分應該更高。基于該思想,定義經過區域定位網絡得到的前M個得分最高的區域為:
R={R1,R2,R3,…,RM}
(2)
其得分為:

(3)
對應的置信度為:
C={C1,C2,C3,…,CM}
(4)
由此可知,若C1>C2>C3>…>CM,則I1>I2>I3>…>IM。其損失函數定義為:

(5)
上述公式中,函數應為非增函數,用來確保當Cs>Ci時,Is>Ii。該損失函數能有效監督區域定位網絡的打分性能,定位出局部有效信息區域,結合全局圖像信息,使最終分類性能提升。
局部區域有助于更細致地表征對象,因此融合局部區域特征和全局圖像的特征將獲得更好的分類性能。目前,局部圖像和全局圖像特征融合方式大多采用簡單的級聯,不能充分利用局部區域所表達的更細微的特征信息。本文提出了一種基于跨層技術的特征融合網絡CFF-Net,其網絡結構如圖5所示。

圖5 CFF-Net網絡結構示意圖
區域定位網絡定位出前M個局部區域,經特征提取網絡后,形成局部特征圖譜A1、A2、A3、…,與全局特征圖譜F分別進行點乘操作。該過程可用以下公式表示:
Fk=Ak⊙Fk=1,2,…,M
(6)
點乘操作得到的特征圖譜,經GAP層后得到特征向量,該過程可定義為:
fk=(Fk)
(7)
CFF-Net整個特征融合過程可用如下公式表示:
P=
(8)
本文所用數據集CUB-200-2011,是一個鳥類公共圖片數據庫,包含200種鳥類,共計11 788幅圖片。其中5 994幅為訓練集,5 794幅為測試集。圖6展示了數據集中兩種不同種類的鳥類,如果觀察者沒有相關領域的專業知識,很難區分兩種鳥類,而該數據集包含很多類似細微差別的種類。

圖6 數據集中兩種鳥類對比
本文實驗使用GPU為Nvidia GTX1080Ti,顯存11 GB,CPU為Inter Core i5 7500,內存為8 GB,使用CUDA 8.0,操作系統為Ubuntu 16.04, 深度學習框架使用Pytorch-0.4.1。
本文所提細粒度鳥類識別網絡能實現端到端地的訓練。實現細節中,batch_size設為10,初始學習率設為0.001,每過60次epoch學習率變為原來十分之一,使用SGD優化器。圖7展示了訓練時總損失的收斂情況,可以看出,在40次epoch后總損失不再明顯下降,50次epoch后總損失幾乎不再變化。其原因為:學習率設置過大,導致梯度來回震蕩。因此60次epoch后將學習率降低,可見總損失繼續收斂。

圖7 訓練損失迭代
圖8展示了本文改進的區域定位網絡在數據集上定位的前4個得分最高的局部區域。可見,定位的局部信息區域基本包括了鳥類的頭部、軀干及翅膀等能明顯表征鳥類特點的部位,顯示了區域定位網絡在沒有局部語義標注信息下優異的自動定位能力。

圖8 區域定位網絡定位的局部區域
為了驗證CFF-Net的性能,本文在實驗時對改進后的ResNet不同特征圖譜或特征向量分別做特征融合操作。融合方式如表1所示。

表1 特征融合組合方式
局部信息區域在特征提取前上采樣到224×224大小,全局圖像大小為448×448,因此,對于同樣的卷積層輸出,特征提取層2、3、4總是比特征提取層1得到的特征圖譜小。方式1將全局圖像輸入的Conv_4層特征圖譜和局部區域輸入的Conv_3層特征圖譜做特征融合操作,得到的特征圖譜大小為1 048×28×28;方式3和方式4直接對特征向量做融合操作,得到的也是特征向量。由于NTS-Net中局部區域個數M取4時表現出最優異的分類性能,表2展示了在M=4時,不同特征融合方式的最終分類準確率對比實驗結果。

表2 不同特征融合方式準確率
由表2可以看出,特征融合方式1分類性能較低,原因在于方式1將融合后大小為28×28的特征圖譜直接進行了全局均值池化,導致語義特征信息的丟失。方式2和方式3使用更深層卷積的特征圖譜進行融合,丟失的語義信息變少,分類性能明顯提高,方式4準確率最高為87.8%,高于目前主流的細粒度鳥類識別算法,驗證了本文所提CFF-Net網絡的有效性。
為了進一步驗證不同局部區域個數對最終分類性能的影響,本文測試時選取分類性能最優異的特征融合方式4,加入不同局部區域個數M做對比實驗,其中M=0,1,2,3,4,5。結果如表3所示,可以看出,局部信息區域的加入對最終分類結果提升了2.7%,隨著加入區域個數不斷增多,識別準確率不斷增加,當M=4時,準確率最高為87.8%;當M=5時,識別率開始下降,表明后續局部區域所含有效信息已經不能更好地表征圖像全局信息。該結果驗證了局部有效信息區域的加入對分類性能的提升,同時也進一步驗證了M取4的有效性。

表3 不同M下準確率對比
表4展示了不同方法在CUB-200-2011數據集上分類準確率的比較。由于區域定位網絡優異的定位性能及CFF-Net有效的特征融合能力,本文方法在CUB-200-2011數據集上取得了87.8%的分類準確率,高于目前主流的細粒度鳥類識別方法,表現出優異的分類性能。

表4 不同算法分類性能對比
本文針對鳥類圖像的細粒度識別,提出了一種基于語義信息跨層特征融合的識別網絡。區域定位網絡在沒有局部語義標注信息的情況下,自動定位出局部有效信息區域;特征提取網絡提取全局圖像與局部區域圖像的有效特征;CFF-Net對多個特征圖譜或向量融合。本文方法在CUB-200-201數據集上表現出良好的自動局部區域定位能力,取得了87.8%的分類準確率,高于目前主流的細粒度鳥類識別算法。