劉佳璐
(1.北京控制工程研究所,北京100190;2.空間智能控制技術(shù)國家級(jí)重點(diǎn)實(shí)驗(yàn)室,北京100190)
月面模擬環(huán)境的SIFT特征提取與匹配方法
劉佳璐1,2
(1.北京控制工程研究所,北京100190;2.空間智能控制技術(shù)國家級(jí)重點(diǎn)實(shí)驗(yàn)室,北京100190)
為了滿足月面巡視探測(cè)器的自主導(dǎo)航要求.使用一種新的基于尺度不變的特征點(diǎn)提取和匹配算法.首先根據(jù)尺度不變特征變換方法從圖像中提取關(guān)鍵點(diǎn)作為特征點(diǎn),然后進(jìn)行左右雙目圖像的特征點(diǎn)匹配和視差的恢復(fù).與傳統(tǒng)特征算法相比,可以提高對(duì)不同光照環(huán)境圖像匹配的魯棒性和匹配精度.在模擬試驗(yàn)場的雙目視覺圖像匹配中,仿真實(shí)驗(yàn)取得較好的效果.
月面巡視探測(cè)器;SITF特征;視覺導(dǎo)航;特征提取;特征匹配
本文研究背景為月面巡視探測(cè)器(月球車)控制與導(dǎo)航分系統(tǒng)中的視覺部分.導(dǎo)航與控制子系統(tǒng)是控制月球車的神經(jīng)中樞,本文研究的視覺導(dǎo)航部分猶如這個(gè)神經(jīng)中樞的眼睛.視覺導(dǎo)航系統(tǒng)能否處理采集到的圖像獲得理想的效果,并獲得清晰有效的圖像以及做出正確的圖像分析與理解,將直接影響到后面的遙操作或自主導(dǎo)航及避障的路徑規(guī)劃.
在車輛的視覺導(dǎo)航系統(tǒng)中,通常包括圖像的采集系統(tǒng)和視覺處理系統(tǒng)兩大部分,其中前者通常包括CCD相機(jī)采集數(shù)字圖像,采集系統(tǒng)又分單目圖像的采集和雙目圖像的采集,近些年來,隨著信息技術(shù)的發(fā)展,普遍在視覺導(dǎo)航中使用雙目立體視覺采集和處理圖像[1].比如美國的“索杰納”、火星探測(cè)車(MER)的“勇氣號(hào)”和“機(jī)遇號(hào)”等.在雙目立體視覺中[2],是模仿人眼的視差原理,進(jìn)行兩幅圖像中相同部分特征的對(duì)應(yīng)匹配,根據(jù)視差的原理獲得三維信息,得出一個(gè)相對(duì)觀測(cè)者的一個(gè)視差圖,有效判斷目標(biāo)的距離,并且以此規(guī)劃一個(gè)較為安全的路徑,進(jìn)而能進(jìn)行自主導(dǎo)航和避障.整個(gè)系統(tǒng)的構(gòu)成如圖1所示.特征的提取和匹配是視覺導(dǎo)航技術(shù)中的一個(gè)重要步驟;也是計(jì)算機(jī)視覺研究領(lǐng)域中的一個(gè)重要問題.
在月球車的視覺導(dǎo)航系統(tǒng)中,首先要對(duì)采集的圖像進(jìn)行特征提取,隨后用提取的特征進(jìn)行雙目匹配得出視差圖,最后恢復(fù)出到前方目標(biāo)的距離信息.特征的提取是視覺導(dǎo)航技術(shù)中的一個(gè)重要步驟,也是計(jì)算機(jī)視覺研究領(lǐng)域中的一個(gè)重要問題.在雙目視覺系統(tǒng)中,如何快速準(zhǔn)確的選取兩幅圖像中共同可以用于下一步匹配的特征,是非常關(guān)鍵的一步,現(xiàn)有的立體視覺系統(tǒng)的特征提取包括點(diǎn)、線和區(qū)域特征的提取.由于月球車所處的月面環(huán)境屬于非結(jié)構(gòu)化環(huán)境,紋理特征比較單一,灰度變化不明顯,只能適合采用基于特征點(diǎn)的匹配.目前的特征點(diǎn)提取方法主要有Moravec算子、Forstner算子、Harris角點(diǎn)提取算子[3]和Susan算子等.由于月面模擬環(huán)境的特點(diǎn)和相機(jī)等硬件的局限性,容易出現(xiàn)兩個(gè)相機(jī)采集的圖像光線差異和發(fā)生形變等問題.
本文使用尺度不變特征(SIFT,scale invariant feature transform)對(duì)模擬環(huán)境圖像提取特征點(diǎn)[4],并進(jìn)行雙目視覺的匹配工作.與傳統(tǒng)算法相比,可以增加對(duì)不同光照環(huán)境的魯棒性,并且增加了匹配精度.在模擬試驗(yàn)場的雙目視覺照片中,本文的實(shí)驗(yàn)取得較好的效果.
圖1 視覺系統(tǒng)算法框架圖
本文包含以下幾個(gè)部分,第二部分是基于SIFT的月面模擬圖像特征提取方法處理,第三部分是特征匹配方法,第四部分是實(shí)驗(yàn)及結(jié)果分析,第五部分是應(yīng)用這個(gè)算法的可行性分析,第六部分是結(jié)論.
尺度空間理論最早出現(xiàn)于計(jì)算機(jī)視覺領(lǐng)域時(shí)其目的是模擬圖像數(shù)據(jù)的多尺度特征.Koendetink在文獻(xiàn)[4]中證明高斯卷積核是實(shí)現(xiàn)尺度變換的唯一變換核,而Lindeberg[5]等人則進(jìn)一步證明高斯核是唯一的線性核.圖像中的二維高斯函數(shù)定義為
式中σ為高斯正態(tài)分布的方差.一個(gè)圖像的尺度空間L(x,y,σ)定義為高斯函數(shù)與圖像的卷積
Lowe在圖像二維平面空間和DoG(differenceof-gaussian)尺度空間中同時(shí)檢測(cè)局部極值以作為特征點(diǎn),以使特征點(diǎn)具備良好的獨(dú)特性和穩(wěn)定性[6].這個(gè)算法首先在尺度空間進(jìn)行特征檢測(cè),并確定關(guān)鍵點(diǎn)(Keypoints)的位置和關(guān)鍵點(diǎn)所處的尺度,然后使用關(guān)鍵點(diǎn)鄰域梯度的主方向作為該點(diǎn)的方向特征,以實(shí)現(xiàn)算子對(duì)尺度和方向的無關(guān)性.
SIFT算法提取的尺度不變特征向量對(duì)旋轉(zhuǎn)、尺度縮放和亮度變化保持不變性,對(duì)視角變化、仿射變換和噪聲也保持一定程度的穩(wěn)定性,且獨(dú)特性好,信息量豐富,適用于在海量特征數(shù)據(jù)庫中進(jìn)行快速、準(zhǔn)確地匹配.
SIFT特征匹配算法包括兩個(gè)階段,第一階段是SIFT特征的生成,即從多幅待匹配圖像中提取出與尺度縮放、旋轉(zhuǎn)、亮度變化無關(guān)的特征向量;第二階段是SIFT特征向量的匹配.
下面本文來具體介紹一下SIFT算法.一幅圖像SIFT特征向量的生成算法總共包括4步:
(1)計(jì)算尺度空間極值,以初步確定關(guān)鍵點(diǎn)位置和所在尺度.
首先計(jì)算圖像對(duì)應(yīng)不同尺度空間的一系列高斯差分圖像DoG(Laplacian-of-Gaussian),并構(gòu)造高斯金字塔,DoG算子定義為兩個(gè)不同尺度高斯核的差分,具有計(jì)算簡單的特點(diǎn),是歸一化LoG算子的近似.
DoG算子如式(2)所示
對(duì)于圖像上的點(diǎn),計(jì)算其在每一尺度下DoG算子的響應(yīng)值,這些值連起來得到特征尺度軌跡曲線.特征尺度曲線的局部極值點(diǎn)即為該特征的尺度.尺度軌跡曲線上完全可能存在多個(gè)局部極值點(diǎn),這時(shí)可認(rèn)為該點(diǎn)有多個(gè)特征尺度.
在計(jì)算尺度空間極值時(shí),每個(gè)像素需要跟包括同一尺度的周圍鄰域8個(gè)像素和相鄰尺度對(duì)應(yīng)位置的周圍鄰域9×2個(gè)像素總共26個(gè)像素進(jìn)行比較,以確保在尺度空間和二維圖像空間都檢測(cè)到局部極值.
(2)通過擬和三維二次函數(shù)來精確確定關(guān)鍵點(diǎn)的位置和尺度,同時(shí)去除低對(duì)比度的關(guān)鍵點(diǎn)和不穩(wěn)定的邊緣響應(yīng)點(diǎn)(因?yàn)镈oG算子會(huì)產(chǎn)生較強(qiáng)的邊緣響應(yīng)),以增強(qiáng)匹配穩(wěn)定性和提高抗噪聲能力.將尺度空間的方程D(x,y,σ)按照泰勒展開得到第二項(xiàng)[7]
通過這個(gè)二次函數(shù),將不同尺度圖像的局部極值點(diǎn)進(jìn)行擬合;另上式的偏導(dǎo)數(shù)為0,求出極值的位置
這個(gè)過程可以在定位的過程中,使提取的特征點(diǎn)達(dá)到亞像素的精度.
(3)利用關(guān)鍵點(diǎn)鄰域像素的梯度方向分布特性為每個(gè)關(guān)鍵點(diǎn)指定方向參數(shù),使算子具備旋轉(zhuǎn)不變性.計(jì)算特征點(diǎn)的方向θ(x,y)和幅值m(x,y)
式(4)為(x,y)處梯度的模值和方向公式.其中L所用的尺度為每個(gè)關(guān)鍵點(diǎn)各自所在的尺度.在實(shí)際計(jì)算時(shí),在以關(guān)鍵點(diǎn)為中心的鄰域窗口內(nèi)采樣,并用直方圖統(tǒng)計(jì)鄰域像素的梯度方向.梯度直方圖的范圍是0°~360°,其中每10°一個(gè)柱,總共36個(gè)柱.直方圖的峰值則代表了該關(guān)鍵點(diǎn)處鄰域梯度的主方向,即作為該關(guān)鍵點(diǎn)的方向.
至此,圖像的關(guān)鍵點(diǎn)已檢測(cè)完畢,每個(gè)關(guān)鍵點(diǎn)有三個(gè)信息:位置、所處尺度和方向.由此可以確定一個(gè)SIFT特征區(qū)域.
(4)生成SIFT特征向量.首先將坐標(biāo)軸旋轉(zhuǎn)為關(guān)鍵點(diǎn)的方向,以確保旋轉(zhuǎn)不變性.
接下來以關(guān)鍵點(diǎn)為中心取16×16的窗口.生成16個(gè)4×4的子窗口,在每個(gè)子窗口計(jì)算0°,45°,90°,135°,180°,225°,270°,315°,這8個(gè)方向的梯度大小和幅值,因此每個(gè)4×4的子窗口可以看作一個(gè)8維特征向量的描述,那么整個(gè)窗口可以看作128維特征描述.然后將這些特征進(jìn)行向量的歸一化描述.如果縮小關(guān)鍵點(diǎn)的窗口到8×8,就可以最后生成一個(gè)32維特征向量.
當(dāng)兩幅圖像的SIFT特征向量生成后,下一步采用關(guān)鍵點(diǎn)特征向量的歐式距離來作為兩幅圖像中關(guān)鍵點(diǎn)的相似性判定度量.如圖2所示,其匹配方法是直接在對(duì)應(yīng)的另一幅圖像中尋找特征點(diǎn)的特征向量相減,直接找出所得差值為最小值的點(diǎn),作為匹配點(diǎn).當(dāng)兩幅圖像的SIFT特征向量生成后,采用關(guān)鍵點(diǎn)特征向量的歐式距離來作為兩幅圖像中關(guān)鍵點(diǎn)的相似性判定度量.
圖2的具體描述如下,假設(shè)在左圖像提取n個(gè)特征點(diǎn),在右圖像提取m個(gè)特征點(diǎn).左圖像第i(0≤i≤n)個(gè)特征點(diǎn)坐標(biāo)(xi,yi)的特征向量為Xli,與每個(gè)右圖像的每個(gè)特征點(diǎn)的特征向量Xrj(j=1,…,m)相減所得的一組數(shù)據(jù)中,理論上選擇特征向量之差為最小(特征向量的歐氏距離最近)的特征向量所對(duì)應(yīng)的右圖特征點(diǎn)為對(duì)應(yīng)匹配點(diǎn).通常情況,為了防止誤匹配的發(fā)生,選擇歐氏距離最近點(diǎn)與次近點(diǎn)的距離相除,如果兩者相除低于某一個(gè)比例閾值,就確定這個(gè)點(diǎn)和左圖像的特征點(diǎn)匹配上.這個(gè)比例閾值越大,就會(huì)有更多的點(diǎn)匹配上,但是誤匹配的概率也會(huì)高;這個(gè)比例閾值越低,匹配精度越高,但是匹配的點(diǎn)會(huì)減少.
圖2 特征匹配的流程圖
圖3是增強(qiáng)的圖像與沒有增強(qiáng)的圖像的匹配結(jié)果.獲得27個(gè)匹配點(diǎn).使用增強(qiáng)的圖像與沒有增強(qiáng)的進(jìn)行匹配,對(duì)本文的工作是非常有意義的,但由于采集設(shè)備硬件在月面環(huán)境中受到擾動(dòng)影響,可能出現(xiàn)其中一幅圖像過曝光的情況,會(huì)導(dǎo)致本應(yīng)該屬于對(duì)應(yīng)的一個(gè)目標(biāo)在圖3上出現(xiàn)的灰度特征呈現(xiàn)出很大的差異.
在光線差異比較大的情況下,傳統(tǒng)的SAD(the sum of absolute differences)和NNC(normalized cross correlation)等匹配準(zhǔn)則都是基于局部灰度信息特性的匹配,這些方法會(huì)帶來明顯的誤匹配情況.使用基于特征向量的SIFT方法匹配會(huì)對(duì)光照強(qiáng)度、位置變化、圖像扭曲變形等保持很好的魯棒性.
根據(jù)視差公式推算相機(jī)距離被觀測(cè)點(diǎn)目標(biāo)的距離:Z=Bf/d,其中兩相機(jī)間距B和焦距f根據(jù)具體相機(jī)試驗(yàn)數(shù)據(jù)計(jì)算.d為兩幅圖像中匹配點(diǎn)所在像素的坐標(biāo)對(duì)應(yīng)的歐氏距離.
其中xL和yL為圖(3a)圖像匹配點(diǎn)的坐標(biāo),xR和yR為圖(3b)圖像匹配點(diǎn)的坐標(biāo).
圖3 增強(qiáng)的左圖像與沒有增強(qiáng)的右圖像的匹配結(jié)果
假設(shè)本文實(shí)驗(yàn)中導(dǎo)航相機(jī)間距B為200mm,焦距f為14mm,相機(jī)靶面尺寸為12mm×12mm,對(duì)應(yīng)每個(gè)象素為0.001 2mm;將兩圖像的像素間距離數(shù)據(jù)帶入視差公式Z=Bf/d,可以獲圖中的匹配點(diǎn)到相機(jī)的距離距離Z如表1所示.
表1 相機(jī)到對(duì)應(yīng)的匹配點(diǎn)距離
根據(jù)表1所示,第3點(diǎn),15點(diǎn),22點(diǎn)都是對(duì)應(yīng)圖3中距離相機(jī)較遠(yuǎn)的點(diǎn),求得的距離值都比較大.而17,20,21,23等幾個(gè)點(diǎn),在最前面距離相機(jī)最近的位置,這些點(diǎn)的距離符合實(shí)際的遠(yuǎn)近位置關(guān)系,因此,這個(gè)試驗(yàn)的結(jié)果有較高的準(zhǔn)確性.同時(shí)這個(gè)實(shí)驗(yàn)的對(duì)比結(jié)果顯示,在明暗明顯不同的兩幅圖像中,仍然有較高的匹配精度,顯示了對(duì)不同光照環(huán)境較好的魯棒性,這個(gè)特性對(duì)以后的月面真實(shí)環(huán)境的匹配工作有重要的意義.
雖然SIFT特征匹配的魯棒性很強(qiáng),可解決很多實(shí)際環(huán)境中可能出現(xiàn)的問題.但是其主要問題就是匹配準(zhǔn)確的點(diǎn)數(shù)目不足以完全恢復(fù)出三維地形,為此可以采用其它手段完成避障任務(wù).
(1)今后改進(jìn)SIFT特征匹配算法工作的設(shè)想
SIFT特征匹配算法在對(duì)于月面模擬環(huán)境的視覺處理中雖然有很多獨(dú)特的優(yōu)點(diǎn),但是比較致命的缺點(diǎn)就是精確匹配的數(shù)量不夠多,運(yùn)算速度比較慢.
為此一方面可以通過圖像分割方法,減少匹配的范圍,將工作量縮小.另一方面在關(guān)鍵點(diǎn)特征向量生成上,可以在保留信息量的基礎(chǔ)上,縮小窗口范圍,進(jìn)一步減少特征向量的維數(shù).
(2)用有限匹配點(diǎn)解決避障問題
首先,圖像中的每一個(gè)像素對(duì)應(yīng)地面的近似梯形小塊,假設(shè)地面為平滑無障礙物的,那么每個(gè)像素對(duì)應(yīng)的地面梯形塊到相機(jī)的距離應(yīng)該是一個(gè)有規(guī)律的函數(shù),對(duì)應(yīng)每一點(diǎn)都應(yīng)該有一個(gè)固定的理想的值.
而通過SIFT方法計(jì)算出的結(jié)果,將與這個(gè)相機(jī)距離地面理論值有一個(gè)偏差,這個(gè)偏差的大小就決定這個(gè)位置的高低起伏.當(dāng)這個(gè)偏差值超過某個(gè)閾值時(shí)候,就可以推斷這個(gè)位置是安全區(qū)域還是危險(xiǎn)區(qū)域.
(3)在視覺里程的應(yīng)用
視覺里程計(jì),是可以克服由于土壤松軟,陡坡等引起的漫游車滑移帶來的擾動(dòng).其原理是假定漫游車不動(dòng),特征點(diǎn)移動(dòng),求出特征點(diǎn)移動(dòng)的距離和方向,然后推算出車輛本身的行走距離和位置,其具體工作方式包括:
1)在采集的圖像中選定一些感興趣的特征點(diǎn);
2)在探測(cè)器移動(dòng)的時(shí)候跟蹤這些特征點(diǎn);
3)計(jì)算出不同時(shí)刻這些點(diǎn)的相對(duì)位置.
視覺里程對(duì)匹配點(diǎn)的精度要求比較高,今后可以使用SIFT方法進(jìn)行這方面的嘗試工作.
本文在基于SIFT特征提取的方法上進(jìn)行了深入研究,并且將其用于月面圖像的雙目立體視覺匹配中.由于月面模擬圖像的光照環(huán)境變化較大,采集圖像的兩相機(jī)之間容易存在其他硬件原因?qū)е碌牟杉瘓D像的差異等,本文使用基于尺度不變的特征提取和匹配方法,可以有效避免這些問題.另一方面由于匹配的特征點(diǎn)提取達(dá)到亞像素精度,因此可以明顯提高目標(biāo)定位的精度,在仿真實(shí)驗(yàn)中取得較好的實(shí)驗(yàn)結(jié)果.今后可以進(jìn)一步優(yōu)化這一算法,針對(duì)實(shí)時(shí)性進(jìn)行提高,同時(shí)可以利用圖像分割的方法,在預(yù)處理階段使用圖像分割來有效判別可能的危險(xiǎn)區(qū)域,減少后面的匹配工作量.
[1] Steven B,Goldberg M W,Maimone L M.Stereo vision and rover navigation software for p lanetary exp loration[C].IEEE Aerospace Conference,Big Sky,Montana,USA,March 2002
[2] Cheng Y,Goguen J,Johnson A,et al.Themars exploration rovers descent image motion estimation system[J].IEEE Intelligent Systems,2004,3(3)13-21
[3] Harris C,Stephens M J.A combined corner and edge detector[C].The 4thAlvey Vision Conference,Manchester,UK,April 1988
[4] Lowe D G.Distinctive image feature from scale-invariant keypoints[J]International Journal of Computer Vision,2004,60(2):91-110
[5] Lindeberg.Scale space for discrete signals[J].IEEE Trans.PAM l,1990,20(3):234-254
[6] Lowe D G.Object recognition from local scale-invariant features[C].International Conference on Computer Vision,Corfu Greece,1999
Extraction and Matching of SIFT Feature for Simulated Lunar Environment
LIU Jialu1,2
(1.Beijing Institute of Control Engineering,Beijing 100190,China;2.National Laboratory of Space Intelligent Control,Beijing 100190,China)
A new feature point extraction algorithm based on prior know ledge of navigation systems for lunar rover is presented in this paper.The key-points was extracted by SIFT from image as feature points at first.Then use these feature points for binocular matching thus getting distance information of the scene by the calculation of differences between match points in two images.This algorithm could improve the robust to lightness change for images of lunar region and accuracy in the later matching phase.This algorithm makegood results in simulative environment experiments.
lunar rover;SIFT feature;vision navigation;feature extraction;feature matching
TP391
A
1674-1579(2009)05-0048-04
2009-01-09
劉佳璐(1972—),男,遼寧人,博士后,研究方向?yàn)橛?jì)算機(jī)視覺(e-mail:tnliu@sohu.com).