在RAW域去噪声的原因

Raw 图像会经过isp各个block,每一步的信号处理操作都会造成噪声不同的变化。

1. Lens shading correction 对噪声的影响

因为lens shading correction 是在图像的上乘以一个gain,远离中心的地方gain 越大,因此会导致,gain大的位置,噪声也变得更大。
原始信号是这样的:

image
经过shading correction,如下图,图像边缘的噪声会被显著增强

image
由图像中心到边缘就会形成沿径向增强的噪声图像,也被称作radial noise。

2. demosaic对噪声的影响

由于demosaic 对原始信号进行了插值操作,会导致图像的噪声变为结构性噪声。

image
如图d所示,图像会出现一些特别的pattern noise

3. 非线性变换

Gamma :
Gamma可以近似理解为不同的亮度值乘以的gain不一样,亮度越小的地方乘以的gain越大,亮度越大的地方乘以的gain越小,因此gamma之后的噪声又发成了一个非线性变化,模型为:

image

4.线性变换

比如awb,digital gain 这些运算时线性变换,图像的噪声会线性变化。

5. CCM

无论是色彩管理还是RGB到SRGB色域空间的转换,一般情况下是一个3*3的矩阵,这一步又增强了噪声的相关性,而且还会增强视觉的彩色噪声的饱和度,使噪声的视觉效果变得更糟糕。

结论:

图像从sensor 输出, 经过isp后,图像的噪声性质变得更加复杂,难以处理,所以在isp的前端进行去噪处理是比较合适的选择。(去彩色噪声一般在isp的后端,因为这时候图像可以很容易分离出亮度通道和彩色通道。)

相关启发:

1,raw domain的噪声不是单纯的高斯噪声,而是和亮度有关系的。

2,在raw domain进行一定程度的降噪,对于图像质量会有很大的提高,比如上图中的结构性噪声。

3,在raw domain设计降噪算法会稍微容易一些。在不同的亮度进行不同强度的降噪,或者把噪声归一化,有利于保护细节。

4,noise profile并不是单纯用在denoise这一个模块上,还以用在时域降噪,demosaic等模块上。

5,实际使用时并不一定要在raw domain降噪,很多ISP也都是以YUV domain降噪为主体的。
RAW域噪声特性:

image.png

RAW域降噪

Sensor输出的RAW图像本身是携带了噪声的,前面提到过sensor噪声的种类主要包括热噪声、光散粒噪声、读出噪声、固定模式噪声等。当sensor温度较高、增益较大、环境较暗的情况下各种噪声会变得更加明显,成为影响图像质量的主要因素。在下图所示的例子中,左图光线较充足,图像清晰无噪点,而右图中光照不足,camera 需要提高增益才能使画面达到正常亮度,同时也放大了噪声,图像出现明显的噪点。

除了Sensor图像本身携带的噪声之外,图像每次会经过ISP模块的处理之后都会引入一些新的噪声,或者对原有噪声进行了放大。以LSC模块为例,LSC校正的实质是在输入图像上乘以一个与像素位置有关的增益系数以补偿光信号的衰减,而补偿的规律是越远离图像中心的地方增益越大。根据噪声传播的基本原理,当增益系数大于1时,图像中的噪声是与信号一起被同步被放大的。另外,由于ISP所用乘法器的精度是有限的,每做一次乘法就会重新引入一次截断误差,这是新增的噪声来源,所以经LSC处理后图像的整体噪声水平会有所增加,而且在图像的边缘处表现会更加明显,典型的效果如下图所示。

Shading固然是不好的,需要校正,但是为了校正shading而给图像引入噪声同样也不好的,所以人们需要权衡在多大程度上校正shading能够收到满意的效果。这是在主观图像质量调试阶段需要考虑的问题之一。

研究发现,噪声在ISP流水线各模块中会不断产生、传播、放大、改变统计特性,对图像质量的影响会越来越大,而且越来越不容易控制。因此处理噪声的基本原则是越早越好,随时产生随时处理,尽可能将问题消灭在萌芽状态。目前主流的ISP产品中一般会选择在RAW域、RGB域、YUV域等多个环节设置降噪模块以控制不同类型和特性的噪声。在YUV域降噪的方法已经得到了广泛的研究并且出现了很多非常有效的算法,但是在RAW域进行降噪则因为RAW数据本身的一些特点而受到不少限制。主要的限制是RAW图像中相邻的像素点分别隶属于不同的颜色通道,所以相邻像素之间的相关性较弱,不具备传统意义上的像素平滑性,所以很多基于灰度图像的降噪算法都不能直接使用。又因为RAW数据每个像素点只含有一个颜色通道的信息,所以很多针对彩色图像的降噪算法也不适用。

和很多图像处理算法一样,降噪即可以在空域(spatial domain)上实现,也可以在频域(frequency domain)上实现,比较有常用频域方法有傅里叶变换,离散余弦变换(DCT),小波变换,多尺度几何分析等。随着人工智能技术的发展,近些年来还涌现了一批基于深度学习技术实现的降噪算法。后面提到的这些方法虽然都有不错的性能,但是对算力要求都比较高,并不一定适合处理高分辨率的实时视频流,所以在ISP产品中应用的并不广泛,目前适合ISP应用的降噪算法还是以经典低通滤波器的改进版本更为常见。

目前在RAW域降噪基本都需要将RAW图像按照颜色分成四个通道(R,Gr,Gb,B),然后在各个通道上分别应用滤波器进行平滑,根据滤波器的特点和复杂度大致可以分成以下几类:

经典低通滤波器,如均值滤波、中值滤波、高斯滤波、维纳滤波等。这类方法的优点是比较简单,占用资源少,速度快,缺点是滤波器是各向同性的,容易破坏图像中的边缘。另外由于没有考虑颜色通道之间的相关性所以也容易引入伪彩等噪声,而人眼对这种颜色噪声是比较敏感的。
改进的经典滤波器,如Eplison滤波、双边滤波(bilateral filter),在经典滤波器的基础上增加了阈值检测用于区分同类像素和异类像素,同类像素分配较大的滤波权重,异类像素则权重很小因而基本不参与滤波。这类方法的优点是可以有效地保护图像边缘,复杂度增加也不大,其它特点与经典滤波器基本相同。

引导滤波器(guided filter),由何凯明博士早期提出的一种算法,引入了引导图像的概念。对于任一颜色通道的图像,以当前位置像素P(x,y)为中心,在一个固定大小的滤波窗口内为P(x,y)的所有邻近像素{P(i,j)}计算权重{W(i,j)},计算权重的方法是以某个引导图像I作为参考,在引导图像的对应滤波窗口内,凡是与像素I(x,y)性质“类似”的像素都得到较大的权重,与I(x,y)性质“相反”的像素则得到较小的权重。举例来说,如果当前像素P(x,y)是亮的,则滤波窗口{P(i,j)}中的全部亮像素会参与平滑,平滑结果仍是亮的,同理,如果与P(x,y)相邻的某个像素P(x‘,y’)是暗的,则对应的{P(i‘,j’)}中的全部暗像素会参与平滑,平滑结果仍是暗的,这样P(x,y)与P(x',y)'之间的明暗边界就得到了保持。这种方法的基本假设是图像各通道的颜色梯度分布与引导图像是一致的,如果假设不成立,则从引导图像计算出的权重反而容易破坏其它通道中的边缘。有人建议使用demosaic还原出的G通道图像作为引导图像会得到较理想的效果,因为G通道集中了图像的大部分能量,也包含了丰富的梯度信息,是比较理想的候选对象。
基于块匹配的滤波算法,利用图像的自相似特性,在以当前像素为中心的一个滤波窗口内找到与当前块最相似的几个块,当前像素的滤波值即等于几个相似块的中心像素的加权平均值。此类算法以非局部均值滤波(Non-Local Means)和BM3D(Block Matching 3D)算法为代表,它们的优点是平滑性能和边缘保持性能很好,缺点是计算量很大,资源消耗大,不太适合处理实时视频。已有情报显示,华为在某些型号手机芯片中实现了BM3D算法用于对照相图片做降噪处理,估计这主要是为了体现行业龙头企业占领技术高地的决心。

我的个人博客主页,欢迎访问

我的CSDN主页,欢迎访问

我的GitHub主页,欢迎访问

最后修改:2021 年 03 月 07 日 10 : 35 PM
如果觉得我的文章对你有用,请随意赞赏