文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2017.06.018
中文引用格式: 高全明,孫俊喜,劉廣文,等. 基于FPGA的交通視頻快速去霧系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2017,43(6):71-74.
英文引用格式: Gao Quanming,Sun Junxi,Liu Guangwen,et al. Design and implementation on the system of high speed fog removal in traffic video images based on FPGA[J].Application of Electronic Technique,2017,43(6):71-74.
0 引言
霧霾天氣下采集的交通監(jiān)控視頻圖像存在畫質(zhì)模糊、亮度偏暗等問題,這會給交通車輛監(jiān)管和有效信息采集帶來極大困難,使人們很難從圖像中提取出有效信息。因此,如何快速高效地對圖像進(jìn)行去霧,降低天氣條件對交通監(jiān)控系統(tǒng)的影響,提高交通監(jiān)控視頻質(zhì)量已成為亟需解決的問題。
目前為止,圍繞如何有效去霧,國內(nèi)外出現(xiàn)了很多種去霧方法,這些研究方法大體可分為兩類:圖像增強(qiáng)方法和圖像復(fù)原方法。圖像增強(qiáng)方法是早期人們探索如何有效去霧時常用的方法,主要有基于統(tǒng)計特性的直方圖均衡化算法[1]和Edwin.H.Land等人提出的Retinex理論[2]。如文獻(xiàn)[3]利用圖像增強(qiáng)方法實(shí)現(xiàn)有效圖像去霧;文獻(xiàn)[4]通過改善圖像對比度達(dá)到視覺去霧效果;該類方法重點(diǎn)在于通過各種方法改善圖像對比度,從而實(shí)現(xiàn)視覺上的去霧,但沒有考慮到霧天圖像場景深度的多樣性,因而不能從根本上實(shí)現(xiàn)去霧。基于物理模型的圖像復(fù)原方法復(fù)原后圖像自然,具有很好的去霧效果。具有代表性的是何愷明提出的暗通道先驗(yàn)去霧算法[5],該方法根據(jù)暗通道統(tǒng)計規(guī)律復(fù)原清晰圖像,去霧效果明顯,但計算量較大,尤其是細(xì)化透射率采用的軟摳圖(或?qū)驗(yàn)V波[6])過于復(fù)雜和耗時,無法滿足實(shí)時視頻去霧處理。
FPGA具有強(qiáng)大的并行運(yùn)算處理能力,完全可以做到視頻實(shí)時處理,基于此,F(xiàn)PGA作為一種高效便攜的實(shí)時視頻處理平臺被廣泛應(yīng)用。本文在研究文獻(xiàn)[7]算法的基礎(chǔ)上,針對FPGA運(yùn)算能力強(qiáng)、處理速度快等特性,對文獻(xiàn)[7]算法做出簡化和改進(jìn),提出了一種霧天交通視頻圖像快速去霧系統(tǒng)。實(shí)驗(yàn)證明,該系統(tǒng)可有效解決霧天交通監(jiān)控視頻圖像降質(zhì)問題。
1 快速去霧算法
1.1 算法流程
為了降低去霧算法的復(fù)雜度,提高系統(tǒng)的實(shí)時性,本系統(tǒng)在亮度Y分量的基礎(chǔ)上進(jìn)行有效去霧處理,具體去霧算法流程如圖1所示。首先將采集到的視頻數(shù)據(jù)通過解碼、轉(zhuǎn)換成YCbCr數(shù)據(jù)并緩存到SDRAM中,然后提取出亮度Y分量,并對其反相化處理得到反色圖,反色圖進(jìn)行中值濾波處理,濾波后得到的圖像即為大氣散射模型的傳播圖;利用一幀圖像YCbCr數(shù)據(jù)估計出當(dāng)前大氣光強(qiáng)度A;依據(jù)大氣散射模型,利用傳播圖、大氣光強(qiáng)度A和霧圖亮度分量復(fù)原無霧圖像亮度分量;最后在復(fù)原后的圖像RGB基礎(chǔ)上進(jìn)行亮度校正得到最終去霧圖像,解決去霧處理后的圖像畫質(zhì)偏暗問題。
1.2 大氣光強(qiáng)度估計
本系統(tǒng)充分考慮FPGA實(shí)現(xiàn)的可能性,以及交通監(jiān)控視頻處理實(shí)時性要求,對大氣光強(qiáng)度A的獲取作以下調(diào)整:首先獲取一幀圖像的最大亮度值Ymax,然后將Ymax和其對應(yīng)的Cb、 Cr數(shù)據(jù)轉(zhuǎn)換成RGB數(shù)據(jù),得到IR、IG、IB,此時大氣光強(qiáng)度為:A=max[IR,IG,IB]。
1.3 傳播圖的估計與中值濾波處理
獲取傳播圖的目的就是獲取場景目標(biāo)霧氣濃度,以便與霧圖復(fù)原出無霧圖像。本系統(tǒng)采用亮度反相化快速獲取傳播圖,該方法簡單有效,滿足視頻去霧實(shí)時性要求。考慮到復(fù)原無霧圖像時,目標(biāo)場景細(xì)節(jié)容易被淹沒,為了增強(qiáng)目標(biāo)場景的邊緣細(xì)節(jié)信息,同時濾出反相化處理疊加的噪聲,需要對反色圖進(jìn)行中值濾波處理,以便增強(qiáng)復(fù)原圖像邊緣細(xì)節(jié)。
中值濾波是將濾波模板內(nèi)的灰度值進(jìn)行有效排序,選取中間值作為該滑動模板的輸出值。設(shè)f(x,y)、g(x,y)分別是圖像灰度值和中值濾波有效輸出值。若W為滑動濾波模板,則:
1.4 圖像復(fù)原
根據(jù)大氣散射模型表達(dá)式,利用傳播圖即可復(fù)原無霧圖像亮度分量。由于傳播圖存在趨于0的情況,所以有必要在式(2)中加入一個下限值t0,則所需復(fù)原公式為:
1.5 圖像亮度校正
去霧復(fù)原后的圖像畫質(zhì)偏暗,需要對圖像亮度重新校正。視頻圖像去霧處理對實(shí)時性要求很高,亮度校正要盡可能不影響系統(tǒng)的實(shí)時性。
基于以上思想,本文提出了一種簡單、高效的提升圖像亮度的方法,該方法在復(fù)原后圖像RGB基礎(chǔ)上,依據(jù)灰度值大小對圖像亮度進(jìn)行校正,具體方法如下:
其中,c代表R、G、B三顏色通道;p是校正因子,p值越大,調(diào)整后圖像畫質(zhì)越亮。本文通過實(shí)驗(yàn)發(fā)現(xiàn),選取p=50,可取得較好的校正效果。
2 基于FPGA快速去霧算法實(shí)現(xiàn)
本系統(tǒng)總體框架如圖2所示。
系統(tǒng)分為4個功能模塊,分別為大氣光強(qiáng)度A獲取模塊、傳播圖估計與濾波模塊、圖像復(fù)原模塊和亮度校正模塊。圖像數(shù)據(jù)處理采用流水線工作模式,所有圖像數(shù)據(jù)串行輸入各模塊并被逐一處理,最后完成去霧處理后輸出。FIFO用于緩存各模塊之間的數(shù)據(jù),使它們之間更加協(xié)調(diào)工作。
2.1 大氣光強(qiáng)度獲取模塊
首先從亮度圖中獲取最大亮度值Ymax,然后將Ymax和其對應(yīng)的Cb、Cr數(shù)據(jù)轉(zhuǎn)換成RGB數(shù)據(jù),取A=max[IR,IG,IB];獲取大氣光強(qiáng)度A需要遍歷一幀圖像數(shù)據(jù),這嚴(yán)重影響了系統(tǒng)的實(shí)時性,為了降低獲取大氣光強(qiáng)度A對系統(tǒng)實(shí)時性的影響,在比較器工作的同時設(shè)置一個計數(shù)器,當(dāng)計數(shù)器計數(shù)達(dá)到640×480(視頻源采用PAL制式640×480彩色圖像)時,即表示一幀圖像數(shù)據(jù)處理完畢。通過實(shí)驗(yàn)分析,本系統(tǒng)每處理完20幀圖像數(shù)據(jù)更新一次大氣光強(qiáng)度A,可獲得較好的視頻去霧效果。具體操作流程如圖3所示。
2.2 傳播圖估計與濾波模塊
中值濾波模塊主要分為滑動模板和排序模塊兩部分。系統(tǒng)選用3×3滑動模板進(jìn)行中值濾波,調(diào)用IP核altshift_taps移位寄存器實(shí)現(xiàn)滑動模板功能,如圖4所示。其中,D1~D9是待排序模塊處理的圖像亮度值。
將D1~D9按大小排序后,得到的中間值作為當(dāng)前滑動模板中值濾波輸出值,如圖5所示。
2.3 圖像復(fù)原模塊
除法運(yùn)算調(diào)用Quartus II中的LPM_DIVIDE除法器實(shí)現(xiàn)。
2.4 亮度校正模塊
去霧復(fù)原后的無霧圖像會出現(xiàn)畫質(zhì)偏暗現(xiàn)象,因場景不同而產(chǎn)生不同程度的偏暗,不但降低了去霧效果,而且嚴(yán)重影響交通監(jiān)控視頻有效信息的提取。因此本系統(tǒng)在復(fù)原無霧圖像后利用校正式(4)對圖像亮度重新校正,提高圖像整體亮度。在利用式(3)計算灰度值時,由于FPGA不支持浮點(diǎn)數(shù)計算,所以將式(3)轉(zhuǎn)換成式(6)計算灰度值:
3 實(shí)驗(yàn)分析
本系統(tǒng)FPGA[8]選用Altera公司的Cyclone II系列EP2C70F896C6作為主控芯片,使用Verilog[9]語言編程,視頻源為采集的PAL制式640×480彩色圖像,輸出端VGA顯示模式為640×480,刷新頻率為60 Hz。系統(tǒng)在優(yōu)化去霧算法的基礎(chǔ)上進(jìn)一步提高了實(shí)時性,去霧處理速度為60幀/s,完全滿足視頻實(shí)時處理要求。
表1為系統(tǒng)實(shí)驗(yàn)占用FPGA資源情況,本系統(tǒng)設(shè)計并沒有占用太多FPGA資源,硬件成本很低。
4 結(jié)論
本文提出了一種基于FPGA硬件平臺的交通視頻圖像快速去霧系統(tǒng),該系統(tǒng)去霧效果良好,可有效降低霧天對交通監(jiān)控系統(tǒng)的影響。FPGA具有運(yùn)算能力強(qiáng)、邏輯資源豐富等特性,因此,本系統(tǒng)可根據(jù)實(shí)際需要與其他系統(tǒng)相連接,如作為交通車牌識別前端處理,為后續(xù)車牌檢測、識別提供高質(zhì)量、清晰視頻源。本系統(tǒng)設(shè)計簡單,成本較低,具有很好的實(shí)用價值。
參考文獻(xiàn)
[1] 詹翔,周焰.一種基于局部方差的霧天圖像增強(qiáng)方法[J].計算機(jī)應(yīng)用,2007,27(2):510-512.
[2] 林笑君,梁鳳梅.基于Retinex的一種圖像去霧算法[J].電視技術(shù),2013(17):047.
[3] TAN R T.Visibility in bad weather from a single image[C].Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C.,USA:IEEE Press,2008:1-8.
[4] RIZZI A,MARINI D,ROVATI L L,et al.Unsupervised corrections of unknown chromatic dominants using a Brownian-path-based Retinex algorithm[J].Journal of Electronic Imaging,2003,12(3):431-441.
[5] HE K,SUN J,TANG X.Single image haze removal using dark channel prior[C].Proceedings of IEEE Conference on Computer Visionand Pattern Recognition,Miami,F(xiàn)L,USA:IEEE Computer Society,2009:1956-1963.
[6] HE K,SUN J,TANG X.Guided image filtering[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2013,35(6):1397-1409.
[7] 郭璠,蔡自興,謝斌,等.單幅圖像自動去霧新算法[J].中國圖象圖形學(xué)報,2011,16(4):516-521.
[8] 克里茲(美).高級FPGA設(shè)計結(jié)構(gòu)、實(shí)現(xiàn)和優(yōu)化[M].孟展元,譯.北京:機(jī)械工業(yè)出版社,2009.
[9] 帕爾尼卡(美).Verilog HDL數(shù)字設(shè)計與綜合[M].夏宇聞,譯.北京:電子工業(yè)出版社,2009.
作者信息:
高全明1,孫俊喜2,劉廣文1,才 華1,陳廣秋1
(1.長春理工大學(xué) 電子信息工程學(xué)院,吉林 長春130022;2.東北師范大學(xué) 計算機(jī)科學(xué)與信息技術(shù)學(xué)院,吉林 長春130117)