西安鐵一中國際合作學校 李思潼
在日常生活當中,我們時常遇到不能近距離大幅度拍攝畫面,而遠距離拍得的圖像又不甚清晰,分辨率低的苦惱。在市面銷售解決這一問題的魚眼鏡頭,廣角,超廣角式鏡頭又太過專業(yè),操作復雜并且價格相對較為昂貴,不適合普通人使用。即使是現(xiàn)在手機具備的全景式拍照功能,其拍得的圖片通常會變形且過小,從而無法展示圖像應有的細節(jié)。因此圖像拼接技術應運而生。
圖像拼接技術通過融合圖片,解決了分辨率過低,變形等問題。圖像拼接能夠將普通相機或手機拍攝的具有重疊部分的圖像進行自動拼接,實現(xiàn)全景圖像的效果,操作簡便且成本低廉,更貼近大眾用戶,具有廣泛的實際研究前景和實用意義。
本文所設計的圖像拼接系統(tǒng)可分為四個模塊:圖像獲取、圖像預處理、圖像配準和圖像融合。首先是圖像獲取模塊,該模塊首先要加載需要拼接圖像的張數(shù)和需要拼接的幾張圖像的路徑,運用Opencv讀取源圖像。接下來對象進行預處理,包括對待拼接圖像進行去除噪聲,畸形矯正和去除無關信息等。然后將預處理后的圖像輸出到圖像配準模塊進行匹配。在圖像配準模塊,首先是基于尺度不變特征轉換(Scale-Invariant FeatureTransform,SIFT)算法對待匹配的圖像提取局部特征,然后對這些特征點進行配準。最后在圖像配準的基礎上對圖像進行融合。圖像融合即需要找到要拼接的圖像的重疊區(qū)域,然后選擇合適的圖像融合算法將它們融合在一起。本文中選擇了像素加權平均融合算法來融合待融合的圖像,得到質量較好的拼接圖像。該系統(tǒng)的整體工作流程圖如圖1所示。
一般情況下,我們獲取和傳輸圖像的過程中或多或少會受到一些人為或者非人為因素的干擾。比如攝像者技術水平限制,拍照時光照條件不佳等情況。因此我們一般要對原始拍攝的圖像進行預處理。圖像預處理的目的是優(yōu)化圖像,包括去除一些噪聲,畸形矯正,和圖像增強等操作,這樣可以更方便對后續(xù)圖像進行處理。
圖1 圖像拼接系統(tǒng)工作流程圖
接下來結束圖像拼接系統(tǒng)圖像預處理部分常用的圖像去噪方法。幾乎所有的數(shù)字圖像處理系統(tǒng)都有圖像去噪這一步,去噪效果的好壞直接決定了整個系統(tǒng)是否能夠順利完成。作為圖像預處理中不可或缺的一步,圖像去噪有種多種典型方法。相機拍得的圖像常會有高斯、加性和“椒鹽”三種噪聲,其中高斯噪聲是由于相機等圖像獲取裝置內部的阻性器件造成的,它的概率密度函數(shù)符合高斯分布;加性噪聲不能全部消除,但可以通過算法減輕影響;“椒鹽”噪聲就是在一副黑圖像隨機分布了一些白點或者一副白圖像上的隨機分布有一些黑點,從而影響圖像的質量。
針對我們要拼接的圖像情況,可以采取以下一種或多種方法組合進行去除噪聲:均值濾波:這種方法是將每一個像素點的灰度級用它的鄰域的像素點灰度級平均值代替。這種濾波方法可以有效抑制加性噪聲,減弱尖銳點等,但同時也可能會帶來邊緣模糊的問題。中值濾波:該濾波方法是先將中心點像素及其鄰域像素的灰度級排序,然后將排序后的中間值灰度級代替中心像素點的灰度級。該方法也能減弱加性噪聲,且同時能夠較好地保留圖像邊緣和細節(jié)部分。中值濾波器在去除脈沖噪聲有著獨特的效果和優(yōu)勢。高斯濾波:這種濾波方法是用設計好的高斯核與圖像進行依次卷積,依次更新圖像的像素值。高斯濾波可以平滑圖像達到去除圖像噪聲的目的,同時也會模糊圖像。
待拼接的圖像進行預處理后,我們接下來要對圖像進行匹配。圖像匹配是基于局部特征提取的圖像拼接系統(tǒng)中尤為重要的一步,其匹配的結果將直接影響后續(xù)圖像融合的準確度。我們的圖像配準部分分為局部特征點提取、局部特征點匹配和RANSAC精匹配三部分。
圖像批準的第一步是提取圖像的局部特征。本文采用的是基于SIFT算法的SIFT特征點提取。SIFT(Scale-Invariant FeatureTransform)特征檢測方法是由David Low于2004年提出。SIFT特征算子具有對旋轉、尺度縮放和亮度變化能保持極強的穩(wěn)定性,甚至對噪聲也保持一定程度的不變性。
基于SIFT算法提取圖像的局部特征分為以下四步:1)檢測圖像尺度空間的極值,初步選出圖像關鍵點的位置;2)特征點精定位,在上一步確定的候選關鍵點擬合一個精確的模型進一步篩選出關鍵點;3)確定每一個關鍵點的方向信息;4)對這些特征點生成相應的特征描述符。
局部特征點匹配是將兩幅待拼接的圖像用上述方法提取的SIFT特征進行向量化,并求取兩幅圖像的SIFT特征向量的歐式距離,從而進行匹配。
在求得兩幅圖像的局部特征向量后,我們先選取待拼接圖像1的某一個關鍵點,再根據(jù)公式1求出在圖像2中與該關鍵點歐氏距離最近的關鍵點。依次循環(huán)求出所有匹配的關鍵點從而得到基于SIFT特征的待拼接圖像粗匹配結果。
步驟3.2中得到的匹配結果可能會存在誤匹配的情況,要是將粗匹配的結果直接用來做融合操作會影響圖像的拼接效果。因此需要對上一步粗匹配的結果進行精匹配,我們采用基于RANSAC的方法進行精匹配。
精匹配的方法可描述為:假設我們總共有N對粗匹配的關鍵點,這些關鍵點對大部分都符合一個模型,描述這個模型的所有參數(shù)至少需要n(n<N)對關鍵點才能求出。
篩選出誤匹配的關鍵點對方法如下:(1)在N對粗匹配關鍵點中隨機選取n對關鍵點;(2)用選出來的N對關鍵點計算出一個模型M;(3)求出剩下的N-n對關鍵點與模型M之間的距離,記下在我們設置的誤差允許范圍內的關鍵點對數(shù)count。重復以上三個步驟若干次后,我們把得到count值最大的模型當作我們要求的模型,在N對關鍵點中這count對關鍵點當作是我們精匹配的結果,而另外的N-count對關鍵點就當成是粗匹配過程誤匹配的結果。
在完成圖像的匹配后,我們要對圖像進行融合以完成拼接過程。首先我們要確定圖像的重合區(qū)域,然后保留各自獨立的區(qū)域,最后取重合的區(qū)域然后拼接在一起。但是拼接的結果很容易出現(xiàn)一些縫隙,使得圖像看起來不是那么自然。所以需要我們采用優(yōu)秀的融合算法使得拼接的結果看起來滿足人們的審美,看起來更為自然。圖像融合通常需要我們在信號級、像素級或者特征級上對圖像進行融合。融合算法通常有基于顏色差值、像素加權平均和多分辨率樣條技術等幾種方法。本文選擇了像素加權平均融合算法來進行圖像融合。
如公式2所示,f1(x,y)是圖像1的像素,f2(x,y)是圖像2的像素。我們將各自獨立的圖像區(qū)域保留,在重疊區(qū)域,我們合理選擇w1和w2的值,有效的消除拼縫,實現(xiàn)拼接處圖像的平滑過渡。最后實現(xiàn)的圖像拼接效果如圖1所示。
本文實現(xiàn)了一種基于局部特征提取的圖像拼接系統(tǒng),可以快速完成對多幅圖像的拼接。該系統(tǒng)有如下優(yōu)點:采取SIFT算法對待拼接圖像進行局部特征提取,運用SIFT尺度不變性等優(yōu)勢有效降低關鍵點的誤匹配概率;運用RANSAC算法進行精匹配,進一步提高匹配正確率;應用加權平均融合算法有效減少拼接縫隙,使得拼接后的圖像看起來既光滑無縫又顯得自然。同時本系統(tǒng)也有一些缺陷,比如在待拼接的圖像質量比較差包括曝光不合理、對比度較低等情況,拼接的效果將不是很理想,這也為下一步完善系統(tǒng)指明了改進方向。