周龍,王偉強(qiáng)?,呂科
(1 中國(guó)科學(xué)院大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 北京 101408; 2 中國(guó)科學(xué)院大學(xué)工程科學(xué)學(xué)院, 北京 100049)
近年來,細(xì)粒度識(shí)別在計(jì)算機(jī)視覺領(lǐng)域受到廣泛關(guān)注,包括識(shí)別鳥類[1]、花類[2]、車型[3-4]、犬種[5]等。由于車型具有獨(dú)特的分層結(jié)構(gòu)和大量的子類別,細(xì)粒度車輛識(shí)別成為一個(gè)具有挑戰(zhàn)性的課題。不同于其他細(xì)粒度類別,車輛具有獨(dú)特的分層結(jié)構(gòu)[6],自頂向下分為4層,即汽車類型、生產(chǎn)商、汽車型號(hào)和生產(chǎn)年份,如圖1所示。因此,分層分類對(duì)于識(shí)別車輛是一個(gè)很好的選擇。不同于一般的圖像識(shí)別,細(xì)粒度車輛識(shí)別目的是識(shí)別車輛更精細(xì)的子類別,由于細(xì)粒度類別存在細(xì)微的局部類間差異和巨大的類內(nèi)方差[7],使得細(xì)粒度識(shí)別成為一項(xiàng)具有挑戰(zhàn)性的任務(wù)。如圖2所示,由于細(xì)微的局部類間差異和巨大的類內(nèi)方差,傳統(tǒng)的CNN方法將車輛識(shí)別錯(cuò)誤,而本文方法(FACR, fast and accurate car recognizer)通過定位注意力區(qū)域,得到判別性特征,從而準(zhǔn)確識(shí)別車輛。
圖1 汽車的分層結(jié)構(gòu)Fig.1 The hierarchical structure of cars
圖2 FACR與傳統(tǒng)的CNN對(duì)比Fig.2 Comparison between FACR and traditional CNN
隨著深度學(xué)習(xí)的成功,它在細(xì)粒度車輛識(shí)別領(lǐng)域得到應(yīng)用,并且在判別性特征提取、局部注意力定位和細(xì)粒度分類等方面取得顯著進(jìn)展。文獻(xiàn)[8]提出一種有效的深度卷積網(wǎng)絡(luò),用于從圖像中提取判別性特征。文獻(xiàn)[3]提出一個(gè)注意力候選網(wǎng)絡(luò)(APN)用于定位注意力區(qū)域。雖然這種方法取得了很好的性能,但運(yùn)行速度相對(duì)較慢。同時(shí),文獻(xiàn)[7]提出全卷積注意力網(wǎng)絡(luò)(FCANs)用于細(xì)粒度識(shí)別任務(wù),其中弱監(jiān)督增強(qiáng)學(xué)習(xí)過程用于定位注意力區(qū)域。然而,當(dāng)圖像中存在多輛汽車時(shí),這種方法注意力區(qū)域定位不夠準(zhǔn)確。另外,文獻(xiàn)[2]和文獻(xiàn)[9]利用與圖像相關(guān)的文本注釋幫助提升注意力區(qū)域定位的準(zhǔn)確性,取得了很好的效果。但是額外的局部位置或文本注釋等監(jiān)督信息往往很難大量地獲取到。大多數(shù)的細(xì)粒度車型識(shí)別方法使用單個(gè)softmax預(yù)測(cè)所有的類別,如圖3(a)所示,但是這種方法不適用于細(xì)粒度車輛識(shí)別。因?yàn)轭悇e之間不是互斥關(guān)系,不滿足softmax操作的前提假設(shè)。文獻(xiàn)[10]建立WordTree用于分層分類,其中多個(gè)softmax操作在不同層次上進(jìn)行計(jì)算,如圖3(b)所示,這為細(xì)粒度分類提供了一個(gè)全新的思路。
圖3 兩種細(xì)粒度分類對(duì)比Fig.3 Comparison between two fine-grained classifications
與現(xiàn)存工作相比,本文提出一種快速且準(zhǔn)確的車輛識(shí)別器FACR用于細(xì)粒度車輛識(shí)別。FACR能有效地從粗粒度到細(xì)粒度學(xué)習(xí)判別性注意力區(qū)域和基于區(qū)域的特征表示,并且不需要額外的局部或文本作為監(jiān)督信息。此外,F(xiàn)ACR重復(fù)使用粗粒度特征圖生成細(xì)粒度特征圖,這使得訓(xùn)練和預(yù)測(cè)過程變得更高效。
如圖4所示,本文提出的FACR包含3個(gè)組件:特征圖生成組件、注意力區(qū)域定位組件(attention region localization component, ARC)和分層分類組件(hierarchical classification component, HCC)。首先,深度卷積神經(jīng)網(wǎng)絡(luò)從給定的圖像中提取判別性特征圖。然后區(qū)域回歸器和局部估計(jì)器用于定位注意力區(qū)域,其中區(qū)域回歸器預(yù)測(cè)車輛的位置(紅色),特征圖上對(duì)應(yīng)的位置裁剪并歸一化作為局部估計(jì)器的輸入,局部估計(jì)器輸出車輛的局部位置(黃色),歸一化后的特征圖以相似的方式獲得。最后,3種尺度(圖像、車輛、局部)的特征圖輸入分層分類組件進(jìn)行細(xì)粒度分類。
圖4 FACR的框架結(jié)構(gòu)Fig.4 Architecture of FACR framework
現(xiàn)存方法通常采用較為流行的CNN架構(gòu)[8-11](例如,VGG-16,ResNet-50)生成多尺度特征圖。本文設(shè)計(jì)了一個(gè)新的深度卷積神經(jīng)網(wǎng)絡(luò),命名為FeatureNet,并在ImageNet數(shù)據(jù)集[12]上進(jìn)行預(yù)訓(xùn)練,在細(xì)粒度車輛數(shù)據(jù)集上進(jìn)行微調(diào)。類似于YOLOv3模型[13],使用步長(zhǎng)為2的卷積層替代池化層,以避免特征信息丟失過多。圖5(a)顯示FeatureNet中殘差模塊的結(jié)構(gòu),其中M和N分別表示輸入輸出的通道數(shù)。標(biāo)識(shí)為CONV.的矩形框表示卷積層,卷積核大小為K×K,步長(zhǎng)為S,
給定一張輸入圖像X,首先將大小歸一化到512×512,然后送入FeatureNet生成通道數(shù)為1 024、大小為16×16的特征圖。整個(gè)計(jì)算過程可公式化為φ0=f(X;Wc),其中Wc表示FeatureNet里所有的參數(shù),f(·)表示函數(shù)映射,φ0表示FeatureNet的輸出。
注意力區(qū)域定位組件ARC包括兩個(gè)計(jì)算步驟。首先,訓(xùn)練區(qū)域回歸器定位車輛的注意力區(qū)域,然后局部估計(jì)器進(jìn)一步估計(jì)潛在的局部注意力區(qū)域。區(qū)域回歸器由兩個(gè)堆疊的全連接層組成,局部估計(jì)器由1個(gè)通道數(shù)為1、卷積核大小為3×3的卷積層和1個(gè)softmax層組成。
特征圖φ0送入網(wǎng)絡(luò)中的區(qū)域回歸器,能夠得到車輛注意力區(qū)域的預(yù)測(cè)結(jié)果。車輛注意力區(qū)域由一個(gè)四維向量t=(xr,yr,wr,hr)表示,即
t=g(φ0;Wr).
(1)
其中:(xr,yr)表示車輛注意力區(qū)域左上角點(diǎn)的坐標(biāo),(wr,hr)表示車輛注意力區(qū)域的寬度和高度,g(·)表示區(qū)域回歸器里的函數(shù)映射,Wr表示區(qū)域回歸器里的所有參數(shù)。在特征圖φ0上對(duì)應(yīng)t的位置進(jìn)行裁剪,并使用雙線性插值的方式放大到與φ0同樣大小。最終,得到通道數(shù)為1 024、大小為16×16的車輛注意力特征圖,用φ1表示。
局部估計(jì)器以車輛注意力特征圖φ1作為輸入,經(jīng)過通道數(shù)為1、卷積核大小為3×3的卷積層,將φ1轉(zhuǎn)換為通道數(shù)為1、大小為16×16的置信度圖。然后置信度圖經(jīng)過一個(gè)softmax操作,進(jìn)一步轉(zhuǎn)換為概率圖。最終,在概率圖上找到一個(gè)大小為8×8且概率和最大的區(qū)域,將其定義為局部注意力區(qū)域,用p=(xp,yp,wp,hp)表示,即
p=h(φ1;Wp).
(2)
其中:(xp,yp)表示局部注意力區(qū)域左上角點(diǎn)的坐標(biāo),(wp,hp)表示局部注意力區(qū)域的寬度和高度,h(·)表示局部估計(jì)器里的函數(shù)映射,Wp表示局部估計(jì)器里的所有參數(shù)。在特征圖φ1上對(duì)應(yīng)p的位置進(jìn)行裁剪,并使用雙線性插值的方式放大到與φ1同樣大小。最終,得到通道數(shù)為1 024、大小為16×16的車輛注意力特征圖,用φ2表示。
圖5 FACR的特征圖生成組件Fig.5 The feature-map generation component of FACR
雖然本文中只使用了一個(gè)局部估計(jì)器,但是多個(gè)局部估計(jì)器能以相似的方式堆疊和計(jì)算,得到更多不同大小和尺度的局部注意力特征圖φk,k=3,4,…。譬如,在概率圖上選取一個(gè)大小為4×4且概率和最大的區(qū)域,這樣就能得到不同大小的局部注意力特征圖,多個(gè)局部注意力特征圖可并行計(jì)算,增加的耗時(shí)可忽略不計(jì)。
P(Tk,Fk,Mk,Yk)=
(3)
通過上述計(jì)算,在不同尺度上得到分類預(yù)測(cè)值Tk,F(xiàn)k,Mk,Yk。最終的分類結(jié)果通過公式q=argmaxkP(Tk,Fk,Mk,Yk)計(jì)算得到。這就意味著FACR最終的輸出為[Tq,Fq,Mq,Yq]。
FACR訓(xùn)練的過程中,損失函數(shù)定義為L(zhǎng)=Lc+λLa,其中Lc和La分別表示分層分類損失和注意力區(qū)域定位損失,λ是兩種損失之間的平衡因子,在本文實(shí)驗(yàn)中,λ=1。
為驗(yàn)證本文提出的FACR的性能,在兩個(gè)公開的細(xì)粒度汽車數(shù)據(jù)集(Compcars[6]和Stanford Cars[14])上進(jìn)行了評(píng)估實(shí)驗(yàn)。這兩個(gè)數(shù)據(jù)集的相關(guān)信息總結(jié)在表1中。
表1 數(shù)據(jù)集的相關(guān)信息Table 1 Related information of datasets
訓(xùn)練過程中,F(xiàn)ACR使用ADAM優(yōu)化算法,批大小設(shè)置為32。初始化學(xué)習(xí)率為0.01,每處理20 000批,學(xué)習(xí)率乘以0.1,直到學(xué)習(xí)率為10-4為止。網(wǎng)絡(luò)模型的訓(xùn)練直到損失收斂為止。
1.1小節(jié),具體介紹了FACR采用的網(wǎng)絡(luò)結(jié)構(gòu)FeatureNet,它與DarkNet[13]的結(jié)構(gòu)存在很大區(qū)別。首先網(wǎng)絡(luò)層數(shù)不同,DarkNet-53有53個(gè)卷積層,而FeatureNet有12個(gè)殘差模塊,共36個(gè)卷積層;其次網(wǎng)絡(luò)基礎(chǔ)模塊不同,DarkNet網(wǎng)絡(luò)結(jié)構(gòu)中基礎(chǔ)模塊是卷積層,而FeatureNet的基礎(chǔ)模塊是殘差模塊,殘差模塊的優(yōu)點(diǎn)在于加速網(wǎng)絡(luò)收斂,能夠有效地減弱深層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中梯度消失的影響。雖然DarkNet-53中有Residual結(jié)構(gòu),但這僅僅是跨層連接操作,其與相鄰的卷積層結(jié)合構(gòu)成的模塊,也與本文中的殘差模塊結(jié)構(gòu)不同。因此FeatureNet與DarkNet結(jié)構(gòu)不同。
在工作站上進(jìn)行實(shí)驗(yàn),評(píng)估FACR與現(xiàn)存方法的計(jì)算效率。工作站的配置為單個(gè)Titan Xp GPU 和Intel(R) Xeon(R) CPU E5-1603 v4@2.80 GHz。處理Stanford Cars數(shù)據(jù)集中的所有圖像,并計(jì)算平均時(shí)間,實(shí)驗(yàn)結(jié)果總結(jié)在表2中。可以看出FACR分類速度達(dá)10.80 fps,有著更高的計(jì)算效率。另外,將FACR中的FeatureNet替換為Resnet50,命名為Resnet50+ARC+HCC,其中ARC表示注意力區(qū)域定位組件,HCC表示分層分類組件。與FCANs[7]中提取圖像特征圖的網(wǎng)絡(luò)架構(gòu)保持一致,Resnet50+ARC+HCC仍然比現(xiàn)存方法[3,7,15]有更高的計(jì)算效率。
表2 計(jì)算效率對(duì)比Table 2 Comparison of computational efficiency
為了評(píng)估FACR方法進(jìn)行細(xì)粒度識(shí)別的準(zhǔn)確度,在公開可用的數(shù)據(jù)集(Stanford Cars和Compcars)上進(jìn)行了對(duì)比實(shí)驗(yàn),F(xiàn)ACR與現(xiàn)存方法的定量結(jié)果對(duì)比見表3、表4和表5。
表3 Stanford Cars對(duì)比結(jié)果Table 3 Comparison of the results on Stanford Cars
表4 Compcars對(duì)比結(jié)果Table 4 Comparison of the results on Compcars
表5 分層分類結(jié)果Table 5 Results of hierarchical classification
Stanford cars數(shù)據(jù)集提供的汽車類別之間互斥,因此FACR使用單個(gè)softmax操作,直接輸出分類結(jié)果,而沒有采用分層分類。在本實(shí)驗(yàn)中,根據(jù)輸入是否有車輛位置信息分為兩種輸入模式。若有車輛位置信息,則將圖像中車輛區(qū)域裁剪后作為輸入;否則整個(gè)圖像作為輸入。表3顯示,與現(xiàn)存方法相比,F(xiàn)ACR有較高的準(zhǔn)確度。有、無車輛位置信息兩種情況下,F(xiàn)ACR僅比PA-CNN準(zhǔn)確度稍低。
在表3中,可以看出輸入圖像是否有車輛位置信息,對(duì)FACR不會(huì)產(chǎn)生太大的影響,而FCANs在沒有車輛位置信息的情況下,性能降低1.6個(gè)百分點(diǎn)。原因在于FACR中的區(qū)域回歸器會(huì)對(duì)圖像中的車輛進(jìn)行定位,局部估計(jì)器進(jìn)一步在車輛區(qū)域提取注意力特征,而FCANs是直接在原圖上提取注意力特征,會(huì)受到背景車輛的干擾。
表4顯示,在Compcars數(shù)據(jù)集上與現(xiàn)存方法相比,只在生產(chǎn)商層次上,F(xiàn)ACR比Resnet50-swp準(zhǔn)確度低,但是在汽車型號(hào)層次上的準(zhǔn)確度比它高。另外,在汽車型號(hào)層次上,F(xiàn)ACR比FF-CMnet準(zhǔn)確度稍低。因此,在單個(gè)層次上進(jìn)行細(xì)粒度車輛識(shí)別,F(xiàn)ACR具有良好的性能。
在Compcars數(shù)據(jù)集上,雖然FACR的識(shí)別精度并不是最優(yōu),但是它可使用單個(gè)網(wǎng)絡(luò)同時(shí)識(shí)別汽車類型、生產(chǎn)商、汽車型號(hào)和生產(chǎn)年份,如表5所示。而其他方法,只對(duì)汽車一部分信息進(jìn)行識(shí)別。如表4所示,F(xiàn)F-CMnet方法只對(duì)汽車型號(hào)進(jìn)行識(shí)別,Resnet50-swp方法只對(duì)生產(chǎn)商或者汽車型號(hào)進(jìn)行識(shí)別。相比于這些方法,F(xiàn)ACR更加完善。
此外,Compcars數(shù)據(jù)集提供了更多的類別信息,包括汽車類型、生產(chǎn)商、型號(hào)和生產(chǎn)年份,而汽車類別與生產(chǎn)商之間不互斥,因此FACR使用分層分類的方法進(jìn)行細(xì)粒度車輛識(shí)別。表5顯示,F(xiàn)ACR在4個(gè)細(xì)粒度層次上分類實(shí)現(xiàn)了94.47%的準(zhǔn)確度,而其他方法并沒有在數(shù)據(jù)集上進(jìn)行此方面的工作。
為了探究FACR定位到的車輛區(qū)域注意力特征和局部注意力特征對(duì)細(xì)粒度車型識(shí)別結(jié)果的影響,在Stanford Cars和Compcars數(shù)據(jù)集上設(shè)計(jì)了幾組消融實(shí)驗(yàn)。其中√表示使用該類特征,“區(qū)域”指的是車輛區(qū)域的注意力特征,“局部”指局部注意力特征。在Stanford Cars數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)時(shí),輸入圖像不帶有車輛位置信息,這樣能更好地驗(yàn)證區(qū)域注意力特征的有效性。在Compcars數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)時(shí),使用分層分類的方法進(jìn)行細(xì)粒度車輛識(shí)別,如表6所示。
表6 消融實(shí)驗(yàn)Table 6 Ablation experiment
表6顯示,同時(shí)使用區(qū)域注意力特征和局部注意力特征用于細(xì)粒度車型識(shí)別,相比于只使用區(qū)域注意力特征或只使用局部注意力特征,識(shí)別性能均有提升。
為了對(duì)比FACR與FCANs注意力特征定位的性能,在Stanford Cars數(shù)據(jù)集上進(jìn)行了相應(yīng)的對(duì)比實(shí)驗(yàn)。圖6顯示幾組樣例圖像的對(duì)比結(jié)果,其中紅色的矩形框表示FACR定位的車輛區(qū)域注意力特征,黃色的矩形框表示FACR定位的車輛局部注意力特征。藍(lán)色和白色的矩形框表示FCANs定位的多個(gè)局部注意力特征。
圖6 FACR與FCANs定性對(duì)比Fig.6 Qualitative comparison between FACR and FCANs
從圖6(a)可以看出,當(dāng)輸入圖像帶有車輛位置信息時(shí),F(xiàn)ACR的結(jié)果(紅色和黃色標(biāo)記的矩形框)和FCANs的結(jié)果(藍(lán)色和白色標(biāo)記的矩形框)都能定位到車輛注意力特征。從圖6(b)可以看出,當(dāng)輸入圖像沒有車輛位置信息時(shí),F(xiàn)ACR的結(jié)果總能定位在目標(biāo)車輛上,而FCANs的結(jié)果會(huì)因?yàn)楸尘袄锎嬖诟蓴_車輛而不準(zhǔn)確。說明FACR對(duì)背景噪聲更魯棒。
對(duì)比圖6(a)和6(b)實(shí)驗(yàn)結(jié)果,可以看出,F(xiàn)ACR在兩種輸入模式下,定位到的注意力區(qū)域,基本一致。而FCANs方法在不同輸入模式下,定位到的注意力區(qū)域,有明顯差異。當(dāng)輸入不帶車輛位置信息時(shí),更容易受背景車輛的干擾。
本文提出一種快速且準(zhǔn)確的細(xì)粒度車輛識(shí)別器FACR。通過準(zhǔn)確地定位注意力區(qū)域和使用層次分類方法,構(gòu)建單個(gè)網(wǎng)絡(luò)來實(shí)現(xiàn)復(fù)雜的細(xì)粒度車輛識(shí)別。在標(biāo)準(zhǔn)數(shù)據(jù)集Stanford Cars和Compcars上的實(shí)驗(yàn)結(jié)果表明,與現(xiàn)有方法相比,F(xiàn)ACR方法有較高的計(jì)算效率和準(zhǔn)確度。