《电子技术应用》

基于FPGA的交通视频快速去雾系统的设计与实现

2017年电子技术应用第6期
高全明1,孙俊喜2,刘广文1,才 华1,陈广秋1
(1.长春理工大学 电子信息工程学院,吉林 长春130022;2.东北师范大学 计算机科学与信息技术学院,吉林 长春130117)
摘要: 针对雾天交通监控视频图像退化问题,提出了一种基于FPGA架构的雾天交通视频图像快速去雾系统。首先将采集到的实时图像数据缓存到SDRAM中,然后在亮度分量基础上估计传播图,最后基于大气散射模型复原清晰图像。该系统利用FPGA并行运算处理能力强、逻辑资源丰富等特性,针对PAL制式640×480彩色图像,处理速度为60帧/s。实验结果表明,该系统在保证输出视频质量的前提下达到了很好的去雾效果。
中图分类号: TN911.73
文献标识码: A
DOI:10.16157/j.issn.0258-7998.2017.06.018
中文引用格式: 高全明,孙俊喜,刘广文,等. 基于FPGA的交通视频快速去雾系统的设计与实现[J].电子技术应用,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.

Design and implementation on the system of high speed fog removal in traffic video images based on FPGA

Gao Quanming1,Sun Junxi2,Liu Guangwen1,Cai Hua1,Chen Guangqiu1
(1.School of Electronic Information Engineering,Changchun University of Science and Technology,Changchun 130022,China; 2.School of Computer Science and Information Technology,Northeast Normal University,Changchun 130117,China)
Abstract: To solve the problem of unclearness of traffic surveillance video image in foggy days, the paper puts forward a fog removal system in traffic surveillance video image based on FPGA. Firstly, cacheing the collected real-time image data to SDRAM, then estimating the spreading images by using the luminance component, finally recovering the original explicit images based on the atmospheric scattering model. With the characteristics of powerful process ability and richful logic resource of FPGA, the processing speed of image is 60 frames per second for a 640×480 PAL corlor image. The result shows that the system can better remove the fog in video image on the premise of outputing a high qualified vedio image.

0 引言

    雾霾天气下采集的交通监控视频图像存在画质模糊、亮度偏暗等问题,这会给交通车辆监管和有效信息采集带来极大困难,使人们很难从图像中提取出有效信息。因此,如何快速高效地对图像进行去雾,降低天气条件对交通监控系统的影响,提高交通监控视频质量已成为亟需解决的问题。

    目前为止,围绕如何有效去雾,国内外出现了很多种去雾方法,这些研究方法大体可分为两类:图像增强方法和图像复原方法。图像增强方法是早期人们探索如何有效去雾时常用的方法,主要有基于统计特性的直方图均衡化算法[1]和Edwin.H.Land等人提出的Retinex理论[2]。如文献[3]利用图像增强方法实现有效图像去雾;文献[4]通过改善图像对比度达到视觉去雾效果;该类方法重点在于通过各种方法改善图像对比度,从而实现视觉上的去雾,但没有考虑到雾天图像场景深度的多样性,因而不能从根本上实现去雾。基于物理模型的图像复原方法复原后图像自然,具有很好的去雾效果。具有代表性的是何恺明提出的暗通道先验去雾算法[5],该方法根据暗通道统计规律复原清晰图像,去雾效果明显,但计算量较大,尤其是细化透射率采用的软抠图(或导向滤波[6])过于复杂和耗时,无法满足实时视频去雾处理。

    FPGA具有强大的并行运算处理能力,完全可以做到视频实时处理,基于此,FPGA作为一种高效便携的实时视频处理平台被广泛应用。本文在研究文献[7]算法的基础上,针对FPGA运算能力强、处理速度快等特性,对文献[7]算法做出简化和改进,提出了一种雾天交通视频图像快速去雾系统。实验证明,该系统可有效解决雾天交通监控视频图像降质问题。

1 快速去雾算法

1.1 算法流程

    为了降低去雾算法的复杂度,提高系统的实时性,本系统在亮度Y分量的基础上进行有效去雾处理,具体去雾算法流程如图1所示。首先将采集到的视频数据通过解码、转换成YCbCr数据并缓存到SDRAM中,然后提取出亮度Y分量,并对其反相化处理得到反色图,反色图进行中值滤波处理,滤波后得到的图像即为大气散射模型的传播图;利用一帧图像YCbCr数据估计出当前大气光强度A;依据大气散射模型,利用传播图、大气光强度A和雾图亮度分量复原无雾图像亮度分量;最后在复原后的图像RGB基础上进行亮度校正得到最终去雾图像,解决去雾处理后的图像画质偏暗问题。

qrs4-t1.gif

1.2 大气光强度估计

    本系统充分考虑FPGA实现的可能性,以及交通监控视频处理实时性要求,对大气光强度A的获取作以下调整:首先获取一帧图像的最大亮度值Ymax,然后将Ymax和其对应的Cb、 Cr数据转换成RGB数据,得到IR、IG、IB,此时大气光强度为:A=max[IR,IG,IB]。

1.3 传播图的估计与中值滤波处理

    获取传播图的目的就是获取场景目标雾气浓度,以便与雾图复原出无雾图像。本系统采用亮度反相化快速获取传播图,该方法简单有效,满足视频去雾实时性要求。考虑到复原无雾图像时,目标场景细节容易被淹没,为了增强目标场景的边缘细节信息,同时滤出反相化处理叠加的噪声,需要对反色图进行中值滤波处理,以便增强复原图像边缘细节。

    中值滤波是将滤波模板内的灰度值进行有效排序,选取中间值作为该滑动模板的输出值。设f(x,y)、g(x,y)分别是图像灰度值和中值滤波有效输出值。若W为滑动滤波模板,则:

    qrs4-gs1.gif

1.4 图像复原

    根据大气散射模型表达式,利用传播图即可复原无雾图像亮度分量。由于传播图存在趋于0的情况,所以有必要在式(2)中加入一个下限值t0,则所需复原公式为:

    qrs4-gs2.gif

1.5 图像亮度校正

    去雾复原后的图像画质偏暗,需要对图像亮度重新校正。视频图像去雾处理对实时性要求很高,亮度校正要尽可能不影响系统的实时性。

    基于以上思想,本文提出了一种简单、高效的提升图像亮度的方法,该方法在复原后图像RGB基础上,依据灰度值大小对图像亮度进行校正,具体方法如下:

qrs4-gs3-4.gif

其中,c代表R、G、B三颜色通道;p是校正因子,p值越大,调整后图像画质越亮。本文通过实验发现,选取p=50,可取得较好的校正效果。

2 基于FPGA快速去雾算法实现

    本系统总体框架如图2所示。

qrs4-t2.gif

    系统分为4个功能模块,分别为大气光强度A获取模块、传播图估计与滤波模块、图像复原模块和亮度校正模块。图像数据处理采用流水线工作模式,所有图像数据串行输入各模块并被逐一处理,最后完成去雾处理后输出。FIFO用于缓存各模块之间的数据,使它们之间更加协调工作。   

2.1 大气光强度获取模块

    首先从亮度图中获取最大亮度值Ymax,然后将Ymax和其对应的Cb、Cr数据转换成RGB数据,取A=max[IR,IG,IB];获取大气光强度A需要遍历一帧图像数据,这严重影响了系统的实时性,为了降低获取大气光强度A对系统实时性的影响,在比较器工作的同时设置一个计数器,当计数器计数达到640×480(视频源采用PAL制式640×480彩色图像)时,即表示一帧图像数据处理完毕。通过实验分析,本系统每处理完20帧图像数据更新一次大气光强度A,可获得较好的视频去雾效果。具体操作流程如图3所示。

qrs4-t3.gif

2.2 传播图估计与滤波模块

    中值滤波模块主要分为滑动模板和排序模块两部分。系统选用3×3滑动模板进行中值滤波,调用IP核altshift_taps移位寄存器实现滑动模板功能,如图4所示。其中,D1~D9是待排序模块处理的图像亮度值。

qrs4-t4.gif

    将D1~D9按大小排序后,得到的中间值作为当前滑动模板中值滤波输出值,如图5所示。

qrs4-t5.gif  

2.3 图像复原模块

qrs4-t5-x1.gif

qrs4-gs5.gif

    除法运算调用Quartus II中的LPM_DIVIDE除法器实现。

2.4 亮度校正模块

    去雾复原后的无雾图像会出现画质偏暗现象,因场景不同而产生不同程度的偏暗,不但降低了去雾效果,而且严重影响交通监控视频有效信息的提取。因此本系统在复原无雾图像后利用校正式(4)对图像亮度重新校正,提高图像整体亮度。在利用式(3)计算灰度值时,由于FPGA不支持浮点数计算,所以将式(3)转换成式(6)计算灰度值:

    qrs4-gs6.gif

3 实验分析

    本系统FPGA[8]选用Altera公司的Cyclone II系列EP2C70F896C6作为主控芯片,使用Verilog[9]语言编程,视频源为采集的PAL制式640×480彩色图像,输出端VGA显示模式为640×480,刷新频率为60 Hz。系统在优化去雾算法的基础上进一步提高了实时性,去雾处理速度为60帧/s,完全满足视频实时处理要求。

    表1为系统实验占用FPGA资源情况,本系统设计并没有占用太多FPGA资源,硬件成本很低。

qrs4-b1.gif

4 结论

    本文提出了一种基于FPGA硬件平台的交通视频图像快速去雾系统,该系统去雾效果良好,可有效降低雾天对交通监控系统的影响。FPGA具有运算能力强、逻辑资源丰富等特性,因此,本系统可根据实际需要与其他系统相连接,如作为交通车牌识别前端处理,为后续车牌检测、识别提供高质量、清晰视频源。本系统设计简单,成本较低,具有很好的实用价值。

参考文献

[1] 詹翔,周焰.一种基于局部方差的雾天图像增强方法[J].计算机应用,2007,27(2):510-512.

[2] 林笑君,梁凤梅.基于Retinex的一种图像去雾算法[J].电视技术,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,FL,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].中国图象图形学报,2011,16(4):516-521.

[8] 克里兹(美).高级FPGA设计结构、实现和优化[M].孟展元,译.北京:机械工业出版社,2009.

[9] 帕尔尼卡(美).Verilog HDL数字设计与综合[M].夏宇闻,译.北京:电子工业出版社,2009.



作者信息:

高全明1,孙俊喜2,刘广文1,才  华1,陈广秋1

(1.长春理工大学 电子信息工程学院,吉林 长春130022;2.东北师范大学 计算机科学与信息技术学院,吉林 长春130117)

继续阅读>>