李大成 楊曉東
(海軍潛艇學(xué)院 青島 266100)
一種基于灰度投影差值的穩(wěn)像算法
李大成 楊曉東
(海軍潛艇學(xué)院 青島 266100)
針對(duì)圖像序列的平移抖動(dòng),提出了一種基于灰度投影差值的灰度投影穩(wěn)像算法。詳細(xì)地闡述了實(shí)現(xiàn)此算法關(guān)鍵步驟:計(jì)算當(dāng)前幀和參考幀的灰度映射,以灰度映射差值作為特征量,確定圖像運(yùn)動(dòng)矢量和補(bǔ)償當(dāng)前幀圖像等。在實(shí)驗(yàn)室條件下應(yīng)用此算法,采用圖像差值對(duì)算法進(jìn)行評(píng)價(jià)。實(shí)驗(yàn)表明,該方法有效解決了前景局部物體運(yùn)動(dòng)和圖像部分區(qū)域灰度變化大帶來(lái)的干擾,能夠達(dá)到實(shí)時(shí)電子穩(wěn)像的目的。
平移抖動(dòng); 灰度投影; 運(yùn)動(dòng)矢量; 電子穩(wěn)像
Class Number TP391
隨著攝像機(jī)等圖像采集設(shè)備在測(cè)量系統(tǒng)、導(dǎo)航系統(tǒng)、監(jiān)控系統(tǒng)等方面的廣泛使用,對(duì)采集的圖像和視頻的質(zhì)量要求也越來(lái)越高。由于攝像系統(tǒng)工作條件的限制,例如工作在艦船載體上的攝像系統(tǒng)不可避免會(huì)出現(xiàn)抖動(dòng)的情況[1],導(dǎo)致視頻序列模糊,影響了圖像信息的有效利用,因此,這需要對(duì)采集的圖像序列進(jìn)行電子穩(wěn)像[2]。電子穩(wěn)像是計(jì)算機(jī)視覺(jué)領(lǐng)域[3]的一個(gè)重要課題,目的是利用數(shù)字圖像處理技術(shù)[4]去除圖像序列中的隨機(jī)抖動(dòng),得到穩(wěn)定的圖像序列[5]。
目前常用的電子穩(wěn)像算法有塊匹配算法[6]、特征匹配法[7]、灰度投影算法[8]等。其中,塊匹配算法運(yùn)算量大,不適合進(jìn)行實(shí)時(shí)的電子穩(wěn)像處理。特征匹配法計(jì)算簡(jiǎn)單,但是需要圖像中有確定的特征點(diǎn),且對(duì)圖像的變化不敏感。
本文提出一種利用灰度投影進(jìn)行運(yùn)動(dòng)矢量估計(jì)的算法。該算法首先利用灰度投影公式計(jì)算當(dāng)前幀和參考幀的灰度投影,以灰度投影差值作為特征量,分別計(jì)算當(dāng)前幀在不同平移矢量下特征量小于某個(gè)值時(shí)的行數(shù)、列數(shù),行數(shù)、列數(shù)達(dá)到最大值時(shí)對(duì)應(yīng)的平移矢量即為要求得運(yùn)動(dòng)矢量。
灰度投影算法是利用圖像的行列灰度變化規(guī)律來(lái)確定當(dāng)前幀與參考幀之間的運(yùn)動(dòng)矢量,計(jì)算量小,對(duì)于平移抖動(dòng)和旋轉(zhuǎn)量較小的抖動(dòng)具有較高的檢測(cè)精度。其主要可分為灰度映射、投影濾波和互相關(guān)計(jì)算三個(gè)步驟。
2.1 圖像灰度投影
將獲得的視頻經(jīng)過(guò)簡(jiǎn)單的圖像處理后,將每幀的二維圖像(N×M)信息映射成兩條灰度投影曲線,具體方法為
(1)
(2)
colprojk(j)=colk(j)-colTotk
(3)
式中,colk(j)為第k幀圖像第j列的灰度值,curk(i,j)為第k幀上(i,j)位置處的灰度值,colprojk(j)表示第k幀圖像的第j列歸一化后的灰度映射值。行投影row(i)的計(jì)算與列投影的計(jì)算方法類似。
2.2 投影濾波
當(dāng)視頻發(fā)生抖動(dòng)時(shí),圖像的邊緣信息會(huì)發(fā)生明顯的變化,此時(shí)圖像邊緣的行列投影值也會(huì)發(fā)生明顯的變化,使得在互相關(guān)計(jì)算[9]的計(jì)算結(jié)果出現(xiàn)較大的偏差。投影濾波的目的就是通過(guò)余弦濾波器進(jìn)行濾波,降低圖像邊緣信息在計(jì)算過(guò)程中所占的比重,提高運(yùn)動(dòng)矢量的估計(jì)精度[10]。
2.3 互相關(guān)運(yùn)算
將當(dāng)前幀的行(列)投影與參考幀的行(列)投影作相關(guān)運(yùn)算,根據(jù)相關(guān)值曲線的單峰性確定當(dāng)前幀與參考幀之間的偏移量。具體公式為
1≤w≤2m+1
(4)
式中,colk(j+w-1)為第k幀圖像第j列的灰度投影值,m為運(yùn)動(dòng)矢量相對(duì)于參考幀在一側(cè)的搜索寬度,r(w)為當(dāng)前幀與參考幀投影的相關(guān)量。當(dāng)r(w)取得最小值是,即可計(jì)算出當(dāng)前幀圖像相對(duì)參考幀在垂直方向上的運(yùn)動(dòng)矢量。
從互相關(guān)的計(jì)算公式可以看出,灰度投影算法匹配范圍小,求取運(yùn)動(dòng)矢量速度快。但當(dāng)前幀的圖像灰度相對(duì)參考幀的圖像灰度在某區(qū)域內(nèi)發(fā)生強(qiáng)烈變化時(shí),比如有較大的前景運(yùn)動(dòng)目標(biāo)[11]或者多個(gè)運(yùn)動(dòng)目標(biāo)時(shí)會(huì)造成灰度投影曲線的較大變化,從而導(dǎo)致灰度投影算法中的互相關(guān)運(yùn)算求得的運(yùn)動(dòng)矢量不精確。
針對(duì)2.3中灰度投影算法的不足,本文提出一種新的方法,在對(duì)灰度投影曲線處理中不需要考慮前景運(yùn)動(dòng)目標(biāo)和部分區(qū)域灰度變化帶來(lái)的不利。
3.1 灰度投影差值
兩幀圖像發(fā)生平移抖動(dòng)時(shí)的,它們的行列投影曲線保持基本相似的形狀。而在不同運(yùn)動(dòng)矢量情況下,當(dāng)前幀和參考幀相同的行列的灰度映射值相差可能會(huì)很大,因此可以此作為衡量行或列相似的特征量。也就是說(shuō),該行或者列的投影值與參考幀對(duì)應(yīng)行或者列的投影值越接近,表示該行或者列與參考幀的灰度信息越相似?;诖?設(shè)定運(yùn)動(dòng)矢量范圍,并不斷移動(dòng)當(dāng)前幀的投影曲線分別于參考幀投影作差,具體公式如下:
coldif(j)=|colk(j+d)-colr(j)|(-m≤d≤m)
(5)
式中,coldif(j)為j行的當(dāng)前幀動(dòng)投影曲線與參考幀投影曲線的差值,d為動(dòng)投影曲線相對(duì)當(dāng)前幀投影曲線的偏移量,m為偏移量的上限。當(dāng)d>0時(shí),列投影j的范圍為(1,M-d),當(dāng)d≤0時(shí),列投影j的范圍為(|d|+1,M),M為投影的列上限。
3.2 最大列數(shù)
根據(jù)3.1的分析,兩幀圖像中行或列投影值接近的數(shù)目越多,證明兩幀圖像的灰度信息越相似。設(shè)定閾值T來(lái)衡量行、列投影值的接近程度,用colk表示當(dāng)前幀列投影值,colr表示參考幀列投影值。當(dāng)
(6)
計(jì)算符合條件的列數(shù)并繪制成曲線圖,峰值即代表閾值T條件下的列數(shù)最多,其對(duì)應(yīng)的d即為幀的垂直偏移量。求取幀的水平偏移量的方法類似。
3.3 穩(wěn)像處理
穩(wěn)像處理主要流程如下,以行灰度投影為例:
1) 將拍攝的視頻進(jìn)行灰度化處理;
2) 選定參考幀,分別計(jì)算參考幀和當(dāng)前幀的行投影曲線;
3) 根據(jù)視頻的抖動(dòng)幅度確定當(dāng)前幀投影曲線的最大偏移量dxmax,根據(jù)圖像的灰度信息確定閾值T;
4) 計(jì)算偏移量為dx時(shí)行投影曲線差值小于T的行數(shù),其中dx的范圍為(-dxmax,dxmax);
5) 確定行投影曲線差值小于T的行數(shù)最大對(duì)應(yīng)的偏移量,作為當(dāng)前幀的運(yùn)動(dòng)矢量;
6) 按照步驟5)求得的運(yùn)動(dòng)矢量進(jìn)行圖像補(bǔ)償,并對(duì)補(bǔ)償后的圖像作邊緣補(bǔ)償。
4.1 實(shí)驗(yàn)結(jié)果
利用上面的改進(jìn)算法,對(duì)手機(jī)拍攝的480pixels×640pixels人為抖動(dòng)視頻進(jìn)行處理,在計(jì)算機(jī)上使用Matlab進(jìn)行編程。
本次實(shí)驗(yàn)選取第一幀作為參考幀,如圖所示,圖像(a)為第一幀,圖像(b)為當(dāng)前幀,圖(c)、圖(d)分別為參考幀不經(jīng)過(guò)余弦濾波的行投影曲線和列投影曲線,圖(e)、圖(f)分別為當(dāng)前幀經(jīng)過(guò)余弦濾波后的行投影曲線和列投影曲線。
圖1 灰度圖及灰度投影曲線
在拍攝的視頻的過(guò)程中,抖動(dòng)的幅度較小,一般不超過(guò)圖像的1/10,因此行投影偏移量的dxmax取值設(shè)為60,列投影偏移量dymax的取值設(shè)為40可以滿足實(shí)驗(yàn)的要求。為了能夠滿足圖像灰度信息的變化,盡量剔除干擾區(qū)域的投影數(shù)據(jù),本次實(shí)驗(yàn)中,閾值T取值為1000。如圖所示,圖2(a)、圖2(b)分別為上述條件下的最大行數(shù)曲線圖、最大列數(shù)曲線圖,從圖中可以得到:dx=0時(shí)對(duì)應(yīng)的行數(shù)最多,dy=-28時(shí)對(duì)應(yīng)的列數(shù)最多,因此當(dāng)前幀相對(duì)參考幀的運(yùn)動(dòng)矢量為(0,-28)。
圖2 不同運(yùn)動(dòng)矢量下的最大行、列數(shù)
4.2 實(shí)驗(yàn)分析
為了能夠驗(yàn)證本文算法的有效性,將實(shí)驗(yàn)結(jié)果與傳統(tǒng)的灰度投影算法作比較。利用相關(guān)運(yùn)算公式得到運(yùn)動(dòng)矢量為(3,-28)。如圖所示,圖3分別按照(0,-28)和(3,-32)對(duì)當(dāng)前幀補(bǔ)償后與參考幀的差分圖,在差分之前已分別對(duì)補(bǔ)償圖像進(jìn)行了邊緣補(bǔ)償。 從圖中可以看出,差分圖像的物體邊緣線條明顯減少,證明采用本文的算法補(bǔ)償后的與參考幀圖像更接近。
針對(duì)前景運(yùn)動(dòng)目標(biāo)和局部灰度發(fā)生變化對(duì)灰度投影算法精度造成干擾的問(wèn)題,提出了一種改進(jìn)的算法,算法在灰度投影的基礎(chǔ)上,將灰度投影差值作為特征量,分別計(jì)算當(dāng)前幀在不同平移矢量下特征量小于閾值時(shí)的行數(shù)、列數(shù),確定行數(shù)、列數(shù)最大時(shí)對(duì)應(yīng)的平移矢量為抖動(dòng)矢量,提高了求取運(yùn)動(dòng)矢量的精度。實(shí)驗(yàn)證明,本文算法優(yōu)于傳統(tǒng)的灰度投影算法。
[1] ?,幀?洪丹鳳,吳鑫,等.一種基于HGPC的交通監(jiān)控視頻抖動(dòng)異常檢測(cè)方法[J].青島大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,27(3):38-42.
[2] 關(guān)升.幾種電子穩(wěn)像算法的初步研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2006:3-8.
[3] 編正崗.機(jī)器視覺(jué)技術(shù)的發(fā)展[J].中國(guó)儀器儀表,2015(6):40-43.
[4] C Morimoto, R Chellappa. Fast electronic digital image stabilization for off-road navigation[J]. Real-Time Imaging(S1077-2014),1996,5(2):285-296.
[5] 白豐,張小俊,張明路,等.基于分區(qū)灰度投影的穩(wěn)像算法在衛(wèi)星裝配中的應(yīng)用[J].中國(guó)機(jī)械工程,2016,27(2):195-200.
[6] Vella F, Castorina A, Mancuso M, et al. Digital image stabilization by adaptive block motion vectors filtering[J]. IEEE Trans, on Consumer Electronics(S0098-3063),2002,48(3):796-801.
[7] 吉淑嬌,朱明,胡漢平,等.基于特征匹配的視頻穩(wěn)像算法[J].吉林大學(xué)學(xué)報(bào)(工業(yè)版),2013,43(增刊):322-325.
[8] 汪小勇,李奇,徐之海,等.用于實(shí)時(shí)數(shù)字穩(wěn)像的灰度投影算法研究[J].光子學(xué)報(bào),2006,35(8):365-370.
[9] 張朝陽(yáng),潘保昌,鄭勝林.基于幀差的灰度投影的快速運(yùn)動(dòng)物體檢測(cè)[J].廣東工業(yè)大學(xué)學(xué)報(bào),2008,25(3):76-80.
[10] 顧學(xué)海.基于灰度投影改進(jìn)的電子穩(wěn)像[J].應(yīng)用光學(xué),2013,34(6):957-963.
[11] 肖進(jìn)勝,單姍姍,易本順,等.基于分區(qū)灰度投影穩(wěn)像的運(yùn)動(dòng)目標(biāo)檢測(cè)算法[J].湖南大學(xué)學(xué)報(bào)(自然科學(xué)版),2013,40(6):96-102.
Electronic Image Stabilization Algorithm Based on Gray Projection Difference
LI Dacheng YANG Xiaodong
(Naval Submarine Academy, Qingdao 266100)
In allusion to the translational jitter of image sequences, an improved gray projection algorithm is proposed. The key steps to realize the algorithm are set forth in details. Gray projection of the current frame and reference frame is calculated, gray mapping difference is chosen as the characteristic and the image motion vector and compensation current frame image are determined. In order to evaluate this algorithm, image difference algorithm is applied under lab conditions. Experiments show that this method is effective to solve the prospects for local object motion and change of parts of image gray level and can achieve the goal of electronic image stabilization.
translational jitter, gray projection, motion vector, electronic image stabilization
2016年7月11日,
2016年6月27日
李大成,男,碩士,研究方向:艦艇運(yùn)動(dòng)態(tài)勢(shì)視覺(jué)觀測(cè)技術(shù)。楊曉東,男,博士,教授,研究方向:艦艇機(jī)器視覺(jué)。
TP391
10.3969/j.issn.1672-9730.2017.01.021