读研期间一直在做图像去噪领域的相关研究,在毕业之际,打算系统的整理一下,算是对自己这两年多工作的一个总结吧,也希望能对后来研究的同学有一点小小的帮助,那便是极好的了。
一、图像去噪背景
随着智能手机的快速发展,一个很重要的应用也越来越普及,那就是拍照。现在很多手机厂商都把手机拍照作为很大的卖点去推销,如何去评价一个手机拍照功能的好坏呢,照片的清晰度,和真实场景的还原度就是很重要的一个指标。因此如何让拍出来的照片又清晰又好看还是很值的我们去研究的。图像去噪主要分为两个方向,一个是对仿真噪声进行去噪,还一个就是真实图像去噪。
仿真噪声去噪,就是通过向干净的图像上添加各种人为的噪声,来模仿噪声图,然后再对这些噪声图片进行去噪,通过和原始干净的图像进行对比分析,便于量化和评价算法效果:评价一个降噪算法的效果,需要采用一定的评价标准(metric)。我们一般把评价标准分为客观(objective)和主观(subjective)的:
客观标准很好理解:给我一个数学计算方式,算出这个降噪过后的数据,到底有多好。这样做清晰明了,一般没有什么好争议的。常见的这样的metric有Peak Signal-to-Noise Ratio (PSNR),Mean Square Error(MSE),Structured Similarity(SSIM),等等。你经常可以在降噪论文里面看到这三个家伙的身影。他们这些metric的绝对数值的高低,直观地反应方法效果的好坏。
虽然我知道也有一些工作,试着propose一些不需要ground truth的objective quality metric,但最常用的这类经典metric无一例外地需要图片的无噪音真实值(ground truth)作为参考。如果你是使用仿真噪音,你自然是有ground truth的。但如果是真实噪音,你一般不知道ground truth是什么。
所以一般对于真实噪音的降噪实验,我们都只好算法一些subjective的metric:让人眼来辨认降噪出来的图效果是否好。这不同的人,可能对图的喜好也会不一样,这样就经常会产生评价的个体差异,产生争议。就算想要组织一大批人来做测试,成本会很高,不利于科研的高效性。所以在这篇博客中,我们先主要介绍仿真噪声的去噪方法,关于真实图像的去噪方法,我们下篇博客见,先给自己挖个坑吧。
二、常见的仿真噪声
相比于其他的仿真噪声,高斯噪声确实有他的合理性。在真实噪声的噪音源特别复杂的时候,高斯噪声可能算是最好的对真实噪声的模拟。
其实不光是深度学习的降噪算法,传统方法(好吧,自从有了深度学习以后,什么sparse coding,GMM,low-rank,collaborative filtering都变成传统方法了...)也大多喜欢用高斯白噪声来做仿真实验。那么大家不约而同地都玩儿高斯噪声可能有背后的原因。我觉得这个可能才是题主最关心的问题。
那这里的答案就是,采用高斯噪声,是为了更好地模拟未知的真实噪声:在真实环境中,噪声往往不是由单一源头造成的,而是很多不同来源的噪音复合体。假设,我们把真实噪音看成非常多不同概率分布的随机变量的加合,并且每一个随机变量都是独立的,那么根据Central Limit Theorem,他们的normalized sum就随着噪声源数量的上升,趋近于一个高斯分布。
基于这种假设来看,采用合成的高斯噪声,是在处理这种复杂,且不知道噪声分布为何的情况下,一个既简单又不差的近似仿真。当然也还有其他的一些仿真噪声,这就要看具体的拍照场景了,就比如在医学图像去噪的研究中,我们通常是向图像添加泊松噪声来模拟噪声图的。
三、高斯噪声
高斯噪声,就是噪声的指概率密度函数服从高斯分布(即正态分布)的一类噪声。如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。何为正态分布,请大家参考https://blog.csdn.net/hhaowang/article/details/83898881
高斯噪声中有两个很重要的指标,一个是方差,另一个是均值。
这里要强调的是,因为噪声服从高斯分布,所以方差越大,数据越分散,噪声也就越多。
均值决定着整个图像的明亮程度,均值大于0,表示图像加上一个使自己变亮的噪声,小 于0,表示图像加上一个使自己变暗的噪声。