?

改進SIFT的特征提取與圖像拼接方法

2023-07-08 07:26祥,周
桂林理工大學學報 2023年1期
關鍵詞:尺度空間拉普拉斯分塊

楊 祥,周 楠

(桂林理工大學 信息科學與工程學院,廣西 桂林 541006)

0 引 言

隨著科學技術的發展, 使用無人機構建局部地區的遙感圖像已經成為了一個較為熱門的研究課題[1-2]。無人機具有靈活、 便捷、 高速的特點, 在許多領域和場合中得到十分廣泛的應用, 例如交通監管、 資源探測、 森林防火、 氣象監測等[2]。但也存在拍攝圖像尺寸較小、 單張圖片反映出來的信息受限等不足, 需要多次拍攝并將圖像進行拼接得到區域的遙感圖像。

圖像拼接通過配準、 變換和融合等方式把多張具有重疊部分的圖像經過處理后成為一張廣角清晰的圖像[3]。圖像的拼接過程大致分為3個主要步驟: 圖像特征點的有效提取與匹配、 圖像的配準以及圖像的無縫融合[4]。圖像中的特征點通常是指在一幅圖像中具有代表性的部分, 然而由于這些特征點所包含的信息因素相對較少, 只能反映出其所處位置在圖像中的坐標信息, 因此, 如何在兩幅圖中找出相匹配的特征點無疑是其中的關鍵; 圖像的配準主要是采用了某種匹配的策略, 根據這種策略, 找出帶拼接圖像中所對應的模板, 據此模版進行圖像配準; 圖像的無縫融合是根據匹配對, 對圖像具有重疊的部分進行融合拼接, 從而得到圖像的全景拼接圖像。

由于無人機易受天氣的影響、 飛行姿態不穩定, 并且存在傾角大、 視差不連續和圖像間重疊度變化明顯等缺點, 在航拍過程中圖像容易發生畸變, 使陰影區域所影響的灰度產生局部的變化, 從而影響匹配的準確性, 因此需要一種具有高效魯棒性的圖像拼接算法。賈文超[5]采用ORB算法提取出特征點實現全景圖像的拼接; 宋偉等[6]提出了改進AKAZE-BRISK特征的影像拼接算法; 徐啟文等[7]提出具有動態閾值的SURF算法, 結合改進的漸進漸出圖像融合算法進行圖像拼接; 朱軍桃等[8]提出基于ORB算法和改進KNN-RANSAC算法進行無人機遙感影像拼接。

SIFT算法[9-11]因其魯棒性較強而被廣泛應用于圖像拼接, 然而該算法提取的特征點數目大, 分布不均勻, 直接用該算法進行拼接會導致特征點匹配時間長、 匹配的錯誤率較高的問題?;诖? 本文提出一種基于分塊的SIFT特征點結合RANSAC的拼接技術: 首先將原始圖像均勻分塊, 并對子塊中對比度較小的特征點進行過濾, 從而減少從圖像中提取到的特征點數量, 使特征點分布均勻; 然后利用RANSAC算法進一步剔除誤匹配點; 最后使用拉普拉斯金字塔進行圖像的融合。

1 基于SIFT的特征提取

1.1 SIFT算法介紹

SIFT算法是由Lowe D G于1999年提出的一種局部檢測特征的方法, 該算法具有較好的穩定性和尺度不變性, 并于2004年得到進一步的改進和發展[12]。SIFT算法在圖像的拼接、 檢索以及目標識別中起著極為重要的作用, 具有良好的平移、 旋轉和縮放不變性[13]。SIFT算法的具體步驟為:

① 尺度空間極值檢測。尺度空間理論的目的是能夠對圖像中的數據進行多尺度空間特性的模擬。利用高斯核函數對輸入的原始圖像進行卷積運算, 以此建立一個可以輸出圖像的尺度空間。

(1)

L(x,y,σ)=G(x,y,σ)*I(x,y)。

(2)

其中:G(x,y,σ)為高斯核函數; (x,y)指的是空間的坐標;L(x,y,σ)是圖像的尺度空間;I(x,y)為原始圖像;σ的大小反映了圖像的平滑程度; *為卷積運算符。

將原始的圖像采樣利用高斯濾波函數進行反復降階采樣, 可以直接獲取和輸出一系列尺寸大小不一致的梯形圖像, 即高斯金字塔。通過高斯金字塔每組內的圖像相減, 可以得到高斯差分金字塔。

② 關鍵點定位。特征點是通過高斯差分金字塔的極值點所確定的。將待檢測的像素點與周圍所有像素點進行比較, 若此像素點比周圍26個像素點都小或者都大, 則認為該點為極值點。

通過將尺度空間內的DoG函數進行曲線擬合, 可以計算出極值點的偏移量。通過圖1可以看出,上述方法所檢測到的極值點并不是真正的極值點, 兩者之間存在一個偏移量。將尺度空間DoG函數曲線擬合, 來獲得極值點的偏移量。DoG函數在尺度空間的泰勒展開式為

圖1 離散空間與連續空間極值點的差別Fig.1 Difference of extreme points between discrete space and continuous space

(3)

其中:X為極值點偏移量(Δx, Δy, Δσ)T;D(X)為X所對應的DoG函數值。 對上式求導數, 并令結果為零, 可以計算出極值點的偏移量, 即

(4)

在檢測到的所有特征點中, 首先要去除掉一些對比度較低的特征點及一些不穩定的邊緣響應點。

(5)

由于DoG算子對噪聲和邊緣響應較為敏感, 因此只有將獲得的特征點進行進一步的剔除才能獲得真正的特征點。首先獲取該特征點的Hessian矩陣, 并且根據該矩陣計算出極值點的邊緣響應值, 再去除邊緣響應較大的點。

(6)

(7)

其中:H為Hessian矩陣, 其特征值α和β代表x和y方向的梯度; trH為矩陣H的跡; detH為矩陣H的行列式;γ為主曲率的閾值。

③ 關鍵點方向分配。對確定的特征點指定一個方向, 并且根據這個方向作進一步的計算。利用特征點鄰域像素的梯度方向分布特性為每個特征點指定一個方向參數, 使其具有旋轉不變性

(8)

(9)

其中:m(x,y)為像素點的梯度幅值;θ(x,y)為像素點的方向。

④ 關鍵點特征描述。通過上述計算, 每個關鍵點都具備了3個固定的信息, 分別是位置、 尺度以及方向。使用一組向量對每個關鍵點進行描述, 建立描述符。將每個關鍵點周圍的區域分別規劃成16個子區域, 為每一個子區域分別進行設定, 并給出8個方向, 因此構成一個128維向量, 將該向量視為SIFT描述子。

1.2 基于分塊的SIFT算法

將原始圖像進行分塊處理, 對每一個子塊采用SIFT算法提取出圖像的特征點, 保留每個區域中對比度高的特征點, 再對所有區域中經過處理的特征點進行合并, 完成整個圖像的特征點提取, 如圖2所示。該方法僅保留每個子區域中對比度較高的特征點, 使得整個圖像的特征點數大大降低, 提高了圖像拼接的效率。

圖2 圖像分塊圖Fig.2 Image block diagram

2 特征點匹配

使用分塊SIFT算法完成特征點的提取后, 需要對獲取到的特征點進行特征匹配。該算法主要采用的是基于歐氏距離的最鄰近匹配算法

(10)

其中:Ri=(ri1,ri2, …,ri128)為匹配圖像中特征點的描述符;Si=(si1,si2, …,si128)為待匹配圖像中特征點的描述符。當最近距離與次近距離的比值小于事先所設置的閾值時, 認為該點為匹配點。

上述方法雖然能在一定程度上可以去除外點, 但是會存在一定的誤匹配點, 從而影響圖像的拼接質量[14]。本文選擇了魯棒性較高的RANSAC算法用來對錯誤的匹配點進行進一步的剔除[15-16]。

RANSAC算法的具體步驟為: ① 從匹配的特征點中隨機抽取4個匹配點, 以此求解圖像的初始變換矩陣; ② 利用步驟①中得到的初始變換矩陣來測試其他匹配點, 當差值小于設定的閾值時, 記該點為內點, 當差值大于設定的閾值時, 記該點為外點; ③ 重復步驟①和②, 選取內點數目最多的對應變換矩陣為圖像的最佳變換矩陣, 并對不滿足該矩陣的外點進行剔除; ④ 利用RANSAC算法進行多次迭代, 尋找圖像的最佳變換矩陣, 有效去除錯誤的匹配點對。

3 圖像拼接

3.1 單應性矩陣計算

本文采用單應性變換使得兩幅圖像基本對齊, 用投影矩陣H來表示兩幅圖像之間的對應關系, 用RANSAC算法獲得的最佳變換矩陣作為投影矩陣H。設P1(x1,y1)和P2(x2,y2)分別為兩幅圖像中的匹配點, 則二者間的映射關系為

(11)

3.2 拉普拉斯金字塔融合

由于拍攝角度不同、 拍攝圖像的明暗差別、 特征點匹配精度低等問題, 會造成所拼接的圖像出現拼接痕跡。本文采用拉普拉斯金字塔算法來進行圖像的融合[17], 該算法的具體步驟如下: ① 搭建高斯金字塔; ② 用高斯金字塔內相鄰一層的圖像數據相減, 得到拉普拉斯金字塔; ③ 將帶拼接圖像重疊區域的相同層的拉普拉斯金字塔相加, 再由最底層的融合圖像逐層向上疊加得到融合后的圖像。

4 結果分析

4.1 平臺與實驗數據

電腦配置為: 處理器2.3 GHz雙核IntelCore i5, 內存8 GB, 以PyCharm為開發平臺, 通過Python語言實現圖像的拼接算法, 并通過配置OpenCV 4.5.1庫以提高圖像處理代碼的效率。

研究區域位于桂林理工大學雁山校區, 圖像采集設備為大疆無人機MINI2專業相機, 圖像尺寸為2 560×1 280, 如圖3所示。

圖3 3組待拼接圖像Fig.3 Three sets of images to be spliced

4.2 特征點匹配實驗對比

分別對3組圖像進行了特征點的匹配, 首先將原始圖像均勻分塊, 分塊的數量與圖像的分辨率相關, 如果分割的圖像塊太小則會導致提取到的特征點數目過少, 并且會使原始圖像的連續性遭到破壞。本文將每一張圖像劃分成5×5塊, 每個圖像塊的像素為512×256, 保留每個圖像塊中對比度較大的前25%的特征點, 再使用RANSAC算法剔除錯誤匹配點。3組圖像的匹配效果對比圖如圖4所示。表1為3組圖像分別使用原始SIFT算法和基于分塊的SIFT算法經過RANSAC算法處理前后的匹配點個數統計結果。表2為3組圖像分別使用原始SIFT算法和本文算法的效率對比。

表2 3組圖像中本文算法與傳統SIFT算法效率對比Table 2 Comparison of efficiency between proposed algorithm and SIFT algorithm in three sets of images

圖4 3組圖像匹配效果對比Fig.4 Comparison of matching effect of three sets of images

可以看出, 本文算法與傳統算法相比特征點匹配對數平均降低了80.45%, 在特征點提取時間方面平均減少了70.83%, 特征點匹配時間減少了75.64%, 總拼接時間平均減少了71.37%。由此可見, 改進后的算法與傳統算法相比匹配效率明顯提高。對圖像進行分塊后, 通過對每個子塊的特征點進行過濾, 極大地減少了特征點的數量, 提高了圖像的拼接效率。

4.3 圖像拼接

通過所獲得的上述變換矩陣, 對待拼接圖像進行透視變換, 最終完成圖像的拼接。為了驗證本文所使用的拉普拉斯金字塔融合算法的有效性, 將直接拼接圖像(圖5a列)與經過拉普拉斯金字塔融合算法拼接的圖像(圖5b列)進行對比。

圖5 3組圖像拼接結果對比Fig.5 Comparision of splicing results of three sets of images

在a列圖中有一條明顯的界限, 由于拍攝的角度以及圖像的亮度有所不同, 即便獲得的變換矩陣足夠精確, 也是會產生拼接的痕跡。通過拉普拉斯金字塔融合算法對圖像信息進行融合, 消除了圖像的拼接的痕跡, b列圖的拼接效果更加自然。

5 結 論

本文提出了一種結合分塊SIFT特征點提取和拉普拉斯金字塔融合的圖像拼接方法。首先改進了SIFT算法對特征點的提取, 先將原有的圖像均勻分塊, 對每一個子塊采用SIFT算法直接進行特征點的提取, 保留對比度較高的特征點, 該方法能夠更加準確地提取到特征點, 極大地減少了噪點; 再利用RANSAC算法去除錯誤的匹配點, 以防特征點過多造成匹配效率低; 最后采用拉普拉斯金字塔融合算法對處理后的圖像進行拼接, 這種算法可以很好地消除圖像拼接產生的接縫。實驗證明, 該方法可以極大地減少匹配點的數量, 提高匹配效率, 能夠獲得良好的拼接圖像。

猜你喜歡
尺度空間拉普拉斯分塊
基于AHP的大尺度空間域礦山地質環境評價研究
分塊矩陣在線性代數中的應用
居住區園林空間尺度研究
反三角分塊矩陣Drazin逆新的表示
基于超拉普拉斯分布的磁化率重建算法
基于自適應中值濾波的分塊壓縮感知人臉識別
基于多分辨率半邊的分塊LOD模型無縫表達
基于降采樣歸一化割的多尺度分層分割方法研究
基于尺度空間的體數據邊界不確定性可視化研究
位移性在拉普拉斯變換中的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合