2009_ICCV_Fast Visibility Restoration from a Single Color or Gray Level Image

Abstract

原文内容:“theambiguity between the presence of fog and the objects with low color saturationis solved by assuming only small objects can have colors with low saturation.”

重点内容分析:

通过假设“仅仅小的物体才会是白色的”,则可以分辨雾和白色物体。

低饱和度就是白色的意思。

Color saturation: Thedegree to which a color is mixed with white; high saturation means littlewhite, low saturation means much white.

 

Step 1: White Balance

首先,我们要明白什么是白平衡,白平衡就是在图像处理过程中,对原本材质为白色的物体的图像进行色彩还原,通过去除外部光源色温的影响,使其在最终照片上的图像也呈现为原来一致的白色。

其次,我们要明白本文中白平衡的目的是什么,本文中对输入图像进行白平衡操作的目的是还原雾本来的颜色,对于在特定光源下拍摄时出现的偏色现象,通过加强对应的补色来进行补偿。进行白平衡后,雾的颜色就是纯白色,如果输入图像的像素值范围为[0, 1],那么进行白平衡后,大气光A的值就为(1, 1, 1)。

全局白平衡:

S1:

求原始图像I的RGB三通道的最小值赋值给W;

S2:

求W中灰度值后99%大的最大值,并赋值给ival;

S3:

找出W中比ival还大的像素的位置[rind, cind];

S4:

把原始图像中位置为[rind, cind]的像素赋值给sel;

S5:

把sel的各个通道的平均值赋值给white,white为3*1的灰度值;

S6:

把white除以white的最大值作为白平衡系数f,f为3*1的灰度值;

S7:

让原始图像的每个像素除以对应的通道的白平衡系数f,这样就得到白平衡后的图像。

 

局部白平衡:

S1:

对原始图像orig进行局部均值滤波,并赋值给fo;

S2:

求fo每个像素点的RGB三通道的平均值,并赋值给nbfo,nbfo为一个3*1灰度值;

S3:

把fo除以nbfo,然后把得到的结果的balance次方赋值给fo;

S4:

求fo每个像素点的RGB三通道的平均值,并赋值给nbfo,把fo除以nbfo,赋值给fo;

S5:

让原始图像orig除以fo,并把得到的结果赋值给orig。

 

通过白平衡操作后,我们可以得到:

把orig的三通道的最小值赋值给W;

把orig三通道的平均值赋值给nbo。

他们都是单通道灰度值图像。

 

Step 2: Atmospheric Veil Inference

首先,要明白求Atmospheric Veil的两个约束条件:

1 V>=0;

2 V<=W; 其中W为原始图像I的三个通道的最小值。

这两个约束条件很容易可以根据论文中的公式来得出。但是,在这里要注意V是一个单通道的图像。V是一个只跟景深有关的图像。

由于在近似的景深部分,V的值是近似相等的,所以,对粗略得到的W应该进行平滑处理,但是在景深变化较大的情况下,V的值是会剧烈变化的,所以在平滑的同时要尽量保留边缘。高斯滤波之类的一般滤波器在平滑图像的时候,边缘也会被平滑,而双边滤波器则可以在平滑去噪的同时保持边缘。而中值滤波和双边滤波一样可以做到平滑去噪的同时保持边缘。作者就用了中值滤波对W进行滤波:

(1) A(x, y) = median(W(x, y));

滤波后的图像会存在一些纹理信息,而这些纹理是不属于雾的,所以要过滤掉这些纹理信息:

(2) B(x, y) = A(x, y) – median(abs(W(x, y)-A(x,y)));

最后,要保证细化后的V的范围大于等于0,小于等于W:

(3) V = max(min(p*B(x, y), W(x, y)), 0);

Step 3: Image Visibility Restoration

S1:

factor为1/(1-V)

S2:

把原始图像(orig-V)*factor赋值给R;

S3:

当为全局白平衡时,R*white赋值给R;

当为局部白平衡时,R*fo赋值给R;

S4:

把R的三通道的平均值赋值给nbr。

Step 4: Smoothing Adapted to Contrast Magnification

局部中值滤波

每个像素所进行的局部中值滤波的窗口大小是不一样的,其大小为step3中factor的大小取整,并保证其大小范围为[1, smax],smax为自己指定的最大滤波窗口。

Step 5: Dedicated Tone Mapping



aI和dI分别为原始图像I取log后的均值和标准差;dI和dR分别为复原后的图R取log后的均值和标准差。



其中,G(x,y)是U(x,y)的灰度图,MG是G的最大值。

T就为最后得到的去雾效果图。

 

本文缺点:

中值滤波不能很好的去除强边缘附近的雾,而双边滤波可以。2012年ICPR有篇Tarel算法的用双边滤波代替中值滤波的改进版本。

 

参考:

1.    http://www.answers.com/topic/color-saturation

2.    http://chuansongme.com/n/126105

3.    http://blog.csdn.net/muzhiai/article/details/9452225

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值