Outline
- Sensor noise.
- Noise calibration.
- Optimal weights for HDR
Sensor Noise
Note: we will only consider per-pixel noise. We won’t consider cross-pixel effects such as blooming , smearing, cross-talk…
Where does the noise come from
Poisson distribution
- discrete
- single parameter λ \lambda λ
- function:
N ∼ P o i s s o n ( λ ) ⟺ P ( N = k ; λ ) = λ k e − λ k ! N \sim Poisson(\lambda) \iff P(N=k;\lambda)=\dfrac{\lambda^ke^{-\lambda}}{k!} N∼Poisson(λ)⟺P(N=k;λ)=k!λke−λ - mean: μ ( N ) = λ \mu(N) = \lambda μ(N)=λ
- variance: σ ( N ) 2 = λ \sigma(N)^2 = \lambda σ(N)2=λ
- N 1 ∼ P o i s s o n ( λ 1 ) , N 2 ∼ P o i s s o n ( λ 2 ) ⇒ N 1 + N 2 ∼ P o i s s o n ( λ 1 + λ 2 ) N_1 \sim Poisson(\lambda_1), N_2 \sim Poisson(\lambda_2) \Rightarrow N_1 + N_2 \sim Poisson(\lambda_1 + \lambda_2) N1∼Poisson(λ1),N2∼Poisson(λ2)⇒N1+N2∼Poisson(λ1+λ2)
Photon Noise
A consequence of the discrete (quantum) nature of light. (将光视为光粒子的概率分布)
- Photon detections are independent random events.
- Total number of detections is Poisson distributed.
- Also known as shot noise and Schott noise.、
Depends on scene flux and exposure
Dark Noise
- Electrons(dark current) are randomly released without any photons.
- Total number of detections is Poisson distributed.
- Increases exponentially with sensor temperature (+6°C ≈ doubling)
→
\rightarrow
→ cool the sensor to mitigate it
Depends on exposure but not on scene
Read and ADC Noise (Additive Noise)
A consequence of random voltage fluctuations before and after amplifier.
- Both are independent of scene and exposure.
- Both are normally (zero-mean Guassian) distributed.
- ADC noise includes quantization errors.
Summary
noises
Noise | Distrbution | Gain | Dependence |
---|---|---|---|
Photon Noise | ∼ Poisson [ t α Φ ] \sim\text{Poisson}[t\alpha\Phi] ∼Poisson[tαΦ] | ⋅ g \cdot g ⋅g | scene, exposure, ISO |
Dark Noise | ∼ Poisson [ t D ] \sim\text{Poisson}[tD] ∼Poisson[tD] | ⋅ g \cdot g ⋅g | temperature, exposure, ISO |
Read Noise | ∼ Normal ( 0 , σ read ) \sim\text{Normal}(0, \sigma_\text{read}) ∼Normal(0,σread) | ⋅ g \cdot g ⋅g | ISO |
ADC Noise | ∼ Normal ( 0 , σ ADC ) \sim\text{Normal}(0, \sigma_\text{ADC}) ∼Normal(0,σADC) |
Affine noise model
L = N photon + N dark ∼ Poisson ( t ( α Φ + D ) ) N add = g N read + N ADC ∼ Normal ( 0 , g 2 σ read 2 + σ ADC 2 ) ⟹ I = g L + N add E ( I ) = t ( a Φ + D ) g σ ( I ) 2 = t ( a Φ + D ) g 2 + σ read 2 g 2 + σ ADC 2 \begin{aligned} & L = N_\text{photon} + N_\text{dark} \sim \text{Poisson}(t(\alpha\Phi+D)) \\ & N_\text{add} = gN_\text{read} + N_\text{ADC} \sim \text{Normal}\left(0, \sqrt{g^2\sigma_\text{read}^2 + \sigma_\text{ADC}^2}\right) \\ \Longrightarrow & I = gL + N_\text{add} \\ & E(I) = t(a\Phi+D)g \\ & \sigma(I)^2 = t(a\Phi+D)g^2 + \sigma_{\text{read}}^2 g^2+ \sigma_{\text{ADC}}^2 \end{aligned} ⟹L=Nphoton+Ndark∼Poisson(t(αΦ+D))Nadd=gNread+NADC∼Normal(0,g2σread2+σADC2)I=gL+NaddE(I)=t(aΦ+D)gσ(I)2=t(aΦ+D)g2+σread2g2+σADC2
noise regimes
Regime | Dominant Noise | Notes |
---|---|---|
bright pixels | photon noise | scene-dependent |
dark pixels | read and ADC noise | scene-independent |
high ISO | photon and read noise | pre-gain |
low ISO | ADC noise | post-gain |
long exposures | dark noise | thermal-dependent |
Signal-to-noise ratio (SNR)
Variance is an absolute measure of the (squared) magnitude of noise:
σ
(
I
)
2
=
E
(
(
I
−
E
(
I
)
)
2
)
=
E
(
I
2
)
−
E
(
I
)
2
\sigma(I)^2 = E \left( \left( I-E(I) \right)^2 \right) = E(I^2) - E(I)^2
σ(I)2=E((I−E(I))2)=E(I2)−E(I)2
SNR is a relative measure of the (inverse squared) magnitude of noise:
SNR = E ( I ) 2 σ ( I ) 2 \text{SNR} = \frac{E(I)^2}{\sigma(I)^2} SNR=σ(I)2E(I)2
Noise calibration
Estimate the dark current D D D
capture multiple images with the sensor completely blocked and average to form the dark frame
Estimate the gain and additive noise variance
Optimal weights for HDR merging
to be continued
reference:
- CMU 15-463: lecture 07 noise
- CSDN blog: 计算摄影:噪声模型与噪声估计