司書哲,徐晶,任正瑋,田穎,方明
(長春理工大學(xué) 計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,長春 130022)
一種基于魯棒背景運(yùn)動(dòng)估計(jì)的電子穩(wěn)像算法
司書哲,徐晶,任正瑋,田穎,方明
(長春理工大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,長春130022)
當(dāng)場景中存在較大范圍運(yùn)動(dòng)前景時(shí),通常的電子穩(wěn)像算法較難魯棒地提取背景的全局運(yùn)動(dòng)。針對(duì)這種情況,提出了利用前景運(yùn)動(dòng)掩膜和對(duì)極幾何關(guān)系抑制錯(cuò)誤的全局運(yùn)動(dòng)估計(jì),進(jìn)而達(dá)到穩(wěn)像的目的。首先,估計(jì)相鄰幀間可視化密集光流圖;將該光流圖用顏色直方圖統(tǒng)計(jì)各顏色比重,進(jìn)而分割出運(yùn)動(dòng)前景并制作掩膜;利用掩膜刪除掉分布在前景上的光流保留背景光流;之后進(jìn)一步去除外點(diǎn),利用剩余的光流進(jìn)行全局運(yùn)動(dòng)估計(jì);最后,采用卡爾曼濾波完成運(yùn)動(dòng)補(bǔ)償。三組不同環(huán)境的實(shí)驗(yàn)結(jié)果均表明,該算法能夠有效抑制運(yùn)動(dòng)前景對(duì)穩(wěn)像結(jié)果的干擾,穩(wěn)像前后圖像的PSNR值提高了近36%,穩(wěn)像效果明顯。
電子穩(wěn)像;密集光流;卡爾曼濾波
電子穩(wěn)像是指通過確定圖像序列幀間映射關(guān)系來確定幀間偏移量,計(jì)算出運(yùn)動(dòng)估計(jì)模型參數(shù)來進(jìn)行運(yùn)動(dòng)補(bǔ)償,目的是去除視頻序列中隨機(jī)抖動(dòng),獲得穩(wěn)定清晰視頻的技術(shù)[1]。
目前電子穩(wěn)像方法一般采用特征軌跡來進(jìn)行運(yùn)動(dòng)估計(jì),運(yùn)動(dòng)模型一般為2D仿射變換或透視變換。威斯康星大學(xué)Liu F利用SFM算法估計(jì)相機(jī)3D路徑[2],能夠有效應(yīng)用于復(fù)雜運(yùn)動(dòng),但其需要設(shè)計(jì)復(fù)雜的線性濾波器來平滑該3D運(yùn)動(dòng),從運(yùn)動(dòng)中恢復(fù)結(jié)構(gòu),估計(jì)出的3D路徑通常是脆弱且耗時(shí)。天津大學(xué)朱振伍等人利用CUDA編程加速和卡爾曼預(yù)測為電子穩(wěn)像實(shí)時(shí)性奠定了基礎(chǔ)[3],但其使用SURF特征匹配估計(jì)幀間運(yùn)動(dòng)的技術(shù)容易受前景運(yùn)動(dòng)干擾。特別是,當(dāng)特征軌跡空間分布不均和稀疏時(shí)處理起來更加復(fù)雜,其可能在視頻的任意幀開始或結(jié)束,獲取一個(gè)長的特征軌跡往往更加困難。Shi J提出了運(yùn)動(dòng)分段技術(shù)來檢測不同的運(yùn)動(dòng),進(jìn)而區(qū)分前景和背景[4],然而運(yùn)動(dòng)分割本身就是一個(gè)困難的問題,其需要長的特征軌跡,由于相鄰幀間缺少足夠的運(yùn)動(dòng)對(duì)比,難以區(qū)分大的運(yùn)動(dòng)前景,本文使用密集光流進(jìn)行運(yùn)動(dòng)估計(jì),可以有效避免上述問題。
本文消除前景運(yùn)動(dòng)對(duì)全局運(yùn)動(dòng)的干擾,根據(jù)前景、背景分離的思想,提出了一種基于密集光流可視化顏色分割方法,并利用分割后的掩膜圖濾除不能反應(yīng)全局運(yùn)動(dòng)的點(diǎn),計(jì)算幀間基礎(chǔ)矩陣,用RANSAC進(jìn)一步剔除外點(diǎn),提高全局運(yùn)動(dòng)估計(jì)精度。
1.1密集光流可視化
光流是空間運(yùn)動(dòng)物體在觀察成像平面上的像素運(yùn)動(dòng)的瞬時(shí)速度,是利用圖像序列中像素在時(shí)間域上的變化以及相鄰幀之間的相關(guān)性來找到上一幀跟當(dāng)前幀之間存在的運(yùn)動(dòng)關(guān)系。本文采用文獻(xiàn)5方法估計(jì)每個(gè)像素的運(yùn)動(dòng)矢量。將矢量存于對(duì)應(yīng)的像素位置形成密集光流圖。采用Munsell顏色系統(tǒng)可視化該光流[6]。
圖1 Munsell顏色系統(tǒng)
圖1中,南北軸表示明度,從全黑到全白;經(jīng)度表示色相,把一周均分為五種色調(diào)和五種中間色;軸距表示色度(色調(diào)的純度)。這樣可視化的光流圖中,不同顏色表示不同的運(yùn)動(dòng)方向,深淺表示運(yùn)動(dòng)的快慢。可視化光流圖的效果如圖2所示。其中,(a)和(b)為參考幀圖像和當(dāng)前幀圖像,場景中人在從右向左運(yùn)動(dòng),同時(shí)相機(jī)存在不規(guī)則抖動(dòng)。(c)為所估計(jì)的密集光流,(d)為Munsell顏色系統(tǒng)可視化的光流圖。由于背景與運(yùn)動(dòng)前景光流大小、方向不同,可視化后前景與背景顏色差異比較大,因此,可以利用顏色分割分離出背景的全局運(yùn)動(dòng)。
1.2顏色直方圖實(shí)現(xiàn)前景、背景分割
顏色直方圖直觀地顯示了圖像在色彩空間的分布狀況,本文將RGB圖像轉(zhuǎn)換到HSV空間,以色彩(H),飽和度(S)分量建立二維顏色直方圖。其中,H、S分量均被分為8個(gè)等級(jí)(h-bins=8,s-bins=8),首先計(jì)算H分量落在每級(jí)內(nèi)的像素?cái)?shù)量,選取H分量像素?cái)?shù)量占最大的前m級(jí);在計(jì)算該級(jí)下S分量占比重最大的前n級(jí)。將計(jì)算出的H前m級(jí)、S前n級(jí)對(duì)應(yīng)的HSV轉(zhuǎn)換為RGB,用R、G分量范圍(R-min,R-max),(G-min,G-max)作為顏色分割的閾值,建立前景、背景分割的掩膜,如下式所示:
其中R(p)、G(p)是可視化密集光流圖對(duì)應(yīng)p點(diǎn)像素的R、G分量值,其中像素p滿足分割閾值的編碼為1,其余編碼為0,由于光流跟蹤失敗的地方可視化光流顏色為白色,故RGB位于白色范圍內(nèi)編碼為0。
圖3(a)為圖2(d)可視化光流的顏色直方圖,根據(jù)M(p)雙峰特性,本文m=1,n=3。圖3(b)為根據(jù)圖3(a)設(shè)定閾值的掩膜圖。
圖2 幀間光流運(yùn)動(dòng)矢量及可視化
圖3 顏色直方圖分割前景、背景效果
1.3對(duì)極幾何異常匹配點(diǎn)排除
根據(jù)H-S直方圖建立的掩膜M(P),由于密集光流估計(jì)每個(gè)點(diǎn)的運(yùn)動(dòng)矢量時(shí),難免會(huì)產(chǎn)生誤差,用顏色直方圖分割前景、背景時(shí)由于閾值設(shè)置的不合適也會(huì)導(dǎo)致M(P)的一些點(diǎn)屬于外點(diǎn),這些異常點(diǎn)會(huì)降低全局運(yùn)動(dòng)估計(jì)的精度。本文采用對(duì)極幾何約束來去除這些外點(diǎn)。
如圖4所示,兩個(gè)相機(jī)光心OlOr的連線稱為基線。通過兩個(gè)相機(jī)光心OlOr與目標(biāo)點(diǎn)P構(gòu)成的平面π稱為對(duì)極平面。對(duì)極平面與相機(jī)像平面的交線Ll、Lr為極線。匹配點(diǎn)之間存在極線約束的關(guān)系,即像平面Ll上任意一點(diǎn)p,它在像平面上的匹配點(diǎn)一定位于極線上Lr;同理,像平面上任意一點(diǎn)p′,它在像平面上的匹配點(diǎn)p一定位于極線Ll上。
圖4 對(duì)極幾何模型
兩幅圖像的對(duì)極幾何約束可用圖像間基礎(chǔ)矩陣描述[7]:p′TFp=0
本文用RANSAC算法,用點(diǎn)數(shù)目=8求解出顏色直方圖分割后背景區(qū)域的基礎(chǔ)矩陣[8]。將計(jì)算矩陣時(shí)用到的內(nèi)點(diǎn)作為下一步估計(jì)全局運(yùn)動(dòng)的點(diǎn),剔除錯(cuò)誤的外點(diǎn)e。
1.4全局運(yùn)動(dòng)參數(shù)的估計(jì)
2D運(yùn)動(dòng)模型主要分為單應(yīng)性運(yùn)動(dòng)模型和仿射性運(yùn)動(dòng)模型。單應(yīng)性運(yùn)動(dòng)模型可表述多種復(fù)雜運(yùn)動(dòng),但是單應(yīng)性運(yùn)動(dòng)模型的參數(shù)的計(jì)算復(fù)雜度高且難度大。仿射性運(yùn)動(dòng)模型能夠表示相機(jī)的平移運(yùn)動(dòng)、旋轉(zhuǎn)運(yùn)動(dòng)以及縮放,其參數(shù)少,計(jì)算簡單。本文采用仿射群中的歐式變換(公式2),它是一個(gè)剛體運(yùn)動(dòng)模型,包括旋轉(zhuǎn)θ,平移tx、ty等3個(gè)變量。
其中,(x,y)為前一幀圖像的任一點(diǎn)坐標(biāo),(x′,y′)為當(dāng)前圖像的對(duì)應(yīng)點(diǎn)坐標(biāo)。公式(3)為其分塊表達(dá)形式。
在確定運(yùn)動(dòng)模型之后,就要做模型參數(shù)估計(jì),本文使用如下算法來估計(jì)全局運(yùn)動(dòng):
前(prev)、后(cur)兩幀圖像使用密集光流估計(jì)每個(gè)像素點(diǎn)偏移量存入命名為flow的矩陣內(nèi),得w×h對(duì)點(diǎn)對(duì)。
{prev(x,y),cur(x+flow.x,y+flow.y)|0<x<w,0<y<h}
forx=0tow//w圖像寬
fory=0toh//h圖像高
if(M(x,y)==1)//掩膜對(duì)應(yīng)像素值為1,對(duì)應(yīng)點(diǎn)對(duì)存入數(shù)組
//依次向vector<Point2f>pointArray存入點(diǎn)對(duì)
pointArray=
pointArray+{prev(x,y),cur(x+flow.x,y+flow.y)}
for i=0 to pointArray.size
if(e!=NULL) //e為不滿足極幾何約束的外點(diǎn)
pointArray=pointArray-e
根據(jù)前后兩幀,滿足全局運(yùn)動(dòng)的m個(gè)點(diǎn)對(duì)存入poinArray,用其求解歐式變換模型參數(shù)。求解最佳的歐式變換,可以轉(zhuǎn)換為求下式最小和:
由公式(6),容易獲得前后兩幀圖像的平移(dx,dy)和旋轉(zhuǎn)角度dθ。估計(jì)出的幀間運(yùn)動(dòng)矢量作為初始變換矩陣,需要對(duì)估計(jì)出的運(yùn)動(dòng)矢量進(jìn)行濾波補(bǔ)償。
運(yùn)動(dòng)估計(jì)完成后,獲得歐式變換模型的參數(shù)dθ、dx和dy,記錄此時(shí)刻的運(yùn)動(dòng)矢量,其為全局運(yùn)動(dòng),包含主動(dòng)運(yùn)動(dòng)和隨機(jī)抖動(dòng)分量。將幀間全局運(yùn)動(dòng)矢量累加起來作為圖像運(yùn)動(dòng)軌跡:
Δx(t)、Δy(t)和Δθ(t)分別是t時(shí)刻圖像x方向、y方向以及角度旋轉(zhuǎn)軌跡。
2.1卡爾曼模型
狀態(tài)模型:
觀測模型:
Δx()k是圖像軌跡x方向k時(shí)刻測量值,其余兩項(xiàng)是k時(shí)刻y方向和角度測量值,測量變換矩陣也為3×3單位陣,R為觀測噪聲??梢愿鶕?jù)估計(jì)視頻的晃動(dòng)量設(shè)置,設(shè)定的越小,則濾波器估計(jì)的運(yùn)動(dòng)越平滑,但更新值對(duì)觀測值的反應(yīng)越慢[9]。其中,本文通過大量預(yù)實(shí)驗(yàn)設(shè)置觀測噪聲為0.3。
2.2卡爾曼預(yù)測和更新
將通過幀間全局運(yùn)動(dòng)矢量累加計(jì)算得圖像軌跡z(k)進(jìn)行卡爾曼濾波,對(duì)其軌跡進(jìn)行平滑得X(k|k )。
其中,X初始值可以設(shè)置任意值。P為協(xié)方差矩陣,初始值非0。本文X的初始值為(000)T,P初始值為(111)T。
首先計(jì)算最優(yōu)卡爾曼增益,如式(12)所示:
然后用最優(yōu)卡爾曼增益更新X與P;運(yùn)動(dòng)濾波后,X為平滑后的圖像路徑。繼而進(jìn)行相鄰幀補(bǔ)償,補(bǔ)償量是平滑后圖像路徑與原始圖像路徑差量。補(bǔ)償后,建立新的幀間運(yùn)動(dòng)矢量,根據(jù)新的矢量對(duì)前一幀進(jìn)行剛體變換。新的幀間運(yùn)動(dòng)矢量如式13所示:
圖5 濾波前后幀間偏移量
本文的計(jì)算機(jī)實(shí)驗(yàn)環(huán)境為雙核3.10GHz處理器、4GB內(nèi)存,算法由VS2010編譯,使用了OpenCV視覺庫,處理640×480的視頻圖像效率為9幀/秒。
表1 三組實(shí)驗(yàn)條件
表1為本文使用的3組實(shí)驗(yàn)環(huán)境,對(duì)實(shí)驗(yàn)1分別使用高斯混合模型(GMM)前景提取算法和本文方法進(jìn)行前景、背景分離,實(shí)驗(yàn)結(jié)果對(duì)比如圖6所示。
圖6(a)、(b)是實(shí)驗(yàn)1視頻44、45幀使用高斯混合模型提取的前景,明顯看出抖動(dòng)的背景(車)也被提取出作為前景。由于視頻是抖動(dòng)的,故抖動(dòng)的背景不滿足高斯分布[10],前景、背景分離效果不理想。圖6(c)、(d)是本文算法處理的效果,比較理想?yún)^(qū)分出了前景運(yùn)動(dòng),可以有效刪除前景運(yùn)動(dòng)對(duì)全局運(yùn)動(dòng)的影響,從而提高全局運(yùn)動(dòng)估計(jì)的精度。
如圖7(a)、(c)所示,對(duì)比矩形框出的輪胎與由中心點(diǎn)畫的十字線位置變化,上下抖動(dòng)比較明顯。觀察圖7(b)、(d)對(duì)應(yīng)位置的變換,對(duì)應(yīng)輪胎與中心線的位置一樣,易知抖動(dòng)得到了明顯的抑制。
實(shí)驗(yàn)2為室外拍攝的視頻,場景內(nèi)無人但由于存在相機(jī)掃描運(yùn)動(dòng)(圍繞車掃描),因此可能會(huì)在背景車上產(chǎn)生視差干擾,從而會(huì)降低運(yùn)動(dòng)估計(jì)的精度。如圖8(a)、(d),相機(jī)繞左側(cè)車掃描時(shí)產(chǎn)生視差干擾,用本文算法所建的掩膜避免視差干擾。
圖8(b)、(e)存在繞左側(cè)車的一個(gè)掃描運(yùn)動(dòng),觀察矩形框區(qū)域大廈的變化,存在因旋轉(zhuǎn)導(dǎo)致的抖動(dòng)。根據(jù)圖8(c)、(f)矩形框區(qū)域處大廈幾乎相同,本文算法有效解決該抖動(dòng)。
實(shí)驗(yàn)3場景會(huì)在紋理不明顯處跟蹤光流失敗,所以需要去除此處的點(diǎn),如圖9(a)、(d)所建的掩膜。
圖6 實(shí)驗(yàn)1前景、背景分離對(duì)比
圖7 實(shí)驗(yàn)1結(jié)果
圖8 實(shí)驗(yàn)2掩膜圖像及結(jié)果
如圖9所示,由于手持相機(jī)存在向前掃描運(yùn)動(dòng)且隨機(jī)抖動(dòng),反應(yīng)在圖9(b)、(e)內(nèi),矩形框椅子與由中心點(diǎn)畫的十字線位置存在較明顯變化。經(jīng)過本文算法的運(yùn)動(dòng)補(bǔ)償后,觀察圖9(c)、(f),椅子與中心線位置幾乎相同,穩(wěn)像效果較明顯。
圖9 實(shí)驗(yàn)3掩膜圖像及結(jié)果
圖10 穩(wěn)像前后PSNR對(duì)比圖
本文通過公式14求解峰值信噪比評(píng)價(jià)兩幀圖像間對(duì)應(yīng)像素灰度的偏差值。
MSE(I1,I0)是兩幀圖像間對(duì)應(yīng)像素灰度的偏差值,幀間值越大代表圖像的灰度差別越小,穩(wěn)像的效果越好[11]。如圖10所示,穩(wěn)像后值比穩(wěn)像前平均提高約6,根據(jù)公式15,值提高了約36%,說明幀間相似性得到提高。
本論文針對(duì)現(xiàn)有的穩(wěn)像算法,大多難以去除運(yùn)動(dòng)前景對(duì)全局運(yùn)動(dòng)估計(jì)的影像,提出了一種新的穩(wěn)像算法。該算法使用密集光流估計(jì)全局運(yùn)動(dòng),用顏色直方圖建立的掩膜去除前景的運(yùn)動(dòng)矢量,再使用RANSAC去除剩余背景運(yùn)動(dòng)矢量的外點(diǎn),采用歐式變換模型,進(jìn)行卡爾曼濾波。多種實(shí)場景的實(shí)驗(yàn)結(jié)果表明,當(dāng)相機(jī)存在隨機(jī)抖動(dòng)時(shí)或存在掃描運(yùn)動(dòng)時(shí),即使場景中包含劇烈變化的前景干擾,系統(tǒng)的穩(wěn)像效果也非常明顯。本文算法使用了耗時(shí)的密集光流,為了提高處理速度,在實(shí)時(shí)處理時(shí)可以采用GPU技術(shù)。
[1] 王志民,徐曉剛.電子穩(wěn)像技術(shù)綜述[J].中國圖形圖像學(xué)報(bào),2010,15(3):2-3.
[2]Liu F,Gleicher M,Jin H,et al.Content-preserving warps for 3d video stabilization[J].ACM Transactions on Graphics,2009,28(3):255-231.
[3] 朱振伍,何凱,王新磊.基于CUDA和卡爾曼預(yù)測的實(shí)時(shí)電子穩(wěn)像方法[J].吉林大學(xué)學(xué)報(bào),2015,33(1):46-50.
[4]Shi J,Malik J.Motion segmentation and tracking using normalized[C].In IEEE International Conderence on Computer Vision(ICCV),1998:1154-1160.
[5]Gunnar Farneb?ck.Two-Frame Motion Estimation Based on Polynomial Expansion[A].SCIA'03 Proceedingsofthe13thScandinavianconferenceon Image analysis Pages.Berlin:Springer,2003:363-370.
[6] Baker Simon,Scharstein Daniel,Lewis J P.A databaseandevaluationmethodologyforopticalflow[J].International Journal of Computer Vision,2011,92(1):1-31.
[7]Hartley R,Zisserman A.Multiple view geometry in computer vision[M].New York:Cambridge University Press,2004:159-176.
[8] Hartley R I.In defense of the eight-point algorithm [J].IEEETransactionsonPatternAnalysisand Machine Intelligence,1997,19(6):580-593.
[9] 董晶,楊夏,于起峰.基于單應(yīng)軌跡的視頻實(shí)時(shí)穩(wěn)像算法[J].國防科技大學(xué)學(xué)報(bào),2014,36(2):100-104.
[10] 宋楊.基于高斯混合模型的運(yùn)動(dòng)目標(biāo)檢測算法研究[D].大連:大連理工大學(xué),2008.
[11] 黃晨,王建軍,高昕,等.電子穩(wěn)像中穩(wěn)像質(zhì)量評(píng)價(jià)方
法研究[J].激光與紅外,2013(5):478-479.
An Electronic Image Stabilization Algorithm Based on Robust Global Motion Estimation
SI Shuzhe,XU Jing,REN Zhengwei,TIAN Ying,F(xiàn)ANG Ming
(School of Computer Science and Technology,Changchun University of Science and Technology,Changchun 130022)
When there is a scope of moving foreground,the common electronic image stabilization algorithm is difficult to be robust extraction of the global motion from background.It restrains the wrong global motion estimation with the use of the moving foreground mask and the epipolar geometry,to reach the goal of image stabilization.Firstly,the visualized dense optical flow between adjacent frames is estimated;then the proporation of this optical flow diagram with the color histogram is got.The moving foreground is detected and the mask is made;with the use of the mask the optical flow distributed in the foreground is removed and the background optical flow is retained.Then,further the exterior points are removed and the global motion estimation with the remaining optical flow is carried out.Finally,Kalman filtering is used to complete the motion compensation.The experiment results in three different environments all show that the interference of the moving foreground can be effectively restrained by this algorithm.The PSNR value has been increased nearly 36%after image stabilization and the effect of image stabilization is obvious.
electronic image stabilization;dense optical flow;kalman filtering
TP391
A
1672-9870(2015)05-0101-06
2015-07-01
吉林省科技發(fā)展計(jì)劃項(xiàng)目(20120333,20130101054JC,20140204047GX);吉林省留學(xué)回國人員擇優(yōu)資助項(xiàng)目(RL201329)
司書哲(1989-),男,碩士研究生,E-mail:863978892@qq.com
方明(1977-),男,博士,副教授,E-mail:fangming@cust.edu.cn