一種基于特征點(diǎn)進(jìn)行圖像匹配的加速方法
【專利摘要】本發(fā)明公開了一種基于特征點(diǎn)進(jìn)行圖像匹配的加速方法,屬于計算機(jī)視覺領(lǐng)域。其特征在于,在目標(biāo)圖像和參考圖像特征點(diǎn)提取和特征描述子構(gòu)建之間加入fishing策略,將目標(biāo)圖像的所有特征點(diǎn)按照位置均勻劃分為N×N個子區(qū)域,從各子區(qū)域里隨機(jī)選取一定比例的特征點(diǎn),并僅為這些特征點(diǎn)構(gòu)建特征描述子并匹配。如果從某子區(qū)域中取出的特征點(diǎn)在參考圖像中有較多匹配點(diǎn),那么就增加下一次從該區(qū)域中選取特征點(diǎn)的數(shù)量,反之減少,直到匹配點(diǎn)總數(shù)達(dá)到閾值要求,或參與匹配的特征點(diǎn)達(dá)到一定比例。當(dāng)參考圖像已知時,與原有基于特征點(diǎn)進(jìn)行圖像匹配的方法相比,本發(fā)明可將圖像匹配速度提高5倍左右,且不降低匹配精度、節(jié)省內(nèi)存,并在一定程度上解決了匹配點(diǎn)的聚集問題。
【專利說明】一種基于特征點(diǎn)進(jìn)行圖像匹配的加速方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機(jī)視覺領(lǐng)域,特別是涉及一種圖像匹配的加速方法。
【背景技術(shù)】
[0002]圖像匹配一直是計算機(jī)視覺領(lǐng)域的研究熱點(diǎn),并已在視覺導(dǎo)航、目標(biāo)定位、目標(biāo)識另Ij與跟蹤、遙感圖像處理、圖像檢索、立體視覺測距和三維重建等方面得到了廣泛應(yīng)用。
[0003]基于特征點(diǎn)進(jìn)行圖像匹配是一類常用的圖像匹配方法。其過程主要有三,首先,分別提取目標(biāo)圖像和參考圖像的特征點(diǎn),如斑點(diǎn)或角點(diǎn);然后,為各特征點(diǎn)構(gòu)建特征描述子;最后,測定目標(biāo)圖像和參考圖像各個特征描述子之間的距離,當(dāng)兩個特征點(diǎn)的距離小于一定閾值時,判定兩個特征點(diǎn)能夠匹配,當(dāng)匹配點(diǎn)數(shù)量大于一定閾值時,認(rèn)定兩幅圖像之間存在匹配關(guān)系。以目標(biāo)識別任務(wù)為例,匹配的結(jié)果可表明,從參考圖像中識別出目標(biāo)圖像。
[0004]下面以著名的SIFT (scale invariant feature transform)算法為例,簡要說明圖像匹配的三個主要環(huán)節(jié)。(I)目標(biāo)圖像與參考圖像特征點(diǎn)提取。在該環(huán)節(jié),SIFT算法首先構(gòu)建高斯金字塔,然后根據(jù)高斯金字塔構(gòu)建高斯差分金字塔,最后將此尺度空間的極值點(diǎn)位置確定為特征點(diǎn)位置。(2)特征描述子構(gòu)建。為使特征描述子具有旋轉(zhuǎn)、仿射、光照等不變性,SIFT采用如下方法構(gòu)建特征描述子:首先,通過特征點(diǎn)的鄰域梯度方向直方圖選擇出各特征點(diǎn)的主方向a。其次,以主方向α作為參考坐標(biāo)軸方向,把對應(yīng)特征點(diǎn)的鄰域化分為16個子區(qū)域,并在每個子區(qū)域內(nèi)構(gòu)建8個方向的梯度直方圖。最后,按一定順序連接16個子區(qū)域內(nèi)8個方向的梯度直方圖,生成長度為128維的特征描述子向量,并為參考圖像構(gòu)建k維搜索樹。需要說明的是,在目標(biāo)識別等應(yīng)用中,參考圖像是已知的。這時,為了節(jié)省匹配時間,可提前進(jìn)行參考圖像特征點(diǎn)提取、特征描述子構(gòu)建,以及k維搜索樹構(gòu)建與保存等工作,在接下來的特征匹配環(huán)節(jié),直接調(diào)用該k維搜索樹即可。(3)特征匹配?;趨⒖紙D像的k維搜索樹,計算目標(biāo)圖像和參考圖像特征描述子向量間的歐氏距離,當(dāng)最近鄰歐氏距離與次近鄰歐氏距離的比值小于設(shè)定閾值時,則認(rèn)為是一個匹配點(diǎn)對。
[0005]SIFT具有公認(rèn)的良好性能,但也存在以下三方面問題。一是運(yùn)行速度慢、實時性差。雖然許多學(xué)者給出了多種改進(jìn)方案,但大多以犧牲SIFT的匹配精度為代價。例如,為人熟知的SURF (speeded up robust features)算法,其速度是SIFT的3倍,但實際匹配性能較之SIFT有所下降。實際上,在SIFT圖像匹配的三個環(huán)節(jié)中,第二環(huán)節(jié)的特征描述子構(gòu)建需要的計算量最大。經(jīng)實驗測試,第一環(huán)節(jié)特征點(diǎn)提取花費(fèi)約10%?20%左右的時間,第三環(huán)節(jié)特征匹配花費(fèi)約20%?30%的時間,而第二環(huán)節(jié)特征描述子構(gòu)建則消耗約50%?70%左右的時間。因此,若能減少第二環(huán)節(jié)中特征描述子的構(gòu)建時間,則能顯著提升SIFT算法的匹配速度。
[0006]第二方面的問題是,當(dāng)SIFT算法提取的特征點(diǎn)很多時,構(gòu)建128維的特征描述子向量需要占用較大的內(nèi)存,這對嵌入式應(yīng)用如智能手機(jī)極為不利。如果每次只選取一小部分特征點(diǎn)進(jìn)行特征描述子構(gòu)建,則能顯著降低對內(nèi)存的要求。
[0007]第三方面的問題是,SIFT提取的特征點(diǎn)常常存在聚集(僅相差幾個像素)現(xiàn)象,進(jìn)而導(dǎo)致匹配點(diǎn)的聚集。原因之一在于,為了保證尺度不變性,SIFT算法構(gòu)建了高斯金字塔。在高斯金字塔的不同組中,同一特征點(diǎn)可能會重復(fù)出現(xiàn)。由于處理誤差的存在,對應(yīng)到原圖像中時,重復(fù)出現(xiàn)的特征點(diǎn)位置不完全重合,但位置極近。然而,在圖像矯正等應(yīng)用中,人們更為關(guān)注的是匹配點(diǎn)的分散程度,及其對后續(xù)處理所提供信息的有效性。舉一個例子,如果有10個匹配點(diǎn),其中5個匹配點(diǎn)出現(xiàn)了聚集現(xiàn)象(即5個匹配點(diǎn)相互之間僅相差幾個像素),那么在圖像矯正應(yīng)用中,這5個匹配點(diǎn)提供的信息相當(dāng)于一個匹配點(diǎn)提供的信息。換句話說,在這10個匹配點(diǎn)中,實際有效的匹配點(diǎn)只有6個,另外的4個特征點(diǎn)對圖像矯正幾乎沒有貢獻(xiàn),卻增加了匹配的計算量和對內(nèi)存的要求。若將特征點(diǎn)分成多個空間分散的子區(qū)域,并從每個子區(qū)域隨機(jī)選取部分特征點(diǎn)進(jìn)行匹配,則能提高特征點(diǎn)的分散度,從而在一定程度上解決匹配點(diǎn)的聚集問題。
【發(fā)明內(nèi)容】
[0008]本發(fā)明針對基于特征點(diǎn)進(jìn)行圖像匹配的一類方法,如SIFT、SURF等斑點(diǎn)算法,或Harris和FAST等角點(diǎn)算法,提供一種加速方案,在不降低圖像匹配精度的情況下,顯著提高圖像匹配的速度。同時,降低對內(nèi)存的要求,并在一定程度上解決匹配點(diǎn)的聚集問題。
[0009]本發(fā)明在第一環(huán)節(jié)的目標(biāo)圖像與參考圖像特征點(diǎn)提取和第二環(huán)節(jié)的特征描述子構(gòu)建之間加入fishing策略,通過將目標(biāo)圖像的特征點(diǎn)分區(qū)、循環(huán)隨機(jī)選取各子區(qū)域一小部分特征點(diǎn),并僅將這小部分特征點(diǎn)送入特征描述子構(gòu)建環(huán)節(jié),實現(xiàn)節(jié)約時間、節(jié)省內(nèi)存、優(yōu)先匹配具有較好分散度的特征點(diǎn)的效果。取名fishing的原因在于,若將目標(biāo)圖像中的特征點(diǎn)比作魚餌,將參考圖像中的特征點(diǎn)比作魚,則目標(biāo)圖像與參考圖像之間的特征點(diǎn)匹配過程與捕魚過程非常相似。具體的技術(shù)方案如下:
[0010]第一步,應(yīng)用斑點(diǎn)或角點(diǎn)提取算法從目標(biāo)圖像和參考圖像中提取特征點(diǎn),建立參考圖像的k維搜索樹。如果參考圖像已知,提前進(jìn)行參考圖像的特征點(diǎn)提取、特征描述子構(gòu)建、k維搜索樹構(gòu)建與保存工作;此步驟只需調(diào)用參考圖像的k維搜索樹,而無須進(jìn)行參考圖像特征點(diǎn)提取及k維搜索樹建立。
[0011]第二步,將目標(biāo)圖像的所有特征點(diǎn)按照位置均勻劃分為NXN個子區(qū)域,為各子區(qū)域設(shè)置特征點(diǎn)選取比例ai = aO, i = I,…,N2, aO為初始選取比例。
[0012]第三步,在有剩余特征點(diǎn)的子區(qū)域i中隨機(jī)選取比例為ai的特征點(diǎn),i = 1,…,N2。
[0013]第四步,為已選特征點(diǎn)構(gòu)建特征描述子。
[0014]第五步,基于參考圖像的k維搜索樹,對上述構(gòu)建的目標(biāo)圖像特征描述子與參考圖像特征描述子進(jìn)行特征匹配。
[0015]第六步,應(yīng)用RANSAC (random sample consensus)剔除誤匹配點(diǎn)。
[0016]第七步,計算總匹配點(diǎn)數(shù)。若總匹配點(diǎn)數(shù)彡閾值TH,結(jié)束匹配過程;否則執(zhí)行第八止/J/ O
[0017]第八步,若目標(biāo)圖像中參與匹配的特征點(diǎn)比例大于設(shè)定值P,結(jié)束匹配過程;否貝U,根據(jù)各子區(qū)域的匹配情況動態(tài)調(diào)整其特征點(diǎn)選取比例ai,i = I,…,N2:如果從區(qū)域i中取出的特征點(diǎn)在參考圖像中有較多的匹配點(diǎn),就增大ai,即增加下一次從該區(qū)域中選取特征點(diǎn)的數(shù)量;反之,如果在參考圖像中只有較少的匹配點(diǎn)或沒有匹配點(diǎn),就減小ai,即減少下一次從該區(qū)域中選取特征點(diǎn)的數(shù)量。從各子區(qū)域的特征點(diǎn)子集中剔除已經(jīng)參與匹配的特征點(diǎn),轉(zhuǎn)到第三步。
[0018]在fishing策略中,對目標(biāo)圖像的所有特征點(diǎn)按照位置進(jìn)行NXN均勻分區(qū)時,N可取3、4,或5。結(jié)束匹配過程所需的總匹配點(diǎn)數(shù)閾值TH可設(shè)置為10,結(jié)束匹配過程所需的目標(biāo)圖像中參與匹配的特征點(diǎn)比例P可設(shè)置為50 %,或根據(jù)實際需要對TH和P進(jìn)行調(diào)整。各子區(qū)域的特征點(diǎn)選取比例ai(i = I,..., N2)設(shè)置如下:初始選取比例a0 = 10%,或當(dāng)內(nèi)存有限制時,根據(jù)每次匹配所能處理的特征點(diǎn)數(shù)目對aO進(jìn)行設(shè)定;采用上一次的匹配率mi/ni衡量各子區(qū)域的匹配情況,其中ni是子區(qū)域i中參與上一次匹配的總特征點(diǎn)數(shù),mi是其中的匹配點(diǎn)數(shù),根據(jù)各子區(qū)域的匹配率mi/ni動態(tài)調(diào)整ai的方法如下:若(mi/ni)〈10%,則減小選取比例,令ai = 0.5a0 ;若(mi/ni) ^ 10%,則增大選取比例,令ai = 2a0。
[0019]本發(fā)明所達(dá)到的效果和益處是,首先,在預(yù)存參考圖像k維搜索樹的情況下,與原有基于特征點(diǎn)進(jìn)行圖像匹配的方法(同樣預(yù)存參考圖像的k維搜索樹,只是未使用fishing策略)相比,本發(fā)明可將圖像匹配速度提高5倍左右。在目標(biāo)圖像特征點(diǎn)較多的情況下,圖像匹配速度可提高5倍以上。即使未預(yù)存參考圖像的k維搜索樹,本發(fā)明也有2倍左右的速度提升。其次,由于采用了分批循環(huán)的方式構(gòu)建特征描述子,且每次只為目標(biāo)圖像的一小部分特征點(diǎn)構(gòu)建特征描述子,本發(fā)明可節(jié)省大量內(nèi)存。再次,受益于特征點(diǎn)分區(qū)和隨機(jī)選取特征點(diǎn)的策略,本發(fā)明使優(yōu)先參與匹配的特征點(diǎn)具有很好的分散度,在一定程度上解決了匹配點(diǎn)的聚集問題。最后,由于本發(fā)明沒有對SIFT算法進(jìn)行任何的近似,而只是挑選了小部分匹配潛力大、分散度好的特征點(diǎn)進(jìn)行特征描述子構(gòu)建和匹配,所以圖像匹配精度并未降低。
【專利附圖】
【附圖說明】
[0020]附圖是本發(fā)明基于SIFT算法進(jìn)行圖像匹配的流程圖。
【具體實施方式】
[0021]現(xiàn)有一幅目標(biāo)圖像,以及一幅已知的參考圖像。目標(biāo)圖像與參考圖像的景像有共同部分,但二者的來源、大小、光照、景像覆蓋范圍等方面均有所不同。因參考圖像已知,提前進(jìn)行了參考圖像的特征點(diǎn)提取、特征描述子構(gòu)建,以及k維搜索樹的構(gòu)建與保存工作。在進(jìn)行目標(biāo)圖像的特征點(diǎn)分區(qū)時,令N = 4,即將所有特征點(diǎn)按照位置均勻劃分為4X4個子區(qū)域。此外,設(shè)置特征點(diǎn)的初始選取比例aO = 10%,結(jié)束匹配所需的總匹配點(diǎn)數(shù)閾值TH =10,結(jié)束匹配所需的目標(biāo)圖像特征點(diǎn)參與比例P = 50%。基于SIFT算法實現(xiàn)上述目標(biāo)圖像與參考圖像匹配的流程圖如附圖所示。
[0022]第一步,應(yīng)用SIFT算法提取目標(biāo)圖像的特征點(diǎn)(斑點(diǎn)),調(diào)用參考圖像的k維搜索樹。
[0023]第二步,將目標(biāo)圖像的所有特征點(diǎn)按照位置均勻劃分為4X4個子區(qū)域。令各子區(qū)域的特征點(diǎn)選取比例ai = 10%, i = 1,…,16。
[0024]第三步,在有剩余特征點(diǎn)的子區(qū)域i中隨機(jī)選取比例為ai的特征點(diǎn),記錄選取的特征點(diǎn)總數(shù)為ni, i = l,…,16。
[0025]第四步,為已選特征點(diǎn)構(gòu)建特征描述子。
[0026]第五步,基于參考圖像的k維搜索樹,對上述構(gòu)建的目標(biāo)圖像特征描述子與參考圖像特征描述子進(jìn)行特征匹配。
[0027]第六步,應(yīng)用RANSAC剔除誤匹配點(diǎn),記錄子區(qū)域i的匹配點(diǎn)數(shù)為mi。
[0028]第七步,計算總匹配點(diǎn)數(shù)。若總匹配點(diǎn)數(shù)彡10,結(jié)束匹配過程;否則執(zhí)行第八步。
[0029]第八步,若目標(biāo)圖像中參與匹配的特征點(diǎn)比例大于50%,結(jié)束匹配過程;否則,根據(jù)各子區(qū)域的匹配率動態(tài)調(diào)整ai, i = l,…,16:若(mi/ni)〈10%,令ai = 5% ;若(mi/ni)彡10%,令ai = 20%。從各子區(qū)域的特征點(diǎn)子集中剔除已經(jīng)參與匹配的特征點(diǎn),轉(zhuǎn)到第二步。
【權(quán)利要求】
1.一種基于特征點(diǎn)進(jìn)行圖像匹配的加速方法,其特征在于如下步驟: 第一步,應(yīng)用斑點(diǎn)或角點(diǎn)提取算法從目標(biāo)圖像和參考圖像中提取特征點(diǎn),建立參考圖像的k維搜索樹;如果參考圖像已知,提前進(jìn)行參考圖像的特征點(diǎn)提取、特征描述子構(gòu)建、k維搜索樹構(gòu)建與保存工作; 第二步,將目標(biāo)圖像的所有特征點(diǎn)按照位置均勻劃分為NXN個子區(qū)域,為各子區(qū)域設(shè)置特征點(diǎn)選取比例ai = aO, i = I,…,N2, aO為初始選取比例; 第三步,在有剩余特征點(diǎn)的子區(qū)域i中隨機(jī)選取比例為ai的特征點(diǎn),i = I,…,N2 ; 第四步,為已選特征點(diǎn)構(gòu)建特征描述子; 第五步,基于參考圖像的k維搜索樹,對上述構(gòu)建的目標(biāo)圖像特征描述子與參考圖像特征描述子進(jìn)行特征匹配; 第六步,應(yīng)用RANSAC剔除誤匹配點(diǎn); 第七步,計算總匹配點(diǎn)數(shù);若總匹配點(diǎn)數(shù)彡閾值TH,結(jié)束匹配過程;否則執(zhí)行第八步; 第八步,若目標(biāo)圖像中參與匹配的特征點(diǎn)比例大于設(shè)定值P,結(jié)束匹配過程;否則,根據(jù)各子區(qū)域的匹配情況動態(tài)調(diào)整其特征點(diǎn)選取比例ai,i = I,…,N2:如果從區(qū)域i中取出的特征點(diǎn)在參考圖像中有較多的匹配點(diǎn),就增大ai,增加下一次從該區(qū)域中選取特征點(diǎn)的數(shù)量;反之,如果在參考圖像中只有較少的匹配點(diǎn)或沒有匹配點(diǎn),就減小ai,減少下一次從該區(qū)域中選取特征點(diǎn)的數(shù)量;從各子區(qū)域的特征點(diǎn)子集中剔除已經(jīng)參與匹配的特征點(diǎn),轉(zhuǎn)到第三步。
2.根據(jù)權(quán)利要求1所述的一種基于特征點(diǎn)進(jìn)行圖像匹配的加速方法,其特征是,對目標(biāo)圖像的所有特征點(diǎn)按照位置進(jìn)行NXN均勻分區(qū)時,N取3、4或5。
3.根據(jù)權(quán)利要求2所述的一種基于特征點(diǎn)進(jìn)行圖像匹配的加速方法,其特征是,結(jié)束匹配過程所需的總匹配點(diǎn)數(shù)閾值TH設(shè)置為10。
4.根據(jù)權(quán)利要求1、2或3所述的一種基于特征點(diǎn)進(jìn)行圖像匹配的加速方法,其特征是,結(jié)束匹配過程所需的目標(biāo)圖像中參與匹配的特征點(diǎn)比例P設(shè)置為50%。
5.根據(jù)權(quán)利要求1、2或3所述的一種基于特征點(diǎn)進(jìn)行圖像匹配的加速方法,其特征是,各子區(qū)域的特征點(diǎn)初始選取比例aO = 10%,或當(dāng)內(nèi)存有限制時,根據(jù)每次匹配所能處理的特征點(diǎn)數(shù)目對aO進(jìn)行設(shè)定。
6.根據(jù)權(quán)利要求1、2或3所述的一種基于特征點(diǎn)進(jìn)行圖像匹配的加速方法,其特征是,采用上一次的匹配率mi/ni衡量各子區(qū)域的匹配情況,其中ni是子區(qū)域i中參與上一次匹配的總特征點(diǎn)數(shù),mi是其中的匹配點(diǎn)數(shù)。
7.根據(jù)權(quán)利要求4所述的一種基于特征點(diǎn)進(jìn)行圖像匹配的加速方法,其特征是,各子區(qū)域的特征點(diǎn)初始選取比例aO = 10%,或當(dāng)內(nèi)存有限制時,根據(jù)每次匹配所能處理的特征點(diǎn)數(shù)目對aO進(jìn)行設(shè)定。
8.根據(jù)權(quán)利要求7所述的一種基于特征點(diǎn)進(jìn)行圖像匹配的加速方法,其特征是,采用上一次的匹配率mi/ni衡量各子區(qū)域的匹配情況,其中ni是子區(qū)域i中參與上一次匹配的總特征點(diǎn)數(shù),mi是其中的匹配點(diǎn)數(shù)。
9.根據(jù)權(quán)利要求1、2、3、7或8所述的一種基于特征點(diǎn)進(jìn)行圖像匹配的加速方法,其特征是,根據(jù)各子區(qū)域的匹配率mi/ni動態(tài)調(diào)整ai的方法如下:若(mi/ni)〈10 則減小選取比例,令ai = 0.5a0 ;若(mi/ni)彡10%,則增大選取比例,令ai = 2a0。
10.根據(jù)權(quán)利要求6所述的一種基于特征點(diǎn)進(jìn)行圖像匹配的加速方法,其特征是,根據(jù)各子區(qū)域的匹配率mi/ni動態(tài)調(diào)整ai的方法如下:若(mi/ni)〈10%,則減小選取比例,令ai = 0.5a0 ;若(mi/ni) ^ 10%,則增大選取比例,令 ai = 2a0。
【文檔編號】G06T7/00GK104182974SQ201410392413
【公開日】2014年12月3日 申請日期:2014年8月12日 優(yōu)先權(quán)日:2014年8月12日
【發(fā)明者】林秋華, 曹建超 申請人:大連理工大學(xué)