이번 포스팅을 통해 Noise 의 정의, 종류, 원인에 대해 소개해 드리겠습니다. Noise의 종류로는 대표적으로 Total Noise, Fixed Pattern Noise, Temporal Noise 등이 있습니다. 더 자세한 내용은 아래 내용에서 이어집니다.
0. Noise란 무엇일까요?
일상생활에서 Noise는 잡음, 소음을 의미합니다. 주변의 소음이 너무 크면 대화나 음악을 들을 때 방해가 되기도 합니다. 그래서 우리는 소음을 줄이기 위해 ‘노이즈 캔슬링’ 이어폰을 사용하기도 합니다. 주변의 소음을 차단하기 때문에 내가 원하는 소리에 집중할 수 있도록 도와주는 제품입니다. 여기서 포인트는 ‘원하는 소리’ 입니다. 즉, ‘원하는 소리’ 외에, 원하지 않는 소리를 Noise라고 정의하는 것이죠.
머신비전 업계에서도 위 논리는 동일하게 적용됩니다. CMOS 센서를 통해 들어온 신호가 1장의 이미지로 생성되는데에는 많은 과정이 존재합니다. 이 과정들 속 다양한 부분에서, 그리고 다양한 Hardware 적인 원인으로 인해 Noise 가 발생하게 됩니다. 이 Noise의 정도가 심할수록 이미지 품질에 악영향을 끼칩니다.
이미지 센서의 Noise가 심하다면 아래 이미지 처럼 나오기도 합니다. TV에서 가끔 보던 장면이죠?

따라서 Noise가 적다면 이미지의 품질을 향상시키는데 큰 도움이 될 것입니다. Hardware에서 Noise를 개선하거나, 혹은 이미지의 후보정을 통해 Noise를 개선하여 이미지 품질을 좋게 만들 수 있습니다. 저희 뷰웍스 카메라의 강점 중 한 가지가 타사 제품 대비 Noise 가 낮아 이미지 품질이 좋다는 점이기도 하죠.
1. Total Noise
그렇다면 이미지의 Noise의 종류에는 어떤 것들이 있을까요? Noise의 원인에 따라 그 종류는 매우 다양하게 존재합니다. 신호가 전달되는 부품마다 Noise가 발생할 수 있기 때문이죠.
이미지 품질에서의 Noise는 크게 2가지로 구분합니다.
고정된 Noise의 형태를 띄는 Fixed Pattern Noise와, 시간에 따라 변하는 Temporal Noise로 구분합니다. 그리고 이 두 값을 더한 값을 Total Noise라고 부릅니다.
Total Noise = Fixed Pattern Noise(Spatial Noise) + Temporal Noise(Random Noise)
한글로 쉽게 풀어쓰면, ‘총 노이즈의 합 = 고정된 노이즈 값 + 랜덤한 노이즈 값’ 으로 표현할 수 있습니다.
이제 Fixed Pattern Noise와 Temporal Noise에 대해 자세하게 알아가 볼까요?
2. Fixed Pattern Noise
Fixed Pattern Noise(FPN)는 고정 패턴 노이즈로서 고정된 Noise 값을 갖는 특성이 있으며 Spatial Noise 라고도 불립니다. FPN의 원인은 모든 픽셀의 감도가 다르기 때문에 발생합니다. 동일한 밝기의 광원에서 빛을 받더라도, 모든 픽셀은 각기 다른 빛을 받으며, 다른 gray level 값을 갖게 됩니다. 이 level의 편차가 클수록 Image Quality에 악영향을 끼치기 때문에, 편차가 적을수록 좋습니다.
센서의 5×5영역을 기준으로 예를 들어보겠습니다. 광원이 없는 Dark 상태에서 센서 내 5×5영역은 아래와 같은 gray Level 값을 가진다고 가정하겠습니다. (예시를 위해 과장해서 표현하였습니다)

빛이 없는 상태임에도 불구하고 모든 픽셀이 0이상의 값을 가지며, 그 값의 편차 또한 매우 큽니다. 빛이 없다면 모든 픽셀의 이상적인 gray level 값은 0이어야 할텐데 말이죠.
만약 빛이 없는 Dark 상태라면 아래와 같이 모든 픽셀이 같은 값을 갖는 상황이 이상적이겠죠?

위와 같이 픽셀 간의 level의 편차를 줄이면 Image Quality의 향상으로 이어져 ‘깨끗한 이미지’가 될 수 있습니다.
FPN은 이미지의 후보정을 통해 조절할 수 있으며 픽셀간의 level 편차를 줄여 깨끗한 이미지가 나오게 할 수 있습니다. (실제로는 모든 픽셀이 같은 값을 갖도록 하는 것은 불가능합니다.)
빛이 없는 Dark 상태에서 FPN을 보정하는 것을 DSNU(Dark Signal Non-Uniformity)라고 합니다. 반대로 빛이 있는 상태에서 하는 보정을 PRNU (Photo Response Non-Uniformity)라고 합니다.
Total Noise 중에서 FPN이 Temporal Noise 대비 훨씬 큰 비중을 차지합니다. 따라서 Temporal Noise보다는 FPN을 줄이는 것이 더 중요하다고 볼 수 있습니다.
3. Temporal Noise
Temporal Noise는 고정값이 아닌 시간에 따라 Random한 Noise로, 측정 때마다 다른 Noise Level 값을 갖습니다. 정확히 표현하면 시간이 input이 되어 level이 변하기보다는, 측정하는 시간 마다 전자의 수가 Random 하게 달라지기 때문에 시간에 따라 변하는 것처럼 보입니다.
Temporal Noise는 세부적으로 아래 Noise 들의 합으로 표현됩니다.
Temporal Noise = Photon Noise(shot Noise) + Dark Noise + Other Minor Noise
여기서 Dark Noise = Read Noise(Readout Noise) + Dark Current Noise(Thermal Noise)이므로, 식을 다시 작성하면
Temporal Noise = Photon Noise(Shot Noise) + Read Noise(Readout Noise) + Dark Current Noise(Thermal Noise)
가 되겠네요. 아래는 Photon Noise, Read Noise, Dark Current Noise에 대한 설명입니다.
- Photon Noise: Shot Noise라고도 불리며, 빛에 의해 발생하는 Noise. 자세한 설명은 링크 참고 (Shot Noise의 이해)
- Read Noise: Readout Noise라고도 불리며, ADC에서 Pixel로 전자가 출력될 때 발생하는 Noise
- Dark Current Noise: Thermal Noise라고도 불리며, 센서 내부의 열에 의해 발생하는 Noise
- Other Minor Noise: 그 외 무시할 만큼 작은 수준의 기타 Noise
그렇다면 Temporal Noise 보정은 어떻게 적용할까요?
Temporal Noise는 고정값이 아니기 때문에 측정할 때마다 다른 Noise 값을 가집니다. 따라서, DSNU나 PRNU 같은 보정 대신 다른 보정법을 적용해야 합니다. Temporal Noise는 Frame Averaging이나, Averaging Binning을 통해 Temporal Noise를 낮출 수 있습니다. 2장 이상의 이미지를 사용하여 Temporal Noise를 감소시킵니다. 자세한 원리는 “Averaging은 왜 SNR 을 향상시킬까?” 포스팅에 나와 있습니다.
4. 요약
- Total Noise는 고정 노이즈 + 랜덤 노이즈의 합이고, 풀어서 쓰면 아래와 같습니다.
Total Noise = Spatial Noise(FPN) + Photon Noise(Shot Noise) + Read Noise + Dark current Noise
2. Fixed Pattern Noise는 DSNU, PRNU로 보정할 수 있습니다
3. Temporal Noise는 2장 이상의 이미지를 사용하여 보정할 수 있습니다.
Comments are closed.