王一波,梁偉鄯,趙 云
(柳州工學院,廣西 柳州 545616)
視 覺 SLAM(Simultaneous Localization and Mapping,SLAM)具有成本低、應用場景廣的特點,但目前尚未廣泛落地,主要受限于其算法復雜、魯棒性較差等問題。目前的視覺SLAM架構一般包含前端(視覺里程計)、后端、回環(huán)檢測和建圖,其中前端即VO(Visual Odometry, VO),這是決定算法表現(xiàn)優(yōu)劣的重要因素。目前VO的實現(xiàn)方法主要有特征點法和光流法。前者存在關鍵點提取耗時長、信息利用不充分以及對場景的紋理要求高等問題,光流法的優(yōu)點在于光流不僅攜帶了運動物體的運動信息,而且還攜帶了場景三維結構的豐富信息,但同樣存在計算耗時、實時性、實用性較差等問題。為此,改進VO的處理算法非常重要??紤]到攝像機運動過程中姿態(tài)的連續(xù)變化,若采樣圖像時間間隔足夠小,則攝像機姿態(tài)變化將發(fā)生在相對有限的范圍,反映在圖像上,相鄰幀圖像將具有足夠的相似度,為采用直接圖像配準算法創(chuàng)造了條件。本文將面向視覺SLAM應用實際,充分挖掘圖像特征,構建直接圖像配準評價算法,提高VO的處理效率。
圖像(,)、(,),對于任意像素(,),如果(,)=((,),,),且存在(,)=((,),,),則圖像(,)、(,)為理想一致。
由上述定義可知,當圖像經(jīng)過某種變換或者組合變換得到新的圖像,可以找到相應的逆變換,使變換后的圖像完全恢復到原圖像。例如,圖像發(fā)生平移、旋轉、錯切等變換,可通過逆變換加以恢復。
圖像(,)、(,),對于任意像素(,),如果(,)=(,),為任意正實數(shù),則圖像(,)、(,)為完全一致。
圖像(,)、(,),對于任意像素(,)∈,為(,)的有限非空集,如果(,)=((,),,),且存在(,)=((,),,),則圖像(,)、(,)為部分一致。
實際應用中,圖像為二維有限序列,圖像間的一致性判別通常是在有限區(qū)域內(nèi)進行,這樣部分一致性更具有應用價值。根據(jù)以上定義,不同的應用對于圖像一致性的要求不同,以下分別定義基于信息熵的一致性、基于內(nèi)容的一致性和基于特征的一致性,以滿足不同的應用。
按照Marr計算理論,圖像中的信息即圖像中顏色或亮度的變化,呈現(xiàn)出的是物體和物體的關系以及與人的關系的要素。如果把一幅圖像看作一個虛構零記憶“信源”的輸出時,可以通過觀察圖像的直方圖來估計該信源的符號概率。假設圖像大小為×,灰度范圍為[0,-1],r為此區(qū)間的離散灰度隨機變量,n為第級灰度在圖像中出現(xiàn)的次數(shù)。這時,信源的熵變?yōu)椋?/p>
圖像(,)、(,),對于任意像素(,),如果()=(),則圖像(,)、(,)信息熵完全一致;如果()-()<,為某一閾值,則圖像(,)、(,)信息熵部分一致。
顯然信息完全一致在實際中很難滿足。在圖像傳輸及圖像壓縮過程中,圖像信息熵一致性判別十分重要。
(,)→struct{,, ...,w},(,)→struct{,, ...,w'},其中,w、w'表示(,)、(,)經(jīng)語義分割得到的語義實體,struct表示語義實體間的結構關系,如果struct{,, ...,w}=struct{,, ...,w'},則圖像(,)、(,)為內(nèi)容完全一致;如果=,=, ...,w=w',則圖像(,)、(,)為內(nèi)容部分一致。
顯然,滿足內(nèi)容完全一致條件必然滿足內(nèi)容部分一致條件?;趦?nèi)容的圖像一致性判別,對于圖像跟蹤、場景識別等應用領域具有重要意義。
特征一致定義:圖像(,)→{,, ...,f},圖像(,)→ {,, ...,f'},f、f'表示(,)、(,)經(jīng)特征提取得到的特征,如果對于任意特征,滿足()=(),()=(), ...,(f)=(f'),其中,(·)為對特征進行某種運算,則圖像(,)、(,)為特征完全一致;如果(f)=(f'),=1, 2, ...,,<,則圖像(,)、(,)為特征部分一致。
同樣,滿足特征完全一致條件必然滿足特征部分一致條件?;谔卣饕恢屡袆e的意義在于可以為某些場景配準提供理論依據(jù)。
視覺SLAM的VO,主要任務即確定相鄰幀圖像間的運動關系。如果采用優(yōu)化技術對運動參數(shù)空間進行搜索,則需確定優(yōu)化目標函數(shù),它反映的是相鄰兩幀圖像的配準程度。根據(jù)上一節(jié)的定義,在VO中可以基于像素的一致性來對配準進行初始評價,也可基于特征的一致性來對配準進行深層次評價。一般,VO中采集的圖像為RGB圖像,首先需將其變換為灰度圖像。
為最大限度利用RGB圖像信息,本文將基于圖像信息熵確定灰度變換的權值,算法步驟如下:
(1)計算RGB圖像三個通道、、的信息熵:
式中:、、分別為、、三個圖層對應的信息熵;(R)、(G)、(B)分別是、、三個通道的直方圖統(tǒng)計量。
(2)根據(jù)圖像信息量確定三個通道的權重。為最大限度保留圖像信息,按照信息量的大小分配權重:
(3)基于信息量RGB圖像線性變換為灰度圖像:
式中,、、分別是RGB圖像任意像素的分量。
假設VO采集的兩幀圖像依次為(,)、(,),大小同為×,將(,)看作參考圖像,則(,)=((,),,),其中包含了攝像機的運動:平移t、t、t,旋轉(pitch)、(roll)、(yaw)。理想情況下,評價函數(shù)定義為:
式中,={(,)|(,)=(,)},Num()越大則圖像配準度越高,當Num()=×時,則完全配準,即基于像素完全一致。
攝像機在采集兩幅圖像時光照條件可能存在差異,如果考慮光照的影響,則評價函數(shù)定義仍為式(1),={(,)|(,)=(,)},為亮度調(diào)節(jié)參數(shù),取值不同,則不同,包含的元素數(shù)量也將不同。因此,Num()=max{Num({(,)|(,)=(,)})}。
基于像素的圖像配準評價思想簡單,但實現(xiàn)相對復雜。圖像比較時需考慮參數(shù)的影響,需要進行優(yōu)化計算,耗時較長。同時由于數(shù)字圖像在變換過程中會進行插值運算,相應像素的亮度值取決于插值算法,這也給配準評價帶來了不確定性。
假設VO采集的兩幀圖像依次為(,)、(,),大小同為×,將(,)看作參考圖像,算法步驟如下:
(1)對圖像(,)、(,)進行高斯濾波:
(2)運用canny算子提取濾波后圖像邊緣,假設前一幀圖像邊緣特征集合={,, ...,f},后一幀邊緣特征集合={,, ...,}。
(3)從圖像中直接提取的邊緣既包含環(huán)境中物體的紋理或邊界,也包含因圖像噪聲導致的灰度突變而產(chǎn)生的噪聲邊緣。和正確邊緣相比,噪聲邊緣因噪聲點具有隨機性的原因,其長度更短。對、進行預處理,包括刪除細小邊緣、剪除細小枝節(jié)。
if(f)
(4)對進行變換:=(),包含了攝像機的運動:平移t、t、t,旋轉(pitch)、(roll)、(yaw)。
(5)評價與的配準程度,將基于Hausdorff距離進行。
Hausdorff距離可運用于二值圖像比較中,使用Hausdorff距離進行圖像比較時無需建立點與點間的對應關系。采用Dabuek O.Huttenloche等人提出的部分Hausdorff距離,其定義如下:
首先,計算集合中的任意點a到集合的最短距離,然后對中的所有點進行排序。假設集合邊緣點個數(shù)為N,則前向部分Hausdorff距離為以上序列的第=f×N;同理,后向部分Hausdorff距離為序列的第=f×N。
HF(,)越小,則兩幅圖像的配準越高,當HF(,)=0時,表示完全配準,即基于特征完全一致。
為驗證本文提出的圖像配準評價算法,任意采集一幅圖像,依次對其進行不同距離的平移和不同角度的旋轉,比較變換后圖像與原始圖像的Hausdorff距離。首先根據(jù)上節(jié)提出的算法步驟,對圖像進行預處理,其結果如圖1所示。
圖1 圖像預處理
原始圖像依次沿軸、軸平移50、100、150,然后提取其邊緣特征并做修剪處理,其結果如圖2、圖3所示。分別計算平移后圖像與原始圖像的Hausdorff距離為45.07、62.14、77.62,平移越小,Hausdorff距離越小,配準程度也越高,與視覺感受一致。
圖2 圖像平移
圖3 平移圖像邊緣
原始圖像依次以圖像原點為軸逆時針旋轉,然后提取其邊緣特征并做修剪處理,其結果如圖4、圖5所示。分別計算平移后圖像與原始圖像的Hausdorff距離為50.60、59.48、68.94,旋轉越小,Hausdorff距離越小,配準程度越高,與視覺感受一致。
圖4 旋轉圖像
圖5 旋轉圖像邊緣
本文針對視覺SLAM的VO廣泛使用的特征點法以及光流法存在的問題,尋求建立一種更加簡便且穩(wěn)定的圖像配準算法,該算法以圖像一致性為理論基礎,利用VO順序采集圖像的幀間特點,最后通過實驗驗證了所設計的基于邊緣特征一致性的圖像配準評價符合VO應用的視覺要求。今后,將按照此思路繼續(xù)開展圖像運動參數(shù)搜索算法研究,完善以圖像配準為基礎的VO技術框架。