王一波,梁偉鄯,趙 云
(柳州工學院,廣西 柳州 545616)
視覺 SLAM(Simultaneous Localization And Mapping)的關鍵是建立圖像間魯棒的特征點匹配關系,其決定著攝像機運動參數(shù)的求解精度和目標點三維世界坐標重建精度,而影響匹配效果的重要因素是特征點提取算法。當前相對成熟的視覺SLAM解決方案有Mono、PTAM、ORBSLAM、SVO、LSD-SLAM和ORBSLAM2等,普遍基于灰度圖像進行特征點提取即匹配,對于環(huán)境對比明顯的情況表現(xiàn)相對穩(wěn)定,尤其ORBSLAM2更是因采用了ORB特征在室外環(huán)境也有著較好的表現(xiàn);相比于SIFT、SURF等多尺度提取算法,ORB特征提取算法簡單,匹配精度相對較高,適合實時應用的場合。但也存在著當環(huán)境局部紋理或結構相似時所提取特征點的描述子無法加以區(qū)別的問題,從而造成錯誤匹配,而這種錯誤在多數(shù)應用場景下是無法接受的。為此,尋求更為魯棒的特征點提取算法對于視覺SLAM就顯得尤為重要。隨著彩色圖像處理技術的不斷發(fā)展,基于彩色圖像的特征提取已經(jīng)應用在很多場合。彩色圖像包含的特征信息要多于灰度圖像,它不僅包含灰度圖所攜帶的特征信息,還包含飽和度及色度分量的特征信息。據(jù)統(tǒng)計,基于灰度圖像提取的特征信息僅占原始彩色圖像的百分之九十。本文將充分挖掘彩色圖像所包含的信息,構建基于RGB圖像特征點提取算法,以此提高視覺SLAM的魯棒性。
圖像特征點提取的本質即信息的提取,如果能對灰度圖像和彩色圖像包含信息進行特定度量和比較,將為信息提取算法提供理論上的指導。按照Marr計算理論,圖像中的信息即圖像中顏色或亮度的變化,呈現(xiàn)出的是物體和物體的關系以及與人的關系的要素。如果把一幅圖像看作一個虛構零記憶“灰度信源”的輸出時,可以通過觀察圖像的直方圖來估計該信源的符號概率。假設圖像大小為×,灰度范圍為[0,-1],r為此區(qū)間的離散灰度隨機變量,n為第級灰度在圖像中出現(xiàn)的次數(shù)。這時,灰度信源的熵變?yōu)椋?/p>
目前對于RGB值和灰度的轉換,從心理學的角度來看滿足人眼從彩色到亮度的感覺轉換,對紅、綠、藍三種顏色賦以固定權重,通過加權求和得到灰度值,數(shù)學關系如下:
其中:、、分別為對應像素的紅、綠、藍分量;Grey為轉換后像素的灰度值。
根據(jù)式(1)圖像信息熵的定義,變換后的灰度圖像的信息熵可輕易求得,而原始RGB圖像的信息熵成為問題的關鍵。如果將RGB圖像看作三個獨立圖層的簡單疊加,則它的信息熵就是三個圖層信息熵的和,即:
其中:H、H、H分別為、、三個圖層對應的信息熵,而為彩色圖像總的信息熵。此種定義在形式上比較簡單,但其割裂了三個圖層的彼此聯(lián)系,這與實際情況不符。為最大限度反映彩色圖像的信息規(guī)律,將、、三個圖層看作一個整體,某個像素看作隨機向量=(,,),∈[0,-1],∈[0,-1],∈[0,-1],則其信息熵可定義為:
在此運用上述定義對變換前后的RGB圖像和灰度圖像的信息進行比較,為得到可靠的結果,選用了4幅不同場景的圖像進行變換,其結果如圖1所示。
圖1 RGB圖像與灰度圖像信息熵對比
由圖1可以看出,RGB信息熵都遠大于相對應的灰度圖像信息熵。也就是彩色圖像變換為灰度圖像后,圖像的信息量有比較大的損失,對后續(xù)的特征提取必將產(chǎn)生影響。
基于RGB圖像的特征點提取算法可分為三類:一是基于輸出融合,分別對RGB圖像三個通道進行特征提取,根據(jù)設計的融合準則得到整體的特征,實現(xiàn)相對簡單,但容易導致信息丟失;二是基于RGB顏色向量,將RGB圖像看作二維網(wǎng)格上的三維向量場,通過求解向量值函數(shù)實現(xiàn)特征提取;三是多維梯度方法,屬于信息級的融合策略,可實現(xiàn)最終RGB特征信息增強。
本文將采用第二類方法,基于信息熵計算RGB每個分量的最優(yōu)融合權值,實現(xiàn)像素級的融合。算法步驟如下:
(1)計算RGB圖像三個通道I、I、I的信息熵:
其中,p(R)、p(G)、p(B)分別是I、I、I三個通道的直方圖統(tǒng)計量。
(2)根據(jù)圖像信息量確定三個通道的權重。為了最大限度地保留圖像信息,按照信息量的大小分配權重:
(3)基于信息量將RGB圖像線性變換為灰度圖像:
式中,、、分別是RGB圖像任意像素的分量。
由此證明基于信息熵的線性變換的信息量得到最大保留,該命題可等效為:任意假設線性變換Grey=λR+λG+λB,對應的信息量≤。
證明:假設Grey為變換后灰度圖像的離散灰度隨機變量,R、G、B分別為原始RGB圖像三通道I、I、I的離散隨機變量。根據(jù)信息論可知,當信源的方差越大,則信息熵越大。
假設I、I、I的方差分別為(R)、(G)、(B),且(R)>(G)>(B),則可推出H>H>H,從而推出λ>λ>λ。
(4)運用FAST算法確定特征點,此處不再贅述。
本文采用的特征點描述子是在Brief描述子基礎上加以改進的。為充分利用RGB三個通道的信息,描述子建立如下:
(1)將RGB圖像看作××3的數(shù)組,I、I、I由上至下分布,以I某二維特征點(,)為中心,取××3的立體鄰域。
(3)比較二者像素的大小,并按照如下公式進行二進制賦值。
(4)重復步驟1~3,生成一個二進制編碼,此編碼即為特征點描述子。
為驗證本文提出的特征點提取算法,擬與原始ORB特征點檢測算法進行比較。分別采集兩組圖片:第一組是在相同場景下通過平移、旋轉、尺度等變換得到的;第二組為完全不同的場景圖片。分別對兩組圖片進行特征點提取,并進行特征點匹配,采用改進的ORB特征點提取算法(為使ORB算法具有尺度、旋轉不變性,在此將原算法中的Brief描述子更換為Surf描述子)的結果如圖2、圖3所示。
圖2 相同場景下ORB特征提取結果
圖3 不同場景下ORB特征提取結果
由圖中可看出,相同場景下大部分點的匹配是正確的,由于未采用RANSC算法,有少數(shù)點發(fā)生了匹配錯誤。如果采用RANSC算法,誤匹配點對可以避免,但匹配時間會大大增加,平均為218.902 ms。對完全不同的場景進行特征提取,即使使用了RANSC算法仍然存在明顯的3處誤匹配,這種錯誤對于人類視覺而言是荒唐的。特征描述子采用的是局部鄰域編碼,從原理上只是經(jīng)過編碼的特征點的匹配,不代表客觀物體間關系的匹配。產(chǎn)生這一現(xiàn)象一方面是由于特征定義的問題,另一方面是由于算法普遍是基于灰度圖像,未能充分利用原始RGB圖像信息的問題。
對以上兩組圖片采用本文提出的基于RGB特征點提取算法進行處理,同時采用基于距離的匹配算法進行匹配,其結果如圖4、圖5所示。
圖4 相同場景下RGB特征提取結果
圖5 不同場景下RGB特征提取結果
相較于原算法,相同場景下基于RGB特征點的提取算法降低了錯誤匹配,其與原算法組合使用RANSC算法的性能相近,但處理時間縮短了62.014 ms。也說明了在算法充分利用RGB信息后,對于匹配結果的提升是有效的。但在不同場景下基于RGB特征提取仍然存在著極少的明顯誤匹配,這是因為算法本身仍是基于圖像局部范圍,當不同場景存在著較大的相似度時,這種錯誤發(fā)生的概率就會增加,通過擴大描述子隨機范圍可以降低錯誤率,但不可能完全避免。
本文面向SLAM魯棒應用提出了基于RGB特征點提取算法,通過與目前普遍使用的ORB特征提取算法進行比較,發(fā)現(xiàn)誤匹配率有明顯降低,性能與使用RANSC算法相當,但處理時間得到了明顯降低,從而也驗證了本文提出的RGB圖像信息熵度量方法的正確性,從信息論的角度解釋了算法的有效性。今后,將圍繞不同場景下誤匹配發(fā)生的機理展開理論研究,進一步提升特征提取的魯棒性。