李 欽,游 雄,李 科,王瑋琦
信息工程大學(xué)地理空間信息學(xué)院,河南 鄭州 450001
圖像匹配是眾多視覺(jué)任務(wù)的基礎(chǔ)環(huán)節(jié),如即時(shí)定位與地圖構(gòu)建(simultaneous localization and mapping,SLAM)中的閉環(huán)檢測(cè)[1-2]、圖像檢索[3-4]以及視覺(jué)定位[5-6]等。圖像匹配的關(guān)鍵在于判斷圖像中是否包含相同的物體,由于現(xiàn)實(shí)世界場(chǎng)景的復(fù)雜性,同一物體在不同圖像中會(huì)呈現(xiàn)不同的形態(tài),同時(shí)不同物體在各自圖像上的成像也可能會(huì)很相似,只有準(zhǔn)確地表達(dá)圖像中物體間的相互關(guān)系,才能有效地解決圖像匹配問(wèn)題。
特征提取與相似度計(jì)算是圖像匹配的基本步驟[7],特征提取的目的是對(duì)豐富的圖像信息進(jìn)行抽象簡(jiǎn)化表達(dá),進(jìn)而構(gòu)建用以表達(dá)圖像的描述向量。常見(jiàn)的圖像特征如SIFT[8]、SURF[9-10]和ORB[11]等,僅僅表達(dá)了特征點(diǎn)周圍區(qū)域信息,為了構(gòu)建整幅圖像的最終表達(dá),需要進(jìn)一步對(duì)圖像包含特征進(jìn)行聚合,常見(jiàn)的聚合模型包括BoW(bag of words)模型[12-13]、VLAD(vector of locally aggregated descriptors)模型[14]以及FV(fisher vector)模型[15-16]等。相似度計(jì)算的實(shí)質(zhì)是度量圖像間的距離,在構(gòu)建圖像整體表達(dá)的基礎(chǔ)上,計(jì)算圖像間的特征距離,設(shè)置距離閾值判定圖像是否匹配。
近年來(lái),深度學(xué)習(xí)在各種視覺(jué)應(yīng)用中取得了巨大的成功,其通過(guò)對(duì)輸入圖像的層層特征提取,不斷挖掘隱藏在圖像內(nèi)部的抽象語(yǔ)義信息,更能表達(dá)圖像的本質(zhì),因此基于深度學(xué)習(xí)構(gòu)建的圖像特征具有更強(qiáng)的表達(dá)能力。受VLAD模型[14]的啟發(fā),文獻(xiàn)[17]訓(xùn)練NetVLAD模型構(gòu)建影像的整體表達(dá),首先利用一般的CNN網(wǎng)絡(luò)模型提取影像特征,然后在網(wǎng)絡(luò)中添加NetVLAD層構(gòu)建影像的VLAD描述符,NetVLAD模型在影像匹配實(shí)踐中取得了很大的成功。文獻(xiàn)[18]采用訓(xùn)練好的深度卷積網(wǎng)絡(luò)模型(AlexNet)[19]構(gòu)建圖像深度層次特征,通過(guò)截取網(wǎng)絡(luò)不同輸出層的特征圖構(gòu)建特征向量,該方法對(duì)特征的每個(gè)維度進(jìn)行單獨(dú)計(jì)算,特征構(gòu)建效率受到很大的限制。文獻(xiàn)[20]利用預(yù)先訓(xùn)練好的AlexNet模型[19]的某一輸出層構(gòu)建圖像的整體表達(dá),不同輸出層可以生成不同的特征,相比于深度層次特征,這種方法構(gòu)建的特征具有更高的效率。文獻(xiàn)[21]采用Siamese網(wǎng)絡(luò)[22]直接進(jìn)行圖像匹配,該網(wǎng)絡(luò)將特征提取與相似度計(jì)算過(guò)程融合在一起,網(wǎng)絡(luò)輸入為兩張圖像,輸出即為圖像的匹配結(jié)果。
圖像空間關(guān)系在圖像匹配實(shí)踐中至關(guān)重要,圖像空間關(guān)系表達(dá)就是描述圖像中物體在歐氏空間中的幾何關(guān)系。文獻(xiàn)[23]利用成像物體的三維點(diǎn)云信息概略判定物體的空間位置,進(jìn)而對(duì)物體的空間關(guān)系進(jìn)行描述;文獻(xiàn)[24]根據(jù)城市場(chǎng)景中的道路網(wǎng)建立物體的空間關(guān)系,將同一道路上的物體看作是相連的,進(jìn)而建立城市道路與建筑物實(shí)體的空間矢量關(guān)系;文獻(xiàn)[7]將圖像規(guī)則的劃分為4×4的圖像塊,根據(jù)物體所處的圖像塊粗略地表達(dá)不同物體在圖像幅面中的空間關(guān)系,由于同一物體可能會(huì)被劃分到不同的圖像塊,因此該方法對(duì)物體空間關(guān)系的表達(dá)較為混亂;文獻(xiàn)[25]基于Edge Boxes算法[26-27]檢測(cè)圖像中包含的物體目標(biāo),根據(jù)物體在圖像序列中的共現(xiàn)性推理物體的鄰近關(guān)系,即若兩個(gè)物體在一張圖像中共同出現(xiàn),則這兩個(gè)物體是鄰近的。該方法在閉環(huán)檢測(cè)應(yīng)用中取得了較好的匹配效果,然而一張圖像中的不同物體間的鄰近程度是不同的,該方法僅僅根據(jù)物體的共現(xiàn)性無(wú)法對(duì)物體的鄰近程度進(jìn)行推理。
由于現(xiàn)實(shí)世界的復(fù)雜性以及場(chǎng)景拍攝的隨機(jī)性,同一物體在不同圖像上的成像會(huì)發(fā)生顯著變化,單純依賴圖像的整體表達(dá)計(jì)算圖像相似度很難準(zhǔn)確地對(duì)圖像進(jìn)行匹配。圖1所示為一組匹配圖像對(duì),紅色方框內(nèi)的區(qū)域?yàn)閮蓮垐D像中相同的物體塊,一方面,該物體塊在兩張圖像中的成像形態(tài)差異很大,另一方面,紅色方框之外的圖像內(nèi)容是不一致的,在構(gòu)建圖像整體表達(dá)的過(guò)程中,這些占據(jù)圖像主體的不一致內(nèi)容也參與了特征計(jì)算,最終使得構(gòu)建的圖像特征很難對(duì)圖1中的圖像進(jìn)行匹配。
不同于傳統(tǒng)的圖像匹配方法,本文通過(guò)分析圖像中物體的空間鄰近關(guān)系推斷圖像是否匹配,如圖1所示,兩張圖像中藍(lán)色方框內(nèi)的物體雖然是不相同的,但是它們?cè)跉W氏空間中是鄰近的,這些空間鄰近信息對(duì)于判斷圖像是否匹配至關(guān)重要,若兩張圖像中的物體相互鄰近,表明圖像的拍攝點(diǎn)位置也是鄰近的,則圖像很可能是相互匹配的。
圖2所示為本文圖像匹配算法流程,首先基于先驗(yàn)的基礎(chǔ)圖像數(shù)據(jù)推理表達(dá)圖像中物體的空間鄰近關(guān)系,構(gòu)建場(chǎng)景物體空間鄰近圖。對(duì)于來(lái)自該場(chǎng)景的圖像對(duì),在物體塊檢測(cè)的基礎(chǔ)上,基于構(gòu)建的空間鄰近圖分析圖像中物體的空間鄰近關(guān)系,定量計(jì)算圖像對(duì)的鄰近程度,進(jìn)而完成圖像匹配任務(wù)。
物體空間關(guān)系表達(dá)在圖像匹配實(shí)踐中至關(guān)重要,同一物體在不同的圖像中成像時(shí),其成像形態(tài)會(huì)發(fā)生顯著變化,但是其與鄰近物體間的空間關(guān)系一般都保持穩(wěn)定。另外,由于現(xiàn)實(shí)世界的復(fù)雜性,存在一些不同物體視覺(jué)上很相似,如統(tǒng)一規(guī)劃建設(shè)的居民樓,風(fēng)格一致的窗戶,具有重復(fù)紋理的道路等,單純地根據(jù)這些物體的成像很難對(duì)其進(jìn)行區(qū)分,雖然物體自身形態(tài)很相似,但是其與周邊物體的鄰近關(guān)系卻很容易區(qū)分。因此,相比于圖像中單一物體的匹配,圖像空間關(guān)系匹配具有更強(qiáng)的穩(wěn)定性,其涉及多個(gè)物體間的相互關(guān)系,即使單一物體匹配錯(cuò)誤,也不會(huì)影響整體的空間關(guān)系匹配。
為了表達(dá)物體空間關(guān)系,本文首先訓(xùn)練特征提取網(wǎng)絡(luò),構(gòu)建物體塊深度特征,匹配不同圖像中的相同物體塊;在此基礎(chǔ)上,基于先驗(yàn)圖像序列推理表達(dá)場(chǎng)景中不同物體的鄰近關(guān)系,構(gòu)建場(chǎng)景物體空間鄰近圖。
物體塊特征提取是推理表達(dá)物體空間關(guān)系的基礎(chǔ),構(gòu)建物體塊特征,準(zhǔn)確地對(duì)不同圖像上的相同物體塊進(jìn)行匹配是構(gòu)建場(chǎng)景物體空間鄰近圖的關(guān)鍵。
物體塊特征旨在表達(dá)物體不變的本質(zhì)信息,物體在不同的圖像上會(huì)呈現(xiàn)不同的形態(tài),而用于表達(dá)物體塊的特征應(yīng)盡可能保持穩(wěn)定,以實(shí)現(xiàn)對(duì)相同物體塊的準(zhǔn)確匹配。由于拍攝角度、光照、尺度等因素的影響,同一物體在不同圖像中的成像顏色、紋理、形狀會(huì)有顯著的不同,因此,傳統(tǒng)的顏色、紋理、形狀特征難以維持不同成像中物體信息的穩(wěn)定性。然而無(wú)論何種成像,物體自身語(yǔ)義信息始終不變,而深度學(xué)習(xí)技術(shù)在圖像語(yǔ)義識(shí)別應(yīng)用中已經(jīng)取得了巨大成功,因此,本文探索利用深度學(xué)習(xí)方法構(gòu)建物體塊深度特征,該特征旨在表達(dá)隱藏在物體內(nèi)部的本質(zhì)語(yǔ)義信息,其不因物體在圖像中呈現(xiàn)形態(tài)的變化而變化,能夠有效匹配不同圖像中的相同物體塊。
1.1.1 物體塊深度特征提取
本文基于對(duì)比機(jī)制構(gòu)建物體塊特征提取網(wǎng)絡(luò),網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示,網(wǎng)絡(luò)包含兩個(gè)完全一致,權(quán)值共享的通道,每個(gè)通道為包含7個(gè)卷積層,2個(gè)全連接層的深度卷積網(wǎng)絡(luò)。網(wǎng)絡(luò)訓(xùn)練過(guò)程中,同時(shí)輸入兩組物體塊,分別通過(guò)網(wǎng)絡(luò)的兩個(gè)通道,生成各自特征。訓(xùn)練標(biāo)簽為兩組物體塊的匹配真值,若兩張物體塊包含相同的物體,則標(biāo)簽為1,否則,標(biāo)簽為-1。
特征提取網(wǎng)絡(luò)中每個(gè)通道的網(wǎng)絡(luò)參數(shù)如表1所示,其中T代表非線性操作,本文利用反正切函數(shù)(tanh)對(duì)各卷積輸出進(jìn)行處理,將卷積輸出值限縮至[-1,1],P代表池化操作,采樣步長(zhǎng)為2。通過(guò)對(duì)輸入物體塊的層層表達(dá),挖掘隱藏在物體塊內(nèi)部的抽象語(yǔ)義信息,構(gòu)建物體塊深度語(yǔ)義特征。另外,本文對(duì)網(wǎng)絡(luò)輸出的特征向量進(jìn)行歸一化處理(l2_norm),使得最終得到的深度特征模長(zhǎng)為1。
表1 特征提取網(wǎng)絡(luò)中的各層參數(shù)(一個(gè)通道)
物體塊特征提取的目的是匹配不同圖像中的相同的物體塊,區(qū)分不同的物體塊,基于此,網(wǎng)絡(luò)訓(xùn)練的目標(biāo)是:對(duì)于包含相同物體的樣本(正樣本),使其特征距離盡可能的小,對(duì)于包含不同物體的樣本(負(fù)樣本),使其特征距離盡可能的大。本文結(jié)合匹配標(biāo)簽,對(duì)兩個(gè)通道的特征輸出進(jìn)行對(duì)比構(gòu)建誤差函數(shù)。另外,本文采用特征向量間的余弦距離度量物體塊相似度,由于輸出的深度特征模長(zhǎng)為1,特征向量點(diǎn)乘即為物體塊相似度。結(jié)合網(wǎng)絡(luò)訓(xùn)練標(biāo)簽(正樣本的標(biāo)簽為1,負(fù)樣本的標(biāo)簽為-1),定義網(wǎng)絡(luò)訓(xùn)練誤差函數(shù)如式(1)所示
(1)
式中,D1,D2為兩個(gè)通道的特征輸出;D1·D2即為物體塊間相似度;L為訓(xùn)練標(biāo)簽,N為訓(xùn)練過(guò)程中每個(gè)批次的樣本數(shù)量。通過(guò)最小化誤差函數(shù),使得相同物體塊的相似度趨于1,不同物體塊的相似度趨于-1。
本文采用多視角立體數(shù)據(jù)集(multi-view stereo dataset,MVS)[28]訓(xùn)練特征提取網(wǎng)絡(luò),選取60萬(wàn)組樣本進(jìn)行訓(xùn)練(正負(fù)樣本各30萬(wàn)組),所有訓(xùn)練數(shù)據(jù)按照每批次600組樣本輸入網(wǎng)絡(luò),所有數(shù)據(jù)遍歷51次,采用隨機(jī)梯度下降法(stochastic gradient descent,SGD)對(duì)網(wǎng)絡(luò)進(jìn)行優(yōu)化,選取最優(yōu)模型保存。另外,在深度特征提取實(shí)踐中,僅利用網(wǎng)絡(luò)模型的一個(gè)通道即可,模型輸入為固定尺寸(64×64)的灰度圖像塊,輸出即為模長(zhǎng)為1的深度特征。
圖1 匹配圖像對(duì)及其部分物體塊Fig.1 Matched image pair and object patches within images
圖2 本文圖像匹配算法流程Fig.2 Process of the proposed image matching method
圖3 特征提取網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Architecture of the feature extraction network
圖4所示為基于訓(xùn)練好的模型計(jì)算的2000組測(cè)試樣本相似度與樣本初始相似度對(duì)比圖,其中紅點(diǎn)代表正樣本,藍(lán)點(diǎn)代表負(fù)樣本,所選的測(cè)試樣本不包含在訓(xùn)練數(shù)據(jù)中,且正負(fù)樣本各1000組。圖4(a)中訓(xùn)練前正負(fù)樣本的初始相似度數(shù)值沒(méi)有明顯的區(qū)分,而圖4(b)中正樣本相似度數(shù)值明顯高于負(fù)樣本,表明本文基于對(duì)比機(jī)制的訓(xùn)練過(guò)程使得正樣本的特征距離變小(相似度數(shù)值較大),而負(fù)樣本的特征距離變大(相似度數(shù)值較小),正負(fù)樣本具有明顯的區(qū)分,訓(xùn)練結(jié)果達(dá)到了預(yù)期的效果。
1.1.2 相同物體塊匹配
在物體塊深度特征提取的基礎(chǔ)上,匹配兩張圖像中的相同物體塊。對(duì)于圖像對(duì)中的每一張圖像,本文基于Edge Boxes算法[26-27]檢測(cè)圖像中包含的物體塊(https:∥github.com/samarth-robo/edges),該算法通過(guò)對(duì)圖像進(jìn)行邊緣檢測(cè)得到圖像中物體的邊緣信息;通過(guò)對(duì)邊緣點(diǎn)進(jìn)行多次聚合,將同一物體的輪廓邊緣匯集到同一邊緣組中,最終根據(jù)各邊緣組的外包圍盒確定各物體在圖像中的成像區(qū)域。本文物體塊檢測(cè)方法是一種純幾何的方法,該方法不受物體類別的限制,凡是在成像上具有顯著邊緣紋理結(jié)構(gòu)的目標(biāo)均能被檢測(cè)為物體塊。
調(diào)整各物體塊尺寸至64×64,利用訓(xùn)練好的特征提取網(wǎng)絡(luò)構(gòu)建各物體塊深度特征,基于相互匹配機(jī)制確定兩張圖像中的相同物體塊,具體為:
(2) 定義S中的第i行元素集合為:Ri={sij,j=1,2,…,n},第j列元素集合為:Cj={sij,i=1,2,…,m},對(duì)于S中的任意一個(gè)元素spq,若滿足式(2)、式(3)、式(4),則對(duì)應(yīng)物體塊(第1張圖像上的第p個(gè)物體塊與第2張圖像上的第q個(gè)物體塊)相互匹配
arccos(spq)<π/6
(2)
spq=max(Cq)
(3)
spq=max(Rp)
(4)
在物體塊深度特征提取的基礎(chǔ)上,匹配兩張圖像中的相同物體塊,若兩張圖像中包含相同的物體塊,即可判定圖像匹配。然而,在圖像匹配實(shí)踐中,不同圖像中的相同物體很難同時(shí)被檢測(cè)為物體塊,單純依賴匹配相同的物體塊進(jìn)行整幅圖像的匹配存在很大的隨機(jī)性,因此,必須構(gòu)建各物體間的空間關(guān)系,才能穩(wěn)定準(zhǔn)確地對(duì)包含相同物體的圖像進(jìn)行匹配。
在物體塊深度特征提取的基礎(chǔ)上,基于已有的先驗(yàn)圖像序列構(gòu)建場(chǎng)景物體的空間鄰近圖,根據(jù)各物體在先驗(yàn)圖像上的分布,推理分析場(chǎng)景中不同物體的空間鄰近關(guān)系,推理依據(jù)包括:
(1) 若兩個(gè)物體在同一張圖像上出現(xiàn),表明其在歐氏空間中是鄰近的。
(2) 兩個(gè)物體在同一張圖像上出現(xiàn)的次數(shù)越多,其在空間中越鄰近。
由于先驗(yàn)圖像數(shù)據(jù)包含精確的位置信息,且圖像質(zhì)量高,內(nèi)容豐富,因此基于該圖像序列構(gòu)建的場(chǎng)景物體空間鄰近圖可以準(zhǔn)確全面地表達(dá)場(chǎng)景中物體間的空間鄰近信息,定義場(chǎng)景物體空間鄰近圖如式(5)所示
G={N,E,P,Ι}
(5)
式中,I代表用于構(gòu)建場(chǎng)景物體空間鄰近圖的先驗(yàn)圖像序列,其中的每幀圖像都具有拍攝點(diǎn)位姿信息,且每幀圖像包含若干物體塊,來(lái)自同一幀的各物體塊間相互鄰近;P代表在各幀圖像中檢測(cè)到的物體塊集合,基于特征提取網(wǎng)絡(luò)構(gòu)建各物體塊深度特征,每個(gè)物體塊來(lái)自特定的圖像幀,屬于某個(gè)特定的節(jié)點(diǎn);N代表空間鄰近圖中的節(jié)點(diǎn)集合,每一個(gè)節(jié)點(diǎn)對(duì)應(yīng)場(chǎng)景空間中唯一的物體,由于同一物體會(huì)出現(xiàn)在不同的圖像上,因此,每一個(gè)節(jié)點(diǎn)即為不同圖像中的同一物體塊集合,如圖5所示,紅色方框內(nèi)的圖像塊Pi、Pj、Pk包含相同的物體,它們屬于同一個(gè)節(jié)點(diǎn)Nr,表示為:(Pi,Pj,Pk)∈Nr;E代表不同節(jié)點(diǎn)之間的連接權(quán)值集合,兩個(gè)節(jié)點(diǎn)間的連接權(quán)值表達(dá)了相應(yīng)物體間的空間鄰近程度,若兩個(gè)物體在先驗(yàn)圖像序列中同時(shí)出現(xiàn)的次數(shù)為a,表示為:E(Ni,Nj)=a,其中,Ni、Nj分別為兩個(gè)物體的所屬節(jié)點(diǎn),節(jié)點(diǎn)間的連接權(quán)值越高,表明相應(yīng)物體在空間中越鄰近。
本文基于先驗(yàn)的基礎(chǔ)地理實(shí)景序列構(gòu)建場(chǎng)景物體空間鄰近圖,圖6所示為空間鄰近圖構(gòu)建示意圖,基于第1幀圖像對(duì)空間鄰近圖進(jìn)行初始化,基于后續(xù)圖像不斷更新空間鄰近圖。圖6中圓圈代表空間物體的節(jié)點(diǎn),節(jié)點(diǎn)間連線上的數(shù)字為其連接權(quán)值,表示兩端節(jié)點(diǎn)對(duì)應(yīng)物體在同一圖像上共同出現(xiàn)的次數(shù),通過(guò)統(tǒng)計(jì)各物體在先驗(yàn)圖像上的分布,確定物體間的鄰近關(guān)系。
構(gòu)建場(chǎng)景物體空間鄰近圖的具體步驟如下:
1.2.1 空間鄰近圖初始化
1.2.2 空間鄰近圖更新
圖4 基于訓(xùn)練后模型的測(cè)試樣本相似度與樣本初始相似度對(duì)比Fig.4 Initial patch similarities and well-trained model-based patch similarities
圖5 同一物體出現(xiàn)在不同圖像示意Fig.5 Consistent object patches in different images
圖6 空間鄰近圖構(gòu)建示意Fig.6 Process of building the spatial adjacency grapy
在Candi_N中搜索Ic中每個(gè)物體塊的所屬節(jié)點(diǎn),并將物體塊加入其所屬節(jié)點(diǎn),同時(shí)將該所屬節(jié)點(diǎn)加入待更新節(jié)點(diǎn)集T_N。若物體塊不屬于Candi_N中任何節(jié)點(diǎn),則構(gòu)建新節(jié)點(diǎn),將該物體塊加入新節(jié)點(diǎn),同時(shí)將該新節(jié)點(diǎn)加入新增節(jié)點(diǎn)集合New_N與待更新節(jié)點(diǎn)集T_N。對(duì)于T_N中的任意兩個(gè)節(jié)點(diǎn):Ni,Nj,對(duì)其連接權(quán)值進(jìn)行更新,具體為:
(1) 若Ni或者Nj也屬于New_N,則E(Ni,Nj)=1。
(2) 若Ni,Nj均為場(chǎng)景節(jié)點(diǎn)集N中已經(jīng)存在的節(jié)點(diǎn),判斷:Ni,Nj是否已經(jīng)存在連接權(quán)值,若存在,則E(Ni,Nj)=E(Ni,Nj)+1;若不存在,則E(Ni,Nj)=1。
(3) 對(duì)T_N中節(jié)點(diǎn)之間的連接權(quán)值進(jìn)行更新之后,將New_N中的新增節(jié)點(diǎn)加入N,將T_N置空,同時(shí)將Ic加入I。
對(duì)于后續(xù)的每一幀圖像,重復(fù)空間鄰近圖更新步驟,直至所有先驗(yàn)圖像處理完畢,進(jìn)而構(gòu)建場(chǎng)景物體空間鄰近圖??臻g鄰近圖匯總了場(chǎng)景中出現(xiàn)的所有物體,并且定量地表達(dá)了不同物體間的鄰近程度。圖7所示為空間鄰近圖中部分節(jié)點(diǎn)包含的物體塊示意圖,物體塊上的數(shù)字為該物體塊所在的圖像編號(hào),圖7中不同圖像上的相同物體塊被聚合在同一節(jié)點(diǎn)中。
在場(chǎng)景物體空間鄰近圖構(gòu)建的基礎(chǔ)上,對(duì)于來(lái)自該場(chǎng)景的一組圖像對(duì),首先在空間鄰近圖中搜索圖像中物體的所屬節(jié)點(diǎn),根據(jù)節(jié)點(diǎn)間的連接權(quán)值確定圖像中物體間的鄰近關(guān)系。兩張圖像間的空間關(guān)系可以通過(guò)圖像中物體的鄰近關(guān)系表達(dá),通過(guò)定量計(jì)算圖像空間鄰近度完成圖像空間關(guān)系匹配。
場(chǎng)景物體空間鄰近圖表達(dá)了場(chǎng)景中各物體的空間鄰近關(guān)系,對(duì)于一幅來(lái)自該場(chǎng)景的測(cè)試圖像It,其包含若干物體塊,在節(jié)點(diǎn)集N中搜索每個(gè)物體塊的所屬節(jié)點(diǎn),具體為:
(5) 重復(fù)步驟(2)、(3)、(4),在N中搜索It中所有物體塊的所屬節(jié)點(diǎn),構(gòu)成所屬節(jié)點(diǎn)集合Nt。對(duì)于Nt中的節(jié)點(diǎn),其存在自身約束:由于物體同時(shí)出現(xiàn)在It上,各物體在空間中是相互鄰近的,因此Nt中各節(jié)點(diǎn)間應(yīng)該是相互連接的,對(duì)于Nt中與其他節(jié)點(diǎn)連接權(quán)值為0的節(jié)點(diǎn),屬于錯(cuò)誤的所屬節(jié)點(diǎn),對(duì)其進(jìn)行剔除。圖8所示為基于自身約束的錯(cuò)誤所屬節(jié)點(diǎn)剔除示意圖,圖中圓圈代表空間鄰近圖中的節(jié)點(diǎn),節(jié)點(diǎn)之間的連線代表其鄰近關(guān)系,線段粗細(xì)代表連接權(quán)值的大小,紅色圓圈標(biāo)識(shí)的節(jié)點(diǎn)為It中所有物體塊的所屬節(jié)點(diǎn)集Nt,由于Nt中節(jié)點(diǎn)之間應(yīng)該具有連接權(quán)值,然而N5與Nt中其他節(jié)點(diǎn)均不存在連接關(guān)系(連接權(quán)值為0),可以斷定相應(yīng)物體塊的所屬節(jié)點(diǎn)判定錯(cuò)誤,因此,在Nt中對(duì)N5進(jìn)行剔除。
圖7 空間鄰近圖中部分節(jié)點(diǎn)包含的物體塊Fig.7 Object patches contained in partial nodes of spatial adjacency graph
基于自身約束的錯(cuò)誤所屬節(jié)點(diǎn)剔除可以有效消除單一物體塊匹配錯(cuò)誤帶來(lái)的影響,根據(jù)物體間的鄰近關(guān)系,推理出與實(shí)際不符的錯(cuò)誤匹配,從而使最終的判定結(jié)果更加可靠,增強(qiáng)了空間關(guān)系匹配的穩(wěn)定性。
圖8 基于自身約束的錯(cuò)誤所屬節(jié)點(diǎn)剔除Fig.8 Deleting the error belonging node based on self-restraint
本文基于已有的先驗(yàn)影像對(duì)未知影像中物體的空間關(guān)系進(jìn)行分析。先驗(yàn)影像與未知影像必須來(lái)自相同的場(chǎng)景,這樣未知影像中的物體也在先驗(yàn)影像中出現(xiàn),根據(jù)先驗(yàn)影像中物體的分布情況可以分析未知影像中物體的空間關(guān)系。首先基于已有的先驗(yàn)影像構(gòu)建物體空間鄰近圖,其次在空間鄰近圖中判定未知影像中物體的所屬節(jié)點(diǎn),最后根據(jù)所屬節(jié)點(diǎn)間的連接信息分析物體間的空間鄰近關(guān)系,實(shí)現(xiàn)未知影像的空間關(guān)系匹配。
對(duì)于兩幅未知圖像,分別在空間鄰近圖中找到圖像中物體的所屬節(jié)點(diǎn),圖像間的空間關(guān)系可以通過(guò)其包含物體間的鄰近關(guān)系表達(dá)。圖9所示為基于空間鄰近圖的不同圖像空間關(guān)系表達(dá)示意圖,圖9(a)、(b)、(c)中方框內(nèi)區(qū)域?yàn)榛贓dge Boxes算法[26-27]在各自圖像內(nèi)檢測(cè)到的物體塊,圖9(d)為場(chǎng)景物體空間鄰近圖,紅色、綠色、藍(lán)色圓圈分別代表圖像1、圖像2、圖像3中物體的所屬節(jié)點(diǎn)集,另外,圖像1與圖像2中存在相同的物體塊,它們的所屬節(jié)點(diǎn)都是N1。節(jié)點(diǎn)間的連線代表其鄰近關(guān)系,線段越粗表示連接權(quán)值越高,節(jié)點(diǎn)越鄰近。圖9(d)表明圖像1與圖像2是相互鄰近的,因?yàn)閮蓮垐D像中物體的所屬節(jié)點(diǎn)存在鄰近關(guān)系(兩張圖像中物體所屬節(jié)點(diǎn)的連接情況用紅色虛線表示),說(shuō)明兩張圖像中的物體在先驗(yàn)圖像中同時(shí)出現(xiàn)過(guò)。對(duì)于圖像3,其包含物體的所屬節(jié)點(diǎn)與圖像1、圖像2均不存在連接關(guān)系,表明圖像3與圖像1、圖像2均不鄰近。
為了判斷兩幅圖像的鄰近關(guān)系,首先檢測(cè)圖像中各自包含的物體塊,判斷各物體塊在N中的所屬節(jié)點(diǎn),組成所屬節(jié)點(diǎn)集合為:N1、N2。所屬節(jié)點(diǎn)間的連接權(quán)值代表了圖像中物體間的鄰近關(guān)系,為了定量表達(dá)整幅圖像間的空間鄰近程度,定義圖像空間鄰近度如式(6)所示
(6)
式中,m、n分別代表N1、N2中的節(jié)點(diǎn)數(shù)量,K值越大,兩張圖像包含的物體越鄰近,圖像的拍攝點(diǎn)位置也相應(yīng)越鄰近。
圖10所示為對(duì)兩張圖像進(jìn)行空間關(guān)系匹配的示意圖,圖10中的兩張圖像是現(xiàn)地采集的場(chǎng)景圖像,它們包含部分相同的內(nèi)容,是一組匹配圖像對(duì)。為了對(duì)兩張圖像進(jìn)行空間關(guān)系匹配,沿著圖中道路預(yù)先拍攝序列圖像作為先驗(yàn)圖像構(gòu)建物體空間關(guān)聯(lián)圖。在此基礎(chǔ)上,基于Edge Boxes算法[26-27]在兩張圖像中檢測(cè)物體塊(圖中紅色方框區(qū)域?yàn)闄z測(cè)到的物體塊);在空間關(guān)聯(lián)圖中判定各物體塊的所屬節(jié)點(diǎn),根據(jù)所屬節(jié)點(diǎn)間的連接權(quán)值確定物體塊間的鄰近信息,圖中曲線上標(biāo)示的數(shù)字即為兩端物體所屬節(jié)點(diǎn)間的連接權(quán)值,例如對(duì)于物體塊A、B,其所屬節(jié)點(diǎn)間的連接權(quán)值為3,表明在先驗(yàn)圖像序列中,兩個(gè)物體在3張圖像中同時(shí)出現(xiàn),定量計(jì)算兩張圖像的空間鄰近度如式(7)所示
(7)
判斷圖像是否匹配的關(guān)鍵在于判斷圖像中是否包含相同的場(chǎng)景內(nèi)容,兩張圖像拍攝點(diǎn)位置越鄰近,其拍攝到相同場(chǎng)景內(nèi)容的可能性越高,判定圖像匹配的置信度也就越高。因此,圖像空間鄰近度可以作為判定圖像是否匹配的依據(jù),設(shè)置鄰近度閾值,當(dāng)兩張圖像的空間鄰近度大于該閾值時(shí),即可判定圖像匹配。對(duì)于圖10中的兩張圖像,其包含的相同內(nèi)容較少,傳統(tǒng)的通過(guò)構(gòu)建圖像整體表達(dá)的圖像匹配方法很難對(duì)其進(jìn)行準(zhǔn)確匹配,本文通過(guò)推理表達(dá)不同物體間的空間鄰近關(guān)系進(jìn)行圖像空間關(guān)系匹配,即使兩張圖像中的相同內(nèi)容很少,通過(guò)計(jì)算圖像空間鄰近度也可以穩(wěn)定準(zhǔn)確地完成圖像匹配任務(wù)。
圖9 圖像空間關(guān)系表達(dá)Fig.9 Spatial relation matching
圖10 圖像空間關(guān)系匹配舉例Fig.10 Example of the spatial relation matching
為了驗(yàn)證本文圖像空間關(guān)系匹配算法的可行性,以及相比于已有算法的優(yōu)勢(shì),構(gòu)建測(cè)試數(shù)據(jù)進(jìn)行圖像匹配試驗(yàn)。另外,本文試驗(yàn)平臺(tái)為64位的Ubuntu 16.04 LTS,16 GB內(nèi)存Xeon 3.2 GHz處理器,試驗(yàn)代碼基于Python 2.7編寫,相關(guān)深度學(xué)習(xí)模型的訓(xùn)練是基于TensorFlow1.1.0框架,GPU為Nvidia Titan Xp。
本文利用Kitti數(shù)據(jù)集(Sequence 00)[29]與Apollo數(shù)據(jù)集(Road 04)[30]構(gòu)建測(cè)試樣本。所選的兩組數(shù)據(jù)中,每幀圖像均包含位姿信息,且圖像序列形成多個(gè)環(huán)路,因此方便構(gòu)建匹配圖像對(duì)。序列中的任意兩張圖像即可組成一組測(cè)試樣本,結(jié)合圖像的位姿信息,若兩張圖像拍攝點(diǎn)位置距離小于5 m,且拍攝方向夾角小于π/6,則其為匹配樣本(正樣本),若拍攝點(diǎn)位置距離大于200 m,則其為非匹配樣本(負(fù)樣本)。利用每組數(shù)據(jù)集隨機(jī)構(gòu)建正、負(fù)樣本各400組,分別利用不同方法進(jìn)行圖像匹配試驗(yàn),參與對(duì)比試驗(yàn)的方法包括:
基于Bow模型的圖像匹配:基于每組數(shù)據(jù)集的第2組序列(每組數(shù)據(jù)集包含兩組序列,第1組序列用于構(gòu)建測(cè)試樣本)構(gòu)建SIFT特征詞典,詞匯數(shù)目設(shè)為1000,基于該詞典構(gòu)建樣本圖像的詞頻向量,歸一化后作為圖像描述符,圖像描述符間的歐氏距離即為圖像間的相似度。
基于Inception-v3模型的圖像匹配:Inception-v3模型可以準(zhǔn)確地對(duì)圖像進(jìn)行分類[31-32],表明該深度卷積網(wǎng)絡(luò)可以有效地挖掘圖像語(yǔ)義信息,因此,基于Inception-v3模型的圖像特征具有更強(qiáng)的表達(dá)能力。利用訓(xùn)練好的Inception-v3模型(http:∥download.tensorflow.org/models/image/imagenet/inception-2015-12-05.tgz)對(duì)整幅圖像進(jìn)行表達(dá),將pool3層輸出(2048維的向量)作為圖像特征,且圖像相似度用特征向量間的歐氏距離表達(dá)。
基于VLAD模型的圖像匹配:對(duì)每組數(shù)據(jù)集第2組序列中的局部特征(ORB特征)進(jìn)行聚類,聚類中心數(shù)目設(shè)為64。利用得到的聚類中心為樣本圖像構(gòu)建2048維的VLAD描述向量,歸一化后作為圖像描述符,圖像描述符間的歐氏距離即為圖像間的相似度數(shù)值。
基于NetVLAD模型的圖像匹配:基于訓(xùn)練好的NetVLAD模型(https:∥github.com/uzh-rpg/netvlad_tf_open)構(gòu)建樣本圖像VLAD描述符[17],根據(jù)描述符間的歐氏距離評(píng)估樣本圖像間的相似度。
基于深度特征匹配相同物體塊的方法:基于訓(xùn)練好的特征提取網(wǎng)絡(luò)構(gòu)建樣本圖像中物體的深度特征,匹配樣本中的相同物體塊,統(tǒng)計(jì)每組樣本包含的相同物體塊數(shù)目。樣本中匹配到的相同物體塊越多,判定樣本匹配的置信度越高。因此,將樣本中匹配到的相同物體塊數(shù)目作為評(píng)估樣本是否匹配的判定指標(biāo),設(shè)置相同物體塊數(shù)目閾值,當(dāng)樣本中匹配到的相同物體塊數(shù)目大于該閾值時(shí),即可判定樣本匹配。
本文空間關(guān)系匹配:采用每組數(shù)據(jù)集的第2組序列構(gòu)建場(chǎng)景物體空間鄰近圖,在此基礎(chǔ)上,對(duì)于來(lái)自第1組序列的測(cè)試樣本,檢測(cè)樣本圖像中包含的物體塊,在空間鄰近圖中搜索各物體塊所屬節(jié)點(diǎn),進(jìn)而計(jì)算樣本的空間鄰近度,設(shè)置鄰近度閾值,當(dāng)樣本空間鄰近度大于該閾值時(shí),判定樣本匹配。
圖11所示為6種方法在部分測(cè)試樣本中進(jìn)行圖像匹配的試驗(yàn)結(jié)果圖,其中,紅點(diǎn)代表正樣本,藍(lán)點(diǎn)代表負(fù)樣本。基于BoW、Inception-v3、VLAD與NetVLAD模型的方法采用歐氏距離度量圖像相似度,距離越小代表圖像相似度越高,圖11(a)、(b)、(c)、(d)表明4種方法中,正樣本整體上具有更高的相似度(圖像描述符距離較小)。
圖11(e)表明本文基于深度特征可以在正樣本中匹配到更多的相同物體,而大部分負(fù)樣本中沒(méi)有匹配到相同物體。盡管如此,仍有部分負(fù)樣本中匹配到了較少的相同物體塊,這是由于試驗(yàn)場(chǎng)景中包含很多難以區(qū)分的相似物體,如風(fēng)格相似的窗戶,同一型號(hào)的車輛等,本文深度特征難以對(duì)其進(jìn)行準(zhǔn)確區(qū)分;另外,部分正樣本中沒(méi)有匹配到相同的物體塊,可能的原因包括:①正樣本中的相同物體未被同時(shí)檢測(cè)為物體影像塊;②正樣本中的相同物體在各自圖像上的成像形態(tài)發(fā)生了顯著變化,此時(shí)深度特征無(wú)法對(duì)其進(jìn)行準(zhǔn)確匹配。
圖11(f)表明本文空間關(guān)系匹配可以達(dá)到較高的匹配準(zhǔn)確率,幾乎所有負(fù)樣本的空間鄰近度為0,而大部分正樣本的空間鄰近度大于0。
對(duì)比分析各種方法的匹配結(jié)果,統(tǒng)計(jì)各方法在不同閾值條件下樣本的召回率與準(zhǔn)確率,繪制準(zhǔn)確率-召回率曲線(P-R曲線)對(duì)比,如圖12所示。
對(duì)于基于深度特征的方法,其樣本相似度為樣本中匹配到的相同物體塊數(shù)目,相似度閾值只能取非負(fù)整數(shù),因此該方法的P-R曲線(綠色虛線)上只有部分點(diǎn)有意義(星號(hào)標(biāo)記的離散點(diǎn))。圖12表明在圖像空間關(guān)系匹配中(紅色曲線),隨著鄰近度閾值從最大值減少到0,樣本召回率不斷增加,而樣本準(zhǔn)確率先是維持不變,隨后急劇降到0.5(鄰近度閾值為0時(shí),樣本召回率為1,準(zhǔn)確率為0.5),這是因?yàn)閹缀跛械呢?fù)樣本空間鄰近度為0,大部分正樣本的空間鄰近度大于0,因此當(dāng)鄰近度閾值在0以上變化時(shí),樣本準(zhǔn)確率幾乎維持在1.0不變(召回率隨著鄰近度閾值的降低而增加)。
圖12對(duì)比結(jié)果表明本文基于物體空間關(guān)系推理表達(dá)的圖像匹配算法在測(cè)試樣本中的匹配效果明顯優(yōu)于對(duì)比試驗(yàn)中的其他方法。已有的圖像匹配方法一般在構(gòu)建圖像整體表達(dá)的基礎(chǔ)上,計(jì)算圖像相似度完成圖像匹配,對(duì)圖像的具體內(nèi)容結(jié)構(gòu)不做更細(xì)致的區(qū)分表達(dá),這無(wú)疑會(huì)限制其匹配性能。現(xiàn)實(shí)世界中總是存在視覺(jué)上相似的不同場(chǎng)景以及變化顯著的相同場(chǎng)景,只有對(duì)場(chǎng)景中的物體結(jié)構(gòu)關(guān)系進(jìn)行細(xì)致準(zhǔn)確地表達(dá),才能有效解決充滿挑戰(zhàn)的圖像匹配問(wèn)題。
相比于對(duì)整幅圖像構(gòu)建特征表達(dá)的方法,本文對(duì)圖像內(nèi)的物體鄰近關(guān)系進(jìn)行推理表達(dá),對(duì)圖像的描述更加的精細(xì)。即使圖像對(duì)中存在視覺(jué)上難以分辨的不同物體,也可以通過(guò)其與鄰近物體的空間關(guān)系對(duì)其進(jìn)行區(qū)分;另外,即使同一物體在不同圖像上成像差異很大,與其相鄰近的物體卻總是一致的,通過(guò)鄰近關(guān)系分析也能對(duì)其進(jìn)行準(zhǔn)確匹配。
圖11 試驗(yàn)結(jié)果Fig.11 Matching results of different models
圖12 P-R曲線對(duì)比Fig.12 Comparison of the P-R curves
在圖像匹配實(shí)踐中,可以根據(jù)圖像中物體是否存在鄰近關(guān)系推斷圖像是否匹配,當(dāng)空間鄰近度為0時(shí),表示圖像中物體在歐氏空間中不鄰近,此時(shí)圖像不匹配;當(dāng)空間鄰近度大于0時(shí),表明圖像中物體存在一定的鄰近關(guān)系,此時(shí)可以判定圖像是匹配的。由于單一物體的錯(cuò)誤匹配不會(huì)影響整體空間關(guān)系的匹配,本文通過(guò)分析圖像中物體的空間鄰近信息完成圖像空間關(guān)系匹配,具有更強(qiáng)的穩(wěn)健性。
匹配效率是評(píng)價(jià)圖像匹配性能的又一重要指標(biāo),為了對(duì)比分析各種方法的圖像匹配效率,統(tǒng)計(jì)基于各種方法完成測(cè)試樣本匹配的耗時(shí),計(jì)算每組樣本的平均匹配耗時(shí),匯總?cè)绫?所示。
表2表明基于BoW與VLAD模型的圖像匹配方法耗時(shí)較長(zhǎng),這是由于這兩種方法需要在樣本圖像中檢測(cè)特征點(diǎn),生成特征向量,這些過(guò)程需要消耗大量的時(shí)間。Inception-v3與NetVLAD模型將整幅圖像作為網(wǎng)絡(luò)輸入,其處理的數(shù)據(jù)量較多,且由于其模型結(jié)構(gòu)復(fù)雜,網(wǎng)絡(luò)層數(shù)較多,圖像匹配耗時(shí)也相應(yīng)較多。
表2 各種方法平均匹配耗時(shí)對(duì)比
本文通過(guò)深度特征匹配樣本中的相同物體塊,該過(guò)程只需要提取局部物體塊的特征,對(duì)于物體塊區(qū)域外的圖像內(nèi)容并不參與匹配計(jì)算,這實(shí)質(zhì)上降低了數(shù)據(jù)量。另外,本文特征提取網(wǎng)絡(luò)層數(shù)較少,結(jié)構(gòu)簡(jiǎn)單,大大提高了物體塊深度特征的構(gòu)建效率,表2表明本文基于深度特征匹配相同物體塊的方法耗時(shí)最少。
在物體塊深度特征提取的基礎(chǔ)上,本文空間關(guān)系匹配需要判定各物體塊在空間鄰近圖中的所屬節(jié)點(diǎn)。通過(guò)物體塊特征與節(jié)點(diǎn)向量點(diǎn)乘運(yùn)算,預(yù)先概略計(jì)算物體塊與各節(jié)點(diǎn)的相似度,篩選出候選節(jié)點(diǎn),在候選節(jié)點(diǎn)集中搜索物體塊的所屬節(jié)點(diǎn),進(jìn)而大大限縮了節(jié)點(diǎn)搜索范圍,提高了匹配效率。表2表明相比于其他方法,本文空間關(guān)系匹配耗時(shí)較少,取得了極高的匹配效率。
試驗(yàn)結(jié)果表明本文空間關(guān)系匹配方法可以穩(wěn)定高效地完成圖像匹配任務(wù),在測(cè)試數(shù)據(jù)上取得了極佳的匹配結(jié)果,基本滿足實(shí)時(shí)準(zhǔn)確圖像匹配應(yīng)用的需求。
本文通過(guò)推理分析圖像中物體的空間鄰近關(guān)系解決整幅圖像匹配的問(wèn)題,首先基于對(duì)比機(jī)制訓(xùn)練特征提取網(wǎng)絡(luò),為圖像中物體塊構(gòu)建深度特征。其次,基于先驗(yàn)的圖像數(shù)據(jù)推理表達(dá)場(chǎng)景中不同物體間的鄰近關(guān)系,構(gòu)建空間鄰近圖。對(duì)于來(lái)自該場(chǎng)景的測(cè)試圖像對(duì),基于該空間鄰近圖表達(dá)測(cè)試圖像中物體間的鄰近關(guān)系,最終定量計(jì)算整幅圖像的空間鄰近度,完成圖像空間關(guān)系匹配,試驗(yàn)表明本文方法優(yōu)于對(duì)比試驗(yàn)中的其他方法,具有較高的穩(wěn)定性,可以準(zhǔn)確高效的解決圖像匹配問(wèn)題。
另外,由于本文研究還處于初步探索階段,相關(guān)技術(shù)仍然需要改進(jìn)完善,在未來(lái)的學(xué)習(xí)實(shí)踐中,將重點(diǎn)在以下方面展開(kāi)研究:
(1) 面向特定類別的物體目標(biāo)檢測(cè)。本文基于Edge Boxes算法[26-27]檢測(cè)圖像中的物體塊,該方法是一種純幾何的方法,檢測(cè)到的物體具有一定的隨機(jī)性,可能一些非顯著的物體被檢測(cè)出來(lái),或者一些顯著的物體未被檢測(cè)。目前,深度學(xué)習(xí)在目標(biāo)檢測(cè)實(shí)踐中取得了很大的成功,因此,基于深度學(xué)習(xí)的物體目標(biāo)檢測(cè)相關(guān)研究,包括構(gòu)建訓(xùn)練數(shù)據(jù)集、面向不同場(chǎng)景(街道、室內(nèi)、戶外)的物體目標(biāo)歸類、借鑒已有的目標(biāo)檢測(cè)模型訓(xùn)練面向特定類別的物體目標(biāo)檢測(cè)網(wǎng)絡(luò),都將是后期工作的重點(diǎn)。
(2) 更加細(xì)致的物體空間關(guān)系表達(dá)。本文對(duì)空間關(guān)系的表達(dá)僅僅局限在物體間的鄰近關(guān)系,對(duì)空間關(guān)系的描述較為粗糙。更細(xì)致的空間關(guān)系表達(dá)是對(duì)場(chǎng)景內(nèi)容更充分準(zhǔn)確的描述,在各種視覺(jué)任務(wù)中都是十分必要的。在空間鄰近關(guān)系表達(dá)的基礎(chǔ)上,后期將探索如何對(duì)物體空間關(guān)系進(jìn)行更加精細(xì)的表達(dá),例如描述物體間的空間方位關(guān)系,所屬關(guān)系(包含與被包含)等。