黃于峰 劉建國
(華中科技大學自動化學院 武漢 430074)
近年來隨著自動駕駛[1],增強現(xiàn)實[2]等應用領域的興起,視覺位置識別在計算機視覺、機器人等領域備受關注。視覺位置識別(Visual Place Recog?nition)是通過圖像來判斷兩個地點是否處于同一位置,不同于其他識別任務,位置識別最大難點源于環(huán)境本身的多變性[3],如日照、氣候、人類活動、拍攝視角等,所造成的圖像光照強度、外觀結構、視點等方面的變化,如圖1所示。
目前,視覺位置識別問題主要被當作圖像實例檢索任務來進行處理,即通過與數(shù)據庫中的圖像進行匹配以返回查詢圖像的位置。數(shù)據庫中圖像首先利用 SIFT[4]、SURF[5]、ORB[6]、GIST[7]等進行特征提取,由于所生成的特征數(shù)量很大,直接用于匹配將非常低效,為加速匹配過程,往往將其與詞袋模型(BoW)[8]、VLAD[9]或 Fisher矢量[10]等結合使用,由此生成的特征描述符往往更加緊湊并能被高效地索引[11]。然而,隨著視覺位置識別任務對變化環(huán)境下的識別率與魯棒性要求越來越高,基于SIFT、ORB等傳統(tǒng)手工特征的位置識別方法越來越無法滿足應用要求。
圖1 環(huán)境變化對位置圖像的影響
近年來,卷積神經網絡(CNN)作為一種強有力的圖像表示方式在目標分類[12]、場景識別[13]、目標檢測[14]等多種識別任務中表現(xiàn)出遠優(yōu)于傳統(tǒng)手工特征的性能,也逐漸有研究者將CNN用于位置識別中來,并取得了良好的效果[3,15~19]。然而目前所提出的這些方法都存在著一定的缺陷,比如缺少對于相機視點變化的不變性[20],或者說需要針對特定環(huán)境進行額外地訓練[21],抑或是缺乏對外觀變化的魯棒性[15]。Niko等[18]提出了一種基于 EdgeBox[22]路標檢測與CNN特征結合的位置識別方法,該方法不僅具備對于視點及環(huán)境變化的魯棒性,且不需要額外的訓練開銷,不過該方法需要對所提取的每個路標分別進行CNN特征提取,時間花費非常高,無法滿足實時要求,此外該方法得到的特征維度很高且并未采用BOW等方式對特征匹配環(huán)節(jié)進行優(yōu)化,因此實用性不高。
本文基于CNN特征提取并結合BOW提出了一種稀疏的特征描述子——BCF(Bag of Convolu?tion Features),大大提高了圖像檢索的速度,同時為了提高其對于變化環(huán)境的魯棒性,構建了一個能夠實現(xiàn)快速生成局部感興趣區(qū)域特征詞匯的特征映射圖,并利用其對檢索結果進行二次排序,通過這種方式將全局特征與局部特征進行了聯(lián)合,在保證實時性的同時也大大提高了識別效果,此外本文提出的方法并不需要針對特定的識別任務進行額外地訓練,更加提升了其實用性。
BCF特征描述子的構建流程如圖2所示。
圖2 BCF構建流程圖
特征提取部分,我們利用預先訓練好的CNN網絡模型,將某一層的激活響應輸出作為特征,為了加快CNN網絡的前饋計算過程,我們直接將原始網絡中的softmax層和全連接層去掉,通過這種方式不僅能加快特征提取的速度,還能使得CNN網絡的輸入可以是任意尺寸的圖像,因為CNN網絡對于輸入圖像尺寸的要求主要是全連接層帶來的[23]。如圖2所示,若某一卷積層的輸出維度為N×M×D,則可將其看作N×M個D維的局部特征描述子。
BoW模型[24]通過構建一個視覺詞典并將特征矢量映射到距離其最近的類別中心,來對圖像特征進行編碼。我們采用K-均值算法來對數(shù)據集中提取出的所有特征向量進行聚類以生成詞典。至此由卷積層輸出的每一個局部CNN特征矢量都會被分配給詞典中的某一個詞語,通過這種方式就可以生成一個由局部CNN特征到視覺詞語的特征映射圖,所得到的二維分配圖尺寸為N×M,顯然,特征映射圖可以看作原始圖像的一個更為緊湊的表示,它將原始圖像上尺寸為的矩形區(qū)域映射為了特征映射圖上的一個點,其中W和H分別為原圖的寬和高。通過特征映射圖,我們可以快速地生成原始圖像上任意區(qū)域的BOW矢量,這就為全局特征與局部特征的結合使用提供了可能。
在輸入圖像進行BCF特征提取之后,接下來就應該進行檢索與匹配,即將輸入圖像的BCF特征與數(shù)據集中的BCF特征矢量進行比對,根據距離排序返回結果。根據輸入的不同,我們將搜索方式分成了兩種:全局搜索與局部搜索。全局搜索以整幅圖像的BCF特征矢量作為輸入,而局部搜索則只是將感興趣區(qū)域的BCF矢量用于搜索。整個搜索過程主要由初步搜索與局部重排名兩步組成。
利用全局搜索策略得到一個初步的結果排名。計算查詢圖像的全局BCF特征矢量與數(shù)據庫中圖像的全局BCF矢量的距離,在此我們選擇余弦相似度作為距離度量方式[18]:
其中,q=(q1,q2,…,qn)為查詢圖像的 n維BCF 特征矢量,pk=(pk1,pk2,…,pkn)為數(shù)據庫中第k幅圖像的BCF特征矢量。
然后根據距離度量對數(shù)據庫中的圖像進行排序得到初步結果。為了加快搜索的速度,我們采用了逆索引技術[24]并使用GPU來加速稀疏矩陣的乘法計算。
在初步搜索之后,我們將排名前K的圖像挑選出來作為候選集,然后對它們進行局部搜索,根據搜索結果進行重排名,得到最終的查詢結果。首先,我們對查詢圖像進行感興趣區(qū)域提取,提取方式可以自定義,如 EdgeBox[22]、FAST[25]等,在本文中,出于時效性考慮,我們只是采用了一種簡單的基于滑動窗的區(qū)域提取策略。然后將得到的感興趣區(qū)域經過一定地尺度變換對應到特征映射圖上的相應區(qū)域,由此可迅速得到感興趣區(qū)域的BCF特征矢量。在實際操作中,我們可以直接在特征映射圖上進行滑動窗口提取,分別在查詢圖像與候選圖像的特征映射圖的相同位置上,提取了n個寬高為的窗口,其中W和H分別為特征映射圖的寬與高,然后計算查詢圖像Q與候選圖像Ck的重排名分數(shù):
其中,Qi和Cki分別為查詢圖像和候選圖像的第i個窗口區(qū)域的BCF特征矢量。
根據重排名分數(shù)對候選集中的圖像進行二次排名,得到最終的查詢結果。
為了驗證本文提出的方法并不依賴于特定的網絡結構,我們選擇了Caffe[26]預先訓練好的兩種不同的網絡模型,AlexNet[12]和 VGG16[27]網絡模型,在相同數(shù)據集上進行對比實驗。同時為了驗證本文的方法并不需要針對特定的識別任務進行專門地訓練,我們選用了AlexNet-Places365網絡模型進行實驗,該模型與AlexNet具有相同的網絡結構,但它是在Places365[13]場景識別數(shù)據集上訓練得到的。深度卷積神經網絡往往具有多個卷積層,不同卷積層輸出也不同,因此在本實驗中我們對每種網絡結構都選用了三個不同的卷積層輸出來構造BCF特征,以展示不同網絡層對于識別結果的影響,對于AlexNet和AlexNet-Places365網絡,我們選用了其conv3,conv4及conv5層的輸出,對于VGG16網絡模型,我們選擇了其conv5_1,conv5_2及conv5_3的輸出。我們抽取了不同卷積層輸出進行可視化,效果示例如圖3所示。
由圖3可以看出,不同網絡卷積層輸出有較大差別,且同一卷積層內部層間輸出也存在很大差異,其實這也解釋了為什么CNN網絡能夠表現(xiàn)出比傳統(tǒng)手工特征更為強勁的表現(xiàn),相對于手工特征來說,CNN網絡實質是一個高度非線性的模型,它內在地集成了多個不同的濾波器各自進行卷積運算,因此能在各個層次上提取出不同位置的不同特征。我們在Gardens Point Campus數(shù)據集[18]上進行了實驗,實驗結果如圖4所示。
我們采用了從候選集中挑選出前N個候選結果時的正確率來作為評判標準。從實驗結果可看出,雖然識別效果上VGG16要稍好于AlexNet-Places365 和 AlexNet,而 AlexNet-Plac?es365的識別效果要略好于AlexNet,但這種優(yōu)勢并不明顯,vgg16的平均識別正確率只比AlexNet-Places365高出了3.05%,而經過特定訓練的AlexNet-Places365模型的平均識別正確率僅僅比通用的AlexNet網絡模型高出了0.42%。由此可以說明,本文的方法并不依賴于特定的網絡模型,也無須針對特定識別任務進行專門的訓練。
圖3 卷積層輸出可視化
圖4 不同網絡及網絡層的實驗結果
我們將本文所提的基于CNN特征提取的位置識別方法與基于傳統(tǒng)手工特征的方法進行對比,以驗證CNN特征在位置識別任務上具有優(yōu)勢。在此我們選擇了SURF和ORB這兩種具有代表性的手工特征,并采用與CNN特征相同的BoW集成策略在相同數(shù)據集上進行實驗。SURF和ORB直接使用了OpenCV的實現(xiàn)。CNN特征我們選用了AlexNet的conv5層輸出,AlexNet-Places365的conv5層輸出,以及VGG16的conv5_1層輸出。實驗主機配置為Intel Core i5-6500 CPU@3.20GHz x 4,GPU為NVIDIA GeForce GTX 1050。
首先,我們在 Gardens Point Campus數(shù)據集[18]上進行了實驗,該數(shù)據集中圖片主要包含了一定的視點變化,并含有輕微的外觀變化和行人等動態(tài)環(huán)境的影響因素,如圖5所示。
圖5 Gardens Point Campus數(shù)據集樣例圖
圖6 Gardens Point Campus數(shù)據集實驗結果
由圖6可以看出,在應對具有視點變化的位置識別時,基于CNN特征的方法表現(xiàn)優(yōu)于SURF和ORB,其平均識別正確率比SURF高出了11.17%,比ORB高出了35.02%。ORB特征是一種二值特征,其設計時在精度和速度上進行了折中,因此是一種速度極快(在本實驗環(huán)境中,其平均查詢時間約為0.05s,而基于CNN特征和SURF特征的方法平均查詢時間在0.1s左右)但精度稍遜一籌的特征描述子。
Gardens Point Campus數(shù)據集中圖片所存在的變化并不大,識別較為簡單。為了體現(xiàn)CNN特征在復雜環(huán)境變化下的優(yōu)勢,我們在難度更大的Al?derley Day/Night數(shù)據集[20]上進行了實驗,該數(shù)據集是對同一條路線,在天晴的白天和下雨的夜晚分別進行拍攝,因此存在光照、視點、外觀及動態(tài)環(huán)境等多種變化因素的影響,大大增加了位置識別的難度,數(shù)據集圖片示例如圖7所示。
由圖8可以看出,在應對包含較大的光照、外觀、動態(tài)環(huán)境、視點等變化環(huán)境下的位置識別時,基于CNN特征的方法表現(xiàn)出明顯的優(yōu)勢,其平均識別正確率比SURF高出了46.61%,比ORB高出了55.41%。由于我們只是簡單地采用了基于OpenCV的SURF和ORB實現(xiàn),并沒有采用一些額外地優(yōu)化手段,因此基于SURF和ORB的方法性能上還有一定的提升空間。不過由于我們將CNN特征、SURF及ORB,集成了相同的位置識別算法框架,因此更加能夠說明CNN特征在應對光照、外觀結構、動態(tài)環(huán)境、視點等環(huán)境變化因素上具有更好的魯棒性。
圖7 Alderley Day/Night數(shù)據集圖片示例
圖8 Alderley Day/Night數(shù)據集實驗結果
本文提出了一種基于深度卷積神經網絡特征與詞袋模型結合的視覺位置識別框架。該方法無需針對特定位置識別任務進行專門地訓練,且可更換識別算法框架中的任意模塊,通用性強,實用性高。通過在具有挑戰(zhàn)性的公開數(shù)據集上進行測試,該方法取得了比基于SURF、ORB等傳統(tǒng)手工特征的位置識別方法更好的識別效果,并對視點變化、光照變化、外觀變化以及動態(tài)環(huán)境等復雜影響因素具備更好的魯棒性。本文中只是采用了最簡單的局部區(qū)域提取策略用于局部重排名,在接下來,我們將研究采用更加有效的局部區(qū)域提取策略來進一步提高識別效果。
[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.