去雾算法学习——Single Image Dehazing(Fattal)笔记(未完继续)
来源:互联网 发布:帝国cms内容页js调用 编辑:程序博客网 时间:2024/06/13 01:07
本文是作者Fattal余2008年发表的文章,是对2007年的文章的改进
1.Image Degradation Model
光线沿着直线传播,但是大气中存在的灰尘、溶胶等导致大气散射的存在,这里建模思想是:沿短距离方向光线透射率有线性关系存在。沿最短距离dr光线吸收 βdr。其中,β 被称为媒介消光系数(光线散射导致)。由于这一过程,光线集成一条新型光线,在不同的空间,β志不同。给出透射率 t(transmission):
(1)
其中r是射线参数化的弧长,表达了通过观察者和物体表面之间光线留下来强度的参数。r(d)是指没有被散射掉的光线。
假设,光线是多个补充通道的散射事件,在这里我们假设他是各项同性的均匀空间——airlight(空中光)或者veiling light(大气耗)。在辐射传输方程中用于近似真是的散射值,用于实现以下操作——简单那图形形成模型:
I(x) = t(x)J(x)+(1−t(x))A (2)
这个方程式定义在RGB三通道下成立的,I:原始图。A:airlight color vector(大气颜色矢量)。J:图像表面辐射矢量。在场景和真实光线的交点处x=(x,y),t(x)是大气射线transmission(透射率)。这里采用的是图像退化模型。[Chavez 1988; Nayar and Narasimhan 1999; Narasimhan and Nayar 2000; Schechner et al. 2001; Narasimhan and Nayar 2003;Shwartz et al. 2006].
将(2)一梯度形势表示:t<1
||▽I| = ||t▽J(x)+(1−t)▽A|| =t||▽J(x)|| < ||▽J(x)|| (3)
2.Constant Albedo Images
每个像素都独立存在airlight-albedo(大气大气反射系数),产生大量的不确定度。为简化不确定度,近似处理t(x)。
两个步骤:
1)在原图J的表面反照率系数Rl,R:RGB三通道表面的反射系数。l:是一个表面光线的标量,这里称为明暗系数。
通过这种模型简化R(x)为分段函数。假设x∈Ω区域内,反照率R默认为常数,则物理模型可以转变成:
I(x) =t(x)J(x)R+(1−t(x)A) (4)
简化后参数减少,只剩下:I(x) 和t(x)。
2)将R(x)分解成两个组件:平行空中光A和残余向量R',R'∈A⊥。则方程变为:
I(x) =t(x)l′(x)(R′||R′||+ηA/||A||)+(1−t(x)A) (5)
其中:l′(x)=||R′||l(x) ;
η=<R,A>/(||R′||,||A||);
<·,·>我们表示标准RGB三维点积空间。
因为我们沿着A输入,将导致R的一个分量变为常量。
IA(x) = <I(x),A>/||A|| = t(x)l′(x)η +(1−t(x)||A|| (6)
只剩下R'方向上的分量;
(7)
传输t,可以改写成下式:
t(x) = 1−[(IA(x)−ηIR′ (x))/||A||] (8)
图像组件:IA(x)和IR′ (x)对每一个像素在x∈Ω产生约束;
解决关键理念:
传播 t 取决于场景深度和密度的阴霾,β (x),
其中,l依赖于场景中的照明。
因此,这里假设 l 与 t 没有表现出一个简单的局部关系。
即:这两个函数在Ω上无关:l 与t 的协方差()=0(cov(l,t)=0);CΩ (l, t) = 0,
(9)
因为f和g是样本空间Ω上的两个随机变量,则在Ω上f的均值是:
(10)
有(8)和(7)式,可以得到:
(11)
即:l与t是有相关关系的。
然后,我们定义一个新的变量:
h(x) = (||A||−IA)/IR′ (12)
替代(8)和(11)的方差算子;得到:
(13)
即,确定的反射率R下,η的表达式为(13),然后由(8)可以计算出t,再由(4)式子可以得到J。
为了使(13)式子有意义,则必须保证分母不为零。CΩ(IR′ ,h)≠0;若不满足这个条件,则(13)式就不成立。
3.Noise Estimation
作者为了验证是否满足这个条件,做了一个实验:
(图来自作者实验)
输入图I(x),透射率t(x), 明暗系数l,输出J。
由实验可知,l和t明显相关,这就导致之前的假设出问题。
因此,作者引入参数:ξ:I=I'+ξ;
作者模拟输入图像中加入高斯白噪。其中,每一个像素x是一个三维高斯随机向量:
ξ是均值为0;方差存在,的高斯白噪,且他在任一像素上的任意分量都是独立的。
2015.2.21
下面展示一下运行的图片结果:
根据作者的主页代码给出的参量:
B = [0.8 0.8 0.9]';
[est_t est_l est_eta] = estimate(B, I);
A=[175 172 172];
进行实验,见结果果图
就
就上两幅图去雾图片发现,该方法的去雾效果与给定的参量有关,无法实时确定,需要对算法尽心进一步的处理
才有可能保证算法的可靠性。
文章<Single Image Dehazing>来自:http://www.cs.huji.ac.il/~raananf/projects/defog/
- 去雾算法学习——Single Image Dehazing(Fattal)笔记(未完继续)
- 去雾算法学习——Fast Visibility Restoration from a Single Color or Gray Level Image笔记
- 去雾 - Non-Local Image Dehazing
- 去雾算法学习-Single Image Haze Removal Using Dark Channel Prior笔记
- 《Single Image Haze Removal Using Dark Channel Prior》图像去雾算法的原理(速度可实时)
- Single Image Dehazing Algorithm Based on Sky Region Segmentation(2013)
- Freemarker学习笔记第一篇(未完,后续会继续并补充例子)
- Single Image Haze Removal(图像去雾)
- 《Single Image Haze Removal Using Dark Channel Prior》一文中图像去雾算法的原理、实现、效果(速度可实时)
- 《Single Image Haze Removal Using Dark Channel Prior》一文中图像去雾算法的原理、实现、效果(速度可实时)
- 《Single Image Haze Removal Using Dark Channel Prior》一文中图像去雾算法的原理、实现、效果(速度可实时)
- 《Single Image Haze Removal Using Dark Channel Prior》一文中图像去雾算法的原理、实现、效果(速度可实时)
- 《Single Image Haze Removal Using Dark Channel Prior》一文中图像去雾算法的原理、实现、效果(速度可实时)
- 算法学习篇(未完)
- js学习笔记:事件——事件类型(未完)
- 何恺明经典去雾算法之 Single Image Haze Removal
- 何恺明经典去雾算法之 Single Image Haze Removal
- 《真言》学习笔记(未完)
- C# Win32消息系列-User32.dll
- 堆内存和栈内存
- std::list
- Android音频系统之四AudioPolicy
- uva 11552 Fewest Flops
- 去雾算法学习——Single Image Dehazing(Fattal)笔记(未完继续)
- android WebSocket协议简介
- 推荐系统之算法介绍
- C# Win32消息系列--SC
- 《认清C++语言》的random_shuffle()和transform()算法
- C# Win32消息系列--WM
- 骨骼动画程序
- iOS [UIScreen mainScreen].bounds 获取屏幕大小不对的问题
- WebStrom 关联各个浏览器 设置