馬無(wú)錫(浙江工貿(mào)職業(yè)技術(shù)學(xué)院,浙江溫州325003)
閾值自適應(yīng)的SIFT全景圖像拼接算法*
馬無(wú)錫
(浙江工貿(mào)職業(yè)技術(shù)學(xué)院,浙江溫州325003)
針對(duì)SIFT(Scale Invariant Feature Transform)算法中閾值影響著圖像匹配的成功率,提出了一種閾值自適應(yīng)的匹配算法。該方法首先對(duì)SIFT算法中的閾值系統(tǒng)地研究,發(fā)現(xiàn)檢測(cè)局部特征點(diǎn)的閾值α和圖像匹配時(shí)最近距離與次近距離的比值的閾值β對(duì)圖像是否能夠成功匹配起著決定性的作用,然后利用控制α的大小來(lái)檢測(cè)特征點(diǎn),生成特征描述符。再利用廣義緊互對(duì)原型的基礎(chǔ)上,自動(dòng)調(diào)整β的大小來(lái)控制匹配的對(duì)數(shù),最后結(jié)合RANSAC和最小二乘法求出圖像間的映射關(guān)系得到拼接后的圖像。實(shí)驗(yàn)結(jié)果表明,該算法通過(guò)自動(dòng)調(diào)整閾值和利用RANSAC剔除誤匹配點(diǎn),加快了圖像的匹配速率,開(kāi)發(fā)了全景圖像拼接軟件。
閾值自適應(yīng);SIFT;匹配速率;RANSAC;全景圖拼接軟件
目前,國(guó)內(nèi)外很多學(xué)者對(duì)圖像匹配作了大量的研究,主要包括三類(lèi):第一是基于灰度的匹配算法,其中基于面積和模板的算法研究的較多,周天宏[1]等人提出了基于圖像映射法的快速拼接,提高了計(jì)算效率,洪春勇[2]等人引入了信息熵的概念,建立相應(yīng)的塔形結(jié)構(gòu),它們都屬于基于灰度的匹配算法。二是基于變換域的算法,基于變化域的匹配算法主要是基于相位相關(guān)的匹配算法,胡社教[3]等人利用了互功率譜中的相位信息進(jìn)行配準(zhǔn),具有一定的抗干擾能力和匹配精度。第三是基于特征的匹配。Huttenlocher等人和Kwon Oh-Kyu[4]等人提出先提取出圖像的邊緣信息特征,再利用Hausdorff距離匹配圖像,可以匹配出平移、旋轉(zhuǎn)、縮放變化甚至遮擋的物體,但是此方法要求有基準(zhǔn)圖像。Moravec算子[5]、Harris[6]算子及Susan算子也經(jīng)常被用來(lái)檢測(cè)角點(diǎn),利用角點(diǎn)之間的相關(guān)性進(jìn)行圖像匹配,但抗干擾能力較弱。
基于特征的匹配算法當(dāng)中,David Lowe[7-8]提出的SIFT算法的匹配能力是最強(qiáng)的,他在1999年提出的尺度不變特征變換SIFT算法,并且在2004年進(jìn)行了改進(jìn),使其對(duì)尺度、旋轉(zhuǎn)、亮度、仿射、噪音等都具有不變性。由于SIFT算法本身復(fù)雜,Yan-Ke[9]在2004年提出了PCA-SIFT降維的算法,加快了算法計(jì)算時(shí)間,但對(duì)于實(shí)時(shí)情況并不理想。雖然很多學(xué)者在不斷的改進(jìn)此算法,但是并沒(méi)有得到較大的改進(jìn)。Lowe和Brown[10在2006年用SIFT算法進(jìn)行了自動(dòng)全景圖像拼接。
本文針對(duì)SIFT算法中閾值影響著圖像能否快速成功地匹配,提出了一種閾值自適應(yīng)的匹配算法。對(duì)SIFT算法中的閾值系統(tǒng)地研究,發(fā)現(xiàn)檢測(cè)局部特征點(diǎn)的閾值α和圖像匹配時(shí)最近距離與次近距離的比值的閾值β對(duì)圖像是否能夠成功匹配起著決定性的作用,然后利用控制α的大小來(lái)檢測(cè)特征點(diǎn),生成特征描述符,再利用廣義緊互對(duì)原型的基礎(chǔ)上,自動(dòng)調(diào)整β的大小來(lái)控制相互匹配成功對(duì)數(shù),最后利用最小二乘法和RANSAC算法求出兩幅圖像之間的映射關(guān)系,根據(jù)映射原理拼接圖像。與傳統(tǒng)圖像拼接方法相比,該方法提高了圖像的匹配速率和圖像匹配成功率。
SIFT算法實(shí)現(xiàn)圖像匹配主要包含以下六個(gè)步驟:尺度空間的建立和極值點(diǎn)的檢測(cè)、關(guān)鍵點(diǎn)的精確定位、關(guān)鍵點(diǎn)主方向的確定、關(guān)鍵點(diǎn)描述符的構(gòu)造、特征點(diǎn)的匹配、圖像的融合。
1.1 尺度空間的建立和極值點(diǎn)的檢測(cè)
尺度空間變化主要是為獲取圖像的本質(zhì)特征而進(jìn)行的一種變化。此處將原圖與一個(gè)高斯函數(shù)進(jìn)行卷積:
其中G(x,y,σ)是尺度可變的高斯函數(shù),G(x,y,σ)=-(x2+y2)/2σ2,I(x,y)為圖像的空間坐標(biāo),σ為尺度坐標(biāo)。將原圖像在不同尺度做高斯模糊,生成一組對(duì)應(yīng)的尺度空間圖像,再將尺度空間圖像進(jìn)行降采樣,即利用相鄰的尺度空間圖像的差,重新生成一組高斯差分DOG圖像D(x,y,σ)。
k為相鄰兩層的尺度空間圖像之間的比例,選擇高斯差分DOG函數(shù)的極值點(diǎn)作為候選特征點(diǎn)。
1.2 精確關(guān)鍵點(diǎn)
利用三維二次函數(shù)擬和方法,精確并確定關(guān)鍵點(diǎn)的位置和尺度,用泰勒展開(kāi)式得出在候選特征點(diǎn)處方程:
由于高斯差分DOG對(duì)圖像對(duì)邊緣響應(yīng)較敏感,利用每個(gè)興趣點(diǎn)領(lǐng)域的Hessian矩陣H的特征值,進(jìn)一步分析判斷興趣點(diǎn)領(lǐng)域的特征結(jié)構(gòu),剔除穩(wěn)健性差的點(diǎn)。
1.3 確定關(guān)鍵點(diǎn)的主方向
根據(jù)每個(gè)關(guān)鍵點(diǎn)周?chē)徲蛳袼靥荻确较虻姆植继匦?,確定每個(gè)關(guān)鍵點(diǎn)的主方向,使SIFT算子保持旋轉(zhuǎn)不變性,SIFT采用方向直方圖確定它的主方向,具體的做法:對(duì)每一個(gè)特征點(diǎn),計(jì)算以該點(diǎn)為中心領(lǐng)域內(nèi)的每個(gè)點(diǎn)的梯度方向,選出梯度方向最大所對(duì)應(yīng)的方向作為該點(diǎn)主方向。
1.4 構(gòu)造關(guān)鍵點(diǎn)描述符
在構(gòu)造關(guān)鍵點(diǎn)的特征描述符時(shí),主要分為三步驟:
1)將特征點(diǎn)鄰域的局部區(qū)域旋轉(zhuǎn)至該點(diǎn)的主方向,確保旋轉(zhuǎn)不變性。
2)在旋轉(zhuǎn)后的區(qū)域內(nèi),獲取以關(guān)鍵點(diǎn)為中心的8×8窗口,在圖1中選取8×8的窗口,其中央黑點(diǎn)做為關(guān)鍵點(diǎn)位置,箭頭的方向則為該像素的梯度方向,用箭頭的長(zhǎng)度來(lái)表示其梯度模值,圖中黑色的圈是用來(lái)表示高斯加權(quán)的范圍。
3)在4×4的每個(gè)小方塊上計(jì)算8個(gè)方向的梯度方向直方圖,計(jì)算每個(gè)梯度方向的累加值作為一個(gè)種子點(diǎn),如圖2所示。
圖1 圖像梯度方向
圖2 關(guān)鍵點(diǎn)描述
1.5 特征點(diǎn)的匹配
兩幅圖像的SIFT特征點(diǎn)生成以后,并采用關(guān)鍵點(diǎn)特征向量的歐氏距離大小來(lái)判斷兩幅圖像的相似程度。選取一幅圖像中某個(gè)關(guān)鍵點(diǎn),通過(guò)全局范圍地去遍歷第二幅圖像,并找到與它歐氏距離最近的兩個(gè)點(diǎn),若最近的距離與次近的距離比值小于某個(gè)閾值,則接受匹配,否則剔除。閾值的大小直接影響著匹配點(diǎn)的穩(wěn)健性和精確性。
1.6 圖像融合
對(duì)以上算法得出的匹配特征點(diǎn),由于本文所用的圖像是在水平方向采集的,幾乎不存在旋轉(zhuǎn)變化,所以只需對(duì)圖像進(jìn)行上下、水平的融合。采用漸入漸出加權(quán)平均的方法對(duì)重疊區(qū)域的圖像進(jìn)行融合,實(shí)現(xiàn)平滑過(guò)渡。設(shè)兩幅待拼接圖像I1(x,y)和I2(x,y),則融合后的圖像I(x,y),I(x,y)可表示為:
對(duì)SIFT算法中閾值的系統(tǒng)研究發(fā)現(xiàn),第一,DOG函數(shù)在檢測(cè)局部特征點(diǎn)判斷的閾值α控制著檢測(cè)特征點(diǎn)的個(gè)數(shù)。第二,兩圖像匹配時(shí)最近距離與次近距離的比值的閾值β控制著匹配的成功率,調(diào)整好這兩個(gè)閾值對(duì)圖像的成功匹配非常關(guān)鍵。
2.1 實(shí)驗(yàn)數(shù)據(jù)
實(shí)驗(yàn)中處理的是2560×1920分辨率圖像,如圖3和圖4相機(jī)在水平方向旋轉(zhuǎn)且采集的圖像有部分重疊,為了加快SIFT算法計(jì)算的速率,首先對(duì)圖像進(jìn)行裁剪,所有的裁剪都是在算法中實(shí)現(xiàn)的,算法可以根據(jù)重疊的區(qū)域大小進(jìn)行裁剪。實(shí)驗(yàn)中圖3裁剪后得到區(qū)域A,圖4裁剪后得到區(qū)域B。
圖3 實(shí)驗(yàn)圖左半部
圖4 實(shí)驗(yàn)圖右半部
圖5 SIFT算法檢測(cè)圖像的特征點(diǎn)個(gè)數(shù)與閾值α的變化曲線
2.2 特征點(diǎn)的個(gè)數(shù)隨著閾值α的變化曲線
閾值α控制著局部特征點(diǎn)的數(shù)量。所以α決定了特征點(diǎn)數(shù)的多少,如果α偏小,檢測(cè)的特征點(diǎn)數(shù)雖多,但誤匹配點(diǎn)數(shù)也增多,同時(shí)降低了效率。相反,如果偏大,檢測(cè)的特征點(diǎn)數(shù)很少,雖然提高了計(jì)算速率,但正確的匹配點(diǎn)對(duì)有可能無(wú)法檢測(cè)到。實(shí)驗(yàn)中將α的區(qū)間設(shè)為0.03~0.06,步長(zhǎng)為0.01。圖5(a)和(b)分別是對(duì)區(qū)域A和B檢測(cè)出特征點(diǎn)數(shù)和α的變化曲線。
從(a)、(b)圖中分析比較得出,圖像的特征點(diǎn)數(shù)量會(huì)隨著α的不斷增大而逐漸減少,如果α大于0.06,圖像中基本檢測(cè)不出特征點(diǎn),會(huì)造成無(wú)法完成匹配。而α小于0.03,雖檢測(cè)出大量特征點(diǎn),但它也計(jì)算時(shí)間偏長(zhǎng),而匹配的成功率提高較少。
2.3 匹配對(duì)數(shù)隨著閾值β的變化曲線
女人嫁過(guò)來(lái)那天,豪宅里熱鬧并且神圣。那是十八年以前,那一年她二十三歲。她的皮膚像緞子般光潔光滑,她的嘴唇像沾著露珠的草莓。她的美和清純,無(wú)懈可擊??墒呛髞?lái),她知道,她高挑的身材,嬌嫩的肌膚,精致的五官,花苞般嬌艷的乳房,她所有的一切,全都是工廠流水線的作品。
閾值β會(huì)直接影響圖像的匹配對(duì)數(shù),是圖像之間是否能匹配成功的關(guān)鍵。如果β偏大,雖然匹配對(duì)數(shù)的數(shù)量是增加了,但同時(shí)也引入了一些誤匹配的對(duì)數(shù)。反之β偏小,過(guò)多地剔除了匹配對(duì)數(shù),會(huì)導(dǎo)致一些正確匹配對(duì)數(shù)的減少,最終有可能使圖像無(wú)法匹配成功。在給定了閾值α的區(qū)間時(shí),實(shí)驗(yàn)中選取β的區(qū)間為0.5~0.8,其中步長(zhǎng)定為0.1。圖6是在確定了閾值α的情況下,得到閾值β與匹配對(duì)數(shù)之間的變化曲線。
從圖6中可以得出隨著閾值α的逐漸減小,A、B區(qū)的特征點(diǎn)匹配對(duì)數(shù)在不斷地增加。雖然總體匹配的對(duì)數(shù)在增加,但是相應(yīng)誤匹配對(duì)數(shù)也增加了。
2.4 參數(shù)估計(jì)
根據(jù)圖像的匹配對(duì),計(jì)算圖像的變換關(guān)系,假設(shè)圖像間仿射變換關(guān)系如下:
設(shè)p=(x1,y1),q=(x2,y2)是兩幅圖像匹配的特征點(diǎn)對(duì),則滿足:
由2.3分析得到的匹配對(duì)數(shù)中,會(huì)存在著大量的誤匹配對(duì)數(shù)。文中通過(guò)最小二乘法與RANSAC[12]算法相結(jié)合,最終計(jì)算出圖像間的相互變換關(guān)系。
2.5 成功率隨著閾值α、β的變化
雖然經(jīng)過(guò)上述的方法剔除了部分誤匹配點(diǎn),但仍然存在錯(cuò)誤的匹配點(diǎn)對(duì)。定義成功率δ=正確的匹配對(duì)數(shù)/匹配對(duì)數(shù),閾值α、β同時(shí)影響著圖像匹配的成功率。
2.6 自適應(yīng)匹配算法的步驟
針對(duì)以上的分析,可以得出α和β的變化對(duì)圖像正確的匹配具有一定的規(guī)律。為了平衡閾值α、β,提出了一種閾值自適應(yīng)的匹配算法,即在算法中不斷的改進(jìn)閾值,直至尋找到正確的匹配點(diǎn)。該算法具體步驟如下:
讀取圖像并柱面投影,柱面投影為了滿足視覺(jué)一致性,分別對(duì)兩幅圖像裁剪,得到A、B區(qū)域。
利用高斯卷積核生成尺度圖像,在尺度圖像中生成高斯差分圖像。
圖6 A、B區(qū)特征點(diǎn)匹配的對(duì)數(shù)與α、β閾值的變化曲線
圖7 成功率δ與閾值α、β的變化曲線
檢測(cè)特征點(diǎn)時(shí),首先滿足極值的條件和利用Hessian矩陣去除邊緣點(diǎn)。
為了滿足特征點(diǎn)應(yīng)有明顯的變化,DOG圖像中的點(diǎn)滿足D(x,y,σ)≥α,α先取0.06。
以關(guān)鍵點(diǎn)為中心的領(lǐng)域計(jì)算梯度方向,選取最大的為主方向。
關(guān)鍵點(diǎn)附近把16×16分為4×4的子窗口,先將每個(gè)點(diǎn)的梯度方向旋轉(zhuǎn)為關(guān)鍵點(diǎn)的主方向,利用高斯加權(quán)生成一個(gè)128維的特征向量。
判斷特征點(diǎn)的匹配條件為:
若匹配的特征點(diǎn)對(duì)大于3對(duì),則利用圖像間的仿射關(guān)系剔除部分誤匹配點(diǎn),否則跳轉(zhuǎn)到7,β依次取0.6-0.8,步長(zhǎng)0.1。
若β為0.8,還不滿足匹配的特征點(diǎn)對(duì)大于4對(duì),則跳轉(zhuǎn)到4,α依次取0.05-0.03,步長(zhǎng)0.01。
實(shí)驗(yàn)利用閾值自適應(yīng)匹配算法對(duì)某科技園的6張圖像(如圖3、圖4、圖8)進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)數(shù)據(jù)如表3.1所示。
該實(shí)驗(yàn)得出:原SIFT算法檢測(cè)到的匹配的特征點(diǎn)數(shù)量較多,這正是SIFT特征最初用于目標(biāo)識(shí)別的原因。目標(biāo)識(shí)別需要從大量的圖像數(shù)據(jù)庫(kù)中匹配較小的目標(biāo),所以較小的目標(biāo)需要豐富的特征信息進(jìn)行描述。而圖像配準(zhǔn)不同于目標(biāo)識(shí)別,它只需要使用少量的匹配點(diǎn)對(duì)(仿射變換只需要3對(duì)正確的匹配點(diǎn)對(duì)即可進(jìn)行配準(zhǔn)),本文算法比原SIFT快主要是它只需要檢測(cè)出至少3對(duì)正確的匹配點(diǎn)對(duì),極大的提高了匹配速度。
圖8 實(shí)驗(yàn)圖片
表1 原SIFT算法和本文算法匹配時(shí)間的比較
該算法主要通過(guò)閾值的自適應(yīng)變化來(lái)控制匹配的對(duì)數(shù),正確的匹配對(duì)數(shù)越少完成匹配的時(shí)間就越快,而且利用RANSAC和最小二乘法剔除了部分誤匹配點(diǎn),提高了匹配的成功率。圖9是科技園6張圖像拼接后的部分全景圖。
從圖9中可以看出拼接后的圖像基本上不存在重影和鬼影等問(wèn)題,該算法不僅加快了計(jì)算速率,而且提高了匹配的成功率,拼接的圖像效果也較好,而且該算法對(duì)那種高分辨率的圖像拼接提供了一種快速可行的方法。
SIFT本身存在的閾值較多,如何控制好關(guān)鍵的閾值對(duì)圖像的成功匹配非常重要,實(shí)驗(yàn)發(fā)現(xiàn)閾值α、β能很好的控制特征點(diǎn)的檢測(cè)數(shù)目和匹配的對(duì)數(shù)。算法中利用閾值α、β的自選擇性原則來(lái)提高圖像匹配的速率和成功率,并結(jié)合RANSAC剔除誤匹配點(diǎn)取得了較好的拼接效果,本文算法為全景圖像拼接的應(yīng)用提供了魯棒性更強(qiáng)的方法。
圖9 全景圖
[1]周天宏,張建清.基于圖像映射法的快速無(wú)縫拼接技術(shù)[J].武漢理工大學(xué)學(xué)報(bào),2008,30(7):131-133.
[2]洪春勇,徐琨.一種基于信息熵的灰度失真圖像的快速拼接方法[J].南昌大學(xué)學(xué)報(bào),2006,30(6):605-607.
[3]胡社教,葛西旺,蘇菱.基于相位相關(guān)的全景圖像拼接[J].合肥工業(yè)大學(xué)學(xué)報(bào),2007,30(1):30-31.
[4]HUTTENLOCHER D P,KLANDERMAN G A,RUCKLIDGE W J.Comparing images using the Hausdorff distance[J].IEEE Transactions on Pattern Analysis and Machine Intelligen-ce,1993,15(9):850-863.
[5]王舒鵬,方莉.利用Moravec算子提取特征點(diǎn)實(shí)現(xiàn)過(guò)程分析[J].電腦知識(shí)與技術(shù),2006(3):125-126.
[6]HARRIS C,STEPHENS M.A combined corner and edge detector[A].Proceedings of the fourth Alvey Vision Conference[C].Manchester,UK 1988:147-151.
[7]LOWE D G.Object recognition from local scale-invariant features[A].Internati-onal Conference on Computer Vision[C].Corfu, Greece,Sep 1999:1150-1157.
[8]LOWE D G.Distinctive image features from scale-invariant keypoints[J].Inte-national Journal of Computer Vision,2004,60(1): 91-110.
[9]KE Y,SUKTHANKAR R.PCA-SIFT:a more distinctive representation[A].Proc.Conf.Computer Vision and Pattern Recognition[C], 2004:511-517.
[10]BROWN M,LOWE D G.Automatic panoramic image stitching using invariant features[J].International Journal of Computer Vision, 2006,74(1):5973.
[11]霍春雷,周志鑫,劉青山等.基于SIFT特征和廣義緊互對(duì)原型對(duì)距離的遙感圖像配準(zhǔn)方法[J].遙感技術(shù)與應(yīng)用,2007,22(44): 524-526.
[12]YANG Min,SHEN Chun-lin.A random sampling algorithm for fundamental matrix robust estimation[J].Journal of Applied Sciences.2004.22(2):178-182.
[13]劉瑞禎,于仕琪.Open CV教程-基礎(chǔ)篇[M].北京:北京航空航天大學(xué)出版社,2006.
(責(zé)任編輯:潘修強(qiáng))
Adaptive Threshold SIFT Panorama Image MatchingAlgorithm
MAWu-xi
(Zhejiang Industry&Trade Vocational College,Wenzhou,325003,China)
Aimed to the success rate of image matching which is affected by thresholds of the SIFT(Scale Invariant Feature Transform)algorithm,a thresholds of adaptive matching algorithm was proposed.Thresholds were first systematically investigated and found that the thresholds of local feature points(α)and the ratio of distances(closest/next closest)(β)had influence on successfully matching images.Then,controlledαwas used to detect feature points and generate feature descriptors,and based on the generalized tight interaction of the prototype,automatically adjustedβto control matched pairs.Last,RANSAC and least-squares method derived mapping relations between images image stitching.Experiments show that the algorithm can automatically adjust the threshold so that accelerate the image matching rate,a panoramic image matching software have been developed.
adaptive threshold;SIFT;match rate;RANSAC;panorama matching software
TP312
A
1672-0105(2017)02-0035-06
10.3969/j.issn.1672-0105.2017.02.009
2016-12-25;
2017-04-28
2016年浙江工貿(mào)職業(yè)技術(shù)學(xué)院院級(jí)項(xiàng)目(G160108)
馬無(wú)錫,男,碩士,浙江工貿(mào)職業(yè)技術(shù)學(xué)院工程師,主要研究方向:圖像處理技術(shù)。
浙江工貿(mào)職業(yè)技術(shù)學(xué)院學(xué)報(bào)2017年2期