集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1011|回复: 1

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

[复制链接]
fpga_wuhan 发表于 2017-7-12 09:27:10 | 显示全部楼层 |阅读模式
摘  要: 针对雾天交通监控视频图像退化问题,提出了一种基于FPGA架构的雾天交通视频图像快速去雾系统。首先将采集到的实时图像数据缓存到SDRAM中,然后在亮度分量基础上估计传播图,最后基于大气散射模型复原清晰图像。该系统利用FPGA并行运算处理能力强、逻辑资源丰富等特性,针对PAL制式640×480彩色图像,处理速度为60帧/s。实验结果表明,该系统在保证输出视频质量的前提下达到了很好的去雾效果。

    关键词: FPGA;交通视频;快速去雾;硬件系统;大气散射模型

    中图分类号: 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.

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具有运算能力强、逻辑资源丰富等特性,因此,本系统可根据实际需要与其他系统相连接,如作为交通车牌识别前端处理,为后续车牌检测、识别提供高质量、清晰视频源。本系统设计简单,成本较低,具有很好的实用价值。
zxopenljx 发表于 2023-2-15 11:01:41 | 显示全部楼层
基于FPGA的交通视频快速去雾系统的设计与实现
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-28 09:48 , Processed in 0.055728 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表