葉海峰,趙玉琛
(廣西大學 電氣工程學院,廣西壯族自治區 南寧 530004)
視覺位置識別是計算機視覺領域最基本的課題之一,其任務是基于給定查詢圖像進行位置準確和有效地識別.長期以來,由于對于機器人自主性的關注逐漸增加和視覺傳感器成本快速下降,視覺位置識別的研究得到了廣泛的關注與快速的發展.位置識別是SLAM中活躍的研究領域,在過去的十幾年間有了長足的發展,圍繞所采用的圖像描述符的類型可分為全局描述符,局部描述符,BoW[1]及其組合類型[1].
S.Garg[2]提出通過語義位置分類改善條件和環境不變的位置識別,利用語義場所分類創建了物理空間的有益信息的自然分割.利用場所識別和場所分類過程的強大互補性來創建一個新的混合場所識別系統增加了魯棒性.作者[3]M.Mohan開發了一種方法,該方法從大型可用參考數據庫生成用于場所識別的不同類別的環境,以減少用于匹配場所的搜索空間.他們基本上將整體物理空間劃分為位置識別系統內相似環境的類別,并且不使用任何語義位置分類.這些類型的框架利用位置分類標簽來提供有關空間的信息,從而減少了對象搜索空間并提高了對象識別性能.
至今,在視覺位置識別的領域仍然存在一系列的挑戰[4].其中一個挑戰即是環境中多個位置看起來非常相似,而且同一地點從不同視角看起來會不盡相同,這會導致感知混淆的問題.針對上述問題,本文提出一種算法以提供解決該問題的思路.通過構建地點的分類標簽來分割空間信息,以避免感知混淆的問題,同時這又會減少搜索空間提升效率.
在視覺位置識別的研究中,同一位置僅由一張幀圖像描述,該圖像包含該位置的地理信息,一個地點有多個位置組成.將機器人走過路徑的圖像信息順序依次存儲,在記錄存儲的包含位置信息的圖像數據中,發現對于不同地點下的所屬圖像是存在明顯差異的,而對于同一地點下的圖像是相似的,盡管這些圖像存在差異,但與其它地點下圖像的差異相比則微不足道.從主題模型的角度分析,同一地點的圖像描述的都是同一主題,不同地點描述的是不同主題.針對這一現象,本文提出一種方法,該方法從主題模型的角度出發,構建能有效描述位置地點的主題,通過主題與當前機器人視覺圖像的計算,來確定與當前機器人視覺圖像相似圖像集的范圍.通過粗略的匹配搜索來準確定位機器人的大致位置范圍,在通過精確匹配搜索和尋求最優的方式來最終確立機器人的位置,以此來避免感知混淆的問題.同時由于本文減小搜索空間,減少了位置識別系統中工作運行的時間,帶來另一個優點.
為了高效計算地點的主題,需要減少圖像的干擾信息.為此,需要對圖像進行有效的分割,提取其中包含關鍵有效信息的部分.顯著性算法模擬人類視覺注意力的特點計算視覺中的顯著性對象[5-8].隨著顯著性對象檢測變得日益精確,并且因其存在廣泛的應用而得到越來越多的研究.由于顯著性算法可以減少大量的冗余背景信息,對實現本文的目的非常重要.故本文預先對圖像進行顯著性算法的計算,獲取圖像中引起人類注意的區域.
故本文的算法思路先使用顯著性算法對圖像進行有效信息的提取,并對提取信息進行特征描述,再使用聚類的方法獲取相似的對象.聚類成同一個簇中的每個對象,在忽略一定差異的條件下,可以看成是同一個物體或人,且有差異的原因可以看成是由于視角或光線等原因造成的.本文使用聚類的中心來代表描述同一主體但存在差異的不同對象.
一個地點由多個位置圖像描述組成,同一地點可由該地點下多個位置分割出的具有代表性的物體對象來替代,所以一個地點可以由幾個簇中心組成.這種求一個地點的多個簇中心的方式類似于求一個地點的主題.即對一個地點下多個不同方面描述該地點的圖像進行其背后所含內容的抽象的求解.
不同地點可能會存在相同或相似的物體對象的現象,而聚類的方法是全局進行的,忽略了對象的空間,聚類的結果可能會將某些地點稀少但全局分布的對象尋找出來;或者將不同地點下的相似對象突顯出來,但這些對象存在不能有效描述或代表地點的特性.其結果會給我們造成混亂.對于該問題本文提出幀模型算法,該算法即在計算聚類個體對象間的距離時,在距離公式上添加計算兩個體間的幀序號間差異量.考慮到兩個體在幀序號上相差的距離越遠,兩個個體是同一地點的肯能性就越小,差異量最好是衰減函數,在坐標軸上的變化趨勢應該是的倒拋物線.幀模型參考萬有引力公式來確立我們的幀模型函數.
對于大型的復雜環境,可以將圖像內容表示為具體抽象和詳細級別.在聚類中隨著相似度的改變可以形成不同聚類結果.對應的現實即隨著相似度值的增大,計算出的抽象內容所能代表的范圍也就越大.由此我們針對抽象內容所代表范圍的大小,可以建立不同級別的抽象內容.層次聚類通過計算不同類別數據點間的相似度來創建一棵有層次的嵌套聚類樹.本文使用層次聚類來建立不同級別的抽象內容.
圖1所示,一個地點位置與其他地點存在明顯區別,這些差別的屬性對其他不同地點而言是不同,但對于相同地點的其他幀而言是共有.這類似于主題模型,每個地點存在的特定的主題.我們的工作就是找出這些主題,并保存在搜索空間中.在進行的位置識別系統中,我們通過搜索主題空間來加速并減少搜索空間.

圖1 視頻序列與位置的關系Fig.1 Relationship between video sequence and location
主題屬性定義為同一地點的共有屬性,不同地點的差異屬性.我們采取的方式是對圖像數據集進行分割提取,通過計算來尋找出這些帶有主題屬性的部分.

圖2 算法流程示意圖Fig.2 Algorithm flow diagram
具體實施流程如圖2所示.采用顯著性算法對圖像數據集進行對象區域的分割,使用聚類算法聚集出具有代表屬性的對象個體.有每個地點的代表個體組成該地點的主題.
顯著性檢測(Visual Saliency Detection)指通過智能算法模擬人的視覺特點,提取圖像中的顯著區域(即人類感興趣的區域).引入視覺顯著性的優勢主要表現在兩個方面,第一,它可將有限的計算資源分配給圖像視頻中更重要的信息,第二,引入視覺顯著性的結果更符合人的視覺認知需求.當前,基于圖像顯著性分割算法較多,每種顯著性算法各有優勢.其中,Dejian Zou[9]等人在2018年提出基于調頻和單切算法的顯著區域檢測方法,該方法可以有效地利用傅立葉變換算法輸出的顯著圖來準確,高效地分割最顯著區域,滿足了機器人系統的實時性要求.其與四種公認的顯著性檢測算法(IT[9],GBVS[10],AC[11],RC[3])進行定性比較中可以看出,該方法比其他四種算法獲得了更好的結果.
圖像對象提取如圖3所示:流程自下而上,首先對輸入圖像進行顯著性算法的處理,得到顯著性圖;接著按顯著性圖的輪廓來對原圖像分割.
顯著性算法無論如何變化,它始終是按照類似環繞對比度,即對象區域與其它區域的不同之處進行比較提取,這一度量單位進行計算,即使最新研究的視頻序列顯著對象的提取也大都是從對比度出發.顯著性對象擁有的對比度這一表達形式并不能有效的描述對象的特征,理想情況下,本文希望使用來自候選對象生成階段的顯著性分數來判斷區域的質量.但是,顯著性分數在幀之間是無法比擬的.所以需要有效的計算關于對象不規則區域的特征描述符.

圖3 顯著性算法分割提取對象示意圖Fig.3 Segmentation and extraction of object diagram by saliency algorithm
特征提取是影響圖像分類性能的關鍵因素.傳統的圖像分類算法僅使用單一特征,因此這些方法帶來了局限性.在本文中,本文對基于特征組合的圖像分類方法進行了深入研究,并采用一種基于多特征融合的算法.
Keping Wang等人基于SVM的傳統圖像分類算法為這些特征分配了相等的權重[1].但是,SVM內核功能的計算可能會受到瑣碎的相關或不相關特征的支配.考慮到與分類任務有關的每個功能的重要性,本文根據其離散程度確定相關特征,并為相關特征分配更大的權重,丟棄不相關的特征.
測量權重的方式采用限波茲曼機.限制波茲曼機是一種特殊的對數線性馬爾可夫隨機場(MRF)的形式,其能量函數在其自由參數的線性空間里.它能按照特征的重要程度給予特征相應的權重.
本文提取對象的顏色直方圖特征和BoW詞袋特征,采用限波茲曼機耦合成一個特征.顏色特征在實際應用中有非常好的效果;BoW特征能有效描述圖像的紋理方面,由于其維數低而減少計算量,在圖像搜索與匹配中有著很大的應用.通過顏色和紋理組合來更細致地描述對象.算法如下:
任意兩個對象用rm,rn來表示,
Sp(rm,rn)=Scol(rm,rn)+Sbow(rm,rn)
(1)
由公式(1)可得出任意兩個對象間的對比結果.Sp表示任意兩個提取對象間的評價函數,Scol,Sbow分別表示表示任意兩個提取對象間關于顏色直方圖描述符和Bow描述符的評價函數.
(2)
(3)
(4)
(5)
maxbow=max{dbow}
(6)
由公式(2)(4)分別得到顏色直方圖特征和BoW詞袋特征的評價函數.
其中,距離度量:
(7)
(8)
(9)
Minkowski距離度量類似于分數距離度量,Minkowski距離是歐幾里德空間中定義的度量,除了歐幾里德和曼哈頓距離之外,它可以被視為一種泛化形式.
不同地點可能會存在相同或相似的物體對象的現象,而聚類的方法是全局進行的,聚類的結果可能會將某些地點下數量稀少但全局分布并且數量眾多的對象尋找出來;或者將不同地點下的相似對象突顯出來,由于這些對象存在不能有效描述或代表地點的特性.其結果會給我們造成混亂.為了能有效聚類出每一個地點下的對象,需要對不同地點的對象間的比較度量施加影響.
Kayal等人的工作中[12],在時間距離上的層次聚類中,對時間距離隨時間和幀的變化距離采用指數衰減,并取得了較好的結果.他們的工作給予了我們非常大的幫助和提示,依據其工作的思路本文的幀模型在呈現指數衰減的拋物線模型,由于本文中采用了顯著性算法而得到了每一個提取對象的顯著性分數,存在在資源利用的目,結合萬有引力公式提出本文的幀間距離公式:
(10)
df=|nj-ni|
(11)
(12)
其中,m(rm),m(rn) 為顯著性算法分割對象的顯著性分數.對象的顯著性分數越高,代表其在視覺上的越突出明顯,代表其越能有效代表與描述地點.在引力公式中,物體的質量是非常重要的要素,質量能說明物體的重要程度,質量越大,物體所具有的力量越大.顯著性分數與質量一定意義上是相識的,所以用顯著性分數來替代引力公式中的質量是可行的.類似引力公式,對象顯著性分數越高,幀模型得分越大,對象距離越遠,幀模型得分越小.
在幀模型中,由于其得分與顯著性分數有關,導致了顯著性分數小的對象得分不高,在位置識別算法中被剔除掉.而顯著性分數不高的對象代表了其在描述與代表地點的有效程度不高,不是本文所需要的,所以這一結果符合本文的期望.
nj與ni表示幀序列號.其中本文g取1200.Φri,j為對象塊內每一像素的顯著性得分,size(rm)為對象的大小.得到兩對象的總評價函數:
S(rm,rn)=Sp(rm,rn)+Lf(rm,rn)
(13)
本文算法程序基于MATLAB2017開發,運行環境為Windows 10,運行內存為8GB.采用KITTI數據庫與自己采收集圖像進行試驗.
為了實驗使用限制波茲曼機基來融合對象的效果,我們對其進行兩次不同的實驗測試.首先,先單獨測試以限制波茲曼機基為核心,不含幀模型的對象表達式對分割對象的表達效果.本文以常描述符測試一組數據集進行測試.該數據集為圖像配準的常用數據集,共七組,每一組圖像有尺度、光照、視點和模糊等方面的變化.
由于本文的最終目的是提取相似對象的標識牌,其過程中使用了聚類,所以要測試對象表達式要在聚類中的效果.故我們的測試方法是查看經過聚類后聚類的準確度.
將數據源的順序打亂,并使用聚類算法對其進行聚類劃分.已知數據源為7個種類,設置聚類簇為7類.并使用公式(13)來計算其準確度.
(14)
公式中分子為聚類正確劃分所對應類別的數目,分母是所有圖像數目.
實驗結果如表1和圖4所示.結果表明,本文的對象表達式在計算對象相似度優于單一的特征的相似度相.

圖4 聚類劃分的準確率對比Fig.4 Accuracy comparison
接著,再實驗對象的表達在本文算法中的效果.為了比較效果,我們設置實驗.其中設置6個地點,每個地點都存在不同的幾個對象組.其中每一類對象下的對象僅是相似,存在視角不同,光照變化,旋轉等差別,每一類對象都是從同一地點下分割出來.
得出結果的精確度使用公式(15),此公式反映中心對象代表地點的準確程度.
(15)
分母為每個地點下的每一類對象的個數的總和,分子為計算出的中心對象與地點下每一類一致的個數.該計算精確度公式是通過計算出的中心對象與實際每一地點的代表對象的比較,反映算法所計算對象代表地點的程度.實驗結果如表2和圖5所示.
實驗數據說明本文的沒有包含幀模型的對象表達在本文的整個算法中有較好的表現.與實驗結果如表1和圖4的試驗數據共同說明,本文對象的表達優于使用單一特征的方法.
為了研究幀模型對聚類的影響,我們設置試驗:設置不同地點存在相似對象的情況存在.共設置兩組實驗組.對象的精確度使用公式(14).

表2 兩種算法準確率對比Table 2 Comparison of the scores of the two algorithms

圖5 準確率對比Fig.5 Accuracy comparison
實驗結果如表3和圖6所示.由試驗數據表明,與沒有幀模型的算法相比,添加了幀模型的算法在位置識別實驗的精度上提升了8.09和15個百分點.幀模型對算法具有提升效果.

表3 兩種算法基準評價對比Table 3 Comparison of the scores of the two algorithms

圖6 評價得分對比Fig.6 Comparison of evaluate scores
在本文設計的整個位置識別系統中可以分為兩個部分,前一個部分是生成地點標識牌的操作,即本文所論述的算法操作,另一個部分即對當前機器人輸入圖像進行搜索的部分.對這個數據集進行本文算法的操作并將結果存儲起來,待有數據輸入時,在進行第2部分的搜索操作.其中,檢索技術使用倒排索引,倒排索引可以更快地消除不太可能的圖像,而不需要線性搜索數據庫中的所有圖像.將本文算法操作存儲數據與直接搜索進行試驗對比.
BoW詞袋方法在位置識別的研究中有著重要意義,為了比較本文算法的效果,將與BoW進行比較,同時與常規算法歐幾里德距離搜索算法相比.
衡量算法運行時間的3個方法有基準評價、統計指令,以及復雜度分析.我們從基準評價和復雜度分析兩方面來進行比較.
基準評價方法是首先確定幾個具有相同大小的不同數據集合的時間,然后計算出平均的時間;接下來針對越來越大的數據集合,收集相似的數據,在進行幾次這樣的測試后,就有了足夠的數據能夠預測算法對任何大小的一個數據集合的表現了.
數據大小為138時,我們在所有采集的關于地點圖像中隨機選出具有代表性的136張圖像用于算法測試的數據樣本,其中共6個地點,每個地點含有多個個明顯的不同對象,每個對象都有多張存在差異的圖像.將6個不同地點共138張圖片用于本文算法和直接搜索方法的試驗對比.
數據大小為488時,數據大小為1138時,我們增加地點的數目,同時增加地點下對象的數目,按數據集138的設置條件增加對象.同時隨機從數據集中選取幾個圖片作為搜索的輸入數據.
我們在保證搜索匹配到正確圖像的前提下,達到表1所示的實驗結果.該結果為多次實驗的數據.該實驗結果沒有記錄本文算法中生成標識牌的時間,僅使用標識牌與一般算法進行搜索時間的比較.可以看出本文算法與常規算法歐幾里德距離搜索算和BoW算法相比有較為明顯的優勢.其中,在生成標識牌的工程中,生成標識牌時間隨著添加數據的數量大小的增加,而搜索部分所花費的時間增加并不明顯,可以看出本文本文算法將算法的絕大大部分時間花費在生成標識牌的過程中.這一效果給予搜索時間好的效果.
在上述過程,的時間復雜度為O(ni),大于直接搜索的時間復雜度O(n),但本文算法搜索的空間遠遠小于直接搜索的空間,本文算法的效率遠大于一般方法.

表4 兩種算法搜索時間對比Table 4 Search time of the two algorithms

圖7 連接效果時間對比Fig.7 Comparison of connection effect time
在上述實驗中(見表4和圖7),我們精心設置當前機器人的輸入數據與數據集,保證機器人的數據不能與存儲的數據集數據存在多個不同地點的相似圖像.同時我們發現當存現上述情況時,常規算法與BoW會出現位置識別錯誤甚至位置識別失敗,而本文算法的試驗結果與表4中相差不大,仍能識別成功.對本文算法分析可以發現,在進行精細的匹配搜索前,由于多出了標識牌搜索的流程,使得在精細匹配的流程中,搜索的范圍確立在小的范圍內,剔除了一些圖像相似的位置地點,使德位置識別的成功率大大增加.
當前經典算法FAB-MAP與SeqSLAM方法的比較如表5所示.

表5 準確度比較Table 5 Accuracy comparison
其中,Datesets1指存儲數據庫中重復圖像非常少的情況,Datesets2指存儲數據庫中重復圖像較多時的情況.當存儲數據中重復圖像非常少時,3種算法的roc面積都很大;但當情況改變,存儲空間的重復圖像變得較多時,由于感知混淆的干擾,3種算法的recall開始降低,但本文算法仍能保持較好的recall,說明對存儲空間進行分割增添標識牌的方式確實在一定程度上抑制了感知混淆的問題.
位置識別系統中的視頻數據,代表某一地點位置的視頻序列與代表其他地點位置的數據存在明顯差異,而同為一地點的則相似.針對位置識別系統中數據的特點,提出了一種利用基于顯著性算法提取出圖像顯著性區域而生成能代表視頻序列段的標識牌的方法.利用該標識牌來減少搜索空間,加快位置識別系統的運行效率.同時由于使用標識牌確立了大致范圍,避免了在全局范圍內圖像相似帶來的混淆.本文算法首先采用顯著性算法對圖像進行分割與提取,以提取圖像中的主要和分割開來的信息,使用限制波茲曼基的加權融合來有效描述這些信息,并針對在聚類空間中沒有時間信息所導致聚類混亂的情況提出幀信息模型,提取聚類的中心排列成能簡單有效代表地點或多個序列幀的標志-標識牌.實驗結果表明,本文算法在位置識別系統中有較好的效果.