張全法, 任朝棟, 李 煥, 楊海彬
(鄭州大學(xué) 物理工程學(xué)院 河南 鄭州 450001)
視頻車輛監(jiān)控系統(tǒng)圖像抖動(dòng)快速消除算法研究
張全法, 任朝棟, 李 煥, 楊海彬
(鄭州大學(xué) 物理工程學(xué)院 河南 鄭州 450001)
在開發(fā)智能視頻車輛監(jiān)控系統(tǒng)時(shí),為滿足圖像抖動(dòng)消除速度和效果的要求,通過分析系統(tǒng)特點(diǎn)提出了一種基于圖像匹配的新算法.新算法利用在基準(zhǔn)幀中預(yù)先劃定的適合于進(jìn)行圖像匹配的區(qū)域,在當(dāng)前幀中根據(jù)像素灰度的絕對差值和尋找其最佳匹配,通過預(yù)測的方法快速求出當(dāng)前幀相對于基準(zhǔn)幀的偏移量,從而用來消除抖動(dòng).實(shí)驗(yàn)表明,新算法在確保抖動(dòng)消除效果的同時(shí)大幅度地提高了處理速度,滿足了系統(tǒng)要求.
視頻圖像處理; 車輛監(jiān)控系統(tǒng); 視頻圖像抖動(dòng)消除; 圖像匹配
智能視頻車輛監(jiān)控系統(tǒng)中的圖像抖動(dòng)會(huì)嚴(yán)重影響車輛的識(shí)別和跟蹤、交通參數(shù)的統(tǒng)計(jì)、交通違章的判定等.即使采用高成本的龍門支架安裝攝像頭,在受到強(qiáng)風(fēng)、重型車輛駛過等因素影響的時(shí)候,所拍攝的視頻圖像仍然可能出現(xiàn)抖動(dòng).采用加速度傳感器、濾鏡等硬件設(shè)備來消除圖像抖動(dòng),效率低,應(yīng)用環(huán)境有限[1],成本也高.于是在設(shè)計(jì)該系統(tǒng)時(shí)提出利用軟件來消除圖像抖動(dòng).為了不影響系統(tǒng)的實(shí)時(shí)性,既要求其速度盡量快,還要求抖動(dòng)消除效果盡量好.
視頻圖像抖動(dòng)消除系統(tǒng)一般包括運(yùn)動(dòng)參數(shù)估計(jì)和運(yùn)動(dòng)補(bǔ)償兩個(gè)模塊[2],而運(yùn)動(dòng)參數(shù)估計(jì)模塊是其中的關(guān)鍵.目前用來估計(jì)運(yùn)動(dòng)參數(shù)的方法主要有基于圖像匹配的方法[3-4]、基于光流的方法[5]和基于特征匹配的方法[2,6].基于光流的方法非常復(fù)雜,運(yùn)算量太大[4].基于特征匹配的方法運(yùn)算量也很大,因?yàn)檫M(jìn)行特征提取往往涉及大量的幾何與圖像形態(tài)學(xué)計(jì)算[7].基于圖像匹配的方法對于只含有平移和微小旋轉(zhuǎn)的圖像序列具有較高的檢測精度,通過采用快速搜索算法,如三步搜索法、兩維對數(shù)下降法和兩步搜索法等,可以大大減少計(jì)算量[8].然而,通過分析與嘗試發(fā)現(xiàn),已有算法的處理速度還不能滿足系統(tǒng)要求.為此,針對系統(tǒng)特點(diǎn)提出一種新的基于圖像匹配的快速算法,不僅滿足了系統(tǒng)的速度要求,而且滿足了系統(tǒng)的效果要求.
1.1系統(tǒng)特點(diǎn)分析
智能視頻車輛監(jiān)控系統(tǒng)的特點(diǎn):
①前景中存在大量的運(yùn)動(dòng)物體,如各種車輛和行人等.因此在已有算法中所產(chǎn)生的匹配區(qū)域有可能包含運(yùn)動(dòng)物體,在估計(jì)運(yùn)動(dòng)參數(shù)時(shí),只能采取復(fù)雜的措施如迭代最小二乘法[2]、M魯棒估計(jì)方法、快速M(fèi)估計(jì)算法[4]、運(yùn)動(dòng)一致性原則[3]等來減小其影響,從而導(dǎo)致已有算法的處理速度達(dá)不到系統(tǒng)要求.為此,提出利用預(yù)先劃定的不包含運(yùn)動(dòng)物體的區(qū)域作為匹配區(qū)域.這樣既可以避免復(fù)雜措施對速度的影響,又可以縮短匹配時(shí)間,提高處理效果.當(dāng)然,若想獲得比較好的處理效果,所劃定的匹配區(qū)域還應(yīng)該具有明顯的特征.
②在所開發(fā)的智能視頻車輛監(jiān)控系統(tǒng)中,用于車輛行為智能分析的攝像頭在安裝調(diào)試之后參數(shù)固定不變,不存在旋轉(zhuǎn)、平移或調(diào)焦等主觀運(yùn)動(dòng).可以選取特征明顯又不會(huì)被遮擋的固定物體作為匹配區(qū)域,必要時(shí)甚至可以設(shè)立標(biāo)識(shí)性物體.而且可以僅劃定1個(gè)匹配區(qū)域,從而可以將其局部運(yùn)動(dòng)矢量直接作為全局運(yùn)動(dòng)矢量,使得在運(yùn)動(dòng)補(bǔ)償模塊中不必再根據(jù)相鄰幀之間全局運(yùn)動(dòng)矢量夾角大于90 °的出現(xiàn)頻率等[3]來區(qū)分?jǐn)z像頭的主觀運(yùn)動(dòng)和非主觀運(yùn)動(dòng),可以將所有運(yùn)動(dòng)看作非主觀運(yùn)動(dòng)即抖動(dòng),直接進(jìn)行運(yùn)動(dòng)補(bǔ)償即可.已有算法則不然.
③攝像頭抖動(dòng)造成圖像可能同時(shí)有水平方向和垂直方向的運(yùn)動(dòng),但旋轉(zhuǎn)運(yùn)動(dòng)和縮放運(yùn)動(dòng)可以忽略.前者使得不適合采用文獻(xiàn)[9]中所述的投影法來提高匹配區(qū)域的搜索速度[7].后者使得可以應(yīng)用基于圖像匹配的方法來消除抖動(dòng),提高運(yùn)動(dòng)參數(shù)的估計(jì)速度,同時(shí)提高運(yùn)動(dòng)補(bǔ)償模塊的處理速度.在圖像域中進(jìn)行圖像匹配時(shí),為避免運(yùn)算量太大,采用根據(jù)像素灰度信息的方法.
④一般情況下攝像頭抖動(dòng)的頻率比較低、幅度比較小.可以將所劃定的匹配區(qū)域在基準(zhǔn)幀中的位置作為搜索中心,根據(jù)工程實(shí)際在其附近限定搜索范圍.在低頻抖動(dòng)下,可以根據(jù)上一幀的運(yùn)動(dòng)趨勢預(yù)測下一幀的運(yùn)動(dòng)趨勢,并將上一幀中的最佳匹配位置作為下一幀的搜索起點(diǎn),從而加快匹配區(qū)域的搜索速度.實(shí)際中確實(shí)可能出現(xiàn)低頻、大幅度的抖動(dòng),可以采用超出搜索范圍即跳過去不處理的方法,因?yàn)橐环矫孢@種情況的出現(xiàn)概率很低,另一方面即使能夠消除抖動(dòng)圖像的可用信息也會(huì)大幅度減少.
⑤環(huán)境光隨時(shí)間改變,但是一般情況下改變緩慢.根據(jù)像素灰度信息進(jìn)行圖像匹配時(shí),衡量兩個(gè)區(qū)域相似程度的測度函數(shù)絕對差值和受光照變化的影響比較大,但速度最快,故選用它來提高計(jì)算速度.至于環(huán)境光緩慢改變的影響,則通過定期更新匹配區(qū)域的方法來減小.雖然更新匹配區(qū)域也需要時(shí)間,但是每次更新耗時(shí)很短,況且可以間隔很多幀才進(jìn)行一次,對速度的影響要比采用復(fù)雜的測度函數(shù)小得多.環(huán)境光也有急劇改變的時(shí)候,如閃電導(dǎo)致的瞬間改變等,可以采取不處理對應(yīng)幀的方法,這并不影響系統(tǒng)整體性能.
1.2新算法描述
在進(jìn)行抖動(dòng)消除之前需要將每幀彩色圖像轉(zhuǎn)換為灰度圖像,為了提高轉(zhuǎn)換速度并且盡量地不失真,采用了文獻(xiàn)[10]中所述的灰度化方法.事實(shí)上,所求運(yùn)動(dòng)參數(shù)完全可以用來對原始的彩色圖像進(jìn)行抖動(dòng)消除,差別僅在于需要平移的數(shù)據(jù)量比較大.
假設(shè)每幀圖像水平、垂直方向像素?cái)?shù)分別為S、T.建立基準(zhǔn)幀坐標(biāo)系OXY,原點(diǎn)位于基準(zhǔn)幀左上角,X軸水平向右,Y軸垂直向下.由于圖像是離散化的,每個(gè)像素可以用一個(gè)小矩形表示出來,但是坐標(biāo)系不便繪制,故采用在最上面一行像素旁邊標(biāo)出0,1,…,S-1的方法表示X軸,采用在最左邊一列像素旁邊標(biāo)出0,1,…,T-1的方法表示Y軸,如圖1所示.假設(shè)在第一幀即基準(zhǔn)幀中預(yù)先劃定的匹配區(qū)域如圖1中陰影部分所示,水平、垂直方向像素?cái)?shù)分別為M、N,左上角即“·”所在像素在基準(zhǔn)幀坐標(biāo)系里的坐標(biāo)為(X0,Y0).建立匹配區(qū)域坐標(biāo)系oxy,原點(diǎn)位于匹配區(qū)域左上角,x、y軸分別與X、Y軸平行(圖1).
假設(shè)根據(jù)工程實(shí)際確定的最大水平、垂直抖動(dòng)幅度分別為H、V像素.顯然,劃定匹配區(qū)域時(shí)必須由軟件將匹配區(qū)域左上角限制在圖1中粗線框所示的矩形之內(nèi),此矩形左上角的坐標(biāo)為(H,V),寬度為S-M-2H像素,高度為T-N-2V像素.當(dāng)前幀坐標(biāo)系與基準(zhǔn)幀坐標(biāo)系相同,如圖2所示.用來進(jìn)行圖像匹配的子圖如圖2中陰影部分所示,尺寸與匹配區(qū)域相同,左上角即“·”所在像素在當(dāng)前幀坐標(biāo)系中的坐標(biāo)為(X,Y).子圖坐標(biāo)系與匹配區(qū)域坐標(biāo)系相同.
圖1 基準(zhǔn)幀與匹配區(qū)域坐標(biāo)系Fig.1 Coordinates systems of base frame and matching region
圖2 當(dāng)前幀與子圖坐標(biāo)系Fig.2 Coordinates systems of current frame and sub image
開始處理前將匹配區(qū)域在基準(zhǔn)幀中的像素灰度值及左上角坐標(biāo)(X0,Y0)保存到內(nèi)存中,并且設(shè)置偏移量和運(yùn)動(dòng)趨勢的初值.偏移量為(δX,δY),初值是(0,0).運(yùn)動(dòng)趨勢為(βX,βY),βX和βY取+1時(shí)分別表示向右、向下運(yùn)動(dòng),取-1時(shí)分別表示向左、向上運(yùn)動(dòng);運(yùn)動(dòng)趨勢的初值可以任意選取,假設(shè)為(+1,+1).開始處理后,假設(shè)對任一幀圖像已經(jīng)求得上一幀中匹配區(qū)域的(δX,δY)和(βX,βY),搜索最佳匹配的步驟是:
①根據(jù)上一幀的偏移量預(yù)測搜索起點(diǎn).令第1個(gè)子圖左上角在當(dāng)前幀坐標(biāo)系里的坐標(biāo)(X,Y)滿足X=X0+δX,Y=Y0+δY.然后按照絕對差值和法求其與匹配區(qū)域的相似程度測度函數(shù)值,即
(1)
式中,(X,Y)為子圖左上角在當(dāng)前幀坐標(biāo)系里的坐標(biāo);D(X,Y)為子圖與匹配區(qū)域的相似程度測度函數(shù)值;M、N分別為匹配區(qū)域水平、垂直方向像素?cái)?shù);(x,y)為子圖與匹配區(qū)域中的對應(yīng)像素在各自坐標(biāo)系里的坐標(biāo);g(x,y),g0(x,y)分別為子圖與匹配區(qū)域中對應(yīng)像素的灰度.由于環(huán)境光是變化的,并且考慮到采用了預(yù)測的方法,求和一直進(jìn)行到最后,而不是像SSDA算法那樣超過某個(gè)閾值就停止[11].
②進(jìn)行水平方向的搜索.Y保持上一步的值不變,根據(jù)βX預(yù)測下一個(gè)子圖的X,即令X=X+βX.按照式(1)重新計(jì)算測度函數(shù)值.若測度函數(shù)值變小或不變,說明搜索方向正確,根據(jù)βX規(guī)定的方向繼續(xù)搜索,直到測度函數(shù)值即將變大.若測度函數(shù)值變大,說明搜索方向錯(cuò)誤,退回原位置,令βX=-βX,并根據(jù)新的βX規(guī)定的方向搜索,直到測度函數(shù)值即將變大.在搜索過程中若超出搜索范圍則停止,認(rèn)為搜索失敗.搜索范圍由圖2中粗線框所示的矩形表示,此矩形左上角的坐標(biāo)為(X0-H,Y0-V),寬度為2H+1像素,高度為2V+1像素.
③進(jìn)行垂直方向的搜索.類似于步驟②,不同的是將X、Y和βX分別換成Y、X和βY.
④重復(fù)步驟②和步驟③,直到X和Y不再改變.若重復(fù)次數(shù)超過給定值,也認(rèn)為搜索失敗.允許的重復(fù)次數(shù)需要根據(jù)運(yùn)行時(shí)間和處理效果綜合確定.
若通過上述步驟搜索成功則繼續(xù)進(jìn)行以下處理,包括由最后的X和Y求得δX=X-X0和δY=Y-Y0作為當(dāng)前幀的偏移量、根據(jù)它們與上一幀偏移量的差別重新確定當(dāng)前幀的運(yùn)動(dòng)趨勢、對當(dāng)前幀圖像進(jìn)行平移即消除抖動(dòng)、利用最佳匹配處的子圖定期地更新匹配區(qū)域、完成系統(tǒng)后續(xù)功能如背景差分和車輛識(shí)別與跟蹤等.若失敗,則不進(jìn)行這些處理.
在配置為奔騰雙核2.5 GHz的微機(jī)上利用VC6.0編程實(shí)現(xiàn)上述算法,對大小為720×288像素的AVI格式視頻進(jìn)行抖動(dòng)消除.由于該段視頻由項(xiàng)目委托單位提供,是在沙盤上拍攝的,景物比例和縱橫比皆存在失真,為了盡量符合實(shí)際,下面給出的圖像改變了原來的縱橫比.
首先考察處理速度.實(shí)驗(yàn)連續(xù)處理了720幀圖像,水平方向偏移量平均2.42像素,最大25像素,垂直方向偏移量平均0.47像素,最大5像素.利用VC6.0的Build/Profile功能測出用于消除抖動(dòng)的函數(shù)總耗時(shí)267 ms,平均每幀耗時(shí)0.37 ms,可見速度非常快,為實(shí)時(shí)完成系統(tǒng)的其他各種復(fù)雜處理爭取了時(shí)間.
其次考察處理的效果,如圖3所示.圖3(a)為基準(zhǔn)幀,右側(cè)矩形框中的區(qū)域?yàn)轭A(yù)先劃定的匹配區(qū)域,大小為83×50像素,為了醒目繪制矩形框時(shí)用了比較粗的線條.圖3(b)為消除抖動(dòng)后的某一幀,圖中黑色部分(左側(cè)比較明顯)是圖像平移的結(jié)果,水平方向移動(dòng)了25像素,垂直方向移動(dòng)了2像素.圖3(c)為消除抖動(dòng)前該幀與基準(zhǔn)幀的二值化差分圖像,車輛周圍存在著大量抖動(dòng)造成的噪聲點(diǎn),無法識(shí)別.圖3(d)為消除抖動(dòng)后該幀與基準(zhǔn)幀的二值化差分圖像,很好地消除了抖動(dòng)的影響,車輛可以被準(zhǔn)確地識(shí)別出來.
針對智能視頻車輛監(jiān)控系統(tǒng)的特點(diǎn),提出了一種快速消除圖像抖動(dòng)的算法,對于保證整個(gè)系統(tǒng)的實(shí)時(shí)性起到了很重要的作用.該算法只是整個(gè)系統(tǒng)中的很小一部分,其他各部分如車輛識(shí)別和跟蹤、車輛行為分析等已經(jīng)完成.在實(shí)際現(xiàn)場測試中獲得了很好的抖動(dòng)消除效果,系統(tǒng)各部分運(yùn)行良好,達(dá)到了設(shè)計(jì)要求.該算法還可以推廣到類似的實(shí)時(shí)視頻圖像處理系統(tǒng)中,只要能夠劃定合適的匹配區(qū)域,就可以利用它既好又快地消除抖動(dòng).
圖3 抖動(dòng)消除效果Fig.3 Effect of video stabilization
[1] 朱磊,夏雨人.Diamond搜索運(yùn)動(dòng)估計(jì)在視頻圖像抖動(dòng)消除中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用與軟件,2006,23(3): 89-91.
[2] 徐理東,林行剛.視頻抖動(dòng)矯正中全局運(yùn)動(dòng)參數(shù)的估計(jì)[J].清華大學(xué)學(xué)報(bào):自然科學(xué)版,2007,47(1):92-95.
[3] 黃亞博,焦建彬,葉齊祥,等.一種魯棒性的抖動(dòng)視頻穩(wěn)像算法[J].光電子·激光,2008,19(3):394-399.
[4] 宋利,周源華,周軍.基于運(yùn)動(dòng)矢量的視頻去抖動(dòng)算法[J].上海交通大學(xué)學(xué)報(bào),2004,38(增刊):63-66.
[5] 楊勇,王橋,吳樂南.基于標(biāo)號場的光流法二維運(yùn)動(dòng)估計(jì)[J].電子與信息學(xué)報(bào),2001,23(12):1321-1325.
[6] 龐洵,李威,高小偉.基于特征匹配與仿射變換的視頻防抖算法[J].微計(jì)算機(jī)信息,2008,24(3/4):180-182.
[7] 陳皓,馬彩文,陳岳承,等.基于灰度統(tǒng)計(jì)的快速模板匹配算法[J].光子學(xué)報(bào),2009,38(6):1586-1590.
[8] 陳躍庭,馮華君,徐之海,等.多參考點(diǎn)三步搜索法快速穩(wěn)像算法[J].光電子·激光,2006,17(6):746-749.
[9] 孫遠(yuǎn),周剛慧,趙立初,等.灰度圖像匹配的快速算法[J].上海交通大學(xué)學(xué)報(bào),2000,34(5):702-704.
[10] 張全法,楊海彬,任朝棟,等.彩色圖像的快速高保真灰度化方法研究[J].鄭州大學(xué)學(xué)報(bào):理學(xué)版,2011,43(3):66-69.
[11] 吳培景,陳光夢.一種改進(jìn)的SSDA圖像匹配算法[J].計(jì)算機(jī)工程與應(yīng)用,2005,41(33):76-78.
StudyonFastVideoStabilizationAlgorithmforVehicleMonitoringSystem
ZHANG Quan-fa, REN Chao-dong, LI Huan, YANG Hai-bin
(SchoolofPhysics&Engineering,ZhengzhouUniversity,Zhengzhou450001,China)
To meet the speed and effect requirement of video stabilization for a vehicle monitoring system in developing,a new fast algorithm based on image matching was proposed by analyzing system features. In the new algorithm,a predefined region that was suitable for image matching to calculate motion parameters was used by comparing its original position in base frame and its best matching position in current frame. The best matching position was found by searching the minimum sum of absolute difference of pixel’s gray value,and forecasting method was used in the searching. Then the motion parameters were used for video stabilization. In experiments,the new algorithm demonstrated a very high speed along with a favourable effect,which met the requirements of the system.
video image processing;vehicle monitoring system;video stabilization;image matching
TP 391.41
A
1671-6841(2011)04-0044-04
2011-01-02
張全法(1966-),男,副教授,碩士,主要從事傳感器與計(jì)算機(jī)應(yīng)用技術(shù)研究,E-mail:zhangquanfa@zzu.edu.cn.