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