본문 바로가기
Terminology

[평가 지표] PSNR / SSIM / LPIPS

by xoft 2022. 10. 8.

이 글에서는 이미지 합성 분야(NeRF, GAN, Superesolution 등)에서 많이 쓰이는 3가지 지표 PSNR, SSIM, LPIPS 에 대해 다루고자 합니다. 다른 연구와의 결과를 비교하기 위해서 평가지표를 봐야하고, 그 의미를 파악하는게 중요합니다. 3가지 지표에 대한 정의와 의미를 다루어보았습니다.

 

PSNR (Peak Signal-to-noise ratio)

PSNR은 영상 화질 손실양을 평가하기 위해 사용되는 지표입니다. 이미지 저장, 전송, 압축, 영상 처리 등에서 영상 화질이 바뀌었을 때 사용됩니다.

  • MSE는 작을수록 좋고, PSNR은 클수록 좋습니다.
  • MSE(Mean Square Error)는 가장 단순한 모델로써, 원본 이미지와 비교 이미지간의 각 Pixel 오차를 계산합니다. -> 오차가 작을수록 2개의 이미지가 유사합니다.
    (M,N은 width, height를 의미하고, I(m,n)은 m,n좌표의 color값을 의미합니다.)
  • PSNR에서는 MSE가 분모로 들어감으로써, MSE가 작아 질수록 PSNR값이 커집니다. -> PSNR이 클수록 손실양이 적고 퀄리티가 좋다는 것을 의미합니다.
  • MAX는 1개 픽셀당 갖고 있는 정보량(흑백 : 255, RGB : 255x3, RGBA : 255x4)을 나타냅니다. -> MSE를 픽셀 정보량으로 Scale을 변경(Normalization)한다고 생각 할 수 있습니다.
  • 픽셀간의 단순 오차를 나타내는 것이 MSE이고, MSE의 Scale을 변경(Normalization) 한 것이 PSNR라고 생각 할 수 있습니다.
  • 예시로 Point-NeRF(2022)의 결과 이미지를 갖고 왔습니다.

 

SSIM (Structural Similarity Index Measure)

논문 : Image Quality Assessment: From Error Visibility to Structural Similarity (2004)

PSNR과 같이 변형된 영상의 화질 손실양을 평가하기 위해 사용됩니다. 

  • SSIM값이 높을수록 좋은 수치입니다.
  • 두 이미지(x, y) 간의 상관계수를 Luminance(휘도), Contrast(대비), Structure(구조) 총 3가지 측면에서 평가합니다. (α=β=γ=1)
    휘도는 빛의 밝기, 대비는 밝기 차이, 구조는 상관관계를 나타냅니다.

  • 이미지 내 픽셀의 평균, 표준편차, 공분산(covariance)로 위 3개값을 계산 할 수 있습니다.

  • 위에 언급된 C의 경우, 아래와 같은 수식으로 계산이 되는데, K1=0.01, K2=0.03이고 L은 픽셀당 갖고 있는 정보량(흑백 : 255, RGB : 2553, RGBA : 2554)입니다. PSNR의 MAX값과 같은 역할을 합니다.

  • 추가적으로, MSSIM는 전체 이미지가 아닌, 이미지내 11x11크기의 패치인 윈도우를 1픽셀 씩 이동하면서, 윈도우내 픽셀의 평균, 표준편차로 계산하는 방식입니다. 이를 통해 이미지의 지역적 특성을 고려할 수 있습니다. (M는 Window Patch 갯수입니다.)

  • 아래에서 Distortion에 따라 MSSIM값이 변화됨을 볼 수 있습니다.

이제 SSIM의 의미를 생각 해보겠습니다.

  • 픽셀의 평균값은 빛의 밝기인 Luminance(휘도)를 나타냅니다.
  • 픽셀의 표준편차는 빛의 밝기 차이인 Contrast(대비)를 나타냅니다.
  • Structure(구조)는 생각하기가 조금 복잡한데, 2개 이미지의 같은 픽셀 위치에서 평균과의 편차의 곱으로 계산되고 있습니다.
    위치 정보와 편차를 사용해서 각 픽셀간의 상관 관계를 나타냅니다. 때문에 음수가 나올 수도 있습니다.
  • 원본 이미지를 X, 변형된 이미지를 Y로 뒀을 때, X와 Y의 RGB 평균값의 차이가 커지면 Luminance(휘도)가 떨어지게 됩니다.
  • X와 Y의 표준편차의 차이가 커지면 Contrast(대비)가 떨어지게 됩니다.
  • X와 Y의 각 픽셀 위치에서 평균과의 편차가 반대 방향이면 Structure(구조)가 떨어지게 됩니다.

해당 평가지표를 사용했을 경우 문제점은

  • 이미지 특정영역이 평균 RGB값으로 채워진다면, 전체 평균, 표준편차값을 사용하기 때문에, SSIM가 높을 수 있습니다.
  • 블러처리가 되면, 값의 분포는 비슷하기 때문에, SSIM이 높을 수 있습니다. 선명도를 평가 할 수 없습니다.

 

LPIPS (Learned Perceptual Image Patch Similarity)

논문 : The Unreasonable Effectiveness of Deep Features as a Perceptual Metric(2018)

LPIPS는 Classification Task를 Supervised, Self-supervised, Unsupervised 딥러닝 모델로 학습하고, 비교할 이미지 2개를 각각 학습된 Network를 사용해 deep feature(Activation 결과값)를 추출하고, 이를 비교하여 유사도를 평가합니다. 기존 방법론 보다 좀더 perceptual하게 이미지들의 유사도를 평가할 수 있다고 합니다. LPIPS에 대해서는 별도의 글로 심도있게 소개 드리겠습니다.

LPIPS 세부 설명 : [평가지표] LPIPS

 

출처

PSNR이미지 : PSNR논문

SSIM : SSIM논문

LPIPS : LPIPS논문

댓글