【后期】介绍一种既保留细节又降低噪声的方法

0
回复
517
查看
[复制链接]

微信扫一扫 分享朋友圈

发表于 2012-4-24 08:31:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册(中文注册)

x
作者:tom_xx_hu@yahoo

我在拙文《色温和白平衡的一些理论基础》后回应村长的问题中,曾经提出图像画质就是信噪比的观念 (http://bbs.chinaunix.net/forum.php?mod=redirect&goto=findpost&ptid=3618190&pid=21826819&fromuid=20584097)。在那里,我们提出了,一个图像信号测量值I包括了图像信息s和噪声n两部分:
I=s+n


今天我试图介绍一种降低噪声的方法。

首先要准确理解信号s与噪声n的区别。信号s,是那个场景的“真实反映”。这个措词是经过斟酌的,它不仅包括了真实,也包括“反映”,因此镜头畸变、色散、甚至sensor的缺陷这样系统性的误差,都在“真实反映”的信号s中。只有随机误差,才是噪声,才是造成画质下降的原因。

随机误差的随机性,表现误差的不相关特性:不同瞬间的采样中误差不相关,不同象点上的误差也不相关。噪声的随机性,是人们得以消除噪声的根本原因。

要奋斗,就会有牺牲;要降低噪声,也必须付出代价。从单一观测值中,你永远也无法辨别和剔除随机噪声。只有借助对同一观测对象的多个独立观测值,才能做到(在一定程度上)让各个观测中的噪声互相抵消。

可是,一幅图像(对每个象点而言)只是“单一”的观测,没法用来降噪。所以一般的图像处理软件的降噪算法,都是基于这样一种假定:像素分辨率足够高,相邻近像素的观测值相同或者相近,因此可以把邻近象点看作相互独立的重复观测。在这个思路上,发展出各种平抑噪声的算法,如滑动平均、低通滤波、中值平均...他们都有一个共同的先天不足:牺牲空间分辨率,以换取更“精确”的观测——更“精确”在这里是uncertainty更低的意思,而不一定是更准确的意思。因为显然,用一个像素值代表邻近7x7的区域像素,不可能准确。但是一个人民代表的赞成票,代表了他背后多数选民的平均意愿,是没有疑问的。

但是,我们是“玩艺术”的,玩的就是这点差异和区别,你把这7x7都平均了,得出一个“精确”的意见,但是把我们之间的差异(是真差异而不是随机噪声)都抹平了,那还有什么意思?在这个意义上,我是不同意瞌睡猪的“求同存异”的。争论中,就是要强调差异。
那么,有没有既能降低噪声,又不损失空间分辨能力的降噪方法呢?

有,但是没有免费午餐,你还得勤力一点,对每个象点作多次观测,这就是多图平均降噪方法。这个方法,广泛运用于天文观测摄影以及科学试验中,民用摄影用得不多。

我们先看一张图(本文所有图片均为作者原创)。


                               
登录/注册后可看大图
2012-04-13 01:02 上传
下载附件 (146.99 KB)




这个图摄于室内,光线比较黯淡,使用ISO 1600, 1/80秒快门,F8拍摄。可以见到,有明显噪声。



再看一张,是同一场景,同样设置,拍摄的8张图,经过平均去噪合成的图:


                               
登录/注册后可看大图

2012-04-13 01:08 上传
下载附件 (180.29 KB)




如果你的显示器足够好,可以看出噪声降低和画质的改善。你应该看不出细节丢失。


上面这图,已经是缩小很多(也即丢失很多空间分辨),所以画质改善可能不是每个显示器都能看到。如果出印纸质图片,画质差别就会明显得多。
这里不可能向大家呈现纸质图片,但我们可以看1:1的局部截图。

先看原图:

                               
登录/注册后可看大图
2012-04-13 01:13 上传
下载附件 (179.5 KB)




这是540x540的1:1截图,我中低档D80在1600 ISO弱光下的高感噪声清晰可见。

哪怕是用2张图平均降噪,立马就能看出差别:

                               
登录/注册后可看大图
2012-04-13 01:21 上传
下载附件 (160.62 KB)




下面我们列出使用2、4、8、16张多图平均降噪的效果


原图:未使用多图平均降噪。

                               
登录/注册后可看大图
2012-04-13 01:30 上传
下载附件 (179.5 KB)


多图平均降噪。使用图数:2

                               
登录/注册后可看大图
2012-04-13 01:26 上传
下载附件 (160.62 KB)


多图平均降噪。使用图数:4

                               
登录/注册后可看大图
2012-04-13 01:26 上传
下载附件 (146.16 KB)


多图平均降噪。使用图数:8

                               
登录/注册后可看大图
2012-04-13 01:26 上传
下载附件 (139.18 KB)


多图平均降噪。使用图数:16

                               
登录/注册后可看大图
2012-04-13 01:26 上传
下载附件 (139.57 KB)




从上面图系中看出,多图平均降噪声的最初几张图,效果明显,后来就的改进就没有那么明显,如使用16张图与8张图降噪,差别不大。

这是意料之中的。

按照统计学,样本平均的方差(噪声)与样本个体方差(噪声)成正比,与样本数目的平方根成反比,即 se(N)=se(1)/SQRT(N)。随着N的增大,噪声随N增大的变率趋近于零。如果单张图像的噪声为1的话,2图降噪效果为0.71,4图降噪效果为0.5,8图效果0.35,16图效果0.25.

因此,理论上固然样本越大,多图平均降噪的噪声越低,但实际使用中较少使用10张以上降噪。

nn图降噪合成JPEG图像文件大小(kb)(统一用最高保真)
1 (无降噪)180
2 161
3 152
4 147
5 143
6 141
7 140
8 140
9 139
10139
11140
12140
13140
14140
15140
16140


这个表告诉我们什么呢?
1. 噪声在图像文件中占据有效存储。因此,并不是图像文件越大,图像的画质就越高。
2. 如果你打算使用多图平均降噪,但不知道到底使用几张图比较好,那么可以从4-8张图中选择。
3. 本例中,八张以后的图,对降噪贡献甚微。


前面交代了思路、效果。具体做法就简单一笔带过。

如果你非常handson,又熟悉各种图形文件格式的解读,可以自己编程读入图像,再做简单平均,再生成图像。
讨巧的办法(我总是讨巧的),是用PS的图层,把多图读入到多个图层,给每层设相应的透明度,然后挤压各层到一层,再存为JPEG。
每层的透明度设置,有点技巧。从底下往上数,给图层编号,1层最下,N层最上。那么各层的透明度应该是(1/L)*100%,即1层100%,2层50%,3层33%,4层25%...以此类推,直至顶层。

至于适用,当然是适用弱光、高感、阴影噪声、静止景物。如果偶尔有一只飞鸟飞过(或其它移动物体进入)其中一幅图怎么办?可以用PS的MASK把它挖掉。





关注我们:巅峰户外与你快乐分享

官方微信

官方微博

全国服务热线:

400-000-000

地址:江西省南昌市

邮编:330000 Email:kinbb82@163.com

Powered by Discuz! X3.5© 2001-2013 Comsenz Inc.  江西巅峰户外运动俱乐部 版权所有   

江西巅峰户外运动俱乐部