潘 磊
(中國民用航空飛行學院計算機學院 廣漢 618307)
?
基于條件濾波的數(shù)字視頻穩(wěn)像算法*
潘磊
(中國民用航空飛行學院計算機學院廣漢618307)
摘要針對數(shù)字視頻穩(wěn)像算法的運動平滑步驟中,采用單一濾波方法適應性較差以及多濾波器方法穩(wěn)定性不足的問題,提出了一種根據(jù)不同類型的噪聲選取相應濾波器的條件濾波方法。首先,根據(jù)攝像機全局運動的特點,將抖動噪聲分為脈沖噪聲和隨機噪聲兩類;然后,通過分析參考點的坐標在窗口內各幀中的變化趨勢,分別給出上述兩類噪聲的判別條件;最后,對于脈沖噪聲,采用改進的加權均值濾波方法進行運動平滑,而對于隨機抖動噪聲,則選用高斯濾波方法。同時,還解決了多濾波器方法中的圖像跳變問題。實驗表明,該方法更為有效地濾除了抖動噪聲,并更好地保留了有意運動。
關鍵詞數(shù)字視頻穩(wěn)像; 運動平滑; 條件濾波; 加權均值濾波; 高斯濾波
Class NumberTP301.6
1引言
數(shù)字視頻穩(wěn)像[1~2]是指利用計算機視覺和數(shù)字圖像處理的方法,對視頻中因拍攝平臺不穩(wěn)定而造成的圖像抖動進行濾除,并盡可能保留其中攝像機有意運動,以改善視頻視覺效果的技術,常用于手持設備所拍攝視頻的后期處理。
一般情況下,數(shù)字視頻穩(wěn)像算法主要包含三個步驟[1]:運動估計(Motion Estimation)、運動平滑(Motion Smoothing)和運動補償(Motion Compensation)。首先,建立一定的運動模型,進行運動估計,得到視頻幀之間的全局運動矢量;然后,對運動估計得到的全局運動矢量進行運動平滑,以濾除抖動噪聲,并保留攝像機的有意運動;最后,根據(jù)運動平滑的結果進行運動補償,從而得到穩(wěn)定的視頻幀序列。其中,運動平滑是達到穩(wěn)像目的的關鍵步驟,其性能直接影響到最終的穩(wěn)像效果。
運動平滑主要通過濾波來實現(xiàn),主要分為兩大類:一類是通過單一濾波器實現(xiàn),另一類是采用多個濾波器實現(xiàn)。目前,常用的單一濾波器方法主要有高斯濾波[1]、卡爾曼濾波[3]和粒子濾波[4]等。其中,卡爾曼濾波和粒子濾波基于固定參照幀的運動模型,容易帶來累計誤差;高斯濾波解決了累計誤差的問題,且能較好地保留有意運動,但對抖動噪聲的濾除能力不足。文獻[5]對文獻[1]中的高斯濾波進行了改進,在一定程度上提高了其平滑能力,但仍無法適用于抖動劇烈的情況。上述濾波方法各具優(yōu)缺點,適用于不同的情況,因此,采用單一濾波器的運動平滑方法難以在整體上獲得最佳效果,適用性較差。文獻[6]提出了一種結合兩類低通濾波器的混合濾波方法,該方法根據(jù)視頻幀抖動幅度的不同,選取相應的低通濾波器,與單一濾波器相比,具有更好的效果。然而,濾波器的性能主要與噪聲類型有關,根據(jù)視頻幀的抖動幅度來選擇濾波器具有一定的局限性,且相關閾值需要根據(jù)經驗和視頻的實際情況進行手動設定,缺乏通用性;另外,由于未進行相應的處理,在兩種濾波器的切換時會存在圖像的跳變現(xiàn)象,嚴重影響了穩(wěn)像的效果。
為解決運動平滑中單一濾波器方法適用性低,以及現(xiàn)有多濾波器方法性能不足的問題,本文提出了一種基于條件濾波的數(shù)字穩(wěn)像算法,借鑒文獻[6]中結合多種濾波器進行運動平滑的思想,根據(jù)不同類型的噪聲來選取相應的濾波器。其基本思路是:將視頻中的抖動噪聲分為脈沖噪聲和隨機抖動噪聲兩類,并給出它們的判別條件;對于脈沖噪聲,提出一種改進的加權均值濾波進行處理,而對于隨機抖動噪聲,則采用高斯濾波,盡可能在濾除抖動噪聲的同時,保留有意運動;此外,在濾除脈沖噪聲后,采用濾波后的值代替原始值進行后續(xù)的濾波操作,從而避免了濾波器切換時的圖像跳變問題,且避免了二次濾波,減少了計算代價。
本文的貢獻主要表現(xiàn)在以下幾個方面:第一,首次對抖動噪聲進行了分類,并給出了相應的判別條件,以便更有針對性地進行運動平滑;第二,解決了運動平滑中現(xiàn)有多濾波器方法存在的圖像跳變現(xiàn)象,提高了穩(wěn)定性;第三,根據(jù)視頻穩(wěn)像自身的特點,針對脈沖抖動噪聲,提出了一種改進的加權均值濾波器,從而達到更好的運動平滑效果。
2運動估計
運動估計的目的是獲取攝像機的原始運動軌跡,可以通過2D模型[1]或3D模型[7]來實現(xiàn)。用于描述攝像機運動的參考系,則主要有固定參考幀[3~4]、可變參考幀[8]和無參考幀[1]三種。
綜合考慮精確性、穩(wěn)定性和運算復雜度等方面的因素,本文采用文獻[7]中提出的運動估計方法,基于無參考幀的2D仿射模型,利用ORB特征點[9]進行圖像匹配,來計算幀間像素點的坐標變換矩陣。從第m幀到第n幀像素點的坐標變換可表示為
(1)
3基于條件濾波的運動平滑
運動平滑是穩(wěn)像的關鍵步驟,通常利用低通濾波器來實現(xiàn)。然而,在一般情況下,不同的低通濾波器具有各自的優(yōu)勢,適用于不同類型噪聲的濾除。因此,本文提出了一種基于條件濾波的運動平滑方法,先對抖動噪聲進行分類,再針對不同類型噪聲,采用相應的濾波器。該方法是本文的核心內容,詳細流程見3.4節(jié)。
3.1抖動噪聲分類
從攝像機的運動軌跡來看,因拍攝平臺不穩(wěn)定而造成的視頻抖動噪聲大致可以分為以下兩種情況:其一,抖動噪聲相對較均勻地分布在攝像機有意運動軌跡的兩側,未在局部形成較明顯的偏離;其二,某個位置包含的抖動噪聲在攝像機有意運動軌跡的一側產生躍變,在局部形成了明顯的偏離。需要指出,上面所說的攝像機有意運動軌跡是指理想狀態(tài)下只包含有意運動,而不包含抖動噪聲的攝像機運動軌跡,其中的“有意運動”和“抖動噪聲”都按一般意義上的理解來進行判斷。
圖1 隨機抖動噪聲與脈沖抖動噪聲
抖動噪聲表現(xiàn)出的這種特征與文獻[10]中所描述的圖像噪聲的情況類似,將上面描述的第一種抖動噪聲稱為隨機噪聲,第二種則稱為脈沖噪聲。如圖1所示,其中,虛線表示攝像機有意運動軌跡,實線表示攝像機的實際運動軌跡;虛線框內的點只包含隨機噪聲,箭頭所指的點則包含了脈沖噪聲。由于本文的運動估計基于2D仿射模型,攝像機的運動軌跡也采用2D模型來描述,只考慮攝像機投影到像平面上的運動。
3.2抖動噪聲的判別
從上述隨機噪聲和脈沖噪聲的描述可以看出,二者的差異主要體現(xiàn)在攝像機運動軌跡的局部特征上。文獻[10~11]根據(jù)極值來判別圖像中的脈沖噪聲,本文借鑒這種思路,結合抖動噪聲的特點,根據(jù)攝像機位置坐標的局部偏離程度來判別脈沖噪聲。
將攝像機看成質點,像平面中心點的坐標則代表了該時刻下攝像機的位置坐標。以視頻首幀的圖像坐標系作為參考系,首幀圖像中心點的像素坐標C0=(x0,y0)則為攝像機的起始位置坐標,根據(jù)幀間像素點的坐標變換矩陣,可以得出后續(xù)各幀的攝像機位置坐標。第t幀攝像機的位置坐標(以下簡稱位置坐標)為
(2)
在攝像機的運動軌跡中,以當前幀序號t為中心,取半徑為r(r為大于1的整數(shù))的鄰域,則幀序號落在該鄰域內且與第t幀相鄰的所有點的位置坐標構成的集合為
Nt={(x,y)|(x,y)∈Ci,i∈[t-r,t+r]}
(3)
第i幀位置坐標的局部偏離程度可以通過分析Nt中各坐標點到它們中心位置的歐氏距離來考察。Nt中所有點的中心位置坐標為
(4)
當?shù)趖幀位置坐標離中心位置的歐氏距離D(Ct,Mt)大于某一閾值DThreshold時,則認為該點在局部的偏離較大,判別為脈沖噪聲點,用gt=1來標記;否則,判別為隨機噪聲點,置gt=0,即:
(5)
式(5)中的DThreshold可根據(jù)Nt中各點到中心位置的歐氏距離的均值μD和標準差σD進行動態(tài)設定,如式(6):
DThreshold=μD+λσD
(6)
其中,λ為松弛變量,影響脈沖噪聲判別的敏感程度,參數(shù)設置情況詳見3.3.3節(jié)。
3.3條件濾波
為了更有效地濾除抖動噪聲,并盡可能地保留攝像機的有意運動,本文提出了一種條件濾波的方法,在脈沖噪聲和隨機噪聲這兩種不同的抖動噪聲條件下,分別采用改進的加權均值濾波器和高斯濾波器進行濾除,以達到理想效果。
3.3.1改進的加權均值濾波
圖像中的脈沖噪聲可采用中值濾波[12]或其相關改進方法[10~11,13]來濾除。本文根據(jù)運動平滑和抖動噪聲自身的特點,提出了一種改進的加權均值濾波方法來濾除抖動噪聲中的脈沖噪聲。在脈沖噪聲的影響下,該時刻攝像機的位置坐標相對于攝像機有意運動軌跡來說產生了較大的偏離,需要對其進行重新定位,以還原攝像機的有意運動。
假定第t幀判別為脈沖噪聲點,以第t幀為中心取半徑為k的濾波窗口,窗口內的所有幀構成的集合記為Ut。去除第t幀,則Ut中的剩余幀所構成的集合為
(7)
(8)
(9)
式(8)中的權重Wi由第i幀與第t幀之間相隔幀數(shù)的倒數(shù)經過歸一化來確定,如式(10):
(10)
3.3.2高斯濾波
對于抖動噪聲中的隨機噪聲,本文采用文獻[1]中提出的高斯濾波來進行濾除,補償矩陣計算方法如式(11):
(11)
高斯濾波能夠很好地保留攝像機有意運動,對于隨機噪聲這中在局部范圍內分布相對較均勻且未產生較大偏離的抖動噪聲的濾除,能夠取得良好的效果。
3.3.3參數(shù)設置
本文需要設置的參數(shù)主要有:抖動噪聲判別中所用到的鄰域半徑r、松弛變量λ以及濾波窗口半徑k。其中,鄰域半徑r和濾波窗口半徑k都用于控制“局部”的尺度,r影響脈沖噪聲判別的敏感程度,k則決定了濾波結果的平滑程度。一般情況下,r值越大,脈沖噪聲判別的敏感程度越低;而k值越大,濾波結果的平滑程度越高。在方法的實現(xiàn)時,r和k通常可以取相同的值。松弛變量λ是影響脈沖噪聲判別敏感程度的另一個參數(shù),λ值越大,敏感程度就越低,其取值應該參考k的大小。
結合文獻[1]中給出的k取值的相關建議,經過大量實驗發(fā)現(xiàn),當r和k都取6,λ取[0.5,2]時,對大多數(shù)視頻能獲得較理想的效果。本文實驗統(tǒng)一將以上參數(shù)分別設置為r=k=6和λ=0.5。
3.4方法詳細流程
綜上所述,本文提出的基于條件濾波的運動平滑方法詳細流程如圖2所示。
圖2 本文方法詳細流程圖
需要指出,如文獻[10]中所述,消除兩種噪聲通常要進行兩次濾波處理。而本文在使用改進加權均值濾波消除了脈沖噪聲后,采用穩(wěn)定幀代替原始幀計算后續(xù)的變換矩陣,能夠取得與兩次濾波處理基本一致的結果,同時還避免了因濾波器切換而造成的圖像跳變現(xiàn)象。
4實驗分析
為了驗證算法的有效性,本文選取了文獻[7]中的三段測試視頻和一段自攝視頻來進行實驗,將它們統(tǒng)一編號為V1、V2、V3和V4。以上所有視頻均由普通相機或手機拍攝,其中,V1和V2的分辨率為640*360,V3和V4分別為1280*720和856*480,如圖3所示。
圖3 測試視頻
實驗程序用C++編寫,開發(fā)平臺為opencv 2.4.10+Visual Studio 2010,硬件環(huán)境為Intel i3 2.13GHz+4G內存,分別與高斯濾波[1]、改進高斯濾波[5]以及混合低通濾波[6]這三種方法進行對比,觀察各方法處理前后的攝像機運動軌跡,并比較處理結果的幀間相似程度。
需要指出,關于混合低通濾波方法中參數(shù)Var(D)的設定,文獻[6]中給出的參考取值為7,但由于本文測試視頻的分辨率都遠大于文獻[6]中的320*240,Var(D)的值必須做一定的調整,才能獲得好的效果。因此,本文的實驗中將Var(D)的值設置為25、25、40和30,分別對應V1,V2,V3和V4。
圖4 基于視頻V1,各方法與本文算法的位移對比圖
以V1和V4中攝像機X方向的位移為例,各方法處理前后的攝像機路徑如圖4、圖5所示。從圖中可以看出,高斯濾波和改進高斯濾波的處理結果差別不大,攝像機有意運動保留得較為完整,但對抖動噪聲的濾除不夠;混合低通濾波得到了較為平滑的路徑,但處理后的路徑偏離原始路徑較多,誤差較大,并且在實驗過程中發(fā)現(xiàn)該方法在兩種濾波器進行切換時會發(fā)生明顯的跳變現(xiàn)象;本文的方法則在保留了攝像機有意運動的同時,有效地濾除了大部分的抖動噪聲,特別是脈沖噪聲,如V1視頻中的40~70幀,V4視頻中的30~40幀、60~70幀。與前三種方法相比,效果更加理想。
圖5 基于視頻V4,各方法與本文算法的位移對比圖
幀間變換保真度(Inter-frame Transformation Fidelity,ITF)[14]可以用來測量視頻中相鄰幀之間的相似程度,能在一定程度上檢驗穩(wěn)像的效果。ITF越大,幀間相似度越高,則說明視頻越穩(wěn)定。ITF計算公式如下
(12)其中,PSNR(k)為第k幀與k+1幀的峰值信噪比。
表1列出了各方法對所有測試視頻處理結果的ITF值。從測試視頻的處理結果來看,本文方法的ITF值基本上優(yōu)于其他方法,只在對視頻V1的處理結果上略低于混合低通濾波。然而,混合低通濾波的ITF值不太穩(wěn)定,對V1和V3的處理結果表現(xiàn)得較高,對V2和V4則較低,這是濾波器切換時的跳變現(xiàn)象造成的。由于本文方法在濾除脈沖噪聲之后采用了穩(wěn)定幀代替原始幀來計算后續(xù)的變換矩陣,因此不存在上述跳變現(xiàn)象,運行結果更為穩(wěn)定。
表1 各方法的ITF對比
5結語
本文提出了一種基于條件濾波的運動平滑方法,利用不同濾波器各自的優(yōu)勢,根據(jù)不同類型的抖動噪聲,選取相應合適的濾波器,從而有效地進行運動平滑,在濾除抖動噪聲的同時,盡可能地保留攝像機的有意運動。同時,在多濾波器運動平滑方法中,解決了因濾波器切換造成的圖像跳變問題。通過實驗表明,相對于現(xiàn)有方法而言,該方法具有更好的效果和穩(wěn)定性。
考慮到該方法中的噪聲分類方法主要考慮攝像機平移運動,而對于攝像機的旋轉和縮放運動,具有一定的局限性,有待于進一步的研究。
參 考 文 獻
[1] Matsushita Y, Ofek E, Ge W, et al. Full-frame video stabilization with motion inpainting[J]. IEEE Transaction on Pattern Analysis and Machine Intelligence,2006,28(7):1150-1163.
[2] 王志民,徐曉剛.電子穩(wěn)像技術綜述[J].中國圖象圖形學報,2010,15(3):470-480.
WANG Zhiming, XU Xiaogang. A Survey on Electronic Image Stabilization[J]. Journal of Image and Graphics,2010,15(3):470-480.
[3] Litvin A, Konrad J, Karl W. Probabilistic video stabilization using Kalman filtering and mosaicking[C]//Image and Video Communication and Processing 2003. Bellingham: Spie-Int Soc Optical Engineering,2003:663-674.
[4] Yang J, Schonfeld D, Mohamed M. Robust video stabilization based on particle filter tracking of projected camera motion[J]. IEEE Transaction on Circuits and Systems for Video Technology,2009,19(7):945-945.
[5] Xu J, Chang H W, Yang S, et al. Fast feature-based video stabilization without accumulative global motion estimation[J]. IEEE Transactions on Consumer Electronics,2012,58(3):993-999.
[6] 許杰,楊碩,王明輝.基于抖動幀檢測和低通濾波的數(shù)字視頻穩(wěn)像算法[J].四川大學學報(自然科學版),2013,50(6):1235-1240.
XU Jie, YANG Shuo, WANG Minghui. Digital video stabilization based on jittery frame checking and low-pass filtering[J]. Journal of Sichuan University(Natural Science Edition),2013,50(6):1235-1240.
[7] Liu F, Gleicher M L, Jin H, et al. Content-preserving warps for 3D video stabilization[J]. ACM Transactions on Graphics,2009,28(3):341-352.
[8] Gleicher M L, Liu F. Re-cinematography: improving the camerawork of casual video[J]. ACM Transactions on Multimedia Computing Communications and Applications,2008,5(1):427-438.
[9] Rublee E, Rabaud V, Konolige K, et al. ORB: an efficient alternative to SIFT or SURF[C]//ICCV2011: 2011 IEEE International Conference on Computer Vision. New York: IEEE,2011:2564-2571.
[10] 張旭明,徐濱士,董世運,等.自適應中值-加權均值混合濾波器[J].光學技術,2004,30(6):652-655,659.
ZHANG Xuming, XU Binshi, DONG Shiyun, et al. Adaptive median-weighted mean hybrid filter[J]. Optical Technique,2004,30(6):652-655,659.
[11] 邢臧菊,王守覺,鄧浩江,等.一種基于極值中值的新型濾波算法[J].中國圖象圖形學報,2001,6(6):533-536.
XING Cangju, WANG Shoujue, DENG Haojiang, et al. A New Filtering Algorithm Based on Extremum and Median Value[J]. Journal of Image and Graphics,2001,6(6):533-536.
[12] Gallagher N C, Wise G L. A theoretical-analysis of the properties of median filters[J]. IEEE Transactions on Acoustics Speech and Signal Processing,1981,29(6):1136-1141.
[13] Nodes T A, Gallagher N C. Median filters: some modifications and their properties[J]. IEEE Transactions on Acoustics Speech and Signal Processing,1982,30(5):739-746.
[14] Shen Y, Guturu P, Damarla T, et al. Video stabilization using principal component analysis and scale invariant feature transform in particle filter frame work[J]. IEEE Transactions on Consumer Electronics,2009,55(3):1714-1721.
收稿日期:2016年1月18日,修回日期:2016年2月20日
基金項目:中國民航總局應用開發(fā)科技項目(編號:MHRD20140212);中國民用航空飛行學院面上基金項目(編號:J2012-40);四川省教育廳科研項目(編號:16ZB0032)資助。
作者簡介:潘磊,男,講師,研究方向:圖像處理、模式識別。
中圖分類號TP301.6
DOI:10.3969/j.issn.1672-9722.2016.07.003
Digital Video Stabilization Based on Conditional Filter
PAN Lei
(College of Computer Science and Technology, Civil Aviation Flight University of China, Guanghan618307)
AbstractIn the process of motion smoothing for digital video stabilization, since one kind of filter is poor of adaptability and multi-filter is lack of stability, a conditional filter method which uses the corresponding filter in accordance with different type of jitter noise is proposed in this paper. At first, according to the characteristics of global motion of camera, jitter noise is classified as two types, including impulsive noise and random noise. Then, by analyzing the changing trend of coordinate of reference points in the filter window, sufficient conditions for these two types of noise are given. At last, two different motion smoothing methods, namely, improved weighted mean filter and Gaussian filter are employed for the two types of noise respectively. Meanwhile, image jitter has been solved in multi-filter. Experiments show that, compared with the method of single Gaussian filter, improved Gaussian filter and mixed low-pass filter, the proposed method is more effective to filter jitter noise and preserve the desirable motion.
Key Wordsdigital video stabilization, motion smoothing, conditional filter, weighted mean filter, Gaussian filter