SNR은 평소에 들어봤는데 CNR은 생소해서 찾아보게 되었다.
SNR(Signal-to-Noise Ratio)과 CNR(Contrast-to-Noise Ratio)은 모두 이미지 품질을 나타내는 데 사용될 수 있다.
노이즈 대비 신호가 얼마나 강한지 나타내는 것이 SNR이고, 노이즈 대비 신호와 배경의 차를 나타낸 것이 CNR이다. SNR과 CNR은 아래와 같은 식으로 계산할 수 있다.
SNR(Signal-to-Noise Ratio, 신호 대 잡음비)
SNR = 신호값의 평균 / 신호값의 표준편차
특정 픽셀 또는 ROI 내에서 신호값 평균과 표준편차를 이용하여 구할 수 있다.
출처 : https://en.wikipedia.org/wiki/Signal-to-noise_ratio_(imaging)
CNR(Contrast-to-Noise Ratio, 대조도 대 잡음비)
CNR = |신호값A - 신호값B| / 이미지 잡음 표준편차
여기서 신호값A와 신호값B는 이미지 내에서 구분하고자 하는 두 영역의 신호로 볼 수 있다.
출처 : https://en.wikipedia.org/wiki/Contrast-to-noise_ratio
아래 논문에 CNR에 대해 이해하기 쉬운 예가 있어서 가져왔다.
https://onlinelibrary.wiley.com/doi/epdf/10.1002/sca.21179
예를 들어, 어떤 이미지 내에서 1번 신호와 2번 신호의 pixel value가 아래 그래프와 같이 나타난다고 치자.
그렇다면 이 이미지의 CNR은 두 신호의 평균의 차와 표준편차를 이용해 구할 수 있을 것이다.


만약 각 신호의 peak의 위치는 그대로면서 표준편차가 줄어든다면, CNR은 증가한다.

그렇다면 SNR이 있는데, 왜 CNR이 필요할까?
이미지의 밝기가 전체적으로 높을 때 SNR 값은 클 수 있다. 하지만 이미지 내에서 우리가 관심있는 물체가 다른 물체나 배경과 구분이 잘 되지 않는다면 그 이미지의 CNR은 낮은 것이다. 예를 들어, 안개 낀 날의 사진을 찍으면 이미지의 밝기는 높을지 몰라도 안개로 인해 사물이 보이지 않는다. 이러한 경우 SNR은 높고 CNR은 낮다고 말할 수 있다.
따라서 CNR은 이미지 품질의 중요한 지표다.