摘 要:? 針對既有攝像機(jī)運(yùn)動又有前景物體運(yùn)動的圖像穩(wěn)定問題,提出了一種快速算法。該算法首先利用改進(jìn)的Harries算子提取特征點(diǎn),根據(jù)三級匹配策略實現(xiàn)特征點(diǎn)的三級匹配,并且利用基于塊的去噪聲點(diǎn)方法檢測出前景區(qū)域,剔除存在于前景區(qū)域的角點(diǎn);然后建立當(dāng)前幀與參考幀的映射關(guān)系,利用最小二乘法求解出全局運(yùn)動參數(shù);最后利用Kalman濾波平滑運(yùn)動參數(shù),依據(jù)平滑后的參數(shù)對圖像進(jìn)行補(bǔ)償。
關(guān)鍵詞:? Harris corner; 全局運(yùn)動估計; Kalman濾波;? 數(shù)字視頻穩(wěn)定
?
由于受飛行器振動及天氣等因素的影響,安裝在飛行器上的攝像機(jī)拍攝到的圖像存在抖動、失穩(wěn)等現(xiàn)象,使成像質(zhì)量下降,分辨率降低,嚴(yán)重增加了觀察人員的疲勞強(qiáng)度,從而很難使飛行器對運(yùn)動目標(biāo)進(jìn)行準(zhǔn)確跟蹤和精確瞄準(zhǔn),此時圖像穩(wěn)定技術(shù)就變得格外重要。圖像穩(wěn)定技術(shù)由全局運(yùn)動估計和運(yùn)動補(bǔ)償兩模塊組成。全局運(yùn)動指的是由攝像機(jī)運(yùn)動而導(dǎo)致的圖像的整體運(yùn)動,因此只需要很少一組參數(shù)就能描述[1],而全局運(yùn)動估計就是對這些參數(shù)的估計。全局運(yùn)動估計的方法主要分為微分法[2]和特征點(diǎn)[3]對應(yīng)法。
圖像穩(wěn)定技術(shù)的關(guān)鍵問題存在于全局運(yùn)動估計模塊,主要有如下兩個:(1)計算速度。不論在圖像穩(wěn)定技術(shù)還是在視頻編碼技術(shù)中,運(yùn)動估計都是最耗時的部分。國內(nèi)外許多專家和機(jī)構(gòu)提出了許多加快此計算速度的算法,但是都沒有從根本上解決這個問題。(2)外點(diǎn)去除,本文是對具有前景運(yùn)動視頻的穩(wěn)定處理,外點(diǎn)去除是其必須要處理好的問題。對于計算速度,本文采用改進(jìn)的Harris 算子進(jìn)行角點(diǎn)檢測,根據(jù)三級匹配策略實現(xiàn)特征點(diǎn)的三級匹配,加快了全局運(yùn)動估計的計算時間。對于外點(diǎn)去除,考慮到局部運(yùn)動點(diǎn)具有聚集成塊的特性,賀玉文等人[4]提出了基于塊的去除局部運(yùn)動點(diǎn),本文將介紹這種去外點(diǎn)的方法。在運(yùn)動補(bǔ)償模塊中,首先采用Kalman 濾波方法確定各幀最終的補(bǔ)償量,然后使用雙線性插值進(jìn)行運(yùn)動補(bǔ)償。但運(yùn)動載體的抖動頻率和幅度是隨機(jī)的,在使用Kalman濾波中必須選擇合適的噪聲模型,否則容易使序列產(chǎn)生過穩(wěn)或欠穩(wěn)現(xiàn)象。
1 全局運(yùn)動估計算法介紹
1.1 攝像機(jī)運(yùn)動模型
根據(jù)復(fù)雜性的不同,圖像運(yùn)動模型有多種描述形式,其中,Affine模型是一種線性模型,能精確地描述純旋轉(zhuǎn)、相機(jī)在場景中較小深度變化時的平移和變焦運(yùn)動。此模型適合絕大多數(shù)的室內(nèi)和室外場景。其表達(dá)式為:
式中,(xi-1,yi-1)和(xi,yi)分別為在時刻ti-1和ti時兩幀圖像的像素坐標(biāo),(a1,a2…a6)為圖像幀間的變換參數(shù),其中,a3、a6與圖像的平移運(yùn)動有關(guān),a1、a2、a4、a5與圖像的縮放、旋轉(zhuǎn)運(yùn)動有關(guān)。本文采用此模型進(jìn)行全局運(yùn)動估計的計算。
1.2 角點(diǎn)檢測
Harris 算子是一種點(diǎn)特征提取算子,因其具有計算簡單、提取的點(diǎn)特征均勻而合理、定位精度高、抗噪聲能力強(qiáng)及穩(wěn)定性好的特點(diǎn),得到了人們廣泛的應(yīng)用。
Harris角點(diǎn)檢測公式為:
式中,w(x,y)為窗函數(shù)(可為矩形窗或高斯窗);[I(x+u,y+v)-I(x,y)]2為圖像灰度的梯度值。對于每個小的位移量(u,v),式(2)可以雙線性近似表示為:
為了實現(xiàn)角點(diǎn)的精確匹配,針對航載視頻背景復(fù)雜又有前景混合的情況,本文對角點(diǎn)檢測進(jìn)行了改進(jìn)。采用三級匹配策略:(1)利用Harris角點(diǎn)檢測算子提取兩幀圖像上的角點(diǎn),構(gòu)造其灰度差分不變量,獲得灰度差分不變量的特征向量;(2)運(yùn)用歐氏距離測量兩個向量之間的相似程度得到初始匹配點(diǎn)對;(3)用半鄰域限制來實現(xiàn)兩幅圖像上特征點(diǎn)集之間的細(xì)匹配,刪除錯誤匹配點(diǎn)對。灰度差分不變量具有平移、旋轉(zhuǎn)不變性;對噪聲也有很好的抑制作用,利用這些特性可以剔除歧義點(diǎn)和誤匹配點(diǎn)。
1.3 攝像機(jī)模型參數(shù)計算
把屬于背景上的n(n>3)對角點(diǎn)代入到(1)式,得到下面的公式:
這是一個方程個數(shù)大于未知數(shù)個數(shù)的超定線性方程,下面利用最小二乘法求解此超定方程:
1.4 去外點(diǎn)
利用1.2節(jié)的方法求得頭兩幀的角點(diǎn),手動去除存在于前景物體區(qū)域的角點(diǎn),再利用1.3節(jié)介紹的方法求得它們?nèi)诌\(yùn)動參數(shù),然后用此參數(shù)對當(dāng)前幀進(jìn)行補(bǔ)償,得到殘差圖像。具體做法:將殘差圖像分成M×N大小的塊,計算每個塊的SAD值,SAD的定義如下:
式中,Rij是(i,j)塊的殘差。將所有塊的SAD值進(jìn)行排序并將SAD大的前30%的塊作為預(yù)選去除塊,按照下面的方法確定最后的去除塊。首先設(shè)B(i,j)塊是一個預(yù)選去除塊,如果它的8領(lǐng)域中有多于4個預(yù)選去除塊,則B(i,j)這個預(yù)選去除塊將被去除,并標(biāo)志為去除塊;然后對剩下的預(yù)選去除塊進(jìn)行如下處理:如果它的8領(lǐng)域中有去除塊,則這個預(yù)選去除塊也將被去除。所劃分塊的大小對去外點(diǎn)所需計算量和去除效果都有很大的影響,根據(jù)經(jīng)驗,對于288×352像素的CIF圖像16×16大小的塊較為合適。
如果角點(diǎn)位于前景區(qū)域,則剔除這些角點(diǎn),從而成功消除了外點(diǎn)的影響。最終匹配結(jié)果如圖1所示。
?
2 基于Kalman濾波的運(yùn)動補(bǔ)償
估計出運(yùn)動參數(shù)后,接下來就是根據(jù)參數(shù)對圖像進(jìn)行運(yùn)動補(bǔ)償。攝像機(jī)的主動運(yùn)動都是緩慢而有規(guī)律的,與其相比,隨機(jī)抖動的頻率變化較快,無一定的規(guī)律性,可以采用低通濾波的方法去除,對運(yùn)動參數(shù)進(jìn)行平滑,完成實時運(yùn)動補(bǔ)償。假設(shè)在攝像機(jī)載體做恒速運(yùn)動的情況下,建立狀態(tài)空間模型和量測方程[5]:
?
式中, aiv分別是ai的變化速率,N(0,σo)、N(0,σ)是相互獨(dú)立的高斯白噪聲。為驗證本文算法的效果,選用waterfall、coastguard、foreman、stafen等多個標(biāo)準(zhǔn)視頻測試序列,在PC機(jī)上用 matlab7.0進(jìn)行仿真試驗。
??? waterfall視頻序列連續(xù)30幀全局運(yùn)動參數(shù)估計及kalman濾波結(jié)果以及參數(shù)(a1,a2…a6)及經(jīng) Kalman 濾波后的結(jié)果(a1′,…,a6′)如圖2所示,濾波過程中σ=100,σo=0.001。其中,變化較劇烈的虛線是帶有抖動的全局運(yùn)動估計參數(shù),平滑的實線為經(jīng)Kalman濾波去抖后的攝像機(jī)參數(shù)。圖2表明,Kalman濾波能很好地去除或減輕抖動,保留攝像機(jī)的主觀運(yùn)動。
?
使用平滑后的全局運(yùn)動參數(shù)對當(dāng)前幀進(jìn)行補(bǔ)償,然后再對運(yùn)動補(bǔ)償后的圖像進(jìn)行背景填充,實現(xiàn)圖像的穩(wěn)定處理,其處理效果分別如圖3、圖4所示。waterfall序列主要針對攝像機(jī)的縮放和旋轉(zhuǎn)運(yùn)動,圖3是其穩(wěn)定處理的示意圖;coastguard主要針對圖像的平移運(yùn)動,圖4是對其進(jìn)行穩(wěn)定處理的示意圖。圖3(a)、(b)、(c),圖4(a)、(b)分別是當(dāng)前幀和參考幀,圖3(c)、圖4(c)是用平滑去抖后的攝像機(jī)參數(shù)進(jìn)行補(bǔ)償后的示意圖,圖3(d)、圖4(d)是穩(wěn)定處理,也就是對補(bǔ)償后的圖像進(jìn)行背景填充,重建穩(wěn)定后的當(dāng)前幀,得到穩(wěn)定的視頻圖像。由圖可知,用此方法處理的視頻穩(wěn)定的效果非常好,本算法不論是對攝像頭的旋轉(zhuǎn)、縮放運(yùn)動還是平移運(yùn)動,都能達(dá)到很好的穩(wěn)定處理效果。
基于特征匹配的穩(wěn)像算法,采用了改進(jìn)的 Harris 算子檢測特征點(diǎn)。由于Harris 角點(diǎn)具有精度高、抗噪聲能力強(qiáng)、穩(wěn)定性好的特點(diǎn),使得此穩(wěn)像算法適用于處理具有前景運(yùn)動物體而背景又復(fù)雜的航載視頻的穩(wěn)定問題。基于塊的去外點(diǎn)方法符合實際情況,能很好地去除外點(diǎn)的影響。Kalman 濾波數(shù)據(jù)存儲量小,平滑效果好,適用于實時穩(wěn)像。大量實驗驗證了穩(wěn)像算法的可靠性和有效性,在移動視頻監(jiān)視系統(tǒng)、目標(biāo)的檢測及跟蹤系統(tǒng)有很好的應(yīng)用前景。
參考文獻(xiàn)
[1] ?KIM E T, KIM H M. Efficient linear three-dimensional?camera motion estimation method with applications to video? coding[J].Optical Engineering. 1998,37(3):1065-1077.
[2] ?KELLER Y, AVERBUCH A. Fast gradient methods based?on global motion estimation for video compression[M].IEEE Transactions on Circuits and Systems for Video?echnology, 2003,13(4):300-309.
[3] ?ZHU Fang, XUE Ping, ONG E.Low-complexity global?motion estimation based on content analysis[C].Proceedings ?of International Symposium on Circuits and Systems,2003,?2(2):624-627.
[4] ?賀玉文,趙黎,鐘玉琢,等. 快速魯棒的全局運(yùn)動估計算法[J].軟件學(xué)報,2001,12(8):1220-1228.
[5] ?LITVIN A, KONRAL J, WILLIAM C,Karl probabilistic?video stabilization using Kalman filtering and mosaicking[A]. IS&T/SPIE Symposium on Electronic Image and?Video Communications and Proc[C],2003,5022:663-67.