《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于ZYNQ的Retinex實(shí)時(shí)圖像去霧
基于ZYNQ的Retinex實(shí)時(shí)圖像去霧
2018年電子技術(shù)應(yīng)用第4期
董夢莎,張尤賽,王亞軍
江蘇科技大學(xué) 電子與信息學(xué)院,江蘇 鎮(zhèn)江212003
摘要: 霧霾天氣嚴(yán)重影響戶外視頻系統(tǒng)的圖像質(zhì)量。隨著戶外視頻系統(tǒng)的廣泛和深入的應(yīng)用,迫切需要能夠進(jìn)行實(shí)時(shí)處理的小型化的嵌入式圖像去霧系統(tǒng)。提出一種基于ZYNQ的Retinex實(shí)時(shí)圖像去霧方法,在HSV顏色空間對(duì)亮度分量V進(jìn)行Retinex算法去霧處理;采用ARM+FPGA軟硬件協(xié)同的方式,由ARM完成算法控制功能及圖像的顏色空間轉(zhuǎn)換、對(duì)數(shù)等簡單運(yùn)算;在FPGA中采用高斯核函數(shù)與二維圖像卷積的并行算法估計(jì)環(huán)境光的照度。實(shí)驗(yàn)結(jié)果表明,提出的方法在保證去霧效果的情況下,具有處理速度快、小型化、可嵌入、可移植和功耗低等優(yōu)點(diǎn),能夠滿足戶外視頻系統(tǒng)的性能要求。
中圖分類號(hào): TP391
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.173727
中文引用格式: 董夢莎,張尤賽,王亞軍. 基于ZYNQ的Retinex實(shí)時(shí)圖像去霧[J].電子技術(shù)應(yīng)用,2018,44(4):52-55.
英文引用格式: Dong Mengsha,Zhang Yousai,Wang Yajun. Retinex algorithm for real-time image defogging based on ZYNQ[J]. Application of Electronic Technique,2018,44(4):52-55.
Retinex algorithm for real-time image defogging based on ZYNQ
Dong Mengsha,Zhang Yousai,Wang Yajun
School of Electronics and Information,Jiangsu University of Science and Technology,Zhenjiang 212003,China
Abstract: The haze weather has seriously influenced the image quality of outdoor video systems. With the extensive and in-depth application of outdoor video systems, there is an urgent need for miniaturized and embedded real-time image defog systems. This paper proposes a real-time image defog method based on ZYNQ, in which the luminance component V is processed by the Retinex algorithm in the HSV color space. With the cooperation of software calculation and hardware operation, the algorithm control and simple operations, such as image color space conversion and logarithm operations, are performed in the ARM. In order to improve the speed of the algorithm, the parallel convolution algorithm between the Gaussian kernel function and two-dimensional image is executed in FPGA to estimate the ambient light illumination. The experimental results have shown that the proposed algorithm has the advantages of high speed, miniaturized, embedded, high portability and low power consumption, fulfilling the practical requirements of outdoor video systems.
Key words : image defog system;ZYNQ;Retinex algorithm;image enhancement

0 引言

    由于霧霾天氣會(huì)造成戶外視覺系統(tǒng)所獲取的圖像質(zhì)量嚴(yán)重退化,不僅模糊不清、對(duì)比度降低,而且還會(huì)出現(xiàn)嚴(yán)重的色彩偏移和失真,從而影響戶外視覺系統(tǒng)的穩(wěn)定性和準(zhǔn)確性[1-2]。因此,對(duì)霧霾天氣引起的降質(zhì)圖像進(jìn)行有效、快速的去霧處理顯得極為重要。

    常見的去霧方法有兩類:基于圖像復(fù)原的去霧方法和基于圖像增強(qiáng)的去霧方法[3]。前者是從圖像退化的原因出發(fā),建立去霧圖像的物理模型,根據(jù)該模型來恢復(fù)出清晰的去霧圖像。該類方法去霧效果良好,但算法復(fù)雜度較大,不便于在硬件平臺(tái)上實(shí)現(xiàn)?;趫D像增強(qiáng)的去霧方法不考慮圖像霧化的原因和機(jī)理,而是有選擇性地增強(qiáng)需要的細(xì)節(jié)信息。屬于此類的去霧方法常用的是Retinex算法[4]。Retinex算法能較好地保留圖像的邊緣等細(xì)節(jié)信息,處理后的圖像具有亮度適中、對(duì)比度高等優(yōu)點(diǎn)?,F(xiàn)有去霧算法多數(shù)在PC上實(shí)現(xiàn),其移植性和靈活性等均限制了在戶外視頻系統(tǒng)中的應(yīng)用。

    ZYNQ是一種Xilinx體系的全可編程片上系統(tǒng)(All Programmable System on Chip),集成了雙核ARM Cortex-A9和FPGA,擁有大量邏輯單元、數(shù)字信號(hào)處理器(Digital Signal Processor,DSP)等資源,能夠滿足戶外視頻系統(tǒng)的實(shí)時(shí)處理、小型化、可嵌入、可移植和低功耗等性能要求。

    據(jù)此,本文提出一種基于ZYNQ的Retinex實(shí)時(shí)圖像去霧方法,利用ZYNQ的ARM+FPGA軟硬件協(xié)同的方式來提高戶外視頻系統(tǒng)的圖像去霧性能。為了降低算法復(fù)雜度以及顏色保真,該方法在HSV顏色空間對(duì)亮度分量V進(jìn)行Retinex去霧處理,對(duì)飽和度S做線性拉伸來擴(kuò)展動(dòng)態(tài)范圍,保持色調(diào)H不變以避免顏色失真。在實(shí)現(xiàn)架構(gòu)上,由ARM完成一些簡單計(jì)算,如Retinex算法中的對(duì)數(shù)、減法運(yùn)算以及線性拉伸、顏色空間轉(zhuǎn)換等,而將高斯核函數(shù)與圖像的二維卷積這種復(fù)雜耗時(shí)的計(jì)算交由FPGA采用并行算法來提高實(shí)時(shí)處理速度,ARM與FPGA之間的數(shù)據(jù)交互則由片內(nèi)總線AXI4(Advanced eXtensible Interface 4)來承擔(dān)[5]。

1 傳統(tǒng)Retinex算法

    Retinex理論認(rèn)為一幅圖像可分解為圖像入射分量和反射分量,即:

qrs2-gs1-5.gif

2 算法優(yōu)化

    傳統(tǒng)Retinex算法中對(duì)圖像R、G、B 3個(gè)通道分別進(jìn)行處理,容易造成顏色失真,而且在硬件實(shí)現(xiàn)中計(jì)算量非常大,難以滿足系統(tǒng)的實(shí)時(shí)性要求。因此,本文采用基于HSV顏色空間的Retinex算法。將帶霧圖像由RGB顏色空間轉(zhuǎn)換到HSV顏色空間,得到相關(guān)性較小的色調(diào)H、飽和度S和亮度V,保持圖像的H分量不變,對(duì)飽和度分量S進(jìn)行線性拉伸,僅對(duì)V分量進(jìn)行單尺度Retinex算法處理,這樣既可以降低算法的計(jì)算量,又可以避免傳統(tǒng)Retinex算法容易造成顏色失真的缺陷。算法流程圖如圖1所示。

qrs2-t1.gif

    具體實(shí)施步驟如下:選取合適的σ值和模板大小,根據(jù)式(4)構(gòu)造高斯核函數(shù);將帶霧圖像從RGB顏色空間轉(zhuǎn)換到HSV顏色空間;根據(jù)Retinex算法,對(duì)亮度分量V取對(duì)數(shù)得到V1;將分量V代入式(3)與高斯核函數(shù)卷積,然后取對(duì)數(shù)得到環(huán)境光的照度估計(jì)值V2;V1分量和V2分量相減,得到經(jīng)去霧算法處理后的亮度分量V3;對(duì)飽和度分量S進(jìn)行拉伸得到S1;將色調(diào)分量H、拉伸后的飽和度分量S1以及經(jīng)Retinex算法處理后得到的亮度分量V3轉(zhuǎn)化到RGB色彩空間并輸出,完成圖像去霧過程。

3 硬件平臺(tái)實(shí)現(xiàn)

    硬件平臺(tái)是基于Zynq-7010的開發(fā)板,采用ARM+ FPGA的方式完成圖像去霧系統(tǒng)的設(shè)計(jì)[6]。圖像去霧系統(tǒng)中,圖像數(shù)據(jù)作為數(shù)據(jù)輸入;對(duì)數(shù)模塊、顏色空間轉(zhuǎn)換模塊、減法器、線性拉伸S模塊以及顯示控制在ARM中完成;計(jì)算量大、占用時(shí)間長的卷積運(yùn)算放在FPGA中運(yùn)行。

3.1 圖像數(shù)據(jù)的規(guī)格化

    為了提高計(jì)算速度,降低FPGA資源消耗,設(shè)計(jì)中使用定點(diǎn)數(shù)保存數(shù)據(jù)并進(jìn)行計(jì)算。實(shí)驗(yàn)表明,對(duì)于圖像數(shù)據(jù)HSV的值域[0,1],當(dāng)誤差小于4×10-3時(shí),不會(huì)出現(xiàn)明顯的圖像細(xì)節(jié)信息的丟失。因此用0.003 906規(guī)格化圖像數(shù)據(jù)的值域[0,1],即可采用如圖2所示的8 bit二進(jìn)制定點(diǎn)小數(shù)來表示圖像數(shù)據(jù),小數(shù)點(diǎn)固定在最高位左邊,表示范圍為[0,0.996],最小分辨率為(0.00000001)2≈0.003 906。

qrs2-t2.gif

3.2 ARM部分算法實(shí)現(xiàn)

3.2.1 對(duì)數(shù)模塊

    Retinex算法中需要對(duì)帶霧圖像I(x,y)和圖像的入射分量(環(huán)境光的照度)L(x,y)進(jìn)行對(duì)數(shù)運(yùn)算。在ZYNQ系統(tǒng)中為了降低量化誤差和提高運(yùn)算的實(shí)時(shí)性,這里采用以2為底的對(duì)數(shù)查找表方法來實(shí)現(xiàn)對(duì)數(shù)運(yùn)算。

    由于圖像數(shù)據(jù)I(x,y)、L(x,y)已被規(guī)格化為圖2所示的8 bit二進(jìn)制定點(diǎn)小數(shù),因此其值域∈[0,0.996],最小分辨率為0.003 906,共有256個(gè)數(shù)據(jù)值。其中0的對(duì)數(shù)值是-∞,無法對(duì)其直接量化,故將[0,0.995]分為{0}∪[0.003 9,0.995]兩個(gè)部分。[0.003 9,0.995]對(duì)應(yīng)的對(duì)數(shù)域∈[-8,-0.007],在誤差小于4×10-3時(shí),對(duì)數(shù)值可采用1 bit符號(hào)位+7 bit整數(shù)位+8 bit小數(shù)位共16 bit的有符號(hào)二進(jìn)制定點(diǎn)數(shù)表示;log20用16 bit有符號(hào)二進(jìn)制定點(diǎn)數(shù)能表示的最大負(fù)數(shù)-128來近似。最后將量化之后的256個(gè)16 bit的對(duì)數(shù)值存于查找表LUT[ ]中。

    用X統(tǒng)一表示圖像數(shù)據(jù)I(x,y)、L(x,y)已被規(guī)格化的8 bit二進(jìn)制定點(diǎn)小數(shù),用Y表示對(duì)數(shù)運(yùn)算結(jié)果的16 bit有符號(hào)二進(jìn)制定點(diǎn)數(shù),則上述對(duì)數(shù)查找表方法可以表示為:

    qrs2-gs6.gif

式中函數(shù)int( )表示二進(jìn)制數(shù)取整。

3.2.2 線性拉伸S

    在去霧過程中,伴隨著圖像亮度V的增強(qiáng),飽和度S會(huì)相對(duì)有所降低。因此為了保持圖像顏色原有的鮮艷程度,還需要增強(qiáng)圖像的飽和度S。這里采用三段線性拉伸的方式對(duì)飽和度S進(jìn)行拉伸處理。

3.3 FPGA部分算法實(shí)現(xiàn)

3.3.1 高斯核函數(shù)的規(guī)格化

    實(shí)驗(yàn)仿真表明,當(dāng)σ=40,濾波模板為101×101時(shí),Retinex算法的去霧效果較好。此時(shí),高斯核函數(shù)的值域?yàn)閇2.085×10-5,9.947×10-5],數(shù)值較小,如果直接量化,數(shù)據(jù)位數(shù)較寬,而且會(huì)增大資源消耗。由于卷積運(yùn)算是線性運(yùn)算,因此可以先將高斯核函數(shù)擴(kuò)大表示,然后再將卷積的結(jié)果縮小相同的倍數(shù),而不會(huì)影響最終計(jì)算結(jié)果。這里將高斯核函數(shù)擴(kuò)大27倍,擴(kuò)大之后的高斯濾波函數(shù)的值域?yàn)閇0.002 7,0.012 7],誤差小于2.56×10-4,去霧圖像沒有明顯的細(xì)節(jié)信息丟失。然后用2.44×10-4規(guī)格化擴(kuò)大27倍的高斯核函數(shù)的值域[0.002 7,0.012 7],即用1 bit符號(hào)位+3 bit整數(shù)位+12 bit小數(shù)位共計(jì)16 bit二進(jìn)制定點(diǎn)小數(shù)來表示,如圖3所示,值域?yàn)閇-8,7],最小分辨率為(0.000000000001)2≈2.44×10-4,能夠滿足精度要求。最后將量化成定點(diǎn)數(shù)的高斯核函數(shù)的值以行的形式存儲(chǔ)為初始化文件,直接以ROM的形式固化到FPGA的塊隨機(jī)存取存儲(chǔ)器(Block RAM,BRAM)中。

qrs2-t3.gif

3.3.2 卷積模塊

    卷積運(yùn)算是由大量的矩陣乘法和加法運(yùn)算組成的,由于其算法是并行結(jié)構(gòu),設(shè)計(jì)中將卷積運(yùn)算放在芯片的FPGA中完成,算法整體框架結(jié)構(gòu)如圖4所示。

qrs2-t4.gif

    ARM通過AXI4總線將圖片數(shù)據(jù)和控制信息分別發(fā)送給FPGA的控制寄存器CTRL_reg和圖像數(shù)據(jù)寄存器Row_reg,并通過AXI4讀取控制寄存器的當(dāng)前狀態(tài)和卷積寄存器Result_reg中的結(jié)果。

    卷積運(yùn)算頂層模塊由高斯核函數(shù)ROM塊Coe_ROM、圖像塊RAM Img_RAM和計(jì)算模塊CALC_Module 3部分組成,卷積使用的高斯核函數(shù)存儲(chǔ)在FPGA的BRAM中,以ROM的形式進(jìn)行讀取,圖像塊RAM大小與濾波核大小相同,主控程序分別從Coe_ROM和Img_RAM中讀取高斯核函數(shù)和像素?cái)?shù)據(jù)送入計(jì)算模塊進(jìn)行計(jì)算,并將計(jì)算的結(jié)果送入結(jié)果寄存器Result_reg。

    由于高斯濾波核是90°旋轉(zhuǎn)對(duì)稱的,而且高斯核函數(shù)在程序中不發(fā)生改變,為了節(jié)省存儲(chǔ)空間和減少邏輯控制的復(fù)雜度,在程序中只存儲(chǔ)高斯核函數(shù)的上半部分,組成高斯核函數(shù)結(jié)構(gòu)如圖5所示。

qrs2-t5.gif

    為了提高計(jì)算速度,圖像數(shù)據(jù)RAM塊使用移位寄存的方式保存,圖像RAM塊采用從上到下、從左到右的方式滑動(dòng),在每一列的頂端重新準(zhǔn)備卷積的數(shù)據(jù),然后卷積塊向下滑動(dòng),每計(jì)算一個(gè)點(diǎn),向下滑動(dòng)一行,圖像塊RAM的移位寄存器結(jié)構(gòu)如圖6所示。

qrs2-t6.gif

4 實(shí)驗(yàn)結(jié)果與分析

    實(shí)驗(yàn)中,硬件平臺(tái)使用基于Zynq-7010的黑金開發(fā)板ALINX7010, FPGA時(shí)鐘為250 MHz,編程使用Xilinx公司提供Vivado 2016.3,并使用自帶仿真軟件進(jìn)行仿真。

4.1 實(shí)驗(yàn)結(jié)果

    為了驗(yàn)證所提出的方法的性能,實(shí)驗(yàn)中將所提出的方法與在PC(Core i5 6600K,4.1 GHz主頻,16 GB內(nèi)存,MATLAB 2013a)實(shí)現(xiàn)的Retinex算法進(jìn)行了性能比較。兩種實(shí)現(xiàn)方法均選取σ=40,高斯模板大小為101×101。

    FPGA資源占用指標(biāo)包括:LUT、查找表RAM(LUTRAM)、BRAM、DSP等。表1給出了ZYNQ硬件部分FPGA 4種資源占用表。

qrs2-b1.gif

    實(shí)驗(yàn)中采用峰值信噪比、信息熵、運(yùn)行時(shí)間作為評(píng)估圖像去霧效果的3個(gè)客觀技術(shù)指標(biāo)。峰值信噪比是用于描述信號(hào)最大可能功率和影響它的破壞性噪聲功率的比值。信息熵是衡量圖像所含信息量、圖像細(xì)節(jié)的豐富程度的技術(shù)指標(biāo),熵值越大圖像所含信息量越大,圖像細(xì)節(jié)越豐富[7]。

    圖7給出了3組圖像去霧實(shí)驗(yàn)的效果對(duì)比圖,表2則為上述3組實(shí)驗(yàn)示例在PC實(shí)現(xiàn)的Retinex算法和所提出的方法的峰值信噪比、信息熵、運(yùn)行時(shí)間3個(gè)性能指標(biāo)的對(duì)比。

qrs2-t7.gif

qrs2-b2.gif

4.2 結(jié)果分析

    從表1可以看出,LUT占用FPGA資源76.31%,LUTRAM、BRAM、DSP占用FPGA資源均在50%左右,表明整個(gè)系統(tǒng)消耗Zynq-7010資源較少,即所需要的硬件成本較低,能滿足實(shí)際工程的需求。

    從圖7的A、B、C 3組圖像可以看出,經(jīng)PC實(shí)現(xiàn)的Retinex算法和本文提出的圖像去霧方法均有明顯的去霧效果。

    從表2可以看出,經(jīng)兩種算法處理后的峰值信噪比均達(dá)到了50 dB以上,能夠有效濾除圖像中的霧霾引起的噪聲,改善圖像的清晰度。處理后的圖像的信息熵比帶霧圖像均有所提高,說明經(jīng)過去霧處理后的圖像細(xì)節(jié)信息得到了增強(qiáng)。本文提出的方法相比于PC上傳統(tǒng)的Retinex去霧算法,在峰值信噪比、信息熵等指標(biāo)上達(dá)到了同等水平,而運(yùn)算速度則提高了28倍以上,達(dá)到了每秒25幀以上的實(shí)時(shí)處理速度。實(shí)驗(yàn)結(jié)果表明,在ZYNQ平臺(tái)上實(shí)現(xiàn)圖像去霧,在保證去霧效果良好的情況下,具有運(yùn)算速度快、可移植性高、功耗低等優(yōu)點(diǎn),可以滿足戶外視頻系統(tǒng)的實(shí)用要求。

參考文獻(xiàn)

[1] Zhang Jingjun,Ding Yifan,Yang Yi,et al.Real-time defog model based on visible and near-infrared information[C].IEEE International Conference on Multimedia & Expo Workshops.IEEE Computer Society,2016:1-6.

[2] WANG Y K,F(xiàn)AN C T.Single image defogging by multiscale depth fusion[J].IEEE Transactions on Image Processing,2014,23(11):4826-4837.

[3] 高全明,孫俊喜,劉廣文,等.基于FPGA的交通視頻快速去霧系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2017,43(6):71-74.

[4] 曹永妹,張尤賽.圖像去霧的小波域Retinex算法[J].江蘇科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,28(1):50-55,62.

[5] 張艷輝,郭洺宇,何賓.Vivado HLS嵌入式實(shí)時(shí)圖像處理系統(tǒng)的構(gòu)建與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2016,42(9):115-117.

[6] 梁新宇.基于ZYNQ的行人檢測系統(tǒng)軟硬件協(xié)同實(shí)現(xiàn)[D].大連:大連海事大學(xué),2016.

[7] Guo Fan,Cai Zixing.Objective assessment method for the clearness effect of image defogging algorithm[J].Acta Automatica Sinica,2012,38(9):1410.



作者信息:

董夢莎,張尤賽,王亞軍

(江蘇科技大學(xué) 電子與信息學(xué)院,江蘇 鎮(zhèn)江212003)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。