趙浩如 張 永 劉國柱
(青島科技大學(xué)信息科學(xué)技術(shù)學(xué)院 山東 青島 266000)
作為計算機(jī)視覺的重要研究方向,圖像分類[1]問題一直備受學(xué)者關(guān)注。圖像分類又包括對象級分類,如對貓和狗進(jìn)行分類。還包括細(xì)粒度分類[2],如對狗的不同品種進(jìn)行分類。由于細(xì)微的類內(nèi)差異,往往只能借助微小的局部差異才能分出不同的子類別,使得細(xì)粒度分類十分具有挑戰(zhàn)性。細(xì)粒度分類的方法主要包括兩種:一種是基于強(qiáng)監(jiān)督的分類模型,如Part-based R-CNN[3]不僅需要物體級標(biāo)注,還需要局部區(qū)域的標(biāo)注,這大大限制了在實(shí)際場景的應(yīng)用;另一種是基于弱監(jiān)督的分類模型,如B-CNN[4]僅僅需要圖像級別的標(biāo)注,不需要局部信息的標(biāo)注。因此,基于弱監(jiān)督的分類模型在識別精度上要比基于強(qiáng)監(jiān)督的分類模型差一些。Huang等[5]提出了Part-Stacked CNN進(jìn)行細(xì)粒度分類。這個網(wǎng)絡(luò)需要提供對象及部位級標(biāo)簽,它分為定位網(wǎng)絡(luò)和分類網(wǎng)絡(luò)兩個子網(wǎng)絡(luò),采用經(jīng)典的AlexNet網(wǎng)絡(luò)結(jié)構(gòu)作為整個網(wǎng)絡(luò)的基本結(jié)構(gòu)。Shen等[6]提出一種迭代的傳遞策略來優(yōu)化目標(biāo)框,借助對象及部分級標(biāo)注框進(jìn)行細(xì)粒度分類。Yao等[7]提出了多級的由粗到細(xì)的目標(biāo)描述方法進(jìn)行細(xì)粒度分類,不需借助標(biāo)注框,但識別率不如最前沿的算法。Liu等[8]提出了基于全連接的注意力機(jī)制的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行細(xì)粒度分類,未考慮各層特征間的聯(lián)系。Murabito等[9]提出顯著性特征分類網(wǎng)絡(luò)(SalClassNet)。它包括兩個子網(wǎng)絡(luò),網(wǎng)絡(luò)A計算輸入圖片的顯著性特征,網(wǎng)絡(luò)B計算網(wǎng)絡(luò)A輸出的顯著性特征進(jìn)行細(xì)粒度分類,計算顯著性特征首先要計算圖像像素對應(yīng)正確分類標(biāo)準(zhǔn)化分?jǐn)?shù)梯度的絕對值,然后取三個顏色通道的最大值,因此,計算成本太高。綜上,為避免人工標(biāo)注部位級標(biāo)簽花費(fèi)的巨大時間,以及減少計算成本。本文提出利用soft-nms和OHEM優(yōu)化RPN算法得到更精確的對象級標(biāo)注,以防止背景的干擾,同時改進(jìn)B-CNN網(wǎng)絡(luò),加強(qiáng)不同層特征間的空間聯(lián)系,提高識別精度。
為利用細(xì)微的類內(nèi)差異,本文采用OHEM[10]篩選出對識別結(jié)果影響大的數(shù)據(jù),可以有效防止無關(guān)信息的干擾。然后,利用soft-nms[11]優(yōu)化RPN[12]網(wǎng)絡(luò),選擇出置信度更高的目標(biāo)所在區(qū)域。最后,改進(jìn)B-CNN網(wǎng)絡(luò)結(jié)構(gòu)對目標(biāo)區(qū)域進(jìn)行細(xì)粒度分類,具體的算法流程如圖1所示。
圖1 算法流程圖
RPN網(wǎng)絡(luò)的作用是輸入一張圖像,輸出置信度排名前N個目標(biāo)可能在的區(qū)域。本文利用OHEM篩選出對最終識別結(jié)果影響大的樣本,并用篩選后樣本進(jìn)行隨機(jī)梯度下降。去除了對識別結(jié)果影響小的樣本后,有效防止過擬合,具體算法流程如圖2所示。
圖2 獲取目標(biāo)區(qū)域算法描述圖
圖2中,OHEM有兩個不同的ROI網(wǎng)絡(luò)。左邊的ROI網(wǎng)絡(luò)只負(fù)責(zé)前向傳播計算誤差,右邊的ROI網(wǎng)絡(luò)從左邊的ROI網(wǎng)絡(luò)中通過對誤差排序,選出誤差大的樣本作為右邊ROI網(wǎng)絡(luò)的輸入。RPN網(wǎng)絡(luò)輸出的矩形目標(biāo)框Di,其得分fi的計算如下:
(1)
式中:Si是重疊框的交集的面積;S是重疊框的并集的面積。
NMS(Non-maximum suppression)是RPN中重要的組成部分。RPN輸出一系列的檢測框Di以及對應(yīng)的分?jǐn)?shù)fi。NMS設(shè)置常數(shù)閾值τ,當(dāng)檢測框的得分大于閾值τ,將其放入最終的檢測結(jié)果集合D。同時,集合D中任何與檢測框M的重疊部分大于重疊閾值τ的檢測框,被強(qiáng)制歸零并移除。非最大抑制算法中的最大問題就是將相鄰檢測框的分?jǐn)?shù)均強(qiáng)制歸零后,如果真實(shí)的物體在重疊區(qū)域出現(xiàn),則將導(dǎo)致對該物體的檢測失敗并降低了算法的平均檢測率。soft-nms不將大于閾值τ的相鄰目標(biāo)框得分重置為0,而是乘以一個衰減函數(shù)。選取所有的目標(biāo)框中得分最高的N個,這樣可以有效減少假陰性的概率,提高平均識別率。具體計算如下:
(2)
Bilinear CNN模型包括Stream A和Stream B,Stream A和Stream B的網(wǎng)絡(luò)結(jié)構(gòu)都是采用的VGGNet。Stream A的作用是對物體的局部信息進(jìn)行定位,而Stream B則是對Stream A檢測到的局部信息進(jìn)行特征提取。兩個網(wǎng)絡(luò)相互協(xié)調(diào)作用,完成了細(xì)粒度圖像分類過程中兩個最重要的任務(wù):物體、局部區(qū)域的檢測與特征提取。本文在B-CNN基礎(chǔ)上增加了兩個外積操作,外積計算如下:
B=fTA·fB
(3)
雙線性特征B2、B3分別是conv4_3的特征與conv5_3的特征,conv5_1的特征與conv5_3的特征進(jìn)行點(diǎn)乘得到的。然后將雙線性特征B2、B3與原有的conv5_3層特征與conv5_3層特征點(diǎn)乘得到的雙線性特征B1拼接起來,以加強(qiáng)不同層特征間的空間聯(lián)系。最后,將拼接后的特征B送進(jìn)全連接層,進(jìn)行softmax分類。具體算法流程如圖3所示。
圖3 改進(jìn)的B-CNN算法流程圖
(4)
(5)
為驗(yàn)證本算法的有效性,與文獻(xiàn)[5-9]中的算法的結(jié)果進(jìn)行對比。文獻(xiàn)[5-9]分別采用CUB200-2011數(shù)據(jù)集[14]與Standford Dogs數(shù)據(jù)集[15]。因此本文也在兩組數(shù)據(jù)集上進(jìn)行兩組實(shí)驗(yàn),來證明本算法的識別精度比文獻(xiàn)[5-9]中的結(jié)果高。第一組實(shí)驗(yàn)是在CUB200-2011數(shù)據(jù)集進(jìn)行的測試和驗(yàn)證。該數(shù)據(jù)集是最常用和經(jīng)典的細(xì)粒度分類數(shù)據(jù)集,包括200中不同類別,共11 788張不同鳥類圖片,不僅提供了對象級標(biāo)注框而且還提供了局部級標(biāo)注框。第二組實(shí)驗(yàn)是在Standford Dogs數(shù)據(jù)集[15]進(jìn)行測試和驗(yàn)證。該數(shù)據(jù)集包括120類狗的圖像數(shù)據(jù),共有20 580張圖片,只提供對象級標(biāo)注框。基于RPN與B-CNN的細(xì)粒度分類過程中所用到的主要參數(shù)如表1所示。
表1 B-CNN主要參數(shù)表
本文利用OHEM與soft-nms優(yōu)化RPN,獲取對象級標(biāo)注,然后輸入到改進(jìn)的B-CNN。在RPN階段,訓(xùn)練集、驗(yàn)證集和測試集的比例是7∶2∶1。采取的Anchor的尺度是(128,256,512),比例為(0.5,1,2),共九種。將一張圖片輸入到RPN就會產(chǎn)生大量的Anchor,對這些Anchor進(jìn)行soft-nms,最終輸出得分最高的目標(biāo)框。在目標(biāo)框提供的位置上剪貼圖片,剪貼后的圖片只含有目標(biāo)對象,沒有背景的干擾。B-CNN階段中訓(xùn)練集,驗(yàn)證集與測試集的比例是7∶1.5∶1.5。在ImageNet中1 000類分類訓(xùn)練好的參數(shù)的基礎(chǔ)上,在CUB200-2011數(shù)據(jù)集進(jìn)行微調(diào)。將圖片輸入到B-CNN后,Stream A的作用是對圖像中對象的特征部位進(jìn)行定位,而Stream B則是用來對Stream A檢測到的特征區(qū)域進(jìn)行特征提取。兩個網(wǎng)絡(luò)相互協(xié)調(diào)作用,完成了細(xì)粒度圖像分類過程中兩個最關(guān)鍵的任務(wù)。
本文采用softmax函數(shù)做分類函數(shù)輸出一個概率值,計算公式如下:
(6)
式中:Si是第i個類別的概率值;ei是第i個類別的得分。
與文獻(xiàn)[5-6]借助對象級及部位級標(biāo)注框進(jìn)行細(xì)粒度分類對比,本文僅僅采用了對象級標(biāo)注框。與文獻(xiàn)[7]利用迭代的方法獲取對象級與部位級標(biāo)注框?qū)Ρ龋疚睦肦PN提取目標(biāo)區(qū)域,并將深度學(xué)習(xí)框架的注意力[16]全放在目標(biāo)區(qū)域,防止無關(guān)信息的干擾,提高識別速度與精度。實(shí)驗(yàn)結(jié)果如表2所示。實(shí)驗(yàn)表明,本文的算法識別率為85.5%,比文獻(xiàn)[5-7]中的方法分別高了8.90%、1.5%、3.0%。證明本文提出的基于RPN與B-CNN的細(xì)粒度分類算法,將識別的重心放在目標(biāo)區(qū)域內(nèi)。利用B-CNN優(yōu)化目標(biāo)區(qū)域的同時,在目標(biāo)區(qū)域內(nèi)提取特征,不僅不需要提供額外的部位級標(biāo)注框,并且準(zhǔn)確率有較大提高。
表2 不同方法在CUB200-2011數(shù)據(jù)集的識別率
Standford Dogs數(shù)據(jù)集是從ImageNet數(shù)據(jù)集中提取狗的類別組成的。本文在第一組實(shí)驗(yàn)獲取的參數(shù)基礎(chǔ)上進(jìn)行微調(diào),實(shí)驗(yàn)結(jié)果如表3所示。與文獻(xiàn)[8]基于對象級與部位級標(biāo)注框與注意力機(jī)制相比,雖然兩者都將識別重心放在目標(biāo)區(qū)域,但本文在僅僅使用對象級標(biāo)注框的前提下,利用外積將B-CNN的Strean A與Stream B統(tǒng)一成一個端到端的訓(xùn)練模型。與文獻(xiàn)[9]使用SalClassNet網(wǎng)絡(luò)提取顯著性特征,并對顯著性特征進(jìn)行細(xì)粒度分類相比,本文使用對象級標(biāo)注框在ROI區(qū)域上進(jìn)行特征提取。因此,識別率分別比文獻(xiàn)[8]和文獻(xiàn)[9]的方法高了1.2%和3.9%。這表明同時對標(biāo)注框與類別進(jìn)行端到端的訓(xùn)練能有效提高識別率。
表3 不同方法在Standford Dogs數(shù)據(jù)集的識別率
此外,對本文提出的算法,增加了5組對比實(shí)驗(yàn)分別為:方案一,不使用OHEM優(yōu)化RPN,不改變B-CNN網(wǎng)絡(luò)結(jié)構(gòu);方案二,不使用soft-nms優(yōu)化RPN,不改變B-CNN網(wǎng)絡(luò)結(jié)構(gòu);方案三,在使用OHEM及soft-nms的前提下,不增加B-CNN 的外積操作;方案四,僅增加B-CNN的外積操作;方案五,使用OHEM及soft-nms,同時增加B-CNN的外積操作。實(shí)驗(yàn)對比結(jié)果如表4所示。實(shí)驗(yàn)結(jié)果表明,方案五的識別率為90.10%,比方案一、方案二、方案三、方案四分別高了2.9%、2.3%、1.6%、1.1%。方案一僅使用OHEM,僅有效地防止了過擬合;方案二僅使用soft-nms,使輸出的對象級標(biāo)注更加準(zhǔn)確,并減少了假陰性概率;方案三則結(jié)合了方案一與方案二,識別率有所提升;方案四僅增加B-CNN的外積操作,加強(qiáng)了不同層之間的空間聯(lián)系。這表明使用OHEM與soft-nms改進(jìn)RPN,能讓獲得的對象級標(biāo)注更加精確,既可以避免背景的干擾,減少假陰性,又能有效防止過擬合。而增加B-CNN的外積操作,增加了不同層特征間的空間聯(lián)系。這是因?yàn)椴煌瑢雨P(guān)注的特征不同并且感受野大小也不同,這可以有效地提高識別率。
表4 對比實(shí)驗(yàn)結(jié)果圖
本文針對細(xì)粒度分類子類別間細(xì)微的類間差異、較大的類內(nèi)差異、依賴大量人工標(biāo)注信息等問題,提出了基于RPN與B-CNN的細(xì)粒度分類算法。本文的主要貢獻(xiàn)如下:(1) 利用RPN網(wǎng)絡(luò)自動輸出對象級標(biāo)注,不需要部位級標(biāo)注,避免標(biāo)注對象部位花費(fèi)的精力。(2) 使用soft-nms和OHEM算法改進(jìn)RPN,輸出更加精確的區(qū)域提議,可以有效防止過擬合并減少假陰性概率。(3) 改進(jìn)B-CNN網(wǎng)絡(luò),增加不同層間的外積操作,以融合不同層的特征,并將雙線性特征級聯(lián)在一起加強(qiáng)空間的聯(lián)系。實(shí)驗(yàn)結(jié)果證明,基于RPN與B-CNN的細(xì)粒度分類算法能顯著提高識別率。但由于增加了RPN網(wǎng)絡(luò)以及OHEM與soft-nms操作,程序的運(yùn)行時間相比其他算法有所增加。并且,未將RPN網(wǎng)絡(luò)與B-CNN網(wǎng)絡(luò)聯(lián)合起來,也是本文的不足。接下來,我們的工作重心將放在使RPN與B-CNN網(wǎng)絡(luò)聯(lián)合成一個端到端的模型,并提取同類物體不同子類的差異特征,作為深度網(wǎng)絡(luò)的輸入來提高準(zhǔn)確率。