盧 鵬,盧 奇,鄒國良,王振華,侯 倩
上海海洋大學(xué) 信息學(xué)院,上海201306
圖像拼接融合,是指將同一場景的兩幅或多幅相互間存在重疊部分的圖像進(jìn)行空間匹配對準(zhǔn),融合處理后形成信息更完整和更全面的圖像[1-4]。有別于多源遙感圖像融合和多聚焦方式融合,拼接融合主要用于處理同種圖像傳感器以相同成像方式,在離散時(shí)刻拍攝的圖像(或多個(gè)同種傳感器在同時(shí)、不同角度拍攝的圖像),即時(shí)間序列圖像。拼接融合處理后的圖像能夠有效彌補(bǔ)單傳感器無法充分獲取目標(biāo)信息的缺陷,解決圖像信息量不足的問題,更適合視覺感知或計(jì)算機(jī)處理[5]。目前,圖像拼接融合技術(shù)被廣泛應(yīng)用在智能交通、虛擬現(xiàn)實(shí)技術(shù)等領(lǐng)域。圖像拼接融合的內(nèi)容主要包括圖像配準(zhǔn)、圖像拼接和融合兩部分。目前,主要有三種圖像配準(zhǔn)方法:灰度信息配準(zhǔn)方法[6]、特征配準(zhǔn)方法[7]和變換域配準(zhǔn)方法[8]。其中,基于灰度信息的配準(zhǔn)方法是根據(jù)圖像中的灰度統(tǒng)計(jì)信息來確定圖像的相似度,計(jì)算量大,且對噪聲十分敏感;基于變換域的配準(zhǔn)方法主要通過傅里葉變換的方法來實(shí)現(xiàn),圖像的平移、旋轉(zhuǎn)、縮放等操作在頻域上都有體現(xiàn),具備一定程度的魯棒性,但是其適用的范圍較小,處理信息量大,計(jì)算復(fù)雜度高。特征配準(zhǔn)方法適用范圍廣,計(jì)算速度較快,且具有較高的魯棒性,是目前最常用的配準(zhǔn)方法。常見的特征配準(zhǔn)方法有:Moravec[9]、Harris[10]、Harris-Laplacian[11]、SIFT[12-13]。其中尺度不變特征變換匹配算法(Scale Invariant Feature Transform,SIFT)因其不受尺度、旋轉(zhuǎn)、光照等因素的影響,具有很強(qiáng)的穩(wěn)定性,成為目前使用最廣泛的特征配準(zhǔn)算法之一。
近年來,研究學(xué)者們針對SIFT 算法存在的問題,進(jìn)行了很多改進(jìn)。文獻(xiàn)[14]針對SIFT 特征描述符維數(shù)較高,計(jì)算量大這一問題,將主成分分析法(Principal Component Analysis,PCA)與SIFT結(jié)合,提出了PCA-SIFT,對特征描述符進(jìn)行降低維數(shù)的處理,達(dá)到提高算法運(yùn)行速度的目的;馮文斌等人[15]采用分級放射分區(qū)的方法構(gòu)建64 維特征描述符;張勇等人[16]將SIFT 和Harris 結(jié)合,在提取SIFT 特征的過程中加入Harris 角點(diǎn)算子,并采用圓形窗口構(gòu)建48維特征描述符。上述改進(jìn)算法大多是針對SIFT 特征描述符的降維,當(dāng)SIFT 提取到的特征點(diǎn)數(shù)量很大時(shí),降維的效果并不明顯,且極易造成錯(cuò)誤匹配。
在此基礎(chǔ)上,本文提出了一種減少SIFT 算法特征點(diǎn)個(gè)數(shù)的方法,并采用12 環(huán)的圓形窗口構(gòu)建特征描述符,既減少了特征點(diǎn)個(gè)數(shù),又對特征描述符進(jìn)行了降低維數(shù)的處理,從而大大減少了配準(zhǔn)的運(yùn)行時(shí)間。然后用RANSAC 去除錯(cuò)誤的配準(zhǔn)點(diǎn)對,并采用漸入漸出融合算法將兩幅圖像拼接融合成一幅更完整的圖像,以增強(qiáng)圖像的邊緣和紋理信息。為了驗(yàn)證算法的融合效果,本文對融合后的圖像進(jìn)行了局部區(qū)域分塊檢測,并從信息熵、邊緣強(qiáng)度和峰值信噪比等幾個(gè)指標(biāo)與融合前的圖像進(jìn)行了數(shù)值化比較。實(shí)驗(yàn)結(jié)果表明,本文算法具有較高的魯棒性,運(yùn)算速度快,且具有較好的融合效果。
SIFT 算法通過構(gòu)造圖像的尺度空間,并檢測圖像的極值點(diǎn),從中確定關(guān)鍵點(diǎn)(key-point),以關(guān)鍵點(diǎn)為中心取其鄰域,構(gòu)建SIFT特征點(diǎn)描述符,最后根據(jù)得到的特征描述符對圖像進(jìn)行配準(zhǔn)。
(1)尺度空間關(guān)鍵點(diǎn)檢測
SIFT算法利用高斯函數(shù)構(gòu)造圖像的高斯金字塔,然后用高斯金字塔中上下兩個(gè)相鄰高斯尺度空間上的圖像差值來表示差分高斯(Difference of Gaussian,DoG)的響應(yīng)值圖像。DoG的響應(yīng)值圖像可以表示為:
其中,G(x,y,σ)是高斯核函數(shù):
其中,I 是原始圖像;L 為圖像的尺度空間;σ 的大小決定不同尺度,σ 越大則圖像越模糊。如圖1為差分高斯金字塔。
圖1 差分高斯金字塔
建立差分高斯金字塔后,初步檢測DoG 局部極值點(diǎn),并精確定位其空間位置和尺度。由于初步搜索到的候選極值點(diǎn)中包含對比度較弱、邊緣響應(yīng)較強(qiáng)等不穩(wěn)定的點(diǎn),因此采用曲線擬合等方法剔除候選點(diǎn)中不穩(wěn)定的極值點(diǎn)。剔除不穩(wěn)定的關(guān)鍵點(diǎn)后,計(jì)算剩余合格的關(guān)鍵點(diǎn)鄰域像素的梯度方向分布特性,以此確定關(guān)鍵點(diǎn)的方向,其中部分關(guān)鍵點(diǎn)的方向包含主方向和輔方向,最后得到SIFT特征區(qū)域。
(2)局部特征描述
對計(jì)算后的關(guān)鍵點(diǎn)進(jìn)行描述,得到局部特征描述符,包括校正旋轉(zhuǎn)主方向、生成描述子和歸一化處理三個(gè)部分。再根據(jù)關(guān)鍵點(diǎn)的方向調(diào)整坐標(biāo)軸,使二者保持一致后,在每個(gè)關(guān)鍵點(diǎn)對應(yīng)的尺度空間中,選取以關(guān)鍵點(diǎn)為中心、大小為16×16 的方形窗口作為一個(gè)鄰域范圍,將該范圍分成4×4 個(gè)子區(qū)域,計(jì)算每個(gè)子區(qū)域上像素的梯度幅值和方向,從而得到關(guān)于的梯度信息的累計(jì)直方圖,生成包含8 個(gè)方向向量信息的種子點(diǎn)。如此,一個(gè)關(guān)鍵點(diǎn)可生成4×4×8=128 維的SIFT 特征描述符。每個(gè)特征描述符不僅包括關(guān)鍵點(diǎn),也包含了關(guān)鍵點(diǎn)周圍對它有貢獻(xiàn)的像素點(diǎn),抽象表示了該區(qū)域的圖像信息,具有獨(dú)特性。最后,對特征描述符進(jìn)行歸一化處理,消除光照變化的影響。
基于SIFT 算法存在的問題,本文對局部極值點(diǎn)的檢測方法和特征描述符的構(gòu)建進(jìn)行了改進(jìn),減少了關(guān)鍵點(diǎn)個(gè)數(shù),并降低了特征描述符的維數(shù),在保證算法準(zhǔn)確性的前提下,提高了算法的運(yùn)算速度。
3.1.1 改進(jìn)的極值點(diǎn)檢測方法
SIFT算法中,在尺度空間中檢測極值點(diǎn)時(shí),每一個(gè)像素點(diǎn)都要和其同一尺度相鄰的3×3-1 個(gè)像素點(diǎn)以及上、下相鄰兩個(gè)尺度的3×3×2個(gè)像素點(diǎn),即總共26個(gè)相鄰像素點(diǎn)進(jìn)行比較,從而得到局部極值點(diǎn)。但是由于一般圖像幀信息復(fù)雜,導(dǎo)致檢測到的特征點(diǎn)數(shù)量過多,容易產(chǎn)生錯(cuò)誤匹配,且計(jì)算量過大,耗時(shí)久。本文改進(jìn)了極值點(diǎn)的檢測方法,在極值點(diǎn)檢測階段,擴(kuò)大了每個(gè)像素點(diǎn)的比較范圍,擴(kuò)大了極值點(diǎn)的生成區(qū)域,從而使得極值點(diǎn)的數(shù)目得到減少,以去除部分錯(cuò)誤匹配點(diǎn)對,降低錯(cuò)誤匹配幾率,從而提高關(guān)鍵點(diǎn)質(zhì)量。為了選取合適的檢測范圍,本文分別對3×3、5×5、7×7和9×9這4極值點(diǎn)檢測范圍進(jìn)行了實(shí)驗(yàn),以對比檢測得到的關(guān)鍵點(diǎn)數(shù)量和運(yùn)行時(shí)間,實(shí)驗(yàn)結(jié)果見表1。
表1 極值點(diǎn)檢測范圍部分對比實(shí)驗(yàn)結(jié)果
由表1 可知,隨著檢測范圍的不斷擴(kuò)大,檢測得到的關(guān)鍵點(diǎn)數(shù)量不斷減少,檢測部分的運(yùn)行時(shí)間不斷增加。根據(jù)實(shí)驗(yàn)結(jié)果,綜合考慮算法的運(yùn)行效率,本文選取5×5的區(qū)域作為檢測范圍,即總共74個(gè)相鄰像素點(diǎn)進(jìn)行比較,從而減少關(guān)鍵點(diǎn)數(shù)目,在后續(xù)配準(zhǔn)算法中減少算法的時(shí)間開銷。從整體算法的運(yùn)行時(shí)間來看(見本文第4章),擴(kuò)大檢測范圍能夠減少算法整體的運(yùn)行時(shí)間。改進(jìn)的SIFT的尺度空間局部極值點(diǎn)檢測如圖2所示。
則以每個(gè)像素點(diǎn)為中心像素點(diǎn),分別以3×3、5×5的局部區(qū)域范圍進(jìn)行極值點(diǎn)檢測,在列數(shù)為n 個(gè)像素、行數(shù)為m 個(gè)像素的圖像中,二者每層極值點(diǎn)遍歷的采樣比見公式(3):
圖2 5×5區(qū)域的SIFT的尺度空間局部極值檢測
其中,m=an。針對本文對局部極值點(diǎn)檢測范圍的改進(jìn),與傳統(tǒng)SIFT 算法進(jìn)行了3 組對比實(shí)驗(yàn),得到待確定的極值點(diǎn)數(shù)量(包含不穩(wěn)定的點(diǎn))和剔除低對比度和邊緣響應(yīng)不穩(wěn)定等不合格的點(diǎn)后的關(guān)鍵點(diǎn)數(shù)量,如表2所示。
表2 極值點(diǎn)檢測方法改進(jìn)前后分析比較
由表2可見,改進(jìn)后的局部極值點(diǎn)檢測減少了關(guān)鍵點(diǎn)數(shù)目,從而減少了描述子生成的時(shí)間開銷。
3.1.2 改進(jìn)的特征描述符
SIFT 算法在對特征點(diǎn)進(jìn)行描述時(shí),首先要對坐標(biāo)軸進(jìn)行調(diào)整,將坐標(biāo)軸旋轉(zhuǎn)到關(guān)鍵點(diǎn)的方向,使二者的方向保持一致,以確保旋轉(zhuǎn)不變性。由于圓具有良好的旋轉(zhuǎn)不變性,Tang 等人[17]提出了在構(gòu)建SIFT 特征描述符時(shí),采用圓環(huán)形區(qū)域取代原SIFT 中的方形區(qū)域。因此,本文采用圓環(huán)形區(qū)域來構(gòu)造特征描述符,無需考慮坐標(biāo)軸是否與特征點(diǎn)的主方向相同,使得特征描述符自身具有旋轉(zhuǎn)不變性,從而免去了調(diào)整坐標(biāo)軸方向的步驟,故減少算法復(fù)雜度,節(jié)省了時(shí)間開銷。
為了更合理地選取圓環(huán)形的環(huán)數(shù),本文以關(guān)鍵點(diǎn)為中心,依次選取半徑為8~20的同心圓區(qū)域,分別構(gòu)建半徑為8~20共13種SIFT特征描述符,并分別計(jì)算其時(shí)間和匹配正確率,進(jìn)行對比實(shí)驗(yàn),結(jié)果如圖3、4所示。
圖3 圓環(huán)形區(qū)域取8~20環(huán)的計(jì)算時(shí)間
圖4 圓環(huán)形區(qū)域取8~20環(huán)的匹配正確率
根據(jù)實(shí)驗(yàn)結(jié)果,本文取半徑為12 的同心圓區(qū)域。由于環(huán)形區(qū)域?qū)μ卣鼽c(diǎn)的影響與其距離特征點(diǎn)的大小有關(guān),即與特征點(diǎn)之間的距離越近的環(huán)形區(qū)域的像素對特征點(diǎn)的描述貢獻(xiàn)越大,故本文采用(3,3,2,2,1,1)的環(huán)數(shù)構(gòu)造,即將距離特征點(diǎn)最近的最內(nèi)環(huán)設(shè)置為3 個(gè)環(huán),而距離特征點(diǎn)最遠(yuǎn)的最外環(huán)設(shè)置為1個(gè)環(huán),如圖5所示。計(jì)算梯度累加直方圖時(shí),以36°為單位計(jì)算每個(gè)環(huán)上的10個(gè)方向上的梯度累加直方圖。本文借鑒文獻(xiàn)[18]的方法,結(jié)合灰度差累加直方圖,將其引入SIFT 算法中,計(jì)算每個(gè)環(huán)的灰度累積值,并將子環(huán)區(qū)域的灰度累加值作為一維特征向量,引入特征描述符的構(gòu)建,從而減少由灰度變化引起的錯(cuò)誤匹配。最后,對每個(gè)子環(huán)內(nèi)10個(gè)梯度累加值進(jìn)行排序,并對特征向量進(jìn)行歸一化處理,本文最后得到78維的特征描述符。
圖5 改進(jìn)的特征描述符環(huán)構(gòu)造
3.2.1 特征點(diǎn)初次配準(zhǔn)
提取到兩幅圖像的特征點(diǎn)后,分別得到兩幅圖像的特征描述符的集合,采用K-D 樹的最優(yōu)節(jié)點(diǎn)優(yōu)先BBF搜索策略對兩個(gè)特征向量集進(jìn)行搜索最近似特征向量。計(jì)算圖像1中的特征點(diǎn)與圖像2中距離其最鄰近的特征點(diǎn)間的距離和次鄰近特征點(diǎn)的距離的比值,得到配對的關(guān)鍵點(diǎn)描述子d(m,n)若滿足:
其中,threshold 為配準(zhǔn)閾值。閾值大小的選取決定了配準(zhǔn)點(diǎn)對的數(shù)量和質(zhì)量。Lowe 建議設(shè)置為0.4~0.8 配準(zhǔn)效果最佳。若設(shè)置的threshold 小于0.4 會(huì)導(dǎo)致配準(zhǔn)點(diǎn)對數(shù)目較少;而設(shè)置的threshold 大于0.8則會(huì)存在大量錯(cuò)誤的配準(zhǔn)。本文設(shè)置配準(zhǔn)閾值為0.58。
3.2.2 消除錯(cuò)誤配準(zhǔn)
RANSAC[19]是一種參數(shù)估計(jì)算法,其主要思想是:從樣本數(shù)據(jù)集中隨機(jī)選取一個(gè)子集,對該子集進(jìn)行參數(shù)估計(jì),從而確定參數(shù)估計(jì)模型。將所有樣本數(shù)據(jù)集帶入該模型,對其進(jìn)行驗(yàn)證,根據(jù)損失函數(shù)得到一致性集合。根據(jù)樣本數(shù)據(jù)集中符合一致性集合的點(diǎn)集數(shù)量大小,確定該模型的正確性。通過多次的假設(shè)與檢驗(yàn),最后得到一個(gè)全局最優(yōu)的模型參數(shù)。在SIFT 中使用RANSAC算法,去除錯(cuò)誤的配準(zhǔn),從而提高算法的匹配正確率。
在由兩幅圖像的特征點(diǎn)描述符對圖像進(jìn)行配準(zhǔn)后,需要根據(jù)圖像間的空間變換關(guān)系對圖像進(jìn)行拼接融合。由于兩幅待拼接融合的圖像之間可能存在光照不同、幾何校正差異等情況,會(huì)導(dǎo)致拼接融合后的圖像存在明顯的拼接縫隙。因此,采用合適的圖像融合方法進(jìn)行處理,使得拼接后的圖像的灰度信息保持一定的連續(xù)性,消除拼接縫隙,就顯得十分重要。傳統(tǒng)的加權(quán)平均融合算法的權(quán)重值的選取是固定的,這就使得很難消除由于兩幅圖像光照差別較大等原因引起的拼接縫隙,導(dǎo)致兩幅圖像拼接融合的效果相對較差。為了使拼接融合后的圖像邊界部分自然過渡,無明顯的結(jié)合痕跡,目前常用漸入漸出融合算法[20]進(jìn)行圖像自然過渡,消除拼接縫隙。與傳統(tǒng)的加權(quán)平均融合算法不同,漸入漸出融合算法在兩幅圖像的重疊區(qū)域,使權(quán)重d 隨著像素點(diǎn)位置的變化呈線性變換,以此保持圖像的灰度信息能夠平滑過渡,消除拼接縫隙,提高圖像融合質(zhì)量。權(quán)重d 的變化規(guī)律見公式(5):
其中,j 表示像素點(diǎn)的列數(shù),L 和R 分別表示重疊區(qū)域的左邊界和右邊界。
假設(shè)f1( x,y )、f2( x,y )是兩幅待拼接的圖像,f( x,y)是融合后的圖像,則拼接融合后的圖像可表示為:
其中,d1、d2表示權(quán)重值,取值與重疊區(qū)域的寬度有關(guān),且d1可由公式(6)計(jì)算得到,則d2=1-d1二者的取值范圍是0 <d1,d2<1,在重合區(qū)域中,d1由1漸變?yōu)?,d2由0漸變?yōu)?,因此完成了在重合部分中由f1平滑過渡到f2的過程,從而實(shí)現(xiàn)圖像的無縫拼接。
為更好地避免了重影,消除拼接縫隙,本文采用羅永濤等人[21]提出的一種最佳縫合線與改進(jìn)的漸入漸出法相結(jié)合的圖像拼接融合算法(如圖6),在一定程度上提高了圖像拼接融合的質(zhì)量。
圖6 漸入漸出融合權(quán)重變化規(guī)律
由于全局檢測不能有效體現(xiàn)圖像拼接融合后的細(xì)節(jié)信息,本文對拼接融合前后的圖像,從邊緣強(qiáng)度、信息熵、峰值信噪比等方面進(jìn)行局部區(qū)域分塊檢測,評價(jià)圖像拼接融合的效果。
分別選取進(jìn)行拼接融合的兩幅圖像的重合區(qū)域以及融合后圖像的該部分進(jìn)行實(shí)驗(yàn)分析。若圖像的重合區(qū)域的列和行分別為為n 和m 個(gè)像素,則每個(gè)小塊的大小為長br和寬bl:
其中,r 和l 是圖像重合部分的長和寬分別可以分成的份數(shù):
計(jì)算每個(gè)小塊邊緣強(qiáng)度、信息熵、峰值信噪比。實(shí)驗(yàn)見下文實(shí)驗(yàn)結(jié)果及分析。
本文實(shí)驗(yàn)平臺(tái)為Matlab R2015a,運(yùn)行環(huán)境是CPU為Intel Core i5-6500 3.20 GHz,內(nèi)存為4 GB的64位的Windows10操作系統(tǒng),將500組圖像進(jìn)行拼接融合實(shí)驗(yàn),由于篇幅限制,本文選取A~E共5組實(shí)驗(yàn),如圖7~11所示。
圖7 A組實(shí)驗(yàn)待拼接融合圖像
圖8 B組實(shí)驗(yàn)待拼接融合圖像
圖9 C組實(shí)驗(yàn)待拼接融合圖像
圖10 D組實(shí)驗(yàn)待拼接融合圖像
圖11 E組實(shí)驗(yàn)帶拼接融合圖像
本文采用SIFT、PCA-SIFT 算法以及文獻(xiàn)[16]改進(jìn)的SIFT算法和本文算法對5組圖像進(jìn)行多次實(shí)驗(yàn),統(tǒng)計(jì)其平均匹配正確率和運(yùn)行時(shí)間,結(jié)果如表3所示??梢钥闯?,本文的算法在保證較高的匹配正確率的情況下,能夠有效減少算法匹配時(shí)間,降低時(shí)間復(fù)雜度。
表3 本文算法與其他算法的匹配正確率和運(yùn)行時(shí)間的對比結(jié)果
在圖像配準(zhǔn)后,使用漸入漸出融合算法來拼接融合待拼接圖像,得到A~E 共5 組實(shí)驗(yàn)的拼接融合后的圖像,如圖12~16所示。
圖12 A組實(shí)驗(yàn)拼接融合圖像
圖13 B組實(shí)驗(yàn)拼接融合圖像
圖14 C組實(shí)驗(yàn)拼接融合圖像
圖15 D組實(shí)驗(yàn)拼接融合圖像
圖16 E組實(shí)驗(yàn)拼接融合圖像
針對全局檢測圖像不能有效體現(xiàn)圖像拼接融合后的細(xì)節(jié)信息,本文對拼接融合后的圖像進(jìn)行局部區(qū)域分塊檢測從邊緣強(qiáng)度、信息熵、峰值信噪比等方面來評價(jià)圖像拼接融合的效果。
如圖17 所示,選取拼接融合后的圖像和待拼接圖像的重疊區(qū)域,根據(jù)公式(7)~(9)進(jìn)行局部區(qū)域分塊。在A組實(shí)驗(yàn)中,取圖像的重疊區(qū)域,其大小為380×640,根據(jù)公式(7)~(9)將其分成列為38個(gè)像素、行為42個(gè)像素的局部圖像,共150 個(gè)小塊局部圖像,評價(jià)其拼接融合效果,實(shí)驗(yàn)結(jié)果如表4所示。由表4可以看出,采用本文算法拼接后的圖像的信息熵更大,即圖像信息更豐富,邊緣強(qiáng)度得到增強(qiáng),峰值信噪比較高,即有效抑制了噪聲。
本文針對SIFT 算法存在的問題,提出了一種基于改進(jìn)的SIFT的圖像拼接融合算法。本文改進(jìn)了特征點(diǎn)的檢測方法,擴(kuò)大了極值點(diǎn)的檢測區(qū)域范圍,減少了關(guān)鍵點(diǎn)的數(shù)量;改進(jìn)了特征點(diǎn)描述符的構(gòu)造方法,并降低了特征描述符的維數(shù);使用漸入漸出加權(quán)圖像融合算法進(jìn)行圖像拼接融合,整個(gè)算法提高了圖像拼接融合的速度。圖像質(zhì)量關(guān)鍵參數(shù)的局部區(qū)域分塊檢測表明,在具有良好的拼接質(zhì)量的前提下,本方法具有快速、可靠、有效的特點(diǎn)。改進(jìn)后的SIFT算法雖然有效降低了運(yùn)行時(shí)間,但算法的匹配正確率提高不是很明顯,下一步將在此研究基礎(chǔ)上,提高算法匹配正確率。
圖17 均分成每小塊為38×42的局部圖
表4 圖像拼接融合效果數(shù)值分析(部分)