摘要:針對實時匹配的要求,提出一種基于DOG特征點的快速圖像匹配算法,用以匹配只存在平移和較小旋轉(zhuǎn)的序列圖像。該算法通過求高斯差分算子在尺度空間上的局部極大值和極小值提取特征點,然后根據(jù)圓旋轉(zhuǎn)不變特性生成20維的旋轉(zhuǎn)不變特征描述子,并充分利用特征點的區(qū)域特征和灰度特征進行匹配,最后根據(jù)序列圖像對應(yīng)特征點之間的距離基本保持不變的特性剔除錯誤的匹配點。實驗結(jié)果表明該算法快速有效。而且對噪聲影響不敏感,具有很強的實用性。
關(guān)鍵詞:圖像匹配;特征描述子;尺度空間;高斯差分算子
中圖分類號:TP391
文獻標(biāo)識碼:B
文章編號:1004—373X(2008)02—128—03
1 引 言
圖像匹配就是將從同一目標(biāo)錄取的各幅圖像在空間上對準(zhǔn)。目前,該技術(shù)已廣泛應(yīng)用于機器人視覺、圖像鑲嵌、目標(biāo)識別、虛擬現(xiàn)實等眾多領(lǐng)域當(dāng)中。已有的圖像匹配算法大致可以分為2類:基于象素灰度值的匹配和基于幾何特征的匹配。前者直接利用圖像象素值進行匹配,匹配精度較高,但計算量很大;后者計算量較小,易于實現(xiàn)實時匹配,且對噪聲不太敏感。本文主要研究利用特征點及其特征描述子進行匹配的算法。
基于特征點的匹配算法通常先從待匹配的圖像中提取特征點,然后利用特征點的特征描述子將待匹配圖像中的特征點對應(yīng)起來,進而實現(xiàn)圖像的匹配,因此提取特征點和依據(jù)特征描述子建立特征點的對應(yīng)關(guān)系是這類算法的主要步驟。MOPs(Muti-scale Oriented Patches)算法將Harris角點作為特征點,用64維的旋轉(zhuǎn)不變特征描述子進行匹配,對圖像旋轉(zhuǎn)有一定的適應(yīng)性,但特征點提取及描述子生成均須大量計算;改進的MOPs算法克服MOPs算法在處理旋轉(zhuǎn)圖像方面的不足,提出一種97維的特征描述子,而且描述子生成過程較為簡單,但由于用Harris算法提取特征點,整個匹配過程的運算量依然較大;SIFT(Scale Invariant Feature Transform)算法通過求高斯差分算子在尺度空間上的局部極大值和極小值提取特征點,用128維的SIFT特征描述子進行圖像匹配,對圖像旋轉(zhuǎn)、縮放、視角變化均有很好的匹配效果,而且對噪聲不敏感,但SIFT描述子生成過程十分復(fù)雜,速度較慢。而上述幾種算法的共同問題是特征描述子維數(shù)過高,不利于硬件實現(xiàn)。
因此,本文提出了一種低維且易生成的特征描述子進行匹配的算法,該算法充分利用序列圖像的特點,可以快速有效地實現(xiàn)序列圖像的匹配。
2 DOG特征點算法描述
本文算法首先快速提取DOG特征點,然后根據(jù)圓的旋轉(zhuǎn)不變性生成20維的特征描述子,結(jié)合序列圖像的特點快速確定特征點的對應(yīng)關(guān)系,進而實現(xiàn)圖像的匹配。
2.1 DOG特征點提取
經(jīng)過詳細的實驗,Mikolajczy發(fā)現(xiàn)尺度歸一化LOG(Laplaeian Of Gaussian)算子的極值點是十分穩(wěn)定的特征點,而DOG算子與尺度歸一化的LOG算子很接近,且計算簡單有效,所以可以用DOG算子代替尺度歸一化的LOG算子提取特征點。此外,DOG特征點檢測算法還具有檢測范圍廣,抗噪聲能力強,檢測方式靈活的特點。因此本文采用DOG算子提取特征點。
由于受拍攝角度、自然環(huán)境變化、攝像機自身缺陷等諸多因素的影響,拍攝的圖像存在灰度畸變,因此首先要對待匹配的圖像進行高斯濾波預(yù)處理。然后用4個高斯卷積核分別與二維圖像I(x,y)卷積,得到4幅具有不同尺度的圖像L(x,y,σk),即:
由于高斯差分算子對邊緣響應(yīng)很敏感,少量的噪聲即可產(chǎn)生不穩(wěn)定的特征點,因此為了提取較穩(wěn)定的特征點,必須去除邊緣響應(yīng)。定義不好的高斯差分算子的極值點在沿邊緣方向有較大的主曲率,在垂直邊緣方向有較小的主曲率,而該點的主曲率與其Hessian矩陣的特征值成正比,因此只需去除Hessian矩陣的特征值之比大于閾值T2的點,即可提取出較為穩(wěn)定的特征點。
2.2特征描述子生成
提取出特征點之后,需要找出一種能夠很好刻畫特征點的特征描述子,進而依據(jù)相似性度量實現(xiàn)點對點的匹配。圖2表示DOG特征點及其周圍的一個圓形鄰域,其中圓心為DOG特征點。當(dāng)圖像發(fā)生旋轉(zhuǎn)后,以特征點為圓心的每個圓環(huán)內(nèi)的象素值基本保持不變,只是位置發(fā)生了改變,因此將每個圓環(huán)內(nèi)的象素值排序,這個序列值在圖像旋轉(zhuǎn)后基本上不會發(fā)生改變,本文正是依據(jù)這一性質(zhì)在圖像L(x,y,σ2)上提取特征描述子。
首先生成1×97的特征向量,特征點的象素值為特征向量的第一個元素,將第一個圓環(huán)內(nèi)8個采樣點的象素值排序后作為特征向量的第2至第9個元素,余下的以此類推,直至將第5個圓環(huán)內(nèi)28個采樣點的象素值排序后作為特征向量的第70至97個元素。在圖像發(fā)生旋轉(zhuǎn)的情況下,這個97維的向量基本上保持不變,相應(yīng)的從該向量中按序取出一部分元素組成新的向量,則新的向量也基本上不會隨旋轉(zhuǎn)發(fā)生變化。因此為了降低特征描述子的維數(shù),從第1個元素起,每隔5個元素提取1個元素組成一個新的向量,該向量共有20維,且具有旋轉(zhuǎn)不變性。為了減小光照的影響,還需對20維的特征向量做歸一化處理,從而生成最終的旋轉(zhuǎn)不變特征描述子。
2.3 匹配并剔除錯誤配點
連續(xù)的圖像序列大小一樣,一般不存在比例變化,只存在平移和旋轉(zhuǎn),且旋轉(zhuǎn)角度不會太大,所以如果第1幅圖像中的特征點在第2幅圖像中存在對應(yīng)點,那么對應(yīng)點只可能在特征點的鄰域內(nèi)。本文算法正是充分利用這一特點確定2幅序列圖像中特征點的對應(yīng)關(guān)系。設(shè)從第1幅圖像共提取m個特征點,具體匹配過程是:依次取第1幅圖像中的第i(i=1,2,…,m)個特征點p1,假設(shè)其空間坐標(biāo)為(xi,yi),然后在第2幅圖像中以(xi,yi)為中心的窗(窗的大小可根據(jù)情況設(shè)定)內(nèi)搜索所有特征點,并計算pi。與這些特征點的互相關(guān),取其最大值covl;和次最大值coy2i,若covli大于指定的閾值T3且cov2i/covli小于閾值T4,則初步認定Pi與對應(yīng)最大互相關(guān)的點匹配,否則認為在第2幅圖像中不存在與Pi匹配的點,并舍棄Pi點。與依次求第1幅圖像的特征點跟第2幅圖像中的所有特征點相關(guān)性相比,這種只在鄰域內(nèi)搜索對應(yīng)點的匹配策略不僅減小了計算量,而且充分利用了特征點的區(qū)域特征和灰度特征,同時由于排除了鄰域以外特征點的干擾,從而減小了降維對特征描述子獨特性的影響。
初始匹配點集中存在一些錯誤的匹配點,因此還需要剔除這些錯誤匹配點。由序列圖像的特點可知,圖像中對應(yīng)點之間的距離在前后2幀圖像中基本保持不變,而且由于自相似的特征點在圖像中數(shù)量較少,所以可以假設(shè)誤匹配點的數(shù)量遠小于正確匹配點的數(shù)量。本文依據(jù)這一特點剔除錯誤配點,具體步驟如下:
3 仿真實驗結(jié)果
使用Matlab編程,計算機配置是Celeron(R)CPU2.0 GHz,256 M內(nèi)存,運用本算法對序列圖像進行匹配,均取得很好的匹配效果。對大小為320×240的序列圖像a和b進行匹配,其匹配結(jié)果如圖3所示。
在圖3中有正確匹配點51個,處理時間僅為1.687 s。將圖像b逆時針旋轉(zhuǎn)10°,并添加方差為0.01的高斯噪聲(先將圖像象素值轉(zhuǎn)換為取值范圍在[0,1]之間的雙精度類型數(shù)據(jù)),其匹配結(jié)果如圖4所示。
圖4中共有正確匹配點12個,處理時間為1.969 s。圖5是圖像c和圖像d的匹配結(jié)果,其中圖像c和圖像d的大小為450×300,圖像d逆時針旋轉(zhuǎn)13°,共有正確匹配點54個,處理時間為3.406 s。
文獻提出的改進MOPs算法主要有以下幾個步驟:
(1)建立高斯金字塔模型;
(2)用Harris算法提取特征點;
(3)生成97維旋轉(zhuǎn)不變特征描述子;
(4)用最近鄰法匹配并用RANSC剔除錯誤配點。
而SIFT算法主要有以下4個步驟:
(1)建立尺度空間,檢測并精確定位特征點;
(2)為每個特征點指定方向參數(shù);
(3)生成128維的SIFT特征描述子;
(4)利用SIFT特征描述子進行匹配。由于不考慮尺度縮放,可以省去改進MOPs算法中的步驟(1),直接在原圖像上提取特征點,在其他條件相同的情況下,改進的MOPs算法、SIFT算法與本文算法比較,其中采用的圖像均為圖像a和圖像b。比較結(jié)果如表1所示,從中可以看出,本算法由于充分考慮了特征點的區(qū)域特征和灰度特征,在對特征描述子進行大幅度降維的情況下,其匹配效果整體上略有提高,而處理時間卻大大減少。
4 結(jié) 語
本文提出一種序列圖像的匹配算法,在提取DOG特征點的基礎(chǔ)上,用20維的特征描述子進行匹配,最后依據(jù)序列圖像中對應(yīng)點之間的距離保持不變的特性剔除錯誤匹配點。該算法充分利用了特征點的區(qū)域特征和灰度特征,結(jié)合序列圖像的特點選擇搜索對應(yīng)點的策略,較好地實現(xiàn)了序列圖像的匹配,而且對噪聲影響、亮度變化均不太敏感,尤其突出的特點特征描述子維數(shù)低,匹配速度很快,便于硬件實時實現(xiàn)。