写论文从未如此简单!

基于Retinex算法的图像去雾技术研究

摘要

本研究旨在探索基于Retinex算法的高效图像去雾技术,以解决传统图像去雾方法在提升图像清晰度、色彩还原性等方面的不足。研究过程中,首先系统阐述Retinex算法的理论基础,涵盖其理论概述、基本原理、发展历程及在图像处理中的应用。其次介绍图像去雾的基本概念、经典方法、基于物理模型和深度学习的去雾方法以及评价指标。在此基础上,深入研究Retinex算法在图像去雾中的应用原理,详细分析单尺度、多尺度及改进型Retinex算法的去雾效果,并剖析其优缺点。研究解决了图像去雾时色彩失真、细节丢失等问题,提升了雾天图像的清晰度和质量。结论表明,Retinex算法尤其是改进型算法在图像去雾中具有显著优势,能够有效改善图像视觉效果,为图像去雾技术的发展提供了有力支持。

关键词:Retinex算法;图像去雾;图像增强;去雾算法;图像复原

Abstract

This study aims to explore an efficient image defogging technology based on the Retinex algorithm to address the deficiencies of traditional image defogging methods in enhancing image clarity, color restoration, etc. During the research process, first, the theoretical basis of the Retinex algorithm is systematically elaborated, covering its theoretical overview, basic principles, development history, and applications in image processing. Secondly, the basic concepts of image defogging, classic methods, defogging methods based on physical models and deep learning, and evaluation metrics are introduced. On this basis, the application principle of the Retinex algorithm in image defogging is deeply studied, the defogging effects of single-scale, multi-scale, and improved Retinex algorithms are analyzed in detail, and their advantages and disadvantages are dissected. The study solves problems such as color distortion and detail loss during image defogging, and improves the clarity and quality of foggy images. The conclusion shows that the Retinex algorithm, especially the improved algorithm, has significant advantages in image defogging, can effectively improve the visual effect of images, and provides strong support for the development of image defogging technology.

Keywords:Retinex algorithm;Image dehazing;Image enhancement;Dehazing algorithm;Image restoration

第一章 绪论

1.1 研究背景

最近这些年城市发展速度越来越快,环境受到的污染越来越严重,雾霾天气也越来越常见,给人们日常生活和工作造成不少麻烦。特别是在交通、安防、遥感这些依赖图像的领域,雾天拍出来的照片质量明显变差,直接影响相关视觉系统使用效果[11]。

图像去雾技术是有效的图像增强办法,能明显提高雾天图像清晰程度和可看性,现在成了计算机视觉领域的研究热门。传统的图像去雾方法像直方图均衡化、同态滤波,能让图像质量提升,但在保留细节和还原颜色方面效果不好。Retinex理论是从人类视觉感知特点出发的图像增强方法,能把图像里反射部分和光照部分分开,所以在图像去雾领域应用多。用Retinex算法做图像去雾,能在去掉雾气时保住图像细节,还能较好还原物体原本颜色,有广泛应用前景和实际用处。

现在用Retinex算法做图像去雾,实际应用中碰到不少问题,像算法复杂、计算量大、对参数设置敏感,这些让算法在实时处理和稳定性方面表现不好。所以深入研究Retinex算法在图像去雾中的应用,调整算法结构,减少计算量,提高算法实时处理能力和稳定性,对提升雾天图像质量、扩大视觉系统使用范围很有必要。

这次研究打算系统分析Retinex算法原理和它在图像去雾中的具体应用,找出现有方法不足,然后提出改进办法,希望能为实现高效稳定的图像去雾技术提供理论参考和实际操作指导。

1.2 研究目的和意义

这项研究主要目的是详细探究基于Retinex算法的图像去雾技术[3],通过改进和优化现有算法让图像去雾效果更好、效率更高。具体工作有先弄清楚Retinex算法在图像去雾中的基本原理和存在的不足[13],开发并实现一种改进的Retinex算法使其能更好应对不同雾天情况下的图像去雾需求,最后通过大量实验验证新算法的效果和稳定性为实际应用提供技术和理论支持。希望通过这项研究为图像去雾领域提供一种更高效、更可靠的算法,促进相关技术在交通监控、遥感监测、智能驾驶等领域广泛使用。

这项研究在理论和实际应用两方面都有重要意义。理论上它能帮助更深入理解Retinex算法的内在运行机制,弄清楚它在图像去雾时的优点和不足,为后续算法的改进和创新提供理论依据,改进Retinex算法也能丰富图像处理领域的理论体系推动相关学科发展。实际应用中图像去雾技术在很多领域有广阔应用前景,像提高交通监控系统的画面清晰度、增强遥感图像的细节表现、改善智能驾驶系统的环境感知能力等,研究成果的应用能有效提升这些领域的图像质量保障系统稳定运行,具有重要的社会和经济效益。这项研究不仅有学术价值,还能为相关行业的实际应用提供有力支持。

第二章 Retinex算法理论基础

2.1 Retinex理论概述

Retinex理论是1963年Edwin H. Land提出的,它基于人类视觉感知机制发展而来属于图像处理领域重要理论[14]。该理论核心观点是人类视觉系统有个特点,不管外界光照怎么变化对物体颜色的感知能保持稳定,这种特性可通过把图像里反射部分和光照部分分开来实现。Retinex这个名字由“Retina”(视网膜)和“Cortex”(皮层)两个词组合而来,目的是突出视觉感知时视网膜和大脑皮层会一起发挥作用。

按照Retinex理论解释图像由两部分构成,一部分是体现物体本身颜色特性的反射分量,另一部分是代表周围环境光线影响的光照分量,把这两部分分离开能有效消除图像里光照不均匀、有雾气等干扰让图像更清晰易看。具体来说图像的数学关系可写成I(x,y)=R(x,y)L(x,y)I(x, y) = R(x, y) \cdot L(x, y),这里的I(x,y)I(x, y)指实际观察到的图像,R(x,y)R(x, y)是物体本身的反射部分,L(x,y)L(x, y)则是环境光照的影响部分。

Retinex算法关键在于准确估算并分离出光照分量。经典的单尺度Retinex算法(简称SSR)用高斯滤波的方法近似计算光照分量,其表达式是R(x,y)=I(x,y)F(x,y)R(x, y) = \frac{I(x, y)}{F(x, y)},其中F(x,y)F(x, y)是通过高斯滤波处理后得到的图像平滑结果用来近似代表光照分量。高斯滤波具体运算过程可表示为F(x,y)=I(x,y)G(x,y)F(x, y) = I(x, y) \otimes G(x, y),这里的\otimes表示卷积操作,G(x,y)G(x, y)是高斯函数具体形式为G(x,y)=12πσ2ex2+y22σ2G(x, y) = \frac{1}{2\pi\sigma^2} e^{-\frac{x^2 + y^2}{2\sigma^2}},式中的σ\sigma是高斯函数的标准差,它的大小会直接影响滤波器的处理尺度。

单尺度Retinex算法处理不同大小细节有局限,为弥补这个问题多尺度Retinex算法(简称MSR)被开发出来。MSR通过使用多个不同尺度的高斯滤波器综合估算光照分量,其数学表达式为RMSR(x,y)=1Nk=1Nlog[I(x,y)+ϵ]log[Fk(x,y)+ϵ]R_{MSR}(x, y) = \frac{1}{N} \sum_{k=1}^{N} \log[I(x, y) + \epsilon] - \log[F_k(x, y) + \epsilon],这里的NN是使用的尺度数量,ϵ\epsilon是一个很小的常数用来避免对数运算时出现零值问题,Fk(x,y)F_k(x, y)则是第kk个尺度下高斯滤波的结果。

Retinex理论概述
理论提出者理论核心观点理论应用领域
Land等学者图像的颜色是由物体对入射光的反射能力决定的,而反射能力又取决于物体表面的反射率和周围环境光的影响。Retinex理论旨在通过去除环境光的影响,恢复物体的真实反射率,从而增强图像的对比度和清晰度。图像增强、去雾、目标识别等领域

通过Retinex算法处理后的图像对比度和细节会明显提升,雾气等干扰能有效去除,所以在图像去雾、夜景增强等领域应用广泛。这一理论和算法为图像处理技术发展提供了重要支撑。

2.2 Retinex算法的基本原理

Retinex算法基本原理

Retinex算法基本原理和人类视觉系统感知方式有关, 其核心思路是将图像里照明部分和反射部分分开以提升图像对比度和细节表现。这个算法是Edwin Land在1964年提出, 目的是模仿人眼感知光线和颜色的过程 [10]。Retinex理论认为人眼看到的图像是场景里照明部分和物体表面反射部分共同作用的结果, 图像实际观测结果可写成照明分量和反射分量相乘形式, 具体公式是:

I(x,y)=L(x,y)R(x,y)I(x, y) = L(x, y) \cdot R(x, y)

这里I(x,y) I(x, y) 代表实际观测到的图像, L(x,y) L(x, y) 是照明分量, R(x,y) R(x, y) 是反射分量。

实际应用中照明分量变化太大会使图像质量变差, 像雾天模糊图像就是如此, 所以把照明分量单独分出来调整是处理去雾问题的关键。Retinex算法通过估算和调整照明分量能有效增强图像细节和对比度。具体操作时通常用对数变换把乘法关系转为加法关系方便后续处理:

logI(x,y)=logL(x,y)+logR(x,y)\log I(x, y) = \log L(x, y) + \log R(x, y)

用对数变换后图像里照明分量和反射分量会处于不同频域空间可分别处理。为进一步估算照明分量, Retinex算法一般用图像高频信息, 因为它假设照明分量平滑、变化慢, 而反射分量细节多。通过高通滤波或其他平滑处理方法可大致得到照明分量:

L^(x,y)=Smooth{I(x,y)}\hat{L}(x, y) = \text{Smooth}\{I(x, y)\}

这里的Smooth{}\text{Smooth}\{\cdot\}指的是平滑操作如高斯滤波。

得到照明分量估算值后反射分量可通过下面方式恢复:

R^(x,y)=I(x,y)L^(x,y)\hat{R}(x, y) = \frac{I(x, y)}{\hat{L}(x, y)}

实际操作时为防止分母为零或太小导致计算不稳定一般加一个很小正数ϵ\epsilon做平滑处理, 公式是:

R^(x,y)=I(x,y)L^(x,y)+ϵ\hat{R}(x, y) = \frac{I(x, y)}{\hat{L}(x, y) + \epsilon}

调整反射分量就能得到去雾后的清晰图像。Retinex算法通过这种分离和处理方式在图像增强和去雾方面效果明显, 尤其在提升图像细节和对比度上表现突出 [2]。

2.3 Retinex算法的发展历程

Retinex算法的发展从1963年开始,那年埃德温·赫伯特·兰德首次提出这个概念[9]。它的名字是“视网膜”(Retina)和“皮层”(Cortex)两个词组合而来,源于对人类视觉系统的研究。兰德基于人眼视觉原理提出Retinex理论,主要是想解释人在复杂光线环境下如何感知物体颜色和亮度。早期Retinex理论重点关注颜色恒常性,即物体颜色在不同光线条件下保持稳定的现象,后来Retinex算法逐渐从理论研究转向实际应用,在图像处理领域显示出很大潜力。

20世纪70年代,Frankle和McCann提出基于迭代方法的Retinex算法,这是该理论向实际应用迈出的第一步。Frankle - McCann算法通过迭代分段线性比较路径逐渐接近图像的反射分量,虽然计算复杂但为后来算法的发展奠定了基础。80年代McCann对迭代方法进行改进提出McCann99算法,让算法效率更高且更稳定。

90年代,Retinex算法在中心环绕结构方面有重要进展。单尺度Retinex(SSR)算法出现简化了计算步骤,它用高斯环绕函数处理图像能有效压缩动态范围、增强边缘。之后多尺度Retinex(MSR)算法出现,它把不同尺度的处理结果结合起来使图像增强效果更好,特别是处理复杂光线的图像时表现出色。为减少色彩失真,研究人员开发出带色彩恢复的多尺度Retinex(MSRCR)算法,它能保留图像细节还能有效还原物体真实颜色。

21世纪以来,Retinex算法研究更深入,研究人员引入频域处理技术提升了算法性能。研究人员还尝试将Retinex算法和其他图像处理技术结合,像和引导滤波、对数变换等方法一起用,应用在红外图像增强、夜间车道线检测等场景。近几年,随着深度学习发展,基于深度学习的Retinex改进算法不断出现且应用范围越来越广。

现在来看,Retinex算法从最初的视觉理论模型逐渐变成图像增强、去雾处理等领域的重要工具,它的发展过程也反映出图像处理技术在不断创新进步。

2.4 Retinex算法在图像处理中的应用

Retinex算法在图像处理领域应用很广泛,在图像增强、去除雾气、色彩校正这些具体领域效果特别突出[7]。它核心思路来自人类视觉系统的Retinex理论,这个理论说人眼看到的图像是反射分量和光照分量一起影响的结果[12]。Retinex算法把这两部分分离开后能有效提升图像对比度让细节更清晰。

Retinex算法基本公式可写成S(x,y)=R(x,y)L(x,y)S(x, y) = R(x, y) \cdot L(x, y),这里S(x,y)S(x, y)是实际观测到的图像,R(x,y)R(x, y)是物体本身的反射分量,L(x,y)L(x, y)是环境光照分量。通过单尺度Retinex(SSR)或者多尺度Retinex(MSR)变换能估算出反射分量达到增强图像的目的。单尺度Retinex数学表达式是RSSR(x,y)=logS(x,y)log[G(x,y)S(x,y)]R_{SSR}(x, y) = \log S(x, y) - \log [G(x, y) * S(x, y)],其中G(x,y)G(x, y)是高斯函数,*符号表示卷积运算。多尺度Retinex会对不同尺度的高斯函数分别处理,其表达式是RMSR(x,y)=i=1NwilogS(x,y)log[Gi(x,y)S(x,y)]R_{MSR}(x, y) = \sum_{i=1}^{N} w_i \log S(x, y) - \log [G_i(x, y) * S(x, y)],这里wiw_i是各个尺度对应的权重,Gi(x,y)G_i(x, y)是不同尺度的高斯函数。这种多尺度处理方式能更好平衡图像局部和全局的特征让图像质量提升更明显。

在图像去雾场景中,Retinex算法通过估计并消除大气散射的影响最终恢复出清晰图像。具体去雾过程是先用Retinex算法把反射分量和光照分量分离开,接着对光照分量进行大气散射模型估计得到大气光值和透射率,最后通过逆散射模型恢复出没有雾气的图像。这一过程里关键步骤数学表达式是t(x,y)=1ωexp(L(x,y)Aω)t(x, y) = 1 - \omega \cdot \exp\left(-\frac{L(x, y) - A}{\omega}\right),这里t(x,y)t(x, y)是透射率,AA是大气光值,ω\omega是用来调节的参数。无雾图像J(x,y)J(x, y)可通过公式J(x,y)=S(x,y)At(x,y)+AJ(x, y) = \frac{S(x, y) - A}{t(x, y)} + A计算。经过这些步骤,Retinex算法能有效去除图像里的雾气还能较好保留图像原本的自然色彩和细节,所以在实际使用中优势比较明显[7]。

第三章 图像去雾技术概述

3.1 图像去雾的基本概念

图像去雾技术主要做什么呢?当图像因雾气变得模糊不清, 它用特定算法和方法处理受雾气影响的图像, 让图像重新清晰且细节更明显。雾气是常见大气现象, 空气中有很多小水滴或小冰晶, 这些微粒散射光线, 导致图像对比度下降、颜色不真实, 比如原本清晰的景物边缘可能变模糊, 颜色可能偏白或发灰。图像去雾技术主要目标是用算法弥补大气导致的图像变差, 尽可能还原图像原本面貌[6]。

从物理角度看, 雾天图像变模糊过程可用大气散射模型描述。这个模型把图像退化分为两部分, 一部分是直接衰减项, 另一部分是大气光散射项。直接衰减项指光线传播时被雾气吸收和散射变弱的部分, 大气光散射项是大气中的光经散射后进入相机镜头的部分。大气散射模型数学表达式是:

I(x)=J(x)t(x)+A(1t(x))I(x) = J(x)t(x) + A(1 - t(x))

这里I(x) I(x) 是实际拍到的模糊图像, J(x) J(x) 是要恢复的清晰图像, t(x) t(x) 是透射率, 即光线穿过雾气的比例, A A 是大气光, 指远处的光强。

透射率t(x) t(x) 在图像去雾中是关键参数, 它大小和雾气浓度、景物离相机的距离有关。一般来说, 透射率可用这个公式估算:

t(x)=eβd(x)t(x) = e^{-\beta d(x)}

其中β \beta 是大气散射系数, 能反映雾气浓淡, β \beta 越大雾气越浓;d(x) d(x) 是景物深度, 即物体到相机的距离。

实际应用中, 直接测透射率和大气光不太容易, 所以图像去雾算法通常借助一些经验规律或统计模型估算这些参数。Retinex算法是经典图像增强方法, 在图像去雾领域用得很多。Retinex理论提出人眼看到的图像由反射分量和照射分量两部分组成, 分开处理这两部分能有效提升图像对比度和细节。在去雾过程中, Retinex算法通过估算反射分量间接估计透射率, 进而恢复清晰图像。

具体来说, Retinex算法基本形式是:

R(x)=logI(x)logL(x)R(x) = \log I(x) - \log L(x)

这里R(x) R(x) 是反射分量, I(x) I(x) 是输入的模糊图像, L(x) L(x) 是照射分量。通过不断迭代优化和滤波处理, 能一步步接近真实反射分量, 从而实现图像去雾。

图像去雾的基本概念
概念描述
图像去雾针对雾天或低能见度环境下拍摄的图像,通过特定算法改善图像质量,增强图像的清晰度和对比度,还原图像真实色彩,提高图像中目标物体的可辨识度,使图像更易于观察和分析。

图像去雾技术结合物理模型和算法优化, 目的是消除雾气对图像的影响, 让图像重新清晰且细节更明显。这项技术不仅有重要理论价值, 在监控、遥感、自动驾驶等领域也有广泛应用前景。

3.2 图像去雾的经典方法

图像去雾的经典技术大体有两类, 分别是基于物理模型的方法和基于图像增强的方法。基于物理模型的方法一般借助大气散射模型去刻画雾天图像的退化情况, 然后通过反向推导恢复出清晰图像。这个模型的数学表达式是I(x)=J(x)t(x)+A(1t(x))I(x) = J(x)t(x) + A(1 - t(x)) [4], 式中, I(x)I(x) 代表实际观测到的雾天图像, J(x)J(x) 是需要恢复的清晰原图, t(x)t(x) 是透射率, AA 表示大气光。透射率t(x)t(x)的计算一般按照这个公式t(x)=eβd(x)t(x) = e^{-\beta d(x)} , 这里β\beta是大气散射系数, d(x)d(x)代表场景深度。像暗通道先验(DCP)就是这类方法的典型例子, 它假设无雾图像的暗通道值接近零, 依据这个假设来估算透射率和大气光, 最终完成去雾。DCP方法中透射率的具体计算公式为t(x)=1ωminyΩ(x)(minc{r,g,b}Ic(y))/At(x) = 1 - \omega \min_{y \in \Omega(x)} \left( \min_{c \in \{r, g, b\}} I^c(y) \right) / A , 其中ω\omega是用来调节的参数, Ω(x)\Omega(x)是以像素xx为中心的局部区域。

基于图像增强的方法更注重提升图像的对比度和细节表现, 常见的技术有直方图均衡化、小波变换等。直方图均衡化通过调整图像的灰度分布来增强对比度, 其计算公式如下sk=T(rk)=(L1)j=0kpr(rj)s_k = T(r_k) = \left( L - 1 \right) \sum_{j=0}^{k} p_r(r_j) , 这里sks_k是变换后的灰度等级, rkr_k是原始灰度等级, pr(rj)p_r(r_j)表示灰度级的概率密度函数, LL是灰度级的总数量。

小波变换是先把图像分解成不同频率的子带, 着重对高频子带进行增强处理, 最后再重新合成图像, 其公式为Wψf(a,b)=1af(x)ψ(xba)dxW_\psi f(a, b) = \frac{1}{\sqrt{a}} \int_{-\infty}^{\infty} f(x) \psi^* \left( \frac{x - b}{a} \right) dx , 式中Wψf(a,b)W_\psi f(a, b)是小波变换得到的系数, aa是控制尺度的因子, bb是平移因子, ψ\psi是所使用的小波函数。

图像去雾的经典方法
方法名称原理优缺点
基于物理模型的方法通过建立雾天图像形成的物理模型来估计大气散射等参数以恢复图像。优点:理论基础扎实,能较好地还原真实场景。缺点:计算复杂,对参数依赖大,实际应用受限。
基于统计学习的方法利用大量有雾和无雾图像对,通过机器学习算法学习去雾映射关系。优点:适应性强,能处理多种场景。缺点:需要大量训练数据,泛化能力有待提高。
基于图像增强的方法直接对有雾图像进行增强处理来改善视觉效果。优点:算法简单,处理速度快。缺点:难以完全去除雾气,效果有限。

这些经典方法各有特点, 物理模型类方法能比较好地还原真实场景, 但计算过程比较复杂;图像增强类方法计算简单, 不过可能没办法彻底去除雾气。近年来随着深度学习发展, 基于深度学习的去雾技术慢慢成为研究热门, 但经典方法在理论研究和实际应用中还是有重要价值。

3.3 基于物理模型的去雾方法

物理模型类去雾方法核心依据是能描述雾天光线传播情况的大气散射模型[6]。大气散射模型数学表达式是:

I(x)=J(x)t(x)+A(1t(x))I(x) = J(x)t(x) + A(1 - t(x))

这里I(x)I(x)代表实际拍到的有雾图像, J(x)J(x)是要还原的清晰无雾图像, t(x)t(x)叫透射率, 指光线穿过雾气后剩下的强度比例, AA是整个场景的大气光值。透射率t(x)t(x)更具体表达式是:

t(x)=eβd(x)t(x) = e^{-\beta d(x)}

其中β\beta代表大气散射系数, 数值大小体现雾的浓淡, d(x)d(x)是场景中某个点到相机的实际距离。

这类方法一般要完成三个主要任务, 一是确定全局大气光AA, 通常通过分析图像里较亮区域找到;二是计算透射率t(x)t(x), 常见手段有暗通道先验法和基于深度信息的方法;三是用已得到的AAt(x)t(x)还原出清晰的无雾图像J(x)J(x)

计算透射率时暗通道先验是常用有效方法, 它基本想法是在没有雾的清晰图像里任意一小块区域中至少有一个颜色通道的像素值会很低, 根据这个想法能推导出透射率计算式:

t(x)=1ωminc{r,g,b}(minyΩ(x)Ic(y))/Act(x) = 1 - \omega \min_{c \in \{r, g, b\}} \left( \min_{y \in \Omega(x)} I_c(y) \right) / A_c

这里ω\omega是用来调整结果的参数, Ω(x)\Omega(x)是以xx为中心的一个小范围区域, Ic(y)I_c(y)是颜色通道ccyy位置的像素值, AcA_c是大气光在cc通道的具体数值。

要得到清晰的无雾图像J(x)J(x), 需把之前算出的AAt(x)t(x)代入大气散射模型计算, 具体公式是:

J(x)=I(x)Amax(t(x),t0)+AJ(x) = \frac{I(x) - A}{\max(t(x), t_0)} + A

这里t0t_0是一个很小的正数, 主要是为避免计算时分母变成零的情况。

基于物理模型的去雾方法相关内容
方法特点局限性
基于大气散射模型,考虑了光线在大气中的传输过程,能较为准确地描述图像形成机制。需要准确估计大气光和散射系数等参数,这些参数的获取往往具有一定难度,且对图像噪声敏感,容易导致去雾效果不佳。计算复杂度较高,处理速度较慢,不适用于实时性要求高的场景。

物理模型类去雾方法通过详细刻画大气散射过程并准确估计相关参数, 能有效提升图像的清晰程度和色彩对比, 但这类方法计算复杂, 对参数估计的准确度要求很高[5]。最近几年, 随着深度学习技术不断进步, 有研究人员开始尝试把物理模型和深度神经网络结合起来, 希望进一步改善去雾效果, 让算法更稳定可靠[15]。

3.4 基于深度学习的去雾方法

最近几年深度学习在图像处理领域应用越来越广[12],去雾技术也有了明显进步。这类方法主要是借助深度神经网络强大的特征捕捉和建模能力,从有雾图像里还原出清晰的无雾图像。以前常用的去雾方法如暗通道先验(DCP)和基于物理模型的方法大多依靠人工设计的特征和参数,面对复杂多变的雾天情况效果不太稳定,而深度学习方法通过端到端的训练方式能自动学会适合去雾任务的复杂特征表达。

常见的深度学习去雾模型一般有几个主要环节,第一步是对输入的雾天图像进行特征提取,这部分通常由多个卷积层组成的网络完成,目的是捕捉图像的深层特征,比如DehazeNet模型采用四层卷积网络,还引入了双边矫正线性单元(BReLU)作为激活函数来提升恢复图像的质量,特征提取网络处理后会输出包含图像多种特征信息的特征映射图。

接下来传输率估计网络会利用前面得到的特征映射图估算图像的传输率,传输率是衡量雾天图像中雾气浓度的重要参数,数学上可以表示为:

t(x)=eβd(x)t(x) = e^{-\beta \cdot d(x)}

这里t(x) t(x) 是位置x x 处的传输率,β \beta 代表大气散射系数,d(x) d(x) 是场景深度,通过深度网络学习到的特征能更准确地算出传输率。

有了传输率和大气光值A A 就能通过大气散射模型还原无雾图像,大气散射模型的公式是:

I(x)=J(x)t(x)+A(1t(x))I(x) = J(x)t(x) + A(1 - t(x))

其中I(x) I(x) 是实际拍摄的雾天图像,J(x) J(x) 是需要恢复的无雾图像,把估算出的传输率t(x) t(x) 和大气光值A A 代入这个公式就能计算出无雾图像J(x) J(x) ,现在有些更先进的深度学习去雾方法还引入了由生成器和鉴别器两部分构成的生成对抗网络(GAN)来提升效果,生成器负责直接输出无雾图像,鉴别器用来判断生成的图像是否真实,通过对抗训练生成器能生成更接近真实的无雾图像。

基于深度学习的去雾方法对比
方法名称核心思想优势劣势
基于卷积神经网络(CNN)的方法利用卷积神经网络对雾天图像进行特征提取和去雾处理能够有效去除多种类型的雾,适应性强计算复杂度高,对硬件要求较高
基于生成对抗网络(GAN)的方法通过生成器和判别器对抗训练来生成清晰图像生成的去雾图像质量较高训练过程复杂,收敛困难
基于循环神经网络(RNN)的方法借助循环神经网络处理序列数据以实现去雾对动态场景去雾有较好效果处理速度相对较慢

深度学习去雾方法的优点是有很强的泛化能力和自适应特性,能处理不同类型、不同浓度的雾天图像,不过这种方法的效果依赖大量训练数据和计算资源,未来研究可以多探索更轻量化的深度网络结构,让图像去雾处理能更高效、实时地完成。

3.5 图像去雾技术的评价指标

评估图像去雾效果时评价指标很关键,常用指标有熵(Entropy)、峰值信噪比(PSNR)、结构相似度指数(SSIM)和均方误差(MSE)。熵衡量图像包含信息量多少和复杂程度,其数值高低直接体现去雾处理后图像细节保留情况,去雾后图像熵值更高说明算法去除雾气时能保留更多图像细节让图像内容更丰富清晰[16],这对保证去雾效果自然真实有意义。

峰值信噪比(PSNR)对比原始图像和处理后图像像素值差异评估质量,PSNR数值越大意味着去雾算法提升清晰度时能较好控制噪声产生,图像整体质量明显提高。结构相似度指数(SSIM)关注图像结构信息保持情况,它综合考虑图像亮度、对比度和结构信息一致程度,SSIM数值高说明去雾算法处理时能有效保留原始图像结构特征减少因去雾操作导致的失真问题让图像视觉效果更自然。

均方误差(MSE)计算原始图像和处理后图像像素值平均差的平方衡量两者差异大小,MSE数值越小说明去雾算法恢复图像细节和色彩表现更好,处理后图像和原始图像更接近。把这些评价指标结合起来能从多个角度全面评估图像去雾算法性能,这样能客观衡量去雾效果也能为算法优化改进提供数据支撑。研究人员深入分析和应用这些指标能更清楚了解去雾算法优势和不足进而推动相关技术创新发展,这有助于在气象条件不好的环境下依然获取高质量、高清晰度的图像满足不同场景使用需求。

第四章 基于Retinex算法的图像去雾技术研究

4.1 Retinex算法在图像去雾中的应用原理

Retinex算法用于图像去雾, 其原理和人类视觉系统感知光照、颜色的方式有关。这一理论由Edwin Land提出, 核心是把图像拆分成反映物体本身特征的反射分量和反映环境光照影响的光照分量两部分, 通过这种拆分来增强图像或去除雾气。雾天拍摄的图像因大气散射作用通常整体发暗且画面对比度下降, Retinex算法区分这两个分量能减少雾气对图像的干扰, 让画面细节和颜色更清晰[1]。

Retinex算法有个基本假设, 图像I(x,y)I(x, y)是反射分量R(x,y)R(x, y)和光照分量L(x,y)L(x, y)相乘的结果, 数学表达式为I(x,y)=R(x,y)L(x,y)I(x, y) = R(x, y) \cdot L(x, y), 这里反射分量R(x,y)R(x, y)反映物体本身颜色、纹理等固有特征, 光照分量L(x,y)L(x, y)和周围环境光线情况有关。去雾主要就是估算出光照分量L(x,y)L(x, y)并去掉, 剩下的反射分量R(x,y)R(x, y)就是清晰的图像内容。

实际使用时Retinex算法常通过对数变换简化计算, 公式变为logI(x,y)=logR(x,y)+logL(x,y)\log I(x, y) = \log R(x, y) + \log L(x, y), 对数变换把原来的乘法关系变成加法关系, 处理起来更方便。要估算光照分量L(x,y)L(x, y), Retinex算法常用高斯滤波或其他平滑滤波方法, 因为光照分量一般是变化缓慢的低频部分。具体操作是先对原始图像I(x,y)I(x, y)做对数变换得到对数域的图像logI(x,y)\log I(x, y), 接着用高斯滤波器对logI(x,y)\log I(x, y)进行卷积运算得到光照分量的估计值logL(x,y)\log L(x, y), 高斯滤波器的表达式是G(x,y)=12πσ2ex2+y22σ2G(x, y) = \frac{1}{2\pi\sigma^2} e^{-\frac{x^2 + y^2}{2\sigma^2}}, 这里的σ\sigma是标准差, 其数值大小会影响滤波器的平滑效果, σ\sigma越大, 平滑程度越高。

得到logL(x,y)\log L(x, y)后, 用公式logR(x,y)=logI(x,y)logL(x,y)\log R(x, y) = \log I(x, y) - \log L(x, y)计算反射分量的对数值logR(x,y)\log R(x, y), 最后对logR(x,y)\log R(x, y)做指数变换, 把它转换回原始图像的数值范围, 就得到去雾后的图像R(x,y)R(x, y), 公式是R(x,y)=elogR(x,y)R(x, y) = e^{\log R(x, y)}

经过这些步骤, Retinex算法能有效减少雾气对图像的影响, 提升画面的对比度和清晰度, 让细节和颜色更好地呈现出来。这种算法在户外场景的图像去雾中效果尤其明显, 应用范围比较广[1]。

4.2 单尺度Retinex算法去雾

单尺度Retinex去雾是依托Retinex理论的图像增强方法[9],能减轻雾气对图像的干扰让画面更清晰、细节更突出。Retinex理论由Edwin Land提出,核心是把图像拆成反射分量R(x, y)和光照分量L(x, y)两部分,反射分量R(x, y)反映物体本身的特性,光照分量L(x, y)体现环境光线的作用,观察到的图像I(x, y)是这两部分的乘积,用公式表示就是I(x, y) = R(x, y) · L(x, y),这里I(x, y)是实际拍到的图像,R(x, y)代表物体固有的属性,L(x, y)代表环境光带来的影响,去雾关键是估算并去除光照分量还原物体原本的反射分量。

单尺度Retinex算法用高斯环绕函数F(x, y)估算光照分量,其表达式是F(x, y) = K · exp( - (x² + y²) / (2σ²) ),其中K是保证计算稳定的归一化常数,σ是高斯函数的标准差,其数值大小决定环绕函数的作用范围,通过卷积操作把原图像I(x, y)和高斯函数F(x, y)进行计算得到光照分量的估计值,即L̂(x, y) = I(x, y) ⊗ F(x, y),这里⊗符号表示卷积运算,算出光照分量估计值后反射分量R̂(x, y)等于原图像I(x, y)除以光照分量估计值L̂(x, y),也就是R̂(x, y) = I(x, y) / L̂(x, y)。

为让图像看起来更舒服一般对反射分量做非线性处理,如压缩动态范围、增强对比度,常用办法是对反射分量做对数变换,公式是R增强(x, y) = log( R̂(x, y) + 1 ),另外为防止计算时分母为零,实际操作中在分母里加很小的正数ε,这时公式变成R̂(x, y) = I(x, y) / ( L̂(x, y) + ε )。

单尺度Retinex去雾好处明显,计算过程简单,能有效提高图像的对比度和细节表现,但它只用一个尺度的环绕函数,面对不同场景光照变化时不够灵活,有时去雾效果不好。为改进这点研究人员开发了多尺度Retinex算法,通过结合多个尺度的环绕函数更全面地估算光照分量,去雾效果更好。

实际使用中,单尺度Retinex去雾有重要价值,尤其在需要快速处理的场景,像视频监控、自动驾驶这类对实时性要求高的领域,通过调整算法参数或和其他图像处理技术结合,能在一定程度上弥补它的不足,让去雾效果更高效、更稳定。

4.3 多尺度Retinex算法去雾

多尺度Retinex去雾技术是基于Retinex理论的图像增强方法[5], 主要用来提高雾天拍摄图像的清晰度和对比度。Retinex理论认为人眼看到的图像由反射和照射两部分共同决定, 反射部分体现图像本身的真实信息, 照射部分受周围光线环境影响。雾天图像变模糊是因为大气散射让光线分布不均匀且降低了画面对比度, 调整这两个分量的关系能有效去除雾气。

多尺度Retinex算法关键是用不同大小的高斯滤波器对图像加权处理来更准确估算反射分量。假设输入图像I(x,y)I(x, y), 算法先设定高斯函数G(x,y,σ)G(x, y, \sigma), σ\sigma是高斯函数标准差, 用来控制滤波器大小。针对不同的σi\sigma_i(代表不同尺度), 可得到多个高斯滤波后的图像Ri(x,y)R_i(x, y), 计算方式为Ri(x,y)=log(I(x,y))log(G(x,y,σi)I(x,y))R_i(x, y) = \log(I(x, y)) - \log(G(x, y, \sigma_i) * I(x, y)), 其中*表示卷积操作。通过多个尺度滤波处理能综合不同细节层次信息, 让反射分量估算更全面。最终算法把各个尺度下的反射分量按权重平均得到最终输出图像S(x,y)S(x, y), 具体公式是S(x,y)=i=1nwiRi(x,y)S(x, y) = \sum_{i=1}^{n} w_i R_i(x, y), 这里wiw_i是第ii个尺度的权重, 所有权重加起来等于1。

实际应用中多尺度Retinex去雾分几步操作, 先对输入雾天图像做预处理, 像转成灰度图或者调整色彩空间, 接着选好高斯滤波器的尺度σi\sigma_i和对应的权重wiw_i进行多尺度Retinex处理, 最后对处理后的图像做后处理, 比如恢复色彩、增强对比度让图像质量更好。

用多尺度Retinex算法去雾后雾天图像细节更清晰, 整体对比度提高, 方便后续图像分析和处理。不过处理过程可能带入一些噪点, 颜色也可能失真, 实际使用要根据具体情况调整参数、改进算法。总体来看多尺度Retinex算法为雾天图像增强提供了实用技术手段, 未来在多个领域有应用潜力。

4.4 改进型Retinex算法去雾

改进型Retinex去雾技术主要目标是针对传统Retinex算法不足进行优化来提高图像去雾实际效果[10]。Retinex理论核心观点是图像由反射分量和光照分量共同构成,数学表达式为 I(x,y)=L(x,y)R(x,y)I(x, y) = L(x, y) \cdot R(x, y),其中 I(x,y)I(x, y) 代表实际观测到的图像,L(x,y)L(x, y) 指光照分量,R(x,y)R(x, y) 是反射分量。传统Retinex算法主要通过估计并分离这两个分量来完成去雾,不过实际应用中常因光照估计不准确、图像噪声干扰等问题导致去雾效果不太理想。

为改善这种情况改进型Retinex算法做了多方面优化,在光照分量估计环节引入导向滤波器[10],导向滤波器能在有效平滑图像时较好保留边缘信息,其基本公式为 qi=akIi+bkq_i = a_k I_i + b_k,这里 qiq_i 代表输出的像素值,IiI_i 是输入像素值,aka_kbkb_k 是在局部窗口范围内通过最小化平方误差计算得到的系数,借助这种滤波方式光照分量 L(x,y)L(x, y) 的估计结果更接近真实情况,减少了传统方法中常见的过平滑现象。

改进型Retinex算法还引入多尺度Retinex(MSR)的处理思路,通过结合不同尺度的高斯滤波操作进一步增强图像细节,MSR算法的数学表达式为 RMSR(x,y)=k=1Nwklog[I(x,y)+ϵk]log[Lk(x,y)+ϵk]R_{MSR}(x, y) = \sum_{k=1}^{N} w_k \log[I(x, y) + \epsilon_k] - \log[L_k(x, y) + \epsilon_k],这里 wkw_k 是各尺度对应的权重,ϵk\epsilon_k 是用于避免对数运算出现零值的常数,Lk(x,y)L_k(x, y) 是不同尺度下的光照分量估计结果,多尺度处理能更好平衡图像的全局信息和局部细节,提升整体去雾效果。

改进型算法针对色彩恢复问题进行优化,通过引入色彩校正机制有效避免去雾后图像出现色彩失真现象,具体是通过调整RGB三个通道的增益来实现色彩校正,对应的计算公式如下:

Radj(x,y)=R(x,y)max(R(x,y),G(x,y),B(x,y))R_{adj}(x, y) = \frac{R(x, y)}{\max(R(x, y), G(x, y), B(x, y))}

Gadj(x,y)=G(x,y)max(R(x,y),G(x,y),B(x,y))G_{adj}(x, y) = \frac{G(x, y)}{\max(R(x, y), G(x, y), B(x, y))}

Badj(x,y)=B(x,y)max(R(x,y),G(x,y),B(x,y))B_{adj}(x, y) = \frac{B(x, y)}{\max(R(x, y), G(x, y), B(x, y))}

通过这样的调整能保证去雾后的图像色彩更接近真实场景。

这些改进措施让改进型Retinex算法在去雾效果、细节保留和色彩还原等方面都有明显优势,为雾天图像的清晰化处理提供了更有效的技术手段[12],实验结果显示该算法在不同类型的雾天图像中都能获得较好去雾效果,具备广阔应用潜力。

4.5 Retinex算法去雾的优缺点分析

Retinex算法是参考人类视觉系统原理设计的图像增强方法, 它模仿人眼感知光线的方式处理图像来达到去雾效果[13]。这种算法的优势体现在几个方面, 它能有效提升图像对比度让画面细节更清晰, 雾天环境下图像对比度通常会下降导致细节模糊, Retinex算法通过调整图像动态范围让暗部和亮部都得到合理增强从而恢复细节信息, 它还能保持颜色恒常性, 就是在不同光照条件下物体颜色不会明显变化, 这是因为算法将图像分解为反射图像和光照图像两部分, 调整光照图像的亮度后反射图像的颜色能保持稳定, 它还能强化图像边缘信息让边缘更清晰, 这对后续图像识别、分割等处理很有帮助[15]。

Retinex算法也有不足, 处理图像时容易出现光晕现象, 尤其是在明暗交界的区域会有明显的光晕, 这是因为算法在增强对比度的同时也可能放大图像中的噪声导致画质下降, 另一个问题是计算复杂度较高, 处理大尺寸图像时速度较慢, 不太适合需要实时处理的场景, 去雾效果受参数选择影响较大, 不同参数设置会带来不同效果, 实际使用中需要根据具体情况调整。

总体来看, Retinex算法在图像去雾上有独特优势, 但也存在明显局限, 实际应用时, 要结合具体需求和场景选择算法, 同时可以配合其他图像处理技术进一步提升去雾效果。

第五章 结论

对基于Retinex算法的图像去雾技术做深入研究, 能总结出以下要点:Retinex算法在图像去雾领域有明显优势和发展潜力, 它能有效区分图像中的反射部分和光照部分, 明显增强雾天图像的清晰程度和明暗对比, 让场景信息更接近真实自然的状态, 所以这种算法在应对复杂雾天环境的图像时, 效果比传统去雾方法更好。

Retinex算法在细节保留方面表现出色, 实验显示它在去雾时能较好保留图像边缘和细节信息, 避免了传统方法常出现的细节丢失、过度平滑问题, 这让图像看起来更自然, 也为后续图像分析处理提供了更可靠的数据支撑。

Retinex算法对不同雾天环境的适应能力强, 不管是轻度还是重度雾天条件下, 它都能取得良好的去雾效果, 体现出在不同雾天环境中的广泛适用能力, 这在实际应用中很关键, 说明它能在交通监控、户外监控等多种场景中发挥作用。

当然, Retinex算法也有一些不足, 处理高动态范围图像时, 算法效果可能变差, 造成部分区域去雾效果不够理想, 而且算法计算过程相对复杂, 实时处理能力还需要进一步提高, 这些问题提示后续研究中要优化算法结构, 提升运算效率和环境适应能力。

整体来说, 基于Retinex算法的图像去雾技术在提升图像质量、保留细节、适应不同雾天环境等方面表现突出, 应用前景广阔。虽然目前存在一些局限, 但随着算法不断优化改进, 有理由相信它会在图像去雾领域发挥更重要的作用, 为各类视觉系统提供更高效可靠的图像处理手段。未来研究应继续聚焦算法性能提升和实际应用优化, 推动这项技术进一步发展普及。

参考文献

\[1\]高智慧.结合细节增强和多尺度Retinex的图像去雾算法研究[T].2024.

\[2\]李竹林,李鹏翼,车雯雯.一种基于Retinex理论的图像去雾算法研究[J].河南科学, 2023(1):1-6.

\[3\]刘洋,张杰,张慧.一种改进的Retinex算法在图像去雾中的研究与应用[J].计算机科学, 2018(B06):3.

\[4\]董辉,金阔洋.基于暗原色先验的Retinex去雾算法[J].浙江工业大学学报, 2018(6):6.

\[5\]彭静,薛奉金,苑玉彬.基于多尺度Retinex和暗通道的自适应图像去雾算法[J].激光与光电子学进展, 2021.

\[6\]景竑元,陈嘉星,周昊,宏晨,陈艾东.融合雾线先验与对比度增强的图像去雾研究[J].北京联合大学学报, 2024(4):51-60.

\[7\]陈云龙,姜钦霞,邓飞凤,郑云梅.基于多尺度Retinex算法的电力巡检可见光遥感图像去雾自动化增强[J].自动化与仪表, 2024(12):88-91.

\[8\]马潇菲.基于HSV改进的Retinex算法的图像去雾研究[J].景德镇学院学报, 2024(3):53-57.

\[9\]陈敏聪,花涛,向磊,潘雅汶,张明,周玥明,张广奇,张竞宇.一种基于matlab实现的Retinex图像去雾方法[G].2021.

\[10\]许凤麟,苗玉彬,张铭.基于彩色加权引导滤波-Retinex算法的导航图像增强[J].上海交通大学学报, 2019(8):7.

\[11\]Zhao, Linhong,Zhang, Shun,Zuo, Xianzhang.Research on Dehazing Algorithm of Single UAV Reconnaissance Image under Different Landforms Based on Retinex[J].Journal of Physics: Conference Series, 2021(1):012025 (7pp).

\[12\]Kaur, Amandeep,Rani, Shalli,Shabaz, Mohammad.Underwater image dehazing using a hybrid GAN with bottleneck attention and improved Retinex-based optimization[J].Scientific Reports, 2025(1):.

\[13\]Xue, Juntao,Hei, Junjie,Li, Kaiyu,Ma, Ruohan.Efficient Image Dehazing by Improving Retinex Algorithm[J].会议论文, 2020(9181388):.

\[14\]Galdran, Adrian,Alvarez-Gila, Aitor,Bria, Alessandro,Vazquez-Corral, Javier,Bertalmio, Marcelo.On the Duality Between Retinex and Image Dehazing[J].IEEE, 2018.

\[15\]Tang, Qunfang,Yang, Jie,He, Xiangjian,Jia, Wenjing,Liu, Haibo.Nighttime image dehazing based on Retinex and dark channel prior using Taylor series expansion[J].Computer Vision and Image Understanding, 2020:103086.

\[16\]Yuanzhao, Guo,Jun, Zhang.Remote sensing image dehazing method in mountaineering equipment[J].The Computer Journal, 2024(4):4.

致谢

在完成本文的过程中,我收获了很多宝贵的经验和知识,也得到了很多人的帮助和支持,在此我要向他们表示由衷的感谢。

首先,我要感谢我的导师,在整个论文的写作过程中,他给予了我无私的指导和支持,不断提出建设性的意见和建议,帮助我完成了这篇论文。其次,我要感谢我的家人和朋友,他们在我学习和生活中一直给予我鼓励和支持,让我在学术上和生活中得到了很大的帮助。最后,我要感谢所有支持和帮助我的人,谢谢你们的支持和帮助,让我能够完成这篇毕业论文。