图像去雾方法介绍

背景介绍

在计算机视觉和计算机图形学中,广泛用于描述有雾图像形成的模型是

其中, 𝐼(𝑥)是指是指的观测到的亮度,即从拍到图片中获取到的亮度,这个是已知值。J(𝑥)scene radiance,我是理解成为去雾、恢复之后的图像,是我们的目标。 t(𝑥)是描述未散射并到达相机的那部分光的透射率。 A atmospheric light全球大气光成分。去雾的目的就是根据已有的图片,按照上式计算得到原始无雾图像,透射率以及估算全球大气光成分。

右边的第一项J(x)t(x)称为直接衰减,第二项A(1-t(x))称为Airlight。直接衰减描述了场景辐射及其在介质中的衰减,而空气光是由先前的散射光产生的,它导致场景颜色的移动。直接衰减是场景亮度的承性失真,而空气光是叠加失真。

 1 雾图形成过程

其中 𝛃是大气散射的参数,d是景深。这个公式表达了scene radiance会随着距离的增大而呈现出指数型的衰减。因为如果我们得到了这个透射率,我们就可以根据这一规律得到景物的深度。

从几何上讲,雾化成像方程意味着在RGB颜色空间中,向量AIJ是共面的,并且它们的端点是共线的(见图2)。传输t是两个线段的比率:

 其中,c∈{r,g,b}是颜色通道索引。

2 雾成像模型

暗通道先验 

暗通道先验,是何凯明在论文《Single Image Haze Removal Using Dark Channel Prior》中,提出的一种图像去雾方法。暗通道先验是户外无雾图像的一种统计特性。作者通过观察大量的户外无雾图像的,发现户外无雾图像的很多局部块上的像素,至少在一个颜色通道上有很低的强度。利用这个先验和大雾形成模型,我们可以直接估计大雾的厚度并且恢复高质量的无雾图像。 

对于任意一幅输入图像,定义其暗通道的数学表达式为

其中c表示RGB三通道中的某一通道。上式表示在一幅输入图像中,先取图像中每一个像素的三通道中的灰度值的最小值,得到一幅灰度图像,再在这幅灰度图像中,以每一个像素为中心取一定大小的矩形窗口,取矩形窗口中灰度值最小值代替中心像素灰度值(最小值滤波),从而得到该雾天图像的暗通道图像。

暗通道图像为灰度图像,通过大量统计并观察发现,暗通道图像的灰度值是很低的,所以将整幅暗通道图像中所有像素的灰度值近似为0,即:

 图3 暗通道图可视化

论文中,假设全球大气光A值已知,在实际中,我们可以借助于暗通道图来从有雾图像中获取该值。具体步骤如下:

1)从暗通道图中按照亮度的大小取前0.1%的像素。

2) 在这些像素位置中,对应原始有雾图像I中寻找对应的具有最高亮度的点的值,作为A值。

 对于成像模型,将其归一化,即两边同时除以每个通道的大气光值:

 假设在图像中一定大小的矩形窗口Ω(x)内,传输函数t(x)的值为定值t ̃(x) ,对上式两边用最小化算子(minimum operators)作最小化运算:

由于在矩形区域内为定值,故将其拿出运算符外部。场景辐射(scene radiance)是无雾图像,将暗通道先验应用于J,则有:

由于A^c总是正值,则有:

将上式代入到最小化运算的式子中,即可得到传输函数的估计值为:

 物理引导和深度引导

这是2022年最新的一篇文章,论文中介绍了使用物理引导和深度引导进行图像去雾的方法,取得了不错的效果。文中有两个渐进阶段,物理引导修复(红线和蓝线)和深度引导细化(绿线)。物理引导恢复阶段包括物理引导分解、场景-辐射恢复和透射图恢复三个部分。同时深度引导特征可以改善低级视觉性能,例如图像去雨和去雾。利用深度信息来指导清晰的图像重建是直观的。引入细化网络作为第二阶段,以确保模型也可以专注于远处的场景。

 

 

 

 

 

 

 

 

Matlab中有多种图像去雾方法,其中一些常用的方法包括以下几种: 1. 基于暗通道先验的图像去雾方法。这是一种基于像素强度的方法,它假定在雾天下,图像中的暗通道和全局大气光线有一定的相关性。通过估计暗通道和全局大气光线,可以有效地去除图像中的雾霾。Matlab中可以使用`dehaze`函数实现该方法。 2. 基于偏微分方程的图像去雾方法。这是一种基于图像梯度的方法,它利用偏微分方程模型对图像进行去模糊和去噪,并通过对比原始图像和处理后的图像来估计雾霾程度和去雾效果。Matlab中可以使用`imdiffuseest`函数和`imdiffusefilt`函数实现该方法。 3. 基于多种颜色空间的图像去雾方法。这是一种基于颜色信息的方法,它假定在雾天下,不同颜色通道的雾霾程度不同。通过对不同颜色通道进行加权和融合,可以得到一个去雾效果比较好的图像。Matlab中可以使用`rgb2gray`函数和`rgb2hsv`函数实现该方法。 4. 基于深度学习的图像去雾方法。这是一种利用深度神经网络对图像进行去雾的方法,它通过训练一个深度神经网络来学习雾霾和清晰图像之间的映射关系,从而实现高质量的图像去雾效果。Matlab中可以使用深度学习工具箱中的函数来实现该方法。 以上是一些常见的图像去雾方法,在实际应用中可以根据具体需求选择适合的方法
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值