图像传感器在做信号采集的时候往往会引入噪声,在采集到的raw图像中能够拿到没有经过任何处理的传感器信号,因此对于传感器噪声进行分析与建模有助于我们认识传感器噪声,从而帮助我们设计raw图像的降噪算法。本文从传感器模型层面分析单像素点的噪声模型,不考虑通道之间的串扰问题。
相机中图像采集和处理的基本流程如下图所示:
从上图可知,光信号经过镜头之后通过传感器转换成电信号记录下来,记录下来的电信号即为原始的raw图像,将raw图像送给图像信号处理器(image signal processor, ISP)进行一系列的处理之后便得到我们日常看到的各种格式的RGB图像,那么在信号采集的过程中,图像噪声从何而来呢?
上图中的绿色方框内的部分构成整个传感器系统,其结构包括感光元件、模拟放大器以及模数转换器,其构成的逻辑结构如下图所示:
对于单个像素点而言,在其积累电荷的部分,其电子来自于两个方面,其一是光子打在感光部分,发生光电效应,产生电子,产生的电荷数量与时间和光强度成正比,另外一个方面是则是电路的热效应激发电子迁移,从数学模型上来看两种积累电荷的过程都可以看作对电子的计数过程(counting process),而计数过程可以用泊松过程(poisson process)来进行建模;在单次拍照过程中,电荷完成积累之后,放大器从电容器读出电压,进行模拟放大,在读取电压的过程中由于电压的波动和读出电路,这个过程引入了读取噪声,该噪声服从高斯分布;模拟的电压信号通过模数转换器(analog digital converter,ADC)转换成数字信号,于是便得到了我们通常看到的raw图像,ADC转换的过程引入模数转换噪声,这个噪声服从高斯分布;纵观图像信号处理器数据采集的过程可以知道,在数学模型上来将,raw图像的噪声包含泊松噪声和高斯噪声两类。上述噪声形成过程直观表示如下图所示:
这里我们将上述建模过程用数学公式描述出来:
1) 光电转换噪声:假设光照强度为 Φ\PhiΦ,单位时间转化效率为α\alphaα,经过t时间的光电转换之后,传感器由光电转换得到的电信号为:
Nphoton=Poisson(t⋅α⋅Φ) N_{photon} = Poisson(t\cdot\alpha\cdot\Phi) Nphoton=Poisson(t⋅α⋅Φ)
2)暗电流噪声(热噪声):该噪声由于传感器散热等原因激发电子,积累到电容,它与温度和时间有关系:
Ndark=Poisson(t⋅D) N_{dark} = Poisson(t\cdot D) Ndark=Poisson(t⋅D)
3)读取噪声:在模拟放大器读取电压之前或者读取电压之后,电压都存在一个随机的震动,这个过程我们采用一个加性高斯噪声来建模:
Nread=Normal(0,σread2) N_{read} = Normal(0, \sigma_{read}^2) Nread=Normal(0,σread2)
4)量化噪声:在ADC做模数转化的过程中引入量化噪声
NADC=Normal(0,σADC2) N_{ADC} = Normal(0, \sigma_{ADC}^2) NADC=Normal(0,σADC2)
综合上述过程,传感器最终采集数据引入噪声的过程如下图所示:
结合上面的建模过程,我们逐步推导最终观察到的raw图像的噪声模型:
感光元件积累到的电荷形成的电压为L:
L=Poisson(t⋅α⋅Φ)+Poisson(t⋅D)=Poisson(t(α⋅Φ+D)) \begin{aligned} L&=Poisson(t\cdot \alpha \cdot \Phi) + Poisson(t \cdot D) \\ &= Poisson(t(\alpha\cdot\Phi + D)) \end{aligned} L=Poisson(t⋅