馮向東
(成都理工大學工程技術學院,四川樂山 614000)
伴隨著信息時代的飛速發展,人們能從相機和手機等設備中獲得大量的圖像及視頻等信息。但單一設備所能獲得的場景是十分窄小的,完全不足以滿足實際工作的需要[1]。為此,想要擁有更高的分辨率、更大視野的景像,就需要使用多個設備來獲取圖像,并對視頻影像進行拼接,以便擴大視野范圍。視頻拼接技術完全可以降低人工成本,同時增強人們對周邊環境的識別與感知能力,在多個領域有著及其廣泛的應用,其重要性也越來越高[2-4]。
現階段,圖像拼接作為視頻拼接的基礎,國內外有著大量細致的研究。2004 年時,Lowe[5]提出尺度不變的特征變換(Scale-Invariant Feature Transform,SIFT)算法,在圖像縮放、旋轉以及比例變換等方面,其魯棒性都很好,因而建立在特征點的匹配算法成為了研究的熱點,但是其計算復雜,無法滿足工程實踐中的實時性要求。針對SIFT 的不足,后續大量的研究[6-10]對其進行了補充。由于視頻拼接有比圖像拼接更加復雜的問題,因此視頻拼接的研究相對較少,主要集中在如何降低計算復雜程度,及提高運行的實時性方面[11-15]。
文中在SURF 算法的基礎上對圖像特征點加以檢測,并運用網格運動統計算法[16]快速剔除誤匹配點,以增加圖像拼接結果的配準精度和正確率,同時提升實時性。通過實驗可知,該拼接方法不但能夠獲得很好的拼接效果,也能實時地完成視頻的拼接。
人所共知,人眼若想看到一段流暢畫面,其視頻的播放速度必須要超過每秒24 幀。故在進行視頻拼接時,應保證每秒完成超過24 幀圖像的處理。在這個過程中,特征點的提取與匹配會消耗大量的時間。然而,在實際的生活中,多數攝像頭的位置都比較固定,如廣場、火車站、商場等地的監控設備。為了減少拼接時間,采用固定的、且有一定重疊區域的攝像頭來采集視頻數據,無需對每幀圖像都采取一次特征點的提取及匹配,僅處理第一幀圖像即可。在得到第一幀圖像匹配的變換Hessian 矩陣H之后,利用該矩陣進行圖像融合即可。考慮到某些設備使用過程中可能會發生移動,只需要每隔一定時間重新提取及匹配一次特征點,通過修正矩陣H來進行圖像融合,從而持續、準確地獲得連續拼接為全景的圖像。
SURF 算法使用的是積分圖像,這樣可以顯著減少計算時間。設(x,y)是圖像中的某一個像素點,則該點的積分圖像便可以定義為圖像原點與該點所圍的矩形區域中所有像素點的值之和,即:
若想計算圖1 中灰色區域內的像素和,便可以使用式(2)來提高計算速度。

圖1 積分圖像
尺度空間理論是SURF 算法中特征點的檢測方法,它將Hessian 矩陣的行列式作為一個判別式,用來尋找局部最大值。構建Hessian 矩陣,是為了生成圖像中穩定的突變點。經過高斯濾波后,圖像中像素點的Hessian 矩陣可定義為:
為提高整個過程的計算速度,SURF 算法采用了盒子濾波器[17]對高斯濾波板近似替代,進行卷積運算。首先需要將復雜的二階高斯微分簡化,僅用幾個較為簡單的值來表示之后的模板。比如二階高斯微分的濾波器中σ=1.2,則模板能設置為9×9 大小,在對斑點檢測及圖像濾波時,其可作為最小的尺度空間值。用Dxx、Dxy以及Dyy表示模板和圖像卷積,則Hessian 矩陣簡化為:
其中,ω是為了平衡Hessian 矩陣,使高斯核與近似的高斯核能夠保持一致。如果σ的取值不同,且對應的模板尺寸也不同,則ω的取值也不同。為了簡化式(4),通常將ω定義為同一個常數,文中實驗取ω=0.9。
SURF 使用不同大小盒子濾波的模板,來獲取Hessian 矩陣行列式的反應圖,使得該策略能夠在最初的圖像中,使用大小不同的濾波器都有完全相同的速度。9×9 的濾波器的輸出通常會被當作最初的標度層。由于濾波器所具有的特定結構與積分圖像存在有離散性,濾波器尺寸可以逐漸變大(如15×15、21×21、27×27),進而構建金字塔形狀的圖像。
在建立尺度空間以后,假設使用3×3 的濾波模板,每組都選取相鄰的三層相應圖像,共計27 點。其模板中心位置的點大于設定閾值即作為取樣原點,并對它周圍的26 個點進行取樣,若該原點的Hessian 矩陣判別式的值大于其余26 個點的值,則該點將被看成特征點。
SURF 算法考慮的是檢測點在半徑為6σ、像素邊長為4σ的Haar 小波響應,并且響應值通過高斯函數對特征點與像素點間的距離進行加權,進而保持其旋轉不變性。這個過程就需要以特征點作為中心,構造一個半徑為6σ的區域,這里的σ指特征點的尺度大小;再通過這個特征點旋轉覆蓋60°扇形區域內所有特征點在x和y方向上邊長為4σ的Haar小波。為了區別各點的貢獻,需要賦與不同的權值系數,使離特征點越近的點,具有越大的作用,最后把60°扇形區域內的所有值相加。如此,獲得整個圓形區域內新的向量(mw,θw),最后將其中最長的向量作為該特征點的主方向。
其數學計算公式為:
SURF會在特征點旁邊選擇一個正方形,這個正方形的方向是上文確定的主方向。將該正方形分為16個部分,每個部分都有25個像素,對于x和y方向的Haar小波,x和y方向都以主方向為參考。Haar小波包括水平值之和、垂直值之和、水平絕對值之和、垂直絕對值之和。
由于該研究是建立在視頻拼接上的,因此實時性尤其重要,可以通過降低維數來加快特征提取的速度。將原本SURF 算法所用的20σ×20σ窗口,改為10σ×10σ窗口,并把窗口劃分為2×2 個子窗口,這樣特征向量的維數就變成2×2×4=16,即從64維降低到16 維。雖然降低維數會降低特征描述符的獨特性,但可以顯著提高運算速度。
視頻圖像的融合是為了消除偽影現象和拼接縫,使拼接所得的視頻圖像能夠符合人們的感官視覺要求。融合效果對視頻拼接的質量有著直接的影響,與此同時,為保證視頻的流暢度,對融合效率也有著較高要求。文中采用加權平均融合算法,其不僅易于實現,具備很快的運算速度,融合圖像存在的信噪比也得以提高。
雖然加權平均法易于實現,而且還能夠抑制噪聲,但也會抑制圖像中的顯著部分,這將大大降低拼接圖像的對比度。為克服這個不足,通過選取不同的權值,使其從第一幅圖像能夠逐步過渡到另一幅,其加權因子也將會隨著兩幅圖像中疊加區域寬度的不斷變化而改變。令加權因子分別為w1和w2,其計算公式為:
其中,xmin、xmax分別是兩幅圖像中疊加區域的橫坐標對應的起始位置與結束位置。
兩幅圖像的像素值加權融合的計算方式如下:
顯然,當x逐漸增大時,w1逐漸從0 變到1,w2逐漸從1 變到0,通過式(7)能夠實現從f2到f1的過渡,這個過渡轉換過程是較為平緩的,故可以較好地對合成縫隙進行鏟除。
為驗證文中視頻圖像SURF 算法的效果,首先利用同一型號相機采集同幀的兩幅圖像。拍攝時,選擇有大量樹木作為干擾的區域拍攝圖像,以增加算法的拼接難度,采集圖像如圖2 所示。傳統SIFT 算法的圖像拼接效果圖如圖3 所示。SURF 算法的圖像拼接效果圖如圖4 所示。圖像拼接的有效區域如圖5 所示。

圖2 采集圖像

圖3 傳統SIFT算法的圖像拼接效果圖
從圖3 可以看出,由于圖像存在樹葉干擾,傳統的SIFT 算法無法完成圖像拼接。從圖4 可以看出,SURF 算法很好地實現了圖像拼接。但由于兩個相機擺放位置和角度的原因,重合區域較少,在圖5 中能夠展示在熒幕上的有效區域有所減少。

圖4 SURF算法的圖像拼接效果圖

圖5 圖像拼接的有效區域
通過國內某機場外采集的實時移動場景來測試實時拼接系統的有效性以及穩定性。
監控視頻幀圖像和視頻拼接幀圖像效果分別如圖6、7 所示。

圖6 監控視頻幀圖像
從圖7 可以看出,拼接視頻幀圖像清晰自然,且沒有出現明顯的視差偽影,達到了較好的拼接效果。

圖7 視頻拼接幀圖像效果
但首幀圖像需要經過初始化階段,拼接耗時較長,平均耗時達到400 ms 以上。若視頻的每幀圖像都進行重復步驟,不滿足實時性要求。若按前所述,特征點的提取與匹配只考慮在第一幀圖像上進行,得到變換矩陣H,之后的圖像利用該矩陣進行融合,且每隔一段時間進行一次修正H,便可準確得到完整的全景視頻圖像,平均耗時可以降為50 ms,滿足視頻拼接對實時性的要求。
文中主要在視頻拼接中,對視頻圖像融合與視頻圖像配準的SURF 算法進行了深入研究。通過提高特征點的提取速度,以及提高配準的準確率和精度,進一步加快了配準的速度以及提高了圖像融合的效果。實驗結果表明,該算法能夠有效抑制視差偽影,其拼接圖像無明顯接縫,并且可以實現實時拼接,拼接的視覺效果較好。