鐘岷哲,唐澤恬,王昱皓,楊 晨
(貴州大學(xué)大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽550025)
圖像拼接是將同一場景的數(shù)張有重疊部分的圖像拼接成一張無縫的全景圖或較大的高分辨率圖像。在醫(yī)學(xué)成像、計算機視覺、衛(wèi)星數(shù)據(jù)、軍事目標(biāo)自動識別等領(lǐng)域具有重要意義,因此圖像拼接技術(shù)在實際應(yīng)用中受到廣泛關(guān)注[1-2]。
SIFT[3-4]算法由David Lowe在1999年提出并在2004進(jìn)行完善,因其具有對旋轉(zhuǎn)、尺度縮放、亮度變化等有良好的魯棒性,且能獲得豐富的特征點信息等優(yōu)點[5-6],成為了圖像拼接技術(shù)中的研究熱點。針對無人機航拍圖像快速匹配問題,韓宇等[7]通過降低特征描述向量的維度,借助準(zhǔn)歐氏距離和余弦相似度對關(guān)鍵點描述子進(jìn)行雙重匹配,在匹配過程中降低了計算量從而提升了拼接的速度。盧鵬等[8]通過擴大極值點取值范圍,減少極值點數(shù)量,提高了SIFT算法的拼接質(zhì)量,但沒有就特征點分布均勻性問題進(jìn)行研究。為了減少紅外圖像拼接誤匹配點和提高速度,陸園園等[9]針對基于SIFT算法的紅外圖像拼接方法進(jìn)行改進(jìn),雖然通過減少誤匹配提升了拼接質(zhì)量,但沒有對特征點是否均勻分布問題展開討論。陳月等[10]根據(jù)方差大小將待拼接圖片進(jìn)行紋理分區(qū),并采用不同的簡化方法提取各局部塊的特征點,以提高SIFT算法的運算速度,但拼接質(zhì)量方面未有明顯提高。
可見,目前針對SIFT算法的特征點分布均勻性問題進(jìn)行的改進(jìn)工作尚不多見。因此,本文提出了一種基于紋理分類的多閾值SIFT圖像拼接算法,算法首先對圖像進(jìn)行了紋理分區(qū),將圖像分為平坦區(qū)、弱紋理區(qū)、一般紋理區(qū)和強紋理區(qū)。然后通過改變極值點的檢測方式提升了弱紋理區(qū)和一般紋理區(qū)的候選特征點的數(shù)量,降低了強紋理區(qū)候選特征點的數(shù)量,并根據(jù)信息熵與閾值的關(guān)系進(jìn)行閾值設(shè)置,進(jìn)一步提升弱紋理區(qū)和一般紋理區(qū)的特征點數(shù)量,使得這兩個區(qū)域所提取的特征點信息更加豐富。最后對所提取的特征點進(jìn)行匹配和圖像融合,以完成圖像拼接。實驗證明,本文提出的算法能夠均衡特征點的分布從而提升圖像拼接的質(zhì)量。
傳統(tǒng)的SIFT算法通過構(gòu)建尺度空間并利用高斯差分金字塔檢測空間極值從而提取特征點。通常當(dāng)圖像的紋理越復(fù)雜時產(chǎn)生的空間極值點越多,因此在圖像拼接過程中紋理復(fù)雜的區(qū)域往往是特征點的主要提供者[11]。
如圖1所示為傳統(tǒng)SIFT算法單一閾值的方法進(jìn)行特征點檢測的結(jié)果,圖中特征點聚集在紋理復(fù)雜的區(qū)域,紋理簡單的區(qū)域卻沒有特征點。特征點在空間上分布不均勻,圖像信息的利用率較低,不利于圖像的拼接。因此,本文利用基于紋理分區(qū)的多閾值方法,有利于均衡特征點的分布,以提高拼接質(zhì)量。
圖1 特征點分布不均勻
基于以上問題,本文提出基于紋理分類的多閾值SIFT圖像拼接算法,其具體流程如圖2所示。首先,對圖像的紋理進(jìn)行分析和歸類,將其劃分為四個區(qū)域:平坦區(qū)、弱紋理區(qū)、一般紋理區(qū)和強紋理區(qū)。并對其中紋理較簡單的弱紋理區(qū)和一般紋理區(qū)增加其候選特征點,對強紋理區(qū)減少其候選特征點。然后,分別設(shè)置弱紋理區(qū)、一般紋理區(qū)和強紋理的閾值,進(jìn)一步均衡特征點分布,并完成匹配和融合。
圖2 本文方法流程圖
如前所述,復(fù)雜的紋理區(qū)是特征點的主要提供者,但僅僅只有復(fù)雜紋理區(qū)提供特征點時,不利于圖像的拼接。因此本文首先對圖像的紋理進(jìn)行分區(qū),并在紋理分區(qū)的基礎(chǔ)上相應(yīng)的增加和減少紋理區(qū)的特征點候選點,以便更好的均衡特征點數(shù)量。
2.2.1 紋理分區(qū)
首先需對圖像紋理進(jìn)行分塊分析以獲取紋理復(fù)雜度,本文使用灰度的種類數(shù)進(jìn)行紋理分區(qū)。其具體方法如下:首先圖像劃分為55子塊,然后以子塊為單位計算每個子塊的灰度值的種類數(shù)V,當(dāng)V=1時,將其劃為平坦區(qū),該區(qū)域紋理平坦,無法產(chǎn)生特征點,故可不進(jìn)行SIFT計算。當(dāng)1
圖3為圖1的紋理分區(qū)情況,從圖可以看出,弱紋理區(qū)與一般紋理區(qū)在整個圖像中的占比較大,且分布均勻,通過增加候選特征點和多閾值特征提取能夠有效的增加特征點信息。根據(jù)強紋理區(qū)在圖像中呈聚集的情況,通過減少候選特征點,可減少該區(qū)域的特征點數(shù)量。以此做到均衡特征點的數(shù)量。
圖3 紋理分區(qū)
2.2.2 特征點檢測
紋理分區(qū)之后,對于弱紋理區(qū)和一般紋理區(qū),其所能提供的特征信息并不多,為了增加這部分的特征信息,改變極值點檢測的方法增加候選特征點的數(shù)量,即該區(qū)域極值點檢測時,對應(yīng)位置的像素值只需大于或小于局部26個像素值中的23個,以提升候選點的數(shù)量。對于強紋理區(qū),其所能提供的特征信息過多,為了減少該部分的特征點,并防止特征點過于密集,將極值點所需檢測的區(qū)域由3×3×3變?yōu)?×5×3。以圖1為例,表1為傳統(tǒng)極值點檢測方法和本文的極值點檢測方法提取到的候選特征點和最終保留特征點的數(shù)量。由表可知,所提出的方法有效地增加了弱紋理區(qū)和一般紋理區(qū)的極值點和特征點數(shù)量,強紋理區(qū)則有效地減少了特征點數(shù)。
表1 傳統(tǒng)SIFT方法與本文方法特征點數(shù)
雖然所提出的特征點檢測方法在一定程度上均衡了不同紋理區(qū)的特征點數(shù)量,但弱紋理區(qū)和一般紋理區(qū)提取到的特征點數(shù)量過少,因此為了進(jìn)一步增加這兩個區(qū)域的特征點數(shù)量,基于信息熵對這兩個區(qū)域進(jìn)行閾值設(shè)置。而強紋理區(qū)則使用傳統(tǒng)SIFT算法的閾值。
由于信息熵可以有效地反映圖像的紋理變化,因此本文基于紋理區(qū)的信息熵進(jìn)行相應(yīng)區(qū)域的閾值設(shè)置。信息熵的公式如下
(1)
式中,Pi為每個灰度值出現(xiàn)的概率,a通常取2。為得到圖像的紋理區(qū)域的信息熵與閾值的關(guān)系,本文對100張圖像進(jìn)行分析,結(jié)果如下圖所示。
圖4 局部區(qū)域的信息熵與閾值的關(guān)系
由圖可知,弱紋理區(qū)和一般紋理區(qū)的信息熵與局部的閾值呈現(xiàn)正相關(guān)的關(guān)系,對其進(jìn)行擬合后,二者之間的關(guān)系為
T=a×H+b
(2)
式中:T為閾值,a為比例系數(shù),b為常數(shù)項。對于弱紋理區(qū)其數(shù)值為0.00637和0.00774,對于一般紋理區(qū)其數(shù)值為0.00098和0.0181。通過式(2)即可對相應(yīng)的區(qū)域進(jìn)行閾值的設(shè)置,以提升弱紋理區(qū)和一般紋理區(qū)的特征點數(shù)量。
圖5為3組拼接使用的原始圖像,其中(a)和(b)大小為576 pixel×462 pixel;(d)和(e)大小為633 pixel×543 pixel;(g)和(h)大小為720 pixel×668 pixel;(c)、(f)、(i)分別為三組圖像的拼接結(jié)果。
為測試本文算法檢測得到的特征點在圖像空間中的分布效果,以圖5中的(a),(d),(g)為例進(jìn)行特征點提取,并與傳統(tǒng)算法進(jìn)行比較,結(jié)果如圖6所示。表2為本文方法、傳統(tǒng)SIFT、文獻(xiàn)[7]中方法及文獻(xiàn)[8]中方法檢測得到特征點在不同的紋理區(qū)域的分布情況。由圖6和表2可知,在特征點空間分布上,本文改進(jìn)的方法檢測得到的特征點分布更加均勻;在特征點的總數(shù)上,兩種方法的差距并不大,但本文改進(jìn)的算法有效地降低了強紋理區(qū)的特征點數(shù)量,從而避免了強紋理區(qū)的特征點過于密集。對于一般紋理區(qū)和弱紋理區(qū),改進(jìn)的算法有效地提升了特征點的數(shù)量,能夠更為有效地利用這兩個區(qū)域的特征信息。綜上,本文改進(jìn)的方法使特征點的空間分布更加均勻,能夠更為有效地利用弱紋理區(qū)的特征信息。
表2 參考方法與本文改進(jìn)方法檢測特征點數(shù)
圖5 原始圖像及拼接結(jié)果注:(a),(b),(d),(e),(g),(h)為原始圖像;(c),(f),(i)為拼接結(jié)果
圖6 特征點檢測結(jié)果注:(a),(c),(e)為傳統(tǒng)算法;(b),(d),(f)為本文算法
圖7為傳統(tǒng)方法和本文方法的匹配特征點分布情況??梢钥吹?,相比傳統(tǒng)方法,本文方法匹配的特征點在空間分布上更加均勻。為分析特征點的空間分布對拼接質(zhì)量的影響,本文使用SSIM[12]和PSNR[13]進(jìn)行評估,并與傳統(tǒng)SIFT方法、文獻(xiàn)[7]及文獻(xiàn)[8]中方法進(jìn)行比較,結(jié)果如表3所示。從表3中可以看出,相比于經(jīng)典SIFT方法,本文改進(jìn)方法在SSIM和PSNR的評估標(biāo)準(zhǔn)下分別提升了7.26%~11.62%和14.13%~24.05%。相較文獻(xiàn)[7]中的方法,本文方法在SSIM和PSNR的評估標(biāo)準(zhǔn)下分別提升了5.07%~12.07%和10.23%~23.61%。相較文獻(xiàn)[8] 中的方法,本文方法在SSIM和PSNR的評估標(biāo)準(zhǔn)下分別提升了5.22%~5.78%和10.52%~14.12%,可見更為均勻的空間分布可有效地提升圖像的拼接質(zhì)量。
圖7 特征點匹配圖
表3 參考方法與本文改進(jìn)方法圖像質(zhì)量指標(biāo)
圖7中,(a),(c),(e)為傳統(tǒng)算法;(b),(d),(f)為本文算法。
針對傳統(tǒng)SIFT算法的單一閾值導(dǎo)致的特征點空間分布不均勻的問題,本文提出了一種基于紋理分類的多閾值SIFT圖像拼接算法。算法對圖像的紋理復(fù)雜度進(jìn)行了分析,以此將圖像劃分為平坦區(qū)、弱紋理區(qū)、一般紋理區(qū)和強紋理區(qū)。通過增加弱紋理區(qū)和一般紋理區(qū)的候選特征點,減少強紋理區(qū)的候選特征點,以初步均衡不同紋理區(qū)的特征點數(shù)量。其次,探索局部區(qū)域信息熵與閾值的關(guān)系并以此對弱紋理區(qū)和一般紋理區(qū)進(jìn)行閾值設(shè)置,從而進(jìn)一步提升該區(qū)域的特征點數(shù)量。最后進(jìn)行特征點匹配和圖像融合完成圖像拼接。實驗結(jié)果表明,本文的算法通過紋理分類并根據(jù)信息熵設(shè)置閾值以此均衡了特征點的空間分布,并提高了圖像的拼接質(zhì)量。因此,本文算法在對圖像拼接質(zhì)量有較高要求的場景中有潛在的運用價值。