当前位置:   article > 正文

去雾论文A real-time effective fusion-based image defogging architecture on FPGA_ancuti算法

ancuti算法

Du G, Wu J, Cao H, et al. A real-time effective fusion-based image defogging architecture on FPGA[J]. ACM transactions on multimedia computing, communications, and applications (TOMM), 2021, 17(3): 1-21.

基于 FPGA 的实时有效融合图像去雾架构(图像融合

雾天会降低被摄物体的能见度,导致图像失真并降低整体图像质量。已经提出了许多方法(例如,图像恢复、图像增强和基于融合的方法)来解决这个问题。然而,这些去雾算法中的大多数都面临着算法复杂性或实时处理要求等挑战。为了简化去雾过程,我们提出了一种基于灰度单通道线性传输的融合去雾算法。该方法根据不同比例将灰度单通道线性变换与高升压滤波相结合。为了更有效地增强去雾图像的可见性,我们在不降低去雾结果的情况下将 RGB 通道转换为灰度单通道。灰度融合后,灰度域中的数据应该是线性传输的。随着对清晰图像的实时性要求不断提高,我们还提出了一种高效的实时 FPGA 除雾架构。该架构优化了引导过滤的数据路径,加快了除雾速度,节省了面积和资源。由于均值和平方值计算的像素读取顺序相同,平均和平方值计算后的箱式滤波器中的移位寄存器与箱式滤波器分离并放在输入端共享,节省了存储区域.更重要的是,使用LUT代替乘法器可以减少平方值计算模块的时间延迟并提高效率。实验结果表明,线性传输可以节省总时间的66.7%。我们提出的架构可以高效准确地去雾,满足1920×1080图像尺寸的实时去雾要求。

1. 简介

在雾天拍摄的图像经常变得模糊。它会降低对比度,导致图像失真,从而降低整体质量。在一些对图像敏感的应用(如自动驾驶)中,汽车电子系统捕捉到的图片和视频对汽车自主决策至关重要,图像质量成为影响物体检测和牵引精度的关键因素之一。图像处理速度是另一个关键因素。在大雾天气下,如果快速行驶的自动驾驶汽车拍摄的视频无法在特定时间内消除雾气,就会给决策带来严重问题。甚至可能引发事故,严重威胁驾驶员和乘客的生命安全。在智能手术应用领域,例如内窥镜,这类医疗设备获得的图像也受到雾气的影响,需要实用和实时的去雾。总之,图像去雾对现实生活中的应用有着重大的影响,设计一个能够实时高质量运行的去雾系统不仅重要而且具有挑战性。

一般来说,图像去雾算法大致可以分为三类:图像恢复、图像增强和基于融合的方法。图像恢复通常使用大气散射的物理模型,例如暗通道先验除雾算法及其不同的改进算法。为了解决大雾天气下的低能见度问题,Narasimhan 等人。建立了基于大气散射现象的物理成像模型,He等。提出了基于该模型的暗通道算法[11]。在这个框架下,首先采用了最小滤波方法,但它导致了去雾图像中的“光晕”伪影。然后,使用软抠图方法来优化透射图像。这种方法对很多场景都很有用,但对有天空区域的图片没有用。马等人。将前景与背景分开并分别对它们进行去雾 [23]。黄等人。在深度估计模块中使用了中值滤波方法。他们采用了自适应伽马校正,避免了复杂结构图像中的“光晕”效应,实现了实用的透射图估计[40]。软消光的另一个副作用是耗时,因此 Tarel 和 Hautiere 使用快速中值滤波代替软消光,执行更短的除雾时间 [33]。但是这种去雾效果还不够好,所以Xiao和Gan采用中值滤波和引导联合双边滤波去除大量纹理信息,恢复深度边缘信息[35]。机器学习是近年来出现的另一种基于图像恢复的方法 [3, 4, 20, 28]。赵等人。提出了一种多尺度最优融合模型来优化透射图,使用曝光增强方法和快速梯度域GIF(GD-GIF)进行后处理,以更稳健和快速地改进所提出的去雾算法[38]。徐等人。提出了一种用于遥感图像的迭代去雾模型(IDeRS)和一个迭代框架,以迭代实现以达到最佳去雾效果[36]。但是,这种方法需要大量的数据,图像训练时间长,并且对给定模型对不同场景的图像进行去雾,耗时且受场景限制。

图像增强去雾算法通过增加图像的对比度来去雾。 大致分为基于 Retinex 理论的方法、幂律伽马变换、分段线性变换和直方图均衡(HE)方法。 Land和McCann首先提出了一种基于Retinex理论的图像增强算法[18],其性能与亮度分量的估计直接相关。 高斯函数在较宽的空间常数范围内具有良好的性能。 因此,乔布森等人。 使用高斯函数来估计亮度分量,称为单尺度 Retinex (SSR) 算法。 由于不能同时实现动态范围压缩和颜色/亮度再现,多尺度 Retinex 颜色恢复 (MSRCR) 算法和多尺度 Retinex 颜色恢复 (MSR) 算法被提出 [13, 14, 27]。

直方图均衡只能调整整个图像的对比度[39]。 局部直方图均衡(AHE)可以改变局部图片,但AHE存在图像中同一区域噪声过大的问题[15]。 因此,徐等人。 提出了一种对比度限制自适应直方图均衡(CLAHE)方法,通过对比度限制克服了AHE放大噪声过大的问题[37]。 由于高斯滤波产生了“光环”效应,Ma等人使用分段线性变换来提高由 SSR 算法获得的去雾图像的可见性 [24]。 高等人。 在 MSRCR 算法之后应用对比度拉伸和全局伽马校正来增强图像,并提出了一种基于自适应尺度的彩色雾图像增强 MRCR 算法[9]。 上述图像增强和除雾方法相对快速和直接,但通常会导致过度的色彩还原。

去雾融合算法通过融合两种不同的方法来提高去雾图像质量 [1, 7, 24]:第一个输入图像还原颜色以减少噪声,第二个输入图像增强可见性。一些研究人员融合了红外和可见光图像 [17, 29, 30]。傅等人。使用伽马校正获得两个不同亮度的输入图像,并将输入图像与从两个输入图像中获得的权重图相结合[7]。这种方法计算太复杂,所以Ancuti和Ancuti将白平衡和线性透射得到的两幅输入图像融合进行去雾[2]。 Ancuti和Ancuti还提出了另一种水下照片去雾算法,该算法使用简单的有限自适应直方图均衡(LAHE)算法代替线性传输,实现更快的处理速度[1]。但是,它可能会导致颜色失真和“光晕”效果。因此,马等人。提出了一种新的图像融合选择方法。第一个输入图像是简单的线性传输,第二个输入图像是基于引导滤波的高升压滤波算法[24]。这种方法有较好的除雾速度和效果[32]。

然而,这些算法仍然存在局限性。它只是一个系统级模型,因为没有针对实时应用场景的硬件实现或优化。因此,一些研究人员改进了暗通道先验算法并实现了FPGA [16, 34]。为了满足实时除雾,Shiau 等人。采用了 11 级流水线硬件架构 [31]。然后为了提​​高吞吐量,Lee 和 Wu 提出了一种单级 LAE(低复杂度空光估计)和 3 级并行 ITRE(独立传输速率估计)和 SR(场景恢复)的并行架构 [19]。然而,在这些硬件实现中,**大多数算法都是基于暗通道先验的,具有很高的复杂性。基于融合的去雾算法计算简单。通过融合两种不同的方法来实现去雾,也很容易实现硬件并行架构来提高吞吐量。**此外,在实现层面,我们发现该算法[24]中有很多冗余的乘除运算,这可能会导致大量的硬件消耗,但对提高去雾图像质量几乎没有用。

为了更清楚地揭示问题,我们给出一个动机示例。图 1 显示了三个线性传输框架的时序图。图 1(a) 显示了传统线性传输的时序图 [32]。设数据输入所需时间为Ta,遍历一个通道的像素值所需时间为Tb,线性传输所需时间为Tc。传统的三通道(RGB)线性变换可分为串行线性变换和并行线性变换。串行RGB三通道线性变换所需时间为(Ta + 3 × (Tb + Tc )),导致传输时间较长。并行RGB三通道线性传输的总处理时间为(Ta +Tb +Tc )。与串行方式相比,所需时间最多可减少(2×(Tb+Tc)),但硬件消耗成本是串行方式的三倍。为了平衡电路资源和性能,我们仔细研究了三通道处理(RGB)和单通道处理(灰色)之间的关系。我们发现基于灰度通道的方法在适当的预处理下对图像去雾几乎具有相同的效果,但它可以显着降低硬件消耗。因此,我们提出了一种线性传输的灰度融合方法(如图1(c)所示)。总处理时间为(Ta +Tb +Tc ),比传统串行线性传输方法的时间减少了2 × (Tb +Tc )。

图 1. 不同线性传输方式的时序图
为了进一步提高算法的去雾速度并将其应用于实际,我们还提出了一种基于融合去雾的硬件架构。 在硬件架构中的引导过滤模块中,我们参考了[5]的硬件架构,对引导过滤的数据路径进行了优化。 同时,我们设计了一个基于数据复用的盒式滤波器。 这项工作的贡献总结如下:

  • 我们提出了一种基于灰度和线性传输的融合方法。 我们在RGB图像灰度融合后进行线性变换,提高了去雾图像的可见度。 与传统的串行RGB三通道线性拉伸相比,该方法节省了66.7%的处理时间。 与全并行架构相比,可节省约50%的硬件面积。
  • 我们在引导滤波器上提出了基于 FPGA 的硬件架构,以提高资源利用率结构和性能。 [5]中的引导过滤器架构使用了大量的盒式过滤器模块,消耗了太多资源。 箱式滤波器包括移位寄存器模块和平均模块。 我们将引导滤波器架构的箱式滤波器电路中的移位寄存器和平均模块分开,并将移位寄存器模块移动到引导滤波器的输入端。 这种方法减少了移位寄存器的数量。 在方差计算的引导过滤中,我们使用LUT代替乘法器来减少平均延迟并节省硬件资源。
  • 我们为盒式滤波器电路提出了一种数据重用硬件架构。 该电路将包含 k-1 个加法器的加法器树优化为重复使用一个加法器和减法器的电路。 该电路以最小的内存为代价减少了 k-3 个加法器。 同时,箱式滤波器考虑了边缘滤波窗口,增加了控制电路和系数选择,使系数计算更加准确。
  • 我们将上述基于融合的方法实现到 FPGA 平台中,用于实时图像去雾。 实验结果表明,除雾速度有较大提高,适合实时除雾。

本文的组织如下:第 2 节介绍了与融合相关的去雾算法。 我们在第 3 节中展示了所提出的硬件架构和细节。第 4 节在系统级和硬件实现级进行了实验。 最后,第 5 节给出了结论。

2 基于灰度和线性传输的融合去雾算法

图像融合是一种简单但有效的消雾方法。 将两种方式得到的两幅输入图像按照不同的权重比进行组合,得到最终的去雾图像。 第一个输入图像是恢复雾化图像像素值的动态范围,通过直方图均衡、线性传输等方法实现。 第二个输入图像是为了增强图片的可视性。 它使用这些技术来实现,例如高斯滤波 [8]、引导滤波 [10] 和高提升滤波。 结合简单的线性传输和高提升滤波来实现去雾[24]。

为了增强有雾图像的对比度,该算法使用简单的线性传输来获得第一幅输入图像。 线性拉伸的公式为:
L i c = I i c − I M i n c I M a x c − I M i n c L_{i}^{c}=\frac{I_{i}^{c}-I_{M i n}^{c}}{I_{M a x}^{c}-I_{M i n}^{c}} Lic=IMaxcIMin

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/287578
推荐阅读
相关标签
  

闽ICP备14008679号