楊志芳,袁家凱,黃瑤瑤
(武漢工程大學 電氣信息學院,武漢430205)
近年來,隨著計算機視覺技術的發展和照相像素品質的提高,圖像拼接技術成為圖像處理領域的熱點。 全景圖在工程領域的應用越來越廣泛,室內全景圖能很好地展示室內裝修效果。 圖像拼接技術是將具有重疊區域的一系列圖像拼接為一幅具有較寬視角圖像的技術。 該技術將2 幅圖像進行同一場景匹配,找出最終匹配的對應關系,從而獲得寬闊的視角圖像[1-3]。 它克服了一般成像設備視野受限和廣角鏡頭失真嚴重且價格較貴的弊端,在不改變硬件條件的前提下極大地拓展了人們的視野[2]。 目前主要有3 種圖像配準方法:灰度信息配準方法[4]、特征配準方法[5]和變換域配準方法[6]。
特征配準方法的尺度不變特征變換SIFT 計算機視覺算法[7],用于偵測與描述影像中的局部性特征。 改進的SIFT 算法[8]能夠找出獨特的關鍵點不會受移動、轉動、縮放、仿射變換、亮度等外在因素影響而改變其特性,因此廣泛應用于圖像識別與匹配的領域[9-10]。 文獻[11]將SIFT 與Harris 結合,在提取SIFT 特征過程中加入Harris 角點算子以增強特征點的提取精度。 改進后的算法相對于其他特征算法具有方向和尺度不變性,具有不會因光照、仿射變換、噪音等因素而變化的特點。SIFT 算法在角點、邊緣點、暗區的亮點及亮區的暗點等檢測環境中的適應性更高。 在相同圖像尺度空間的情況下,SIFT 算法下每組圖像的長寬均是上一組的一半,同一組不同層圖像之間尺寸一樣。而在SURF 算法中,不同組間圖像的尺寸都是一致的,不同組間使用的盒式濾波器的模板尺寸逐漸增大,同一組不同層圖像使用相同尺寸的濾波器, 因此SIFT 算法的精確度更高。高精度的性能與之對應的會有更復雜計算方法和計算量,降低了SIFT 特征點的計算速度。 基于SIFT算法抗干擾能力強和精度高的特點,在此采用SIFT算法實現了室內全景圖像的拼接。
室內全景圖像是由多張具有重合區域不同角度的圖像拼接而成,在此用5 張圖像進行拼接。為了減少圖像中的亮度和各種噪聲的影響,需要對每張圖像進行預處理提高圖像的對比度以及濾波處理;采用SIFT 算法進行每張圖像的特征點進行描述,使用FLANN 方法篩選有效的匹配特征點,濾除無效的匹配特征點;在完成有效特征點匹配后進行圖像融合。 全景圖像的拼接流程如圖1所示。

圖1 全景圖像拼接流程Fig.1 Panoramic image splicing flow chart
圖像的預處理主要分為圖像增強和噪聲消除2個部分。
圖像增強根據處理空間的不同分為空域和頻域處理方法。 基于空域的方法是直接對圖像進行處理;基于頻域的方法是在圖像的某種變換域內對圖像的變換系數進行修正, 再反變換到原來的空域,得到增強的圖像。 原圖如圖2 所示,對原圖直接采用空域增強的方法改善圖像的視覺效果,可以提高圖像的對比度和清晰度, 同時提高圖像的梯度變化,增強不同物體間特征的差別,突出SIFT 算法感興趣的特征點。 噪聲的消除主要采用濾波方法消除圖片的外部噪聲,減少圖像無效特征點的產生。 預處理后的圖像如圖3 所示。

圖2 原圖像Fig.2 Original pictures

圖3 預處理后的圖像Fig.3 Pretreated images
根據Lowe 2004年對SIFT 算法改進和SIFT 特征點不變性的總結,特征點描述和提取過程如下:
(1)構建DoG(difference of Gaussian)高斯金字塔
DoG 金字塔形成尺度空間,高斯金字塔是構建DoG 金字塔的基礎。 DoG 金字塔是尺度空間構建的基礎,高斯核是唯一可以產生多尺度空間的線性核[12]。 二維高斯核的定義為


二維圖像為I(x,y)的尺度空間L(x,y,σ)有即圖像I(x,y)在尺度空間內與高斯內核G(x,y,σ)的卷積。 式中:σ 為尺度因子。
Lowe[7]提出高斯差分DoG 方程與圖像I(x,y)卷積求得尺度空間極值,用D(x,y,σ)表示為

式中:系數k 為相鄰的2 個尺度比。
圖像I(x,y)與不同尺度的高斯核進行卷積得到圖像的一組尺度空間,將這一組圖像作為金字塔的第1 階(octave);取其中的2 倍尺度圖像以2 倍像素距離進行下采樣,得到金字塔第2 階的底層圖像。 以同樣的方式依次向上卷積和采樣,可以得到第2 階、第3 階(octave)等,由此形成高斯金字塔的完整圖像。 通過每一階相鄰的高斯圖像相減形成高斯差分圖像,即DoG 圖像,如圖4 所示。

圖4 高斯圖像與DoG 圖像Fig.4 Gaussian image and DoG image
在DoG 金字塔的尺度空間中,中間層的每個像素點都需要與同一層的相鄰8 個像素點及其上一層和下一層的9 個相鄰像素點總共26 個相鄰像素點進行比較,以確保在尺度空間和二維圖像空間都檢測到局部極值。 DoG 圖像極值檢測示意圖如圖5所示。

圖5 DoG 圖像極值檢測Fig.5 DoG image extremum detection
(2)確定特征點的位置
由于SIFT 特征點的特性對邊緣和不穩定的點很敏感的原因,需要對局部的極值點進行擬合精確特征點的位置。將尺度空間極值D(x,y,σ)方程進行Taylor(泰勒)展開:

其中

對式(4)求導,令其為零,得到精確極值位置X^為

將式(5)代入式(4),得到


圖6 圖像的SIFT 特征點Fig.6 SIFT feature points of image
利用特征點鄰域像素的梯度方向分布特性為每個特征點指定方向參數,從而使算子具備旋轉不變性。 則該特征點的梯度幅值為

該特征點的梯度方向為

用梯度方向直方圖來統計鄰域像素的梯度方向,直方圖以每10°方向為一個柱,共36 個柱,也就覆蓋了0°~360°的范圍。 直方圖的峰值代表該特征點鄰域或梯度的主方向, 作為該特征點的主方向。如果某個側峰達到頂峰80%就將這個方向作為輔助方向。
(3)特征點的描述
在計算關鍵點后進行描述形成描述符,描述符的梯度和方向與特征點相對應。 圖像梯度及特征點描符如圖7 所示。

圖7 圖像梯度及特征點描符Fig.7 Image gradient and feature point description
以特征點為中心位置,取8×8 的像素單元塊如圖7(a)所示,每一個小格代表特征點鄰域所在的尺度空間的一個像素, 箭頭所指為像素的梯度方向,箭頭長度為梯度的幅值,圖中圈內代表高斯加權的范圍(越靠近特征點的像素,梯度方向信息貢獻越大)。 然后,在每個4×4 的像素小塊上計算8 個方向的梯度方向直方圖,繪制每個梯度方向的累加值來形成一個種子點,如圖7(b)所示。 圖7(b)中一個特征點由2×2 共4 個種子點組成,每個種子點8 個方向信息,可產生2×2×8 共32 個數據,形成32 維的SIFT 特征向量即特征描述符[13]。 最后將特征向量歸一化去除光照變化影響。
FLANN(fast library for approximate nearest neighbors)算法是基于K 均值樹或者KD-Tree 搜索操作的二值特征匹配方法,是一個對大數據集和高維特征進行最近鄰搜索的算法的集合,而且這些算法都已經被優化過。 在面對大數據集的處理時它的效果要好于BFMatcher,其匹配結果如圖8 所示。

圖8 FLANN 特征點匹配Fig.8 Matching of FLANN feature points
隨機k-d(dimensional)樹算法建立多棵隨機k-d樹, 從具有最高方差的Nd維中隨機選取若干維度,用來做劃分。在對隨機k-d 森林進行搜索時候,所有的隨機k-d 樹將共享一個優先隊列。 增加樹的數量能加快搜索速度,考慮內存負載的問題,樹的數量一般控制在20 的范圍以內。
層次聚類樹是用k-medoids 的聚類方法,聚類中心一般都是某個輸入數據點,該算法未像k-medoids聚類算法那樣最小化方差求聚類中心,而是直接從輸入數據中隨機選取聚類中心點。 這樣的方法在建立樹時更加簡單有效,還保持了多棵樹之間的獨立性[14],同時建立多棵樹,在搜索階段并行地搜索它們能大大提高搜索性能 (歸功于隨機地選擇聚類中心,而無需多次迭代去獲得更好的聚類中心)。 建立多棵隨機樹的方法對k-d tree 也十分有效, 但對于k-means tree 卻不適用。
完成圖像的特征點匹配以后直接拼接圖像時,重疊區域會產生裂縫、“鬼影”并帶有明顯的亮度變化現象。 因此,采用加權平均圖像融合的方法消除這種現象,使圖像重疊的中間區域較好地適應左右兩邊平滑的過渡,實現無縫無損的圖像拼接。
加權圖像融合的計算公式為

其中

式中:α,β 為重疊區域的權值。 待融合圖像如9 所示,圖像融合后的結果如圖10 所示。

圖9 待融合原圖像Fig.9 Original images to be fused

圖10 融合圖像Fig.10 Fusion image
試驗的硬件平臺為Intel (R)Core(TM)i3-8100 CPU@3.60 GHz,軟件為Visual Studio 2015。
將5 幅圖像按照兩幅圖像融合原理依次進行拼接,最后的結果如圖11 所示。 由圖可見,圖像的拼接程度非常完整, 能夠達到眾多應用場景高精度、廣視角的室內全景圖像的應用要求。

圖11 室內全景圖像Fig.11 Indoor panoramic image
本文提出了一種基于SIFT 算法提取特征點,并用FLANN 最近鄰算法進行特征點匹配來實現室內全景圖像拼接設計。由于SIFT 算法提取特征點具有位置、旋轉和尺度不變性,應用于高精度、高細節品質圖像處理時具有良好適應能力。 通過FLANN 算法的k-mean tree 匹配特征點,具有非常精準的匹配能力,魯棒性高,輸出圖像噪聲少、拼接效果非常好等特點好,可廣泛應用于各個領域。