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