車(chē)載穩(wěn)像系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
摘要:灰度投影算法是車(chē)載視頻穩(wěn)定當(dāng)中應(yīng)用較多的運(yùn)動(dòng)估計(jì)算法,然而投影法對(duì)圖像的對(duì)比度有較高要求,而且在惡劣天氣情況下,針對(duì)直方圖均衡化進(jìn)行對(duì)比度增強(qiáng)效果不好,為此提出采用小波邊緣增強(qiáng)的方法對(duì)圖像進(jìn)行預(yù)處理。實(shí)驗(yàn)表明,該方法有效地提高了灰度投影算法在低對(duì)比度圖像上的運(yùn)動(dòng)矢量估計(jì)精度。
關(guān)鍵詞:電子穩(wěn)像;灰度投影;小波變換;圖像對(duì)比度增強(qiáng)
0 引言
車(chē)載成像技術(shù)是一種將成像設(shè)備置于車(chē)載平臺(tái)的遠(yuǎn)距離、非接觸獲取目標(biāo)圖像的技術(shù)和方法,是未來(lái)汽車(chē)智能化的關(guān)鍵。但是由于攝像機(jī)隨車(chē)體晃動(dòng)導(dǎo)致輸出的圖像序列不穩(wěn)定,圖像序列晃動(dòng)量較大,易使觀察者產(chǎn)生疲勞,也會(huì)嚴(yán)重影響后續(xù)處理的精度,因此,必須對(duì)車(chē)載圖像序列進(jìn)行穩(wěn)定。
目前,車(chē)載穩(wěn)像技術(shù)使用較多的算法為特征點(diǎn)法和灰度投影法。特征點(diǎn)法能對(duì)任意形式的圖像運(yùn)動(dòng)進(jìn)行運(yùn)動(dòng)矢量估計(jì),但在處理一些畫(huà)質(zhì)較差,特征貧乏的圖像時(shí),精度往往很低,很難適應(yīng)車(chē)載視頻穩(wěn)像的各種環(huán)境變化;灰度投影法只能處理只含平移運(yùn)動(dòng)和較小旋轉(zhuǎn)運(yùn)動(dòng)的情況,且要求圖像有一定的對(duì)比度。而車(chē)載視頻往往拍攝時(shí)路況環(huán)境比較復(fù)雜,如雨霧天氣,這就給算法處理的精度帶來(lái)很大影響。本文針對(duì)這種情況,采用小波的方法對(duì)圖像進(jìn)行預(yù)處理,提高灰度投影法在車(chē)載穩(wěn)像應(yīng)用中的抗干擾能力。
1 車(chē)載穩(wěn)像系統(tǒng)框圖
電子穩(wěn)像是利用電子設(shè)備和數(shù)字圖像處理技術(shù)相結(jié)合的方法,通過(guò)計(jì)算選定的參考幀圖像和被比較的當(dāng)前幀圖像的運(yùn)動(dòng)矢量,再根據(jù)獲得的運(yùn)動(dòng)矢量按照某種準(zhǔn)則對(duì)當(dāng)前圖像進(jìn)行補(bǔ)償,從而消除或減輕圖像序列幀間的隨機(jī)抖動(dòng),獲得穩(wěn)定的圖像序列。
電子穩(wěn)像作為車(chē)載穩(wěn)像系統(tǒng)中的核心部分,其系統(tǒng)結(jié)構(gòu)如圖1所示。
其中,全局運(yùn)動(dòng)矢量估計(jì)是整個(gè)穩(wěn)像系統(tǒng)的關(guān)鍵,它決定了穩(wěn)像精度和耗時(shí)性。
1.1 運(yùn)動(dòng)矢量估計(jì)算法
通過(guò)對(duì)高速路抖動(dòng)特點(diǎn)的分析,并且對(duì)目前在電子穩(wěn)像中常用的運(yùn)動(dòng)估計(jì)算法進(jìn)行各自?xún)?yōu)缺點(diǎn)的比較,本系統(tǒng)決定采用灰度投影算法進(jìn)行全局運(yùn)動(dòng)矢量估計(jì)。
灰度投影算法:投影法是利用圖像總體灰度變化規(guī)律來(lái)確定圖像運(yùn)動(dòng)矢量的一種方法,它不必對(duì)圖像上的每一點(diǎn)做相關(guān)運(yùn)算,而是利用圖像的灰度投影曲線做一次相關(guān)運(yùn)算,因此它的運(yùn)算量小,運(yùn)動(dòng)估計(jì)速度快,容易滿足實(shí)時(shí)性要求,同時(shí)抑制噪聲的能力較強(qiáng),并且在精度上也能較好地滿足要求。
該算法首先通過(guò)投影公式將每一幀二維圖像映射成兩個(gè)一維波形,其行列灰度值累加表示為:
式中:Ik(i)代表第k幀圖像第i行的灰度值,Ik(i)代表第k幀圖像第j列的灰度值,Gk(i,j)為第k幀圖像上(i,j)處的像素灰度值。
為了避免因圖像抖動(dòng)導(dǎo)致圖像邊緣信息發(fā)生變化,而影響互相關(guān)計(jì)算出的互相關(guān)曲線峰值,在進(jìn)行互相關(guān)計(jì)算前,對(duì)圖像進(jìn)行余弦濾波,去除圖像邊界信息波形而完整保留中心區(qū)域波形,減小邊界信息對(duì)互相關(guān)計(jì)算的影響,提高計(jì)算精度。投影濾波后,對(duì)參考幀和當(dāng)前幀各分量的兩條曲線進(jìn)行相關(guān)計(jì)算,找到兩條曲線的惟一谷值,即可確定出當(dāng)前幀相對(duì)于參考幀的行列運(yùn)動(dòng)偏移量。相關(guān)運(yùn)算的公式為:
式中:colc(n)和colr(n)分別為第i幀和參考幀的在一個(gè)方向上的灰度投影值,J為兩曲線中進(jìn)行相關(guān)運(yùn)算的單位長(zhǎng)度,m為位移矢量相對(duì)于參考幀在一側(cè)的搜索寬度,即允許的最大正負(fù)抖動(dòng)范圍,m在1至2m+1間取值。當(dāng)C(k)為最小值時(shí),此時(shí)k=Kmin,則第i幀圖像相對(duì)于參考幀圖像在一個(gè)方向上的位移矢量為:
以水平方向?yàn)槔?,vi為正時(shí),表明當(dāng)前幀相對(duì)參考幀向右移了|vi|個(gè)像素;為負(fù)時(shí),表明向左移了|vi|個(gè)像素。同樣的方法,可以得到垂直方向的位移矢量。
1.2 針對(duì)雨霧天氣的圖像預(yù)處理
通過(guò)對(duì)灰度投影法原理的分析,可知灰度投影算法要求圖像有一定的對(duì)比度,當(dāng)圖像灰度值單一并且對(duì)比度差時(shí),利用灰度投影算法對(duì)圖像匹配會(huì)造成投影曲線很平,相關(guān)運(yùn)算后波谷段平緩不易找到,難以找到正確的運(yùn)動(dòng)矢量。而雨霧天氣是車(chē)輛外出常常碰到的情況,惡劣天氣也給投影算法帶來(lái)很大影響。因此,需要對(duì)圖像進(jìn)行預(yù)處理。傳統(tǒng)的預(yù)處理方法是通過(guò)直方圖均衡化進(jìn)行,但這種方法存在丟失細(xì)節(jié)和過(guò)分增強(qiáng)的缺點(diǎn),在增強(qiáng)圖像對(duì)比度的同時(shí)也增強(qiáng)了圖像的噪聲,給后續(xù)算法在運(yùn)動(dòng)矢量估計(jì)的精度上產(chǎn)生很大影響。因此,本文采用小波的方法,即圖像經(jīng)過(guò)小波變換分解為低頻部分和高頻部分,然后單獨(dú)對(duì)高頻部分圖像的邊緣進(jìn)行加強(qiáng)。具體實(shí)現(xiàn)方法如下:
(1)選擇Haar小波對(duì)圖像進(jìn)行分解,得到圖像的低頻子圖和高頻子圖;
(2)利用公式(σ為噪聲標(biāo)準(zhǔn)方差,N為信號(hào)的長(zhǎng)度)確定閥值λ;
(3)對(duì)高頻子圖按上述閥值進(jìn)行邊沿檢測(cè)并標(biāo)記;
(4)對(duì)標(biāo)記的邊緣進(jìn)行加強(qiáng),對(duì)不是邊緣的置零。
采用上述方法進(jìn)行實(shí)驗(yàn),結(jié)果如圖2所示:
通過(guò)以上結(jié)果可以看出,直方圖均衡化在整體增強(qiáng)圖像的同時(shí),也對(duì)圖像噪聲進(jìn)行了增強(qiáng),圖像邊緣清晰度較差,圖像偏暗;而采用小波邊緣增強(qiáng)法處理的圖像,沒(méi)有很明顯的噪聲影響,同時(shí)圖像細(xì)節(jié)也很好地保留下來(lái)而且圖像對(duì)比度也得到了增強(qiáng)。
2 雨霧天氣下車(chē)載視頻穩(wěn)像的實(shí)驗(yàn)
2.1 實(shí)驗(yàn)方法
選取一段手動(dòng)添加抖動(dòng)的公路路段視頻進(jìn)行試驗(yàn),以O(shè)penCV結(jié)合VC++6.0作為軟件開(kāi)發(fā)平臺(tái)編寫(xiě)車(chē)載穩(wěn)像算法,對(duì)視頻進(jìn)行處理,最后將視頻輸出到顯示器上顯示。
2.2 運(yùn)動(dòng)矢量的估計(jì)
選用經(jīng)過(guò)預(yù)處理后的相鄰兩幀圖像根據(jù)公式(1)(2)進(jìn)行投影變換,然后采用公式(3)計(jì)算兩幀圖像的行、列相關(guān)曲線。仿真結(jié)果如圖3所示:
實(shí)驗(yàn)中手動(dòng)加入的水平和垂直方向的抖動(dòng)量分別為-9和12;而實(shí)驗(yàn)結(jié)果顯示,對(duì)未經(jīng)預(yù)處理的霧天圖像,由于對(duì)比度很差,采用灰度投影直接對(duì)其進(jìn)行運(yùn)動(dòng)矢量檢測(cè)時(shí),檢測(cè)到的水平和垂直方向的運(yùn)動(dòng)矢量分別為-3和5,誤差較大;而圖3(b)是經(jīng)過(guò)均衡化處理后,檢測(cè)到的水平和垂直方向運(yùn)動(dòng)矢量為-6和8,精度有所提高;最后圖3(c)是采用小波邊緣增強(qiáng)法對(duì)圖像進(jìn)行對(duì)比度提高,檢測(cè)的水平和垂直方向的運(yùn)動(dòng)偏移量分別為-7和10,雖然還不能完全準(zhǔn)確地檢測(cè)出實(shí)際偏移的運(yùn)動(dòng)矢量,但精度要高于直方圖均衡化處理后的檢測(cè)結(jié)果。
2.3 運(yùn)動(dòng)補(bǔ)償
本文采用兩兩相鄰幀進(jìn)行運(yùn)動(dòng)矢量估計(jì),得到的是相對(duì)位移矢量,而每一幀的絕對(duì)運(yùn)動(dòng)參數(shù)是前N-1個(gè)相對(duì)位移矢量之和。得到每一幀的絕對(duì)運(yùn)動(dòng)參數(shù)后,在采用kal-man濾波器進(jìn)行運(yùn)動(dòng)曲線平滑處理,將處理后的參數(shù)按相反方向?qū)Ξ?dāng)前幀進(jìn)行平移,即可得到穩(wěn)定后的圖像。實(shí)驗(yàn)結(jié)果如圖4所示:
3 實(shí)驗(yàn)結(jié)果分析
算法在主頻Core(TM)2 Duo CPU 2.00 GHz,內(nèi)存2.00GB的PC機(jī)上,使用OpenCV結(jié)合VISUAL C++編程。實(shí)驗(yàn)結(jié)果顯示,在實(shí)時(shí)性方面,穩(wěn)定320*240的圖像序列平均時(shí)間為0.025 18 s,大于25幀/s的圖像實(shí)時(shí)性處理要求。穩(wěn)像精度上,這里使用PSNR(Peak Signal To Noise Ratio)作為穩(wěn)像效果的一種評(píng)價(jià)標(biāo)準(zhǔn)。其計(jì)算公式如下:
其中均方誤差MSE表示兩幀圖像間每個(gè)像素的偏差值。當(dāng)兩幅圖像內(nèi)容變化越小,PSNR值就越大,兩幅圖像完全一樣時(shí),達(dá)到最大值。其中相鄰5幀圖像穩(wěn)像前后PSNR值比較如下:
由表1中數(shù)據(jù)可以看出,經(jīng)過(guò)本系統(tǒng)處理后的視頻幀間重合度有了明顯地改善。
通過(guò)對(duì)50幀視頻圖像序列進(jìn)行的實(shí)驗(yàn)表明,經(jīng)過(guò)該方法處理后視頻的晃動(dòng)幅度明顯得到了改善,基本達(dá)到了穩(wěn)像的要求。
4 結(jié)論
由于惡劣天氣造成圖像對(duì)比度降低,而直方圖均衡化處理效果不佳,造成灰度投影在車(chē)載視頻穩(wěn)定中對(duì)運(yùn)動(dòng)矢量估計(jì)精度的降低甚至失效。針對(duì)這一情況,本文采用小波邊緣增強(qiáng)的方法對(duì)圖像進(jìn)行預(yù)處理,實(shí)驗(yàn)表明,該方法有效提高了灰度投影算法的估計(jì)精度,并且算法也滿足實(shí)時(shí)性要求。