뷰웍스 머신비전 블로그 뷰웍스 머신비전 블로그 뷰웍스 머신비전 블로그 뷰웍스 머신비전 블로그
  • 비전백과
    • 카메라 및 센서
    • 광학
    • 애플리케이션
    • 머신비전 표준 및 인터페이스
    • 기타
  • 제품
    • 제품 소개
    • 제품 사용 FAQ
  • 소식
  • 소개
  • 문의
뷰웍스 머신비전 블로그 뷰웍스 머신비전 블로그
  • 비전백과
    • 카메라 및 센서
    • 광학
    • 애플리케이션
    • 머신비전 표준 및 인터페이스
    • 기타
  • 제품
    • 제품 소개
    • 제품 사용 FAQ
  • 소식
  • 소개
  • 문의
Dec 04

왜 모든 픽셀은 균일한 값을 갖지 않을까 – Shot Noise의 이해

  • December 4, 2019
  • Dave
  • 카메라 및 센서
  • Shot Noise, Vieworks

이번 글에서는 지난 시간에 학습한 Conversion gain을 사용해서 이미지의 Shot noise 양을 계산하는 방법을 알아보겠습니다. 혹시 Conversion gain이 무엇인지 기억나지 않는다면 PTC(Photon Transfer Curve)와 Conversion Gain 글을 한 번 더 읽어 주세요.

그동안 많은 분이 아래와 같은 문의를 해 주셨습니다.

“이미지를 촬영하는 데 모든 픽셀이 균일하지 않고 차이가 있습니다. 카메라 문제인가요?”

“좁쌀 같은 모양의 이미지가 촬영됩니다. 원래 이런가요?”

물론 카메라 문제는 아닙니다. 동일 조건에서 모든 픽셀의 값이 동일하지 않는 이유 중 하나는 Shot noise 때문입니다.

Shot noise란?

Shot noise는 무엇일까요? 센서의 일정한 영역에서 입사된 광자(Photon)의 양은 시간에 따라 일정하지 않고 랜덤합니다. 이 랜덤한 특성 때문에 이미지상에서 잡음(Noise) 형태로 나타나게 됩니다.

Photon Rain. 일정 시간 동안 픽셀에 입사되는 Photon의 개수는 랜덤하다
[ Photon Rain ]
일정 시간 동안 픽셀에 입사되는 Photon의 개수는 랜덤하다

이러한 Noise를 “shot noise”라고 하며, 빛의 흐름을 구성하는 불연속적인 광자 에너지가 산탄총에서 발사된 작은 총알의 형태와 같다는 의미에서 붙여진 말입니다.

Shot noise와 이미지 레벨의 관계

이런 변동(오르고 내림의 정도)은 통계 법칙인 Poisson statistics로 해석할 수 있으며, 변동 폭을 나타내는 표준편차 값인 shot noise는 입사된 광자의 평균값의 제곱근과 같은 값을 가집니다. 즉, 평균 100개의 광자에서 shot noise는 root(100)=10 이 됩니다. 따라서 광자의 수는 분포(표준정규분포)를 따라 90~110 사이의 값을 갖습니다(엄밀히 말하면 1 σ 입니다. 확률의 의미이며 절대적인 값은 아닙니다).

shot noise로 인해 전체 이미지 레벨은 표준정규분포를 따른다.
[ 균일한 레벨을 가진 타겟을 촬영했을 경우 이미지의 레벨 분포도 ]
shot noise로 인해 전체 이미지 레벨은 표준정규분포를 따른다
68-95-99.7 규칙.  평균에서 양쪽으로 3표준편차의 범위에 거의 모든 값들(99.7%)이 들어간다는 것을 나타낸다. 출처 wikipedia
[ 68-95-99.7 규칙] 
평균에서 양쪽으로 3표준편차의 범위에 거의 모든 값들(99.7%)이 들어간다는 것을 나타낸다. 출처 Wikipedia

결론적으로, 신호가 커질수록 shot noise도 증가하지만, 그 증가 폭은 입사되는 신호에 비해 점점 작아지게 됩니다. 10,000 : 100과 100 : 10의 비율로 이해할 수 있습니다. 즉 입사되는 빛이 밝을수록 shot noise의 비율은 신호에 비해 적어지게 되고 이미지의 Quality는 증가합니다.​ 신호대 잡음비 즉 SNR을 계산하면 신호가 커질수록 Shot noise의 비율은 줄어들게 되므로 SNR은 계속 증가합니다.

이미지에서 Shot noise 계산하는 방법

Shot noise를 이해했다면 이제 내가 촬영한 이미지에서 얼마 정도의 Shot noise가 포함되는지 알아보겠습니다.

Photon Transfer Curve
[ Photon Transfer Curve ]

위 이미지는 전 시간에 설명해 드린 PTC입니다. 이 그래프의 기울기 즉 Conversion gain은 0.17 DN/e- 입니다. 다들 이 의미에 대해서는 이해하고 계시죠? Saturation point의 Grey level은 약 3,897입니다. Conversion gain을 사용하면 이때의 Electron 개수는 약 23,116 electron입니다.

Saturation capacity. 이미지가 포화되는 시점의 전자 개수(e-) 및 그때의 이미지 레벨(DN)
[ Saturation capacity. 이미지가 포화되는 시점의 전자 개수(e-) 및 그때의 이미지 레벨(DN) ]

자 이제 아래와 같은 이미지가 있다고 합시다. 이 이미지는 Gain x4(원래의 이미지 레벨을 4배 함)에서 촬영이 되었습니다. 이미지를 통해서 알 수 있는 정보는 아래와 같습니다.

  • Average : 2321
  • Std Dev : 25.883(μ-σ < μ < μ+σ)
shot noise 계산을 위한 예제 이미지

이 정보를 가지고 이 이미지의 Shot noise를 계산해 봅시다.

이미지 레벨 3,897일 때 Electron이 23,116개이므로 2321 때 해당 Electron은 약 13767이며 Gain이 4배 적용되어 있음으로 실제 Electron은 약 3441로 계산됩니다. 입사된 Electron의 개수가 3441일 때의 Shot noise는 3441의 root 약 58e입니다. Conversion gain 0.17 DN/e-을 고려하면 약 9.97DN으로 표시가 되며 Gain이 4배 적용되어 있음으로 약 40 DN(±20DN)을 shot noise로 이해 할 수 있습니다. 나머지 값은 센서에서 발생 된 Fixed pattern noise입니다.

Shot noise를 줄이는 방법

이제 Shot noise 감소 방법을 생각해 볼 시간입니다.

첫 문장에서 언급했듯이 Shot noise는 입사되는 Photon의 불규칙성에서 발생하기 때문에 근본적으로 방지할 방법은 없습니다. 다만 Median filter와 같은 Software Filtering 방법으로 Shot noise를 개선할 수는 있지만 가장 좋은 방법은 입사되는 Signal 양을 키우는 것입니다.

신호의 양을 키우는 대표적인 방법은 다음과 같습니다.

  • 노출 시간을 증가시킨다
  • 광량을 증가시킨다
  • 이미지 여러 장의 평균을 구한다 (Frame Averaging)
shot noise simulation. 출처 wikipedia
[ Shot noise simulation. 출처 Wikipedia ]
  • Facebook
  • LinkedIn
  • E-Mail

About The Author

Application Engineer

Related Posts

  • Noise Series – Total Noise(FPN, Temporal Noise)April 6, 2021

Comments are closed.

비전백과

  • 카메라 및 센서
  • 광학
  • 머신비전 표준 및 인터페이스
  • 애플리케이션

비전백과 인기 게시물

  • Sensor MTF 비전백과, 카메라 및 센서
  • CoaXPress 표준 2.0 을 소개합니다. 머신비전 표준 및 인터페이스
  • Global shutter VS Rolling Shutter 비교 비전백과, 카메라 및 센서
© 2019 Vieworks Co., Ltd. All Rights Reserved