盧 鵬,盧 奇,鄒國良,王振華,侯 倩
上海海洋大學 信息學院,上海201306
圖像拼接融合,是指將同一場景的兩幅或多幅相互間存在重疊部分的圖像進行空間匹配對準,融合處理后形成信息更完整和更全面的圖像[1-4]。有別于多源遙感圖像融合和多聚焦方式融合,拼接融合主要用于處理同種圖像傳感器以相同成像方式,在離散時刻拍攝的圖像(或多個同種傳感器在同時、不同角度拍攝的圖像),即時間序列圖像。拼接融合處理后的圖像能夠有效彌補單傳感器無法充分獲取目標信息的缺陷,解決圖像信息量不足的問題,更適合視覺感知或計算機處理[5]。目前,圖像拼接融合技術被廣泛應用在智能交通、虛擬現實技術等領域。圖像拼接融合的內容主要包括圖像配準、圖像拼接和融合兩部分。目前,主要有三種圖像配準方法:灰度信息配準方法[6]、特征配準方法[7]和變換域配準方法[8]。其中,基于灰度信息的配準方法是根據圖像中的灰度統計信息來確定圖像的相似度,計算量大,且對噪聲十分敏感;基于變換域的配準方法主要通過傅里葉變換的方法來實現,圖像的平移、旋轉、縮放等操作在頻域上都有體現,具備一定程度的魯棒性,但是其適用的范圍較小,處理信息量大,計算復雜度高。特征配準方法適用范圍廣,計算速度較快,且具有較高的魯棒性,是目前最常用的配準方法。常見的特征配準方法有:Moravec[9]、Harris[10]、Harris-Laplacian[11]、SIFT[12-13]。其中尺度不變特征變換匹配算法(Scale Invariant Feature Transform,SIFT)因其不受尺度、旋轉、光照等因素的影響,具有很強的穩定性,成為目前使用最廣泛的特征配準算法之一。
近年來,研究學者們針對SIFT 算法存在的問題,進行了很多改進。文獻[14]針對SIFT 特征描述符維數較高,計算量大這一問題,將主成分分析法(Principal Component Analysis,PCA)與SIFT結合,提出了PCA-SIFT,對特征描述符進行降低維數的處理,達到提高算法運行速度的目的;馮文斌等人[15]采用分級放射分區的方法構建64 維特征描述符;張勇等人[16]將SIFT 和Harris 結合,在提取SIFT 特征的過程中加入Harris 角點算子,并采用圓形窗口構建48維特征描述符。上述改進算法大多是針對SIFT 特征描述符的降維,當SIFT 提取到的特征點數量很大時,降維的效果并不明顯,且極易造成錯誤匹配。
在此基礎上,本文提出了一種減少SIFT 算法特征點個數的方法,并采用12 環的圓形窗口構建特征描述符,既減少了特征點個數,又對特征描述符進行了降低維數的處理,從而大大減少了配準的運行時間。然后用RANSAC 去除錯誤的配準點對,并采用漸入漸出融合算法將兩幅圖像拼接融合成一幅更完整的圖像,以增強圖像的邊緣和紋理信息。為了驗證算法的融合效果,本文對融合后的圖像進行了局部區域分塊檢測,并從信息熵、邊緣強度和峰值信噪比等幾個指標與融合前的圖像進行了數值化比較。實驗結果表明,本文算法具有較高的魯棒性,運算速度快,且具有較好的融合效果。
SIFT 算法通過構造圖像的尺度空間,并檢測圖像的極值點,從中確定關鍵點(key-point),以關鍵點為中心取其鄰域,構建SIFT特征點描述符,最后根據得到的特征描述符對圖像進行配準。
(1)尺度空間關鍵點檢測
SIFT算法利用高斯函數構造圖像的高斯金字塔,然后用高斯金字塔中上下兩個相鄰高斯尺度空間上的圖像差值來表示差分高斯(Difference of Gaussian,DoG)的響應值圖像。DoG的響應值圖像可以表示為:

其中,G(x,y,σ)是高斯核函數:

其中,I 是原始圖像;L 為圖像的尺度空間;σ 的大小決定不同尺度,σ 越大則圖像越模糊。如圖1為差分高斯金字塔。

圖1 差分高斯金字塔
建立差分高斯金字塔后,初步檢測DoG 局部極值點,并精確定位其空間位置和尺度。由于初步搜索到的候選極值點中包含對比度較弱、邊緣響應較強等不穩定的點,因此采用曲線擬合等方法剔除候選點中不穩定的極值點。剔除不穩定的關鍵點后,計算剩余合格的關鍵點鄰域像素的梯度方向分布特性,以此確定關鍵點的方向,其中部分關鍵點的方向包含主方向和輔方向,最后得到SIFT特征區域。
(2)局部特征描述
對計算后的關鍵點進行描述,得到局部特征描述符,包括校正旋轉主方向、生成描述子和歸一化處理三個部分。再根據關鍵點的方向調整坐標軸,使二者保持一致后,在每個關鍵點對應的尺度空間中,選取以關鍵點為中心、大小為16×16 的方形窗口作為一個鄰域范圍,將該范圍分成4×4 個子區域,計算每個子區域上像素的梯度幅值和方向,從而得到關于的梯度信息的累計直方圖,生成包含8 個方向向量信息的種子點。如此,一個關鍵點可生成4×4×8=128 維的SIFT 特征描述符。每個特征描述符不僅包括關鍵點,也包含了關鍵點周圍對它有貢獻的像素點,抽象表示了該區域的圖像信息,具有獨特性。最后,對特征描述符進行歸一化處理,消除光照變化的影響。
基于SIFT 算法存在的問題,本文對局部極值點的檢測方法和特征描述符的構建進行了改進,減少了關鍵點個數,并降低了特征描述符的維數,在保證算法準確性的前提下,提高了算法的運算速度。
3.1.1 改進的極值點檢測方法
SIFT算法中,在尺度空間中檢測極值點時,每一個像素點都要和其同一尺度相鄰的3×3-1 個像素點以及上、下相鄰兩個尺度的3×3×2個像素點,即總共26個相鄰像素點進行比較,從而得到局部極值點。但是由于一般圖像幀信息復雜,導致檢測到的特征點數量過多,容易產生錯誤匹配,且計算量過大,耗時久。本文改進了極值點的檢測方法,在極值點檢測階段,擴大了每個像素點的比較范圍,擴大了極值點的生成區域,從而使得極值點的數目得到減少,以去除部分錯誤匹配點對,降低錯誤匹配幾率,從而提高關鍵點質量。為了選取合適的檢測范圍,本文分別對3×3、5×5、7×7和9×9這4極值點檢測范圍進行了實驗,以對比檢測得到的關鍵點數量和運行時間,實驗結果見表1。

表1 極值點檢測范圍部分對比實驗結果
由表1 可知,隨著檢測范圍的不斷擴大,檢測得到的關鍵點數量不斷減少,檢測部分的運行時間不斷增加。根據實驗結果,綜合考慮算法的運行效率,本文選取5×5的區域作為檢測范圍,即總共74個相鄰像素點進行比較,從而減少關鍵點數目,在后續配準算法中減少算法的時間開銷。從整體算法的運行時間來看(見本文第4章),擴大檢測范圍能夠減少算法整體的運行時間。改進的SIFT的尺度空間局部極值點檢測如圖2所示。
則以每個像素點為中心像素點,分別以3×3、5×5的局部區域范圍進行極值點檢測,在列數為n 個像素、行數為m 個像素的圖像中,二者每層極值點遍歷的采樣比見公式(3):

圖2 5×5區域的SIFT的尺度空間局部極值檢測

其中,m=an。針對本文對局部極值點檢測范圍的改進,與傳統SIFT 算法進行了3 組對比實驗,得到待確定的極值點數量(包含不穩定的點)和剔除低對比度和邊緣響應不穩定等不合格的點后的關鍵點數量,如表2所示。

表2 極值點檢測方法改進前后分析比較
由表2可見,改進后的局部極值點檢測減少了關鍵點數目,從而減少了描述子生成的時間開銷。
3.1.2 改進的特征描述符
SIFT 算法在對特征點進行描述時,首先要對坐標軸進行調整,將坐標軸旋轉到關鍵點的方向,使二者的方向保持一致,以確保旋轉不變性。由于圓具有良好的旋轉不變性,Tang 等人[17]提出了在構建SIFT 特征描述符時,采用圓環形區域取代原SIFT 中的方形區域。因此,本文采用圓環形區域來構造特征描述符,無需考慮坐標軸是否與特征點的主方向相同,使得特征描述符自身具有旋轉不變性,從而免去了調整坐標軸方向的步驟,故減少算法復雜度,節省了時間開銷。
為了更合理地選取圓環形的環數,本文以關鍵點為中心,依次選取半徑為8~20的同心圓區域,分別構建半徑為8~20共13種SIFT特征描述符,并分別計算其時間和匹配正確率,進行對比實驗,結果如圖3、4所示。

圖3 圓環形區域取8~20環的計算時間

圖4 圓環形區域取8~20環的匹配正確率
根據實驗結果,本文取半徑為12 的同心圓區域。由于環形區域對特征點的影響與其距離特征點的大小有關,即與特征點之間的距離越近的環形區域的像素對特征點的描述貢獻越大,故本文采用(3,3,2,2,1,1)的環數構造,即將距離特征點最近的最內環設置為3 個環,而距離特征點最遠的最外環設置為1個環,如圖5所示。計算梯度累加直方圖時,以36°為單位計算每個環上的10個方向上的梯度累加直方圖。本文借鑒文獻[18]的方法,結合灰度差累加直方圖,將其引入SIFT 算法中,計算每個環的灰度累積值,并將子環區域的灰度累加值作為一維特征向量,引入特征描述符的構建,從而減少由灰度變化引起的錯誤匹配。最后,對每個子環內10個梯度累加值進行排序,并對特征向量進行歸一化處理,本文最后得到78維的特征描述符。

圖5 改進的特征描述符環構造
3.2.1 特征點初次配準
提取到兩幅圖像的特征點后,分別得到兩幅圖像的特征描述符的集合,采用K-D 樹的最優節點優先BBF搜索策略對兩個特征向量集進行搜索最近似特征向量。計算圖像1中的特征點與圖像2中距離其最鄰近的特征點間的距離和次鄰近特征點的距離的比值,得到配對的關鍵點描述子d(m,n)若滿足:

其中,threshold 為配準閾值。閾值大小的選取決定了配準點對的數量和質量。Lowe 建議設置為0.4~0.8 配準效果最佳。若設置的threshold 小于0.4 會導致配準點對數目較少;而設置的threshold 大于0.8則會存在大量錯誤的配準。本文設置配準閾值為0.58。
3.2.2 消除錯誤配準
RANSAC[19]是一種參數估計算法,其主要思想是:從樣本數據集中隨機選取一個子集,對該子集進行參數估計,從而確定參數估計模型。將所有樣本數據集帶入該模型,對其進行驗證,根據損失函數得到一致性集合。根據樣本數據集中符合一致性集合的點集數量大小,確定該模型的正確性。通過多次的假設與檢驗,最后得到一個全局最優的模型參數。在SIFT 中使用RANSAC算法,去除錯誤的配準,從而提高算法的匹配正確率。
在由兩幅圖像的特征點描述符對圖像進行配準后,需要根據圖像間的空間變換關系對圖像進行拼接融合。由于兩幅待拼接融合的圖像之間可能存在光照不同、幾何校正差異等情況,會導致拼接融合后的圖像存在明顯的拼接縫隙。因此,采用合適的圖像融合方法進行處理,使得拼接后的圖像的灰度信息保持一定的連續性,消除拼接縫隙,就顯得十分重要。傳統的加權平均融合算法的權重值的選取是固定的,這就使得很難消除由于兩幅圖像光照差別較大等原因引起的拼接縫隙,導致兩幅圖像拼接融合的效果相對較差。為了使拼接融合后的圖像邊界部分自然過渡,無明顯的結合痕跡,目前常用漸入漸出融合算法[20]進行圖像自然過渡,消除拼接縫隙。與傳統的加權平均融合算法不同,漸入漸出融合算法在兩幅圖像的重疊區域,使權重d 隨著像素點位置的變化呈線性變換,以此保持圖像的灰度信息能夠平滑過渡,消除拼接縫隙,提高圖像融合質量。權重d 的變化規律見公式(5):

其中,j 表示像素點的列數,L 和R 分別表示重疊區域的左邊界和右邊界。
假設f1( x,y )、f2( x,y )是兩幅待拼接的圖像,f( x,y)是融合后的圖像,則拼接融合后的圖像可表示為:

其中,d1、d2表示權重值,取值與重疊區域的寬度有關,且d1可由公式(6)計算得到,則d2=1-d1二者的取值范圍是0 <d1,d2<1,在重合區域中,d1由1漸變為0,d2由0漸變為1,因此完成了在重合部分中由f1平滑過渡到f2的過程,從而實現圖像的無縫拼接。
為更好地避免了重影,消除拼接縫隙,本文采用羅永濤等人[21]提出的一種最佳縫合線與改進的漸入漸出法相結合的圖像拼接融合算法(如圖6),在一定程度上提高了圖像拼接融合的質量。

圖6 漸入漸出融合權重變化規律
由于全局檢測不能有效體現圖像拼接融合后的細節信息,本文對拼接融合前后的圖像,從邊緣強度、信息熵、峰值信噪比等方面進行局部區域分塊檢測,評價圖像拼接融合的效果。
分別選取進行拼接融合的兩幅圖像的重合區域以及融合后圖像的該部分進行實驗分析。若圖像的重合區域的列和行分別為為n 和m 個像素,則每個小塊的大小為長br和寬bl:

其中,r 和l 是圖像重合部分的長和寬分別可以分成的份數:

計算每個小塊邊緣強度、信息熵、峰值信噪比。實驗見下文實驗結果及分析。
本文實驗平臺為Matlab R2015a,運行環境是CPU為Intel Core i5-6500 3.20 GHz,內存為4 GB的64位的Windows10操作系統,將500組圖像進行拼接融合實驗,由于篇幅限制,本文選取A~E共5組實驗,如圖7~11所示。

圖7 A組實驗待拼接融合圖像

圖8 B組實驗待拼接融合圖像

圖9 C組實驗待拼接融合圖像

圖10 D組實驗待拼接融合圖像

圖11 E組實驗帶拼接融合圖像
本文采用SIFT、PCA-SIFT 算法以及文獻[16]改進的SIFT算法和本文算法對5組圖像進行多次實驗,統計其平均匹配正確率和運行時間,結果如表3所示。可以看出,本文的算法在保證較高的匹配正確率的情況下,能夠有效減少算法匹配時間,降低時間復雜度。

表3 本文算法與其他算法的匹配正確率和運行時間的對比結果
在圖像配準后,使用漸入漸出融合算法來拼接融合待拼接圖像,得到A~E 共5 組實驗的拼接融合后的圖像,如圖12~16所示。

圖12 A組實驗拼接融合圖像

圖13 B組實驗拼接融合圖像

圖14 C組實驗拼接融合圖像

圖15 D組實驗拼接融合圖像

圖16 E組實驗拼接融合圖像
針對全局檢測圖像不能有效體現圖像拼接融合后的細節信息,本文對拼接融合后的圖像進行局部區域分塊檢測從邊緣強度、信息熵、峰值信噪比等方面來評價圖像拼接融合的效果。
如圖17 所示,選取拼接融合后的圖像和待拼接圖像的重疊區域,根據公式(7)~(9)進行局部區域分塊。在A組實驗中,取圖像的重疊區域,其大小為380×640,根據公式(7)~(9)將其分成列為38個像素、行為42個像素的局部圖像,共150 個小塊局部圖像,評價其拼接融合效果,實驗結果如表4所示。由表4可以看出,采用本文算法拼接后的圖像的信息熵更大,即圖像信息更豐富,邊緣強度得到增強,峰值信噪比較高,即有效抑制了噪聲。
本文針對SIFT 算法存在的問題,提出了一種基于改進的SIFT的圖像拼接融合算法。本文改進了特征點的檢測方法,擴大了極值點的檢測區域范圍,減少了關鍵點的數量;改進了特征點描述符的構造方法,并降低了特征描述符的維數;使用漸入漸出加權圖像融合算法進行圖像拼接融合,整個算法提高了圖像拼接融合的速度。圖像質量關鍵參數的局部區域分塊檢測表明,在具有良好的拼接質量的前提下,本方法具有快速、可靠、有效的特點。改進后的SIFT算法雖然有效降低了運行時間,但算法的匹配正確率提高不是很明顯,下一步將在此研究基礎上,提高算法匹配正確率。

圖17 均分成每小塊為38×42的局部圖

表4 圖像拼接融合效果數值分析(部分)