王雪靜, 王小鵬, 閆建偉, 魏沖沖
(蘭州交通大學 電子與信息工程學院, 蘭州 730070)
電子穩像旨在消除視頻序列中的各種抖動,為此諸多學者提出了各種解決方法。常見的穩像方法有灰度投影法[1]、塊匹配法[2]、位平面匹配法[3]和特征點匹配法[4]?;叶确ㄋ惴ê唵嗡俣瓤?,但是要求圖像灰度變化豐富,不能處理具有旋轉的圖像。相位相關法可以匹配旋轉角度很大的圖像但是計算量大。位平面法計算量小但不穩定。相對而言特征點匹配法即可以保證精度,同時計算量也較小,因此本文采用SIFT[5]特征匹配算法。
電子穩像算法有兩大基本步驟:運動估計和運動補償。運動估計就是找出當前幀相對于參考幀的偏移量。運動補償就是估計出偏移量后對圖像進行補償。運動估計是穩像算法中的最為關鍵的步驟。本文采用特征點匹配算法計算圖像的偏移量。
基于特征點的運動估計要盡可能準確的提取出圖像的特征點并進行匹配,所以選擇高精度的方法十分重要。本文采用的SIFT算法是一種在的尺度空間下提取圖像特征點的方法,即尺度不變特征變換(Scale Invariant Feature Transform),解決了不同尺度下圖像特征點提取問題。SIFT算法獨特性好,信息量豐富,精確率較高。
SIFT算法是一種提取局部特征的算法,在尺度空間尋找極值,提取極值點位置,尺度,旋轉不變量。SIFT匹配算法分為以下幾個步驟。
1.1.1 特征點的檢測
1) 尺度空間建立
首先建立尺度空間,一幅二維圖像I(x,y)尺度空間定義為:

其中,G(x,y,)σ是尺度可變高斯核函數。(x,y)是空間坐標,σ是尺度因子。
2)建立高斯金字塔和DOG金字塔。
為了得到在不同尺度空間下的穩定特征點,將圖像I(x,y)與不同尺度因子下的高斯核進行卷積,得到不同的尺度空間,再用不同的尺度空間構成高斯塔。通常在同一組中,如果一幅圖的尺度因子為σ,下一幅圖中的尺度因子為k×σ。
高斯金字塔可分為兩步:(1)對圖像做高斯平滑;(2)對圖像進行降采樣。
通常高斯金字塔為4組,每組有5層。第二組金字塔第一層圖像由第一組金字塔中間層尺度圖像進行降采樣得到,采樣因子為2,以后每組金字塔類似的由上一組金字塔得到。如圖1所示。

圖1 高斯金字塔構造
現在使用這些圖像來生成另一類圖像組Differece of Gaussain(DOG),即求高斯算子的差值。DOG(Difference of Gaussian)是相鄰的兩尺度空間函數之差,用公式表示為:

DOG金字塔通過高斯金字塔中相鄰尺度空間函數相減即可,如圖2所示。

圖2 DOG金字塔構造
3) DOG空間極值點檢測
在尺度空間下尋找局部極值點。在DOG空間的金字塔中間層的每個像素需要和它周圍的8個點及上下層中相鄰的9個點共26個像素點進行比較,如果這個像素點是極值點則保存該點。如圖3所示,標記為白色的點與周圍26個點進行比較。

圖3 尺度空間極值檢測
1.1.2 特征點定位
檢測出的這些極值點并非都是特征點,由于DOG函數對邊緣和噪聲比較敏感,這些極值點還需要進一步檢驗。
首先去除低對比度的極值點。用泰勒公式將D ( x,y,σ)在局部極值點 ( x0,y0,σ)處展開。

其中x= (x,y,σ)。
上式對x求偏導并令結果為0,得到精確的極大值點Xmax。

將(4)帶入(3)中,取前兩項得到下式。
計算出 D ( Xmax),這里設定了一個閾值0.03。如果D ( Xmax)≥0.03,則保留該點,否則丟棄。

下一步是消除不穩定的邊緣響應點。DOG函數中定義不好的極值點在橫跨邊緣的方向有較大的主曲率,在垂直邊緣的方向有較小的主曲率。而主曲率通過計算在該點的2×2的Hessian矩陣H求出:

其中,

D的主曲率和H的特征值成正比,計算它們的比率。
令α為最大特征值,β為最小特征值,則:

令α=rβ,則:

1.1.3 特征向量生成
1)特征點方向確定
經過上述步驟得到的點為特征點,然后為這些點指定方向和模值。利用特征點臨域像素的梯度方向分布特性為每個特征點指定方向參數,使算子具備旋轉不變性。
式(8)分別為點(x,y)處的梯度模值和梯度方向公式。

L所用尺度為每個像素點各自所在的尺度。
在以特征點為中心的鄰域窗口內采樣,并用直方圖統計鄰域像素的梯度方向。梯度直方圖的范圍是0°~360°,其中每10°一個方向,總共36個方向。
特征點的方位用梯度直方圖來決定。對直方圖進行兩次高斯平滑。直方圖峰值代表了該特征點處臨域梯度的主方向,即作為該特征點的方向。如果存在其他相當于主峰值80%的峰值時,這個方向就認為是該特征點的輔方向。所以一個特征點可能會有一個主方向,多個輔方向,可以增強匹配的魯棒性。
2)生成特征點描述子
通過以上步驟,每一個特征點都擁有3個信息:位置、尺度、方向。下面為每一個特征點建立一個描述子。
首先將坐標軸旋轉為特征點的方向,以確保旋轉不變性。
以特征點為中心取8×8的窗口。圖 4(a)中的中央黑點為當前特征點的位置,每個小格代表特征點鄰域所在尺度空間的一個像素,箭頭方向代表該像素的梯度方向,箭頭長度代表梯度模值,圖中黑色的圈代表高斯加權的范圍。然后在每4×4的小塊上計算8個方向的梯度方向直方圖,繪制每個梯度方向的累加值,即可形成一個種子點,如圖 4(b)所示。此圖中一個特征點4個種子點組成,每個種子點有8個方向向量信息。

圖4 圖像梯度信息及特征向量
實際計算過程中,為了增強匹配的穩健性,對每個特征點使用 4×4共16個種子點來描述,這樣對于一個特征點就可以產生128個數據,即最終形成128維的SIFT特征向量。此時SIFT特征向量己經去除了尺度變化、旋轉等幾何變形因素的影響,再繼續將特征向量的長度歸一化。
1.1.4 特征向量匹配
當兩幅圖像的SIFT特征向量生成后,對其進行相似度判定,此處采用特征點特征向量的歐式距離作為兩幅圖像中特征點的相似性判定度量,即在圖像2中找到與圖像1中的特征點歐式距離最近的前兩個特征點,當最近距離和次近距離的比值小于某個比例閾值r時,則接受這個匹配點對,r越小,匹配的精度越高。
運動補償的目的是校正當前幀,在只考慮攝像機平移運動的情況下,采用平移模型:

其中,(xk+1,yk+1)與( x k, yk )是參考幀和當前幀的一對特征匹配點,(? x,? y)是當前幀相對與參考幀的偏移量。根據式(8)計算出的偏移量,對每一幀進行補償。
實驗選取在鐵道路口拍攝的一組視頻,視頻因火車經過時引起攝像機的震動導致視頻的抖動。在MATLAB環境下用本文方法進行穩像實驗。實驗中,k取值為,閾值r≤0.4。最后采用RANSAC算法對匹配點進行檢驗,剔除錯誤匹配點。圖5(a)和圖5(b)為當前幀與參考幀的特征點提取結果圖像,其中每個特征點使用 4×4共16個種子點來描述。圖5 (c)~(e)分別為參考幀、當前幀及穩像后的幀圖像。


圖5 實驗圖像
表1給出了在參考幀與當前幀中提取的特征點數以及匹配點數及匹配準確率,可以看出,SIFT算法可以提取大量的特征點,經驗證后的匹配點準確率也較高。

表1 特征點匹配結果
在分析SIFT算法基本原理的基礎上,將其應用電子穩像過程中的運動矢量估計。由于SIFT算法能夠在不同的尺度空間下提取圖像特征點,并采用多維向量描述SIFT特征信息,因此,獲得的特征點數量多且獨特性好,可以較準確地對參考幀和當前幀圖像進行特征匹配,從而得到較好的穩像效果。
[1]汪小勇,李奇,徐之海,等.用于實時數字穩像的灰度投影算法研究[J].光子學報,2006,9(8):1268-1271.
[2]余穎,胡繼承.基于預測搜索距的快速塊匹配運動估計算法[J].計算機工程與設計,2005,26(8):155-2157.
[3]張博,任廣輝.采用下采樣和位平面匹配的局部運動估計[J].光電工程,2005,32(2):75-79.
[4]朱娟娟,郭寶龍.一種魯棒的電子穩像系統[J].西安電子科技大學學報:自然科學版,2007,34(3):418-422.
[5]Lowe, D.G. Distinctive Image Features from Scale-Invariant Keypoints[J].International Journal of Computer Vision,2004,60(2):91-110.
[6]Battiato, S.G.Gallo, G.Puglisi.SIFT Features Tracking for Video Stabilization[C].14th International Conference on Image Analysis and Processing (ICIAP 2007).
[7]徐曉鵬.基于改進sift算法的目標識別研究[D].南京:南京理工大學,2011.
[8]任苗苗.用于視頻監控的電子穩像算法研究[D].哈爾濱:哈爾濱工業大學,2010.
[9]于麗莉,戴青.一種改進的SIFT匹配算法[J].計算機工程,2011,37(2):210-212.