一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于暗通道先验的图像去雾算法的移植方法与流程

2021-10-24 06:12:00 来源:中国专利 TAG:先验 移植 算法 图像 通道


1.本发明涉及一种基于暗通道先验的图像去雾算法的移植方法。


背景技术:

2.目前,在所有图像去雾算法中,基于图像增强的方法并不考虑雾天图像的物理退化过程,仅使用现有的、成熟的数字图像处理技术,对雾霾天气下的降质图像进行增强处理,以达到突出图像边缘细节,提高图像整体对比度的目的。虽然该类方法能在一定程度上改善雾霾天气对图像的影响,但由于其没有考虑到雾天图像的物理退化机制,其结果往往存在色彩失真的问题,而且不适用于浓雾条件下的图像去雾,因此适用范围不广。而基于大气散射模型的图像去雾方法从图像成像原理出发,通过结合一定的假设或先验知识估计出大气光强度和介质透射率,从而恢复出清晰图像。由于考虑到雾天图像的物理退化机理,并对雾天图像成像进行建模求解,因此该类方法恢复的图像较为自然合理,且能够应用在浓雾条件下,是目前图像去雾领域的重点研究方向。
3.不同于图像去雾技术的研究已经相当广泛而且日趋成熟,目前对于视频去雾技术的研究尚处于起步阶段,仍有较多问题亟待解决。但相信随着科技水平的不断提高以及社会对智能交通日益重视,会有越来越多的行业专家和科研人员开始关注并投入到视频去雾技术的研究之中。因此,视频去雾及其相关技术将会是接下来一段时间内的研究热点。
4.目前的基于暗通道先验的图像去雾算法中,细化光线传播图时使用的导向滤波过于复杂,每进行一次滤波就必须重新计算一次导向滤波的滤波器模板系数,算法过于复杂,也不适合移植到由dsp、fpga等组成的嵌入式系统中。因此本发明研究如何对基于暗通道先验的图像去雾算法进行改进,将其裁剪后移植到fpga中。


技术实现要素:

5.本发明的目的是为了解决现有的基于暗通道先验的图像去雾算法中,细化光线传播图时使用的导向滤波过于复杂以及算法过于复杂的问题,而提出一种基于暗通道先验的图像去雾算法的移植方法。
6.一种基于暗通道先验的图像去雾算法的移植方法,所述的方法包括以下步骤,
7.步骤一、获取具有r、g、b三个通道的彩色雾气图像作为输入图像,采用cameralink输入至fpga;
8.步骤二、对具有r、g、b三个通道的彩色图像进行归一化的步骤;
9.首先,设大气光值a已知,对于简化后的雾天图像成像模型的r、g、b三个通道,等式两边同时除以大气光值a,结果表示为:
[0010][0011]
步骤三、计算上式两边的暗通道值:
[0012][0013]
设在任意的一个局部区域即窗口ω(x)范围内,透射率t(x)为一个常数,记为,则计算上式两边的暗通道值,可得:
[0014][0015]
因为j(y)表示无雾图像,所以根据暗通道的性质j(y)暗通道趋于0,即:
[0016][0017]
因为ac为正数,所以推导出:
[0018][0019]
由此可以得出:
[0020][0021]
带有天空的有雾图像中的天空接近大气光值,所以在带有天空的有雾图像的天空处,得到:
[0022][0023]
进而得到无限远处的天空区域的透射率也近似为0,因此在进行去雾处理时,不需要将有雾图像的天空区域与非天空区域分开单独进行处理;
[0024]
步骤四、计算大气光值a:首先选出有雾图像的暗通道图像的最亮的前0.1%像素,这些像素点往往是雾最多的地方,将这些像素点对应到有雾图像的对应点,有雾图像的这些对应点r、g、b三个通道的各自的最大值分别视为三个通道的大气光值;
[0025]
步骤五、通过前面几个步骤已经计算得到了大气光值和透射率,此处通过简化后的雾天图像成像模型中进行反演操作,恢复得到去雾后的图像r、g、b三个通道分别使用下式进行计算:
[0026][0027]
使用t0来限制这些点的光线传播图的下限;
[0028]
步骤六、进一步的细化透射率,再使用细化后的透射率恢复无雾图像,具体包括:
[0029]
首先,对有雾图像进行边缘检测,生成掩膜图像bw
mask
;之后,使用3
×
3和15
×
15的滤波器模板分别对有雾图像求取暗通道;之后,使用掩膜图像bw
mask
进行暗通道检验的合成,利用新生成的暗通道求取光线传播图t(x);
[0030]
步骤七、上述中间结果采用ddrsdram进行缓存;并且采用ch7301c产生的dvi信号输出去雾视频,从而实现将基于暗通道先验的图像去雾算法在去雾系统上的移植。
[0031]
基于本发明实施方式,优选地,所述的基于fpga的车载实时去雾系统的fpga选用ep4ce10f17c8型作为主控芯片,输入采用cameralink输入,输出采用ch7301c产生的dvi信号输出,中间结果采用ddrsdram进行缓存;
[0032]
其中,
[0033]
(1)发送器接收28位单端的数据信号和1位单端的时钟信号,然后数据信号和时钟信号被发送器以7:1转化为一组4位差分数据流和1位差分时钟信号,转换后的数据信号和时钟信号被发送出去后,接收器接收到后将差分数据信号和差分时钟信号还原为28位的单端数据信号和1位的单端时钟信号,完成数据的传输;
[0034]
cameralink继续沿用channellink的底层架构,cameralink的传输速率为2.38gbits/s;cameralink协议分为五种配置,分别时简化配置、基础配置、中端配置、高端配置和80bit配置。
[0035]
(2)dvi协议的全称是digitalvisualinterface,即数字视频接口;由fpga控制ch7301c,然后ch7301c产生dvi信号;
[0036]
(3)ddrsdram全称为doubledateratesdram,中文全称为双倍速率同步动态随机存储器;ddrsdram既在时钟信号上升沿锁存数据同时也在时钟信号下降沿锁存数据。
[0037]
基于本发明实施方式,优选地,所述的方法还包括如下步骤,
[0038]
通过设置固定阈值来修正透射的方法,对含有天空或白色区域的含雾图像进行颜色失真修正的步骤,具体为:
[0039]
记录含雾图像的天空或白色等区域,在灰度直方图上呈现高尖峰特性,利用这一特性求取自适应阈值,分割出天空或白色等明亮区域和非明亮区域;之后,设计自适应修正函数,改善图像大气耗散函数,分别对这些区域进行去雾处理。
[0040]
本发明的有益效果为:
[0041]
本发明主要解决的问题有:
[0042]
(1)改进后的图像去雾算法在fpga上的实现。
[0043]
(2)对视频图像进行去雾处理满足实时性的需求。
[0044]
针对fpga硬件平台的结构与特性,并且具有强大的并行处理能力的特点,通过对算法的改进与简化,并基于此算法在fpga硬件平台上实现视频图像的实时去雾处理,并应用到车载系统中,解决雾天由于驾驶员视野受阻容易引发交通事故的问题。为了达到预期效果,首先对原始的基于暗通道先验理论进行学习了解,发现在求取光线传播图时用于软抠图的导向滤波每进行一次滤波就要重新计算一次滤波器模板,十分耗时,本文直接使用细化的暗通道作为景深,用于光线传播图的估计,这样就不必对光线传播图进行软抠图,大大减少了算法运行时间,去雾后也可以达到预期效果,其次,在fpga中基于verilog语言设计了cameralink输入控制模块和ch7301c的dvi输出模块,使用altera提供的存储器接口解决方案实现了ddrsdram控制器。这些模块的实现为在fpga中实现改进的基于暗通道先验的图像去雾算法奠定了良好基础。最后在fpga中实现了改进的基于暗通道先验图像去雾算法的移植。
[0045]
本发明涉及的一种基于fpga架构的车载实时去雾系统。针对fpga具有的强大的并
行计算处理能力,完全可以做到视频图像实时处理的特点,由于基于暗通道先验理论的图像去雾算法在细化透射率时过于复杂,会影响处理速度,无法达到实时性,并且也不适合在硬件上实现,为了使透射率计算和大气光估计在硬件上实现更加快速方便,对计算过程进行简化,最终使用基于fpga上实现的优化方法,实现暗通道获取,透射率计算,大气光估计以及最终的图像恢复等多个模块的硬件逻辑。车载实时去雾系统能够在大雾天气下实时采集前方道路信息,帮助驾驶员准确判断道路情况,避免由于视野受阻问题引发交通事故,同时,目前在市面上基于视觉的先进辅助驾驶系统大都不能处理雾天图像,因此对车载实时去雾系统的研究具有十分重要的意义。
附图说明
[0046]
图1为本发明方法流程图;
[0047]
图2为本发明涉及的channellink的数据转换和传输过程;
[0048]
图3为本发明涉及的fpga控制ch7301c输出dvi信号示意图。
具体实施方式
[0049]
具体实施方式一:
[0050]
本实施方式的一种基于暗通道先验的图像去雾算法的移植方法,如图1所示的方法流程图,所述的方法包括以下步骤,
[0051]
步骤一、获取具有r、g、b三个通道的彩色雾气图像作为输入图像,采用cameralink输入至fpga;
[0052]
步骤二、对具有r、g、b三个通道的彩色图像进行归一化的步骤;
[0053]
首先,设大气光值a已知,对于简化后的雾天图像成像模型的r、g、b三个通道,等式两边同时除以大气光值a,结果表示为:
[0054][0055]
步骤三、计算上式两边的暗通道值:
[0056]
设在任意的一个局部区域即窗口ω(x)范围内,透射率t(x)为一个常数,记为则计算上式两边的暗通道值,可得:
[0057][0058]
因为j(y)表示无雾图像,所以根据暗通道的性质j(y)暗通道趋于0,即:
[0059][0060]
因为ac为正数,所以推导出:
[0061][0062]
由此可以得出:
[0063][0064]
带有天空的有雾图像中的天空接近大气光值,所以在带有天空的有雾图像的天空处,得到:
[0065][0066]
进而得到无限远处的天空区域的透射率也近似为0,因此在进行去雾处理时,不需要将有雾图像的天空区域与非天空区域分开单独进行处理;
[0067]
步骤四、计算大气光值a:我们首先选出有雾图像的暗通道图像的最亮的前0.1%像素,这些像素点往往是雾最多的地方,将这些像素点对应到有雾图像的对应点,有雾图像的这些对应点r、g、b三个通道的各自的最大值分别视为三个通道的大气光值;
[0068]
步骤五、通过前面几个步骤已经计算得到了大气光值和透射率,此处通过简化后的雾天图像成像模型中进行反演操作,恢复得到去雾后的图像r、g、b三个通道分别使用下式进行计算:
[0069][0070]
由于计算出的光线传播图在一些点非常接近0,如果直接使用这些点的光线传播图恢复出去雾图像可能会导致去雾图像噪声非常大,所以使用t0来限制这些点的光线传播图的下限;
[0071]
步骤六、当场景中相邻物体的深度不连续时,一般为边缘地带会出现一圈明显的白色的细带,这种现象被称为光晕效应(halo)。
[0072]
这个现象产生的原因是,在基于暗通道先验理论对图像进行去雾时,在局部窗口区域
[0073][0074]
ω(x)内,我们假设粗糙的透射率是一个常数,在图像深度平缓的非边缘区域,可以正确地估计得到该处的透射率。然而在图像场景深度的突变处,透射率t(x)在当前窗口范围内并不是一个常数,从而导致在对图像边缘处的有雾区域进行透射率估计时出现了偏差,在处理时将该边缘处的雾当作了清晰的部分,使这部分有雾区域没有经过图像增强而是与近处物体一起直接透射出来,产生了光晕。因此粗糙的透射率需要进行进一步的细化,进行进一步的细化透射率,再使用细化后的透射率恢复无雾图像,具体包括:
[0075]
首先,对有雾图像进行边缘检测,生成掩膜图像bw
mask
;之后,使用3
×
3和15
×
15的滤波器模板分别对有雾图像求取暗通道;之后,使用掩膜图像bw
mask
进行暗通道检验的合成,利用新生成的暗通道求取光线传播图t(x)。本发明方法使用较小的滤波器模板对对有
雾图像中物体边缘处进行滤波求取暗通道,不仅能够保留边缘,此外,利用本发明设计的以上步骤来进行光线传播图的t(x)的求取,可以省略软抠图的步骤,极大地节省运算时间;
[0076]
步骤七、上述中间结果采用ddrsdram进行缓存;并且采用ch7301c产生的dvi信号输出去雾视频,从而实现将基于暗通道先验的图像去雾算法在去雾系统上的移植。
[0077]
具体实施方式二:
[0078]
与具体实施方式一不同的是,本实施方式的一种基于暗通道先验的图像去雾算法的移植方法,所述的基于fpga的车载实时去雾系统的fpga选用altera公司的cycloneiv的ep4ce10f17c8型作为主控芯片,输入采用cameralink输入,输出采用ch7301c产生的dvi信号输出,中间结果采用ddrsdram进行缓存;
[0079]
其中,
[0080]
(1)cameralink协议是在美国国家半导体公司提出的channellink协议的基础上开发的现在已成为图像视频数据传输的标准协议。channellink协议包含一个发送器和一个接收器,发送器接收28位单端的数据信号和1位单端的时钟信号,然后数据信号和时钟信号被发送器以7:1转化为一组4位差分数据流和1位差分时钟信号,转换后的数据信号和时钟信号被发送出去后,接收器接收到后将差分数据信号和差分时钟信号还原为28位的单端数据信号和1位的单端时钟信号,完成数据的传输,数据传输和转换过程如图2所示;
[0081]
cameralink继续沿用channellink的底层架构,cameralink的传输速率为2.38gbits/s;cameralink协议分为五种配置,分别时简化(lite)配置、基础(base)配置、中端(medium)配置、高端(full)配置和80bit配置。
[0082]
(2)dvi协议的全称是digitalvisualinterface,即数字视频接口;它是由英特尔、康柏、ibm等公司组成的ddwg(数字显示工作组)推出的视频接口标准,由fpga控制ch7301c,然后ch7301c产生dvi信号,如图3所示:
[0083]
(3)ddrsdram全称为doubledateratesdram,中文全称为双倍速率同步动态随机存储器;ram而言,ddrsdram既在时钟信号上升沿锁存数据同时也在时钟信号下降沿锁存数据,相当于把数据吞吐速率提升了一倍。
[0084]
具体实施方式三:
[0085]
与具体实施方式一或二不同的是,本实施方式的一种基于暗通道先验的图像去雾算法的移植方法,所述的方法还包括如下步骤,
[0086]
通过设置固定阈值来修正透射的方法,对含有天空或白色区域的含雾图像进行颜色失真修正的步骤,具体为:
[0087]
由于含雾图像的天空或白色等区域比较亮,记录含雾图像的天空或白色等区域,在灰度直方图上呈现高尖峰特性,利用这一特性求取自适应阈值,分割出天空或白色等明亮区域和非明亮区域;之后,设计自适应修正函数,改善图像大气耗散函数,分别对这些区域进行去雾处理。从而解决对于含有天空或白色等明亮区域的含雾图像去雾后,明亮区域颜色发生失真,图像整体对比度降低的问题。
[0088]
具体实施方式四:
[0089]
与具体实施方式三不同的是,本实施方式的一种基于暗通道先验的图像去雾算法的移植方法,传统图像去雾算法是针对单幅图像的,每一帧图像的大气光强度都是独立估算,由于前后帧大气光强度估计值发生跳变,最终会导致恢复的视频图像出现闪烁抖动现
象。为了改善去雾视频的闪烁抖动,在对大气光强度估计值计算时找出一种合适的滤波方式进行处理
[0090]
以上仅为本发明的优选实施方式而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜