黃于峰 劉建國(guó)
(華中科技大學(xué)自動(dòng)化學(xué)院 武漢 430074)
近年來(lái)隨著自動(dòng)駕駛[1],增強(qiáng)現(xiàn)實(shí)[2]等應(yīng)用領(lǐng)域的興起,視覺(jué)位置識(shí)別在計(jì)算機(jī)視覺(jué)、機(jī)器人等領(lǐng)域備受關(guān)注。視覺(jué)位置識(shí)別(Visual Place Recog?nition)是通過(guò)圖像來(lái)判斷兩個(gè)地點(diǎn)是否處于同一位置,不同于其他識(shí)別任務(wù),位置識(shí)別最大難點(diǎn)源于環(huán)境本身的多變性[3],如日照、氣候、人類活動(dòng)、拍攝視角等,所造成的圖像光照強(qiáng)度、外觀結(jié)構(gòu)、視點(diǎn)等方面的變化,如圖1所示。
目前,視覺(jué)位置識(shí)別問(wèn)題主要被當(dāng)作圖像實(shí)例檢索任務(wù)來(lái)進(jìn)行處理,即通過(guò)與數(shù)據(jù)庫(kù)中的圖像進(jìn)行匹配以返回查詢圖像的位置。數(shù)據(jù)庫(kù)中圖像首先利用 SIFT[4]、SURF[5]、ORB[6]、GIST[7]等進(jìn)行特征提取,由于所生成的特征數(shù)量很大,直接用于匹配將非常低效,為加速匹配過(guò)程,往往將其與詞袋模型(BoW)[8]、VLAD[9]或 Fisher矢量[10]等結(jié)合使用,由此生成的特征描述符往往更加緊湊并能被高效地索引[11]。然而,隨著視覺(jué)位置識(shí)別任務(wù)對(duì)變化環(huán)境下的識(shí)別率與魯棒性要求越來(lái)越高,基于SIFT、ORB等傳統(tǒng)手工特征的位置識(shí)別方法越來(lái)越無(wú)法滿足應(yīng)用要求。
圖1 環(huán)境變化對(duì)位置圖像的影響
近年來(lái),卷積神經(jīng)網(wǎng)絡(luò)(CNN)作為一種強(qiáng)有力的圖像表示方式在目標(biāo)分類[12]、場(chǎng)景識(shí)別[13]、目標(biāo)檢測(cè)[14]等多種識(shí)別任務(wù)中表現(xiàn)出遠(yuǎn)優(yōu)于傳統(tǒng)手工特征的性能,也逐漸有研究者將CNN用于位置識(shí)別中來(lái),并取得了良好的效果[3,15~19]。然而目前所提出的這些方法都存在著一定的缺陷,比如缺少對(duì)于相機(jī)視點(diǎn)變化的不變性[20],或者說(shuō)需要針對(duì)特定環(huán)境進(jìn)行額外地訓(xùn)練[21],抑或是缺乏對(duì)外觀變化的魯棒性[15]。Niko等[18]提出了一種基于 EdgeBox[22]路標(biāo)檢測(cè)與CNN特征結(jié)合的位置識(shí)別方法,該方法不僅具備對(duì)于視點(diǎn)及環(huán)境變化的魯棒性,且不需要額外的訓(xùn)練開(kāi)銷,不過(guò)該方法需要對(duì)所提取的每個(gè)路標(biāo)分別進(jìn)行CNN特征提取,時(shí)間花費(fèi)非常高,無(wú)法滿足實(shí)時(shí)要求,此外該方法得到的特征維度很高且并未采用BOW等方式對(duì)特征匹配環(huán)節(jié)進(jìn)行優(yōu)化,因此實(shí)用性不高。
本文基于CNN特征提取并結(jié)合BOW提出了一種稀疏的特征描述子——BCF(Bag of Convolu?tion Features),大大提高了圖像檢索的速度,同時(shí)為了提高其對(duì)于變化環(huán)境的魯棒性,構(gòu)建了一個(gè)能夠?qū)崿F(xiàn)快速生成局部感興趣區(qū)域特征詞匯的特征映射圖,并利用其對(duì)檢索結(jié)果進(jìn)行二次排序,通過(guò)這種方式將全局特征與局部特征進(jìn)行了聯(lián)合,在保證實(shí)時(shí)性的同時(shí)也大大提高了識(shí)別效果,此外本文提出的方法并不需要針對(duì)特定的識(shí)別任務(wù)進(jìn)行額外地訓(xùn)練,更加提升了其實(shí)用性。
BCF特征描述子的構(gòu)建流程如圖2所示。
圖2 BCF構(gòu)建流程圖
特征提取部分,我們利用預(yù)先訓(xùn)練好的CNN網(wǎng)絡(luò)模型,將某一層的激活響應(yīng)輸出作為特征,為了加快CNN網(wǎng)絡(luò)的前饋計(jì)算過(guò)程,我們直接將原始網(wǎng)絡(luò)中的softmax層和全連接層去掉,通過(guò)這種方式不僅能加快特征提取的速度,還能使得CNN網(wǎng)絡(luò)的輸入可以是任意尺寸的圖像,因?yàn)镃NN網(wǎng)絡(luò)對(duì)于輸入圖像尺寸的要求主要是全連接層帶來(lái)的[23]。如圖2所示,若某一卷積層的輸出維度為N×M×D,則可將其看作N×M個(gè)D維的局部特征描述子。
BoW模型[24]通過(guò)構(gòu)建一個(gè)視覺(jué)詞典并將特征矢量映射到距離其最近的類別中心,來(lái)對(duì)圖像特征進(jìn)行編碼。我們采用K-均值算法來(lái)對(duì)數(shù)據(jù)集中提取出的所有特征向量進(jìn)行聚類以生成詞典。至此由卷積層輸出的每一個(gè)局部CNN特征矢量都會(huì)被分配給詞典中的某一個(gè)詞語(yǔ),通過(guò)這種方式就可以生成一個(gè)由局部CNN特征到視覺(jué)詞語(yǔ)的特征映射圖,所得到的二維分配圖尺寸為N×M,顯然,特征映射圖可以看作原始圖像的一個(gè)更為緊湊的表示,它將原始圖像上尺寸為的矩形區(qū)域映射為了特征映射圖上的一個(gè)點(diǎn),其中W和H分別為原圖的寬和高。通過(guò)特征映射圖,我們可以快速地生成原始圖像上任意區(qū)域的BOW矢量,這就為全局特征與局部特征的結(jié)合使用提供了可能。
在輸入圖像進(jìn)行BCF特征提取之后,接下來(lái)就應(yīng)該進(jìn)行檢索與匹配,即將輸入圖像的BCF特征與數(shù)據(jù)集中的BCF特征矢量進(jìn)行比對(duì),根據(jù)距離排序返回結(jié)果。根據(jù)輸入的不同,我們將搜索方式分成了兩種:全局搜索與局部搜索。全局搜索以整幅圖像的BCF特征矢量作為輸入,而局部搜索則只是將感興趣區(qū)域的BCF矢量用于搜索。整個(gè)搜索過(guò)程主要由初步搜索與局部重排名兩步組成。
利用全局搜索策略得到一個(gè)初步的結(jié)果排名。計(jì)算查詢圖像的全局BCF特征矢量與數(shù)據(jù)庫(kù)中圖像的全局BCF矢量的距離,在此我們選擇余弦相似度作為距離度量方式[18]:
其中,q=(q1,q2,…,qn)為查詢圖像的 n維BCF 特征矢量,pk=(pk1,pk2,…,pkn)為數(shù)據(jù)庫(kù)中第k幅圖像的BCF特征矢量。
然后根據(jù)距離度量對(duì)數(shù)據(jù)庫(kù)中的圖像進(jìn)行排序得到初步結(jié)果。為了加快搜索的速度,我們采用了逆索引技術(shù)[24]并使用GPU來(lái)加速稀疏矩陣的乘法計(jì)算。
在初步搜索之后,我們將排名前K的圖像挑選出來(lái)作為候選集,然后對(duì)它們進(jìn)行局部搜索,根據(jù)搜索結(jié)果進(jìn)行重排名,得到最終的查詢結(jié)果。首先,我們對(duì)查詢圖像進(jìn)行感興趣區(qū)域提取,提取方式可以自定義,如 EdgeBox[22]、FAST[25]等,在本文中,出于時(shí)效性考慮,我們只是采用了一種簡(jiǎn)單的基于滑動(dòng)窗的區(qū)域提取策略。然后將得到的感興趣區(qū)域經(jīng)過(guò)一定地尺度變換對(duì)應(yīng)到特征映射圖上的相應(yīng)區(qū)域,由此可迅速得到感興趣區(qū)域的BCF特征矢量。在實(shí)際操作中,我們可以直接在特征映射圖上進(jìn)行滑動(dòng)窗口提取,分別在查詢圖像與候選圖像的特征映射圖的相同位置上,提取了n個(gè)寬高為的窗口,其中W和H分別為特征映射圖的寬與高,然后計(jì)算查詢圖像Q與候選圖像Ck的重排名分?jǐn)?shù):
其中,Qi和Cki分別為查詢圖像和候選圖像的第i個(gè)窗口區(qū)域的BCF特征矢量。
根據(jù)重排名分?jǐn)?shù)對(duì)候選集中的圖像進(jìn)行二次排名,得到最終的查詢結(jié)果。
為了驗(yàn)證本文提出的方法并不依賴于特定的網(wǎng)絡(luò)結(jié)構(gòu),我們選擇了Caffe[26]預(yù)先訓(xùn)練好的兩種不同的網(wǎng)絡(luò)模型,AlexNet[12]和 VGG16[27]網(wǎng)絡(luò)模型,在相同數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn)。同時(shí)為了驗(yàn)證本文的方法并不需要針對(duì)特定的識(shí)別任務(wù)進(jìn)行專門(mén)地訓(xùn)練,我們選用了AlexNet-Places365網(wǎng)絡(luò)模型進(jìn)行實(shí)驗(yàn),該模型與AlexNet具有相同的網(wǎng)絡(luò)結(jié)構(gòu),但它是在Places365[13]場(chǎng)景識(shí)別數(shù)據(jù)集上訓(xùn)練得到的。深度卷積神經(jīng)網(wǎng)絡(luò)往往具有多個(gè)卷積層,不同卷積層輸出也不同,因此在本實(shí)驗(yàn)中我們對(duì)每種網(wǎng)絡(luò)結(jié)構(gòu)都選用了三個(gè)不同的卷積層輸出來(lái)構(gòu)造BCF特征,以展示不同網(wǎng)絡(luò)層對(duì)于識(shí)別結(jié)果的影響,對(duì)于AlexNet和AlexNet-Places365網(wǎng)絡(luò),我們選用了其conv3,conv4及conv5層的輸出,對(duì)于VGG16網(wǎng)絡(luò)模型,我們選擇了其conv5_1,conv5_2及conv5_3的輸出。我們抽取了不同卷積層輸出進(jìn)行可視化,效果示例如圖3所示。
由圖3可以看出,不同網(wǎng)絡(luò)卷積層輸出有較大差別,且同一卷積層內(nèi)部層間輸出也存在很大差異,其實(shí)這也解釋了為什么CNN網(wǎng)絡(luò)能夠表現(xiàn)出比傳統(tǒng)手工特征更為強(qiáng)勁的表現(xiàn),相對(duì)于手工特征來(lái)說(shuō),CNN網(wǎng)絡(luò)實(shí)質(zhì)是一個(gè)高度非線性的模型,它內(nèi)在地集成了多個(gè)不同的濾波器各自進(jìn)行卷積運(yùn)算,因此能在各個(gè)層次上提取出不同位置的不同特征。我們?cè)贕ardens Point Campus數(shù)據(jù)集[18]上進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖4所示。
我們采用了從候選集中挑選出前N個(gè)候選結(jié)果時(shí)的正確率來(lái)作為評(píng)判標(biāo)準(zhǔn)。從實(shí)驗(yàn)結(jié)果可看出,雖然識(shí)別效果上VGG16要稍好于AlexNet-Places365 和 AlexNet,而 AlexNet-Plac?es365的識(shí)別效果要略好于AlexNet,但這種優(yōu)勢(shì)并不明顯,vgg16的平均識(shí)別正確率只比AlexNet-Places365高出了3.05%,而經(jīng)過(guò)特定訓(xùn)練的AlexNet-Places365模型的平均識(shí)別正確率僅僅比通用的AlexNet網(wǎng)絡(luò)模型高出了0.42%。由此可以說(shuō)明,本文的方法并不依賴于特定的網(wǎng)絡(luò)模型,也無(wú)須針對(duì)特定識(shí)別任務(wù)進(jìn)行專門(mén)的訓(xùn)練。
圖3 卷積層輸出可視化
圖4 不同網(wǎng)絡(luò)及網(wǎng)絡(luò)層的實(shí)驗(yàn)結(jié)果
我們將本文所提的基于CNN特征提取的位置識(shí)別方法與基于傳統(tǒng)手工特征的方法進(jìn)行對(duì)比,以驗(yàn)證CNN特征在位置識(shí)別任務(wù)上具有優(yōu)勢(shì)。在此我們選擇了SURF和ORB這兩種具有代表性的手工特征,并采用與CNN特征相同的BoW集成策略在相同數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)。SURF和ORB直接使用了OpenCV的實(shí)現(xiàn)。CNN特征我們選用了AlexNet的conv5層輸出,AlexNet-Places365的conv5層輸出,以及VGG16的conv5_1層輸出。實(shí)驗(yàn)主機(jī)配置為Intel Core i5-6500 CPU@3.20GHz x 4,GPU為NVIDIA GeForce GTX 1050。
首先,我們?cè)?Gardens Point Campus數(shù)據(jù)集[18]上進(jìn)行了實(shí)驗(yàn),該數(shù)據(jù)集中圖片主要包含了一定的視點(diǎn)變化,并含有輕微的外觀變化和行人等動(dòng)態(tài)環(huán)境的影響因素,如圖5所示。
圖5 Gardens Point Campus數(shù)據(jù)集樣例圖
圖6 Gardens Point Campus數(shù)據(jù)集實(shí)驗(yàn)結(jié)果
由圖6可以看出,在應(yīng)對(duì)具有視點(diǎn)變化的位置識(shí)別時(shí),基于CNN特征的方法表現(xiàn)優(yōu)于SURF和ORB,其平均識(shí)別正確率比SURF高出了11.17%,比ORB高出了35.02%。ORB特征是一種二值特征,其設(shè)計(jì)時(shí)在精度和速度上進(jìn)行了折中,因此是一種速度極快(在本實(shí)驗(yàn)環(huán)境中,其平均查詢時(shí)間約為0.05s,而基于CNN特征和SURF特征的方法平均查詢時(shí)間在0.1s左右)但精度稍遜一籌的特征描述子。
Gardens Point Campus數(shù)據(jù)集中圖片所存在的變化并不大,識(shí)別較為簡(jiǎn)單。為了體現(xiàn)CNN特征在復(fù)雜環(huán)境變化下的優(yōu)勢(shì),我們?cè)陔y度更大的Al?derley Day/Night數(shù)據(jù)集[20]上進(jìn)行了實(shí)驗(yàn),該數(shù)據(jù)集是對(duì)同一條路線,在天晴的白天和下雨的夜晚分別進(jìn)行拍攝,因此存在光照、視點(diǎn)、外觀及動(dòng)態(tài)環(huán)境等多種變化因素的影響,大大增加了位置識(shí)別的難度,數(shù)據(jù)集圖片示例如圖7所示。
由圖8可以看出,在應(yīng)對(duì)包含較大的光照、外觀、動(dòng)態(tài)環(huán)境、視點(diǎn)等變化環(huán)境下的位置識(shí)別時(shí),基于CNN特征的方法表現(xiàn)出明顯的優(yōu)勢(shì),其平均識(shí)別正確率比SURF高出了46.61%,比ORB高出了55.41%。由于我們只是簡(jiǎn)單地采用了基于OpenCV的SURF和ORB實(shí)現(xiàn),并沒(méi)有采用一些額外地優(yōu)化手段,因此基于SURF和ORB的方法性能上還有一定的提升空間。不過(guò)由于我們將CNN特征、SURF及ORB,集成了相同的位置識(shí)別算法框架,因此更加能夠說(shuō)明CNN特征在應(yīng)對(duì)光照、外觀結(jié)構(gòu)、動(dòng)態(tài)環(huán)境、視點(diǎn)等環(huán)境變化因素上具有更好的魯棒性。
圖7 Alderley Day/Night數(shù)據(jù)集圖片示例
圖8 Alderley Day/Night數(shù)據(jù)集實(shí)驗(yàn)結(jié)果
本文提出了一種基于深度卷積神經(jīng)網(wǎng)絡(luò)特征與詞袋模型結(jié)合的視覺(jué)位置識(shí)別框架。該方法無(wú)需針對(duì)特定位置識(shí)別任務(wù)進(jìn)行專門(mén)地訓(xùn)練,且可更換識(shí)別算法框架中的任意模塊,通用性強(qiáng),實(shí)用性高。通過(guò)在具有挑戰(zhàn)性的公開(kāi)數(shù)據(jù)集上進(jìn)行測(cè)試,該方法取得了比基于SURF、ORB等傳統(tǒng)手工特征的位置識(shí)別方法更好的識(shí)別效果,并對(duì)視點(diǎn)變化、光照變化、外觀變化以及動(dòng)態(tài)環(huán)境等復(fù)雜影響因素具備更好的魯棒性。本文中只是采用了最簡(jiǎn)單的局部區(qū)域提取策略用于局部重排名,在接下來(lái),我們將研究采用更加有效的局部區(qū)域提取策略來(lái)進(jìn)一步提高識(shí)別效果。
[1]Mcmanus C,Churchill W,Maddern W,et al.Shady deal?ings:Robust,long-term visual localisation using illumi?nation invariance[C]//IEEE International Conference on Robotics and Automation,2014:901-906.
[2]Middelberg S,Sattler T,Untzelmann O,et al.Scalable 6-DOF Localization on Mobile Devices[C]//European Conference on Computer Vision,2014:268-283.
[3]Lowry S,Sunderhauf N,Newman P,et al.Visual Place Recognition:A Survey[J].IEEE Transactions on Robot?ics,2015,32(1):1-19.
[4]Lowe D G.Distinctive Image Features from Scale-Invari?ant Keypoints[J].International Journal of Computer Vi?sion,2004,60(2):91-110.
[5]Bay H,Tuytelaars T,Gool L V.SURF:Speeded Up Ro?bust Features[J].Computer Vision&Image Understand?ing.2006,110(3):404-417.
[6]Rublee E,Rabaud V,Konolige K,et al.ORB:An effi?cient alternative to SIFT or SURF[C]//IEEE International Conference on Computer Vision,2011:2564-2571.
[7]Oliva A,Torralba A.Chapter 2 Building the gist of a scene:the role of global image features in recognition[J].Progress in Brain Research,2006,155(2):23-36.
[8]Philbin J,Chum O,Isard M,et al.Object retrieval with large vocabularies and fast spatial matching[C]//IEEE Conference on Computer Vision and Pattern Recognition,2007:1-8.
[9]Arandjelovic R,Zisserman A.All About VLAD[C]//IEEE Conference on Computer Vision and Pattern Recog?nition,2013:1578-1585.
[10]Perronnin F,Liu Y,Sanchez J,et al.Large-scale image retrieval with compressed Fisher vectors[C]//IEEE Con?ference on Computer Vision and Pattern Recognition,2010:3384-3391.
[11]Jegou H,Douze M,Schmid C.Product quantization for nearest neighbor search[J].IEEE Transactions on Pat?tern Analysis&Machine Intelligence,2011,33(1):117-128.
[12]Krizhevsky A,Sutskever I,Hinton G E.ImageNet classi?fication with deep convolutional neural networks[C]//In?ternational Conference on Neural Information Processing Systems,2012:1097-1105.
[13]Zhou B,Garcia A L,Xiao J,et al.Learning Deep Fea?tures for Scene Recognition using Places Database[J].Advances in Neural Information Processing Systems,2015,1:487-495.
[14]Ren S,He K,Girshick R,et al.Faster R-CNN:To?wards Real-Time Object Detection with Region Proposal Networks[J].IEEE Transactions on Pattern Analysis&Machine Intelligence,2016(99):1-9.
[15]Gomezojeda R,Lopezantequera M,Petkov N,et al.Training a Convolutional Neural Network for Appear?ance-Invariant Place Recognition[J].Computer Sci?ence,2015:1-9.
[16]Neubert P,Protzel P.Local region detector+CNN based landmarks for practical place recognition in changing en?vironments[C]//European Conference on Mobile Robots,2015:1-6.
[17]Sunderhauf N,Shirazi S,Dayoub F,et al.On the perfor?mance of ConvNet features for place recognition[C]//IEEE International Conference on Intelligent Robots and Systems,2015:4297-4304.
[18]Sünderhauf N,Shirazi S,Jacobson A,et al.Place Rec?ognition With ConvNet Landmarks:Viewpoint-Robust,Condition-Robust,Training-Free[C]//qIn Proceedings of Robotics:Science and Systems XII,2015:296-296.
[19]Chen Z,Lam O,Jacobson A,et al.Convolutional Neu?ral Network-based Place Recognition[J].Computer Sci?ence,2014:1-9.
[20]Milford M,Scheirer W,Vig E,et al.Condition-invari?ant,top-down visual place recognition[C]//IEEE Inter?national Conference on Robotics and Automation,2014:5571-5577.
[21]Mcmanus C,Upcroft B,Newmann P.Scene Signatures:Localised and Point-less Features for Localisation[C]//Robotics:Science and Systems,2014.
[22]Zitnick C L,Dollar P.Edge Boxes:Locating Object Pro?posals from Edges[C]//European Conference on Comput?er Vision2014:391-405.
[23]He K,Zhang X,Ren S,et al.Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition[J].IEEE Transactions on Pattern Analysis&Machine Intelligence,2014,37(9):1904-1916.
[24]Galvez-Lopez D,Tardos J D.Bags of Binary Words for Fast Place Recognition in Image Sequences[J].Robotics IEEE Transactions on,2012,28(5):1188-1197.
[25] Rosten E,Drummond T.Machine Learning for High-Speed Corner Detection[C]//European Conference on Computer Vision,2006:430-443.
[26]Jia Y,Shelhamer E,Donahue J,et al.Caffe:Convolu?tional Architecture for Fast Feature Embedding[C]//ACM International Conference on Multimedia,2014:675-678.
[27]Simonyan K,Zisserman A.Very Deep Convolutional Net?works for Large-Scale Image Recognition[J].Computer Science,2015:1-14.