Zettelkasten

SSIM(Structural Similarity index Measure)는 두 이미지가 얼마나 구조적으로 같은지 평가한다.

·수정 2026.04.23·수정 3

요약

  • SSIM은 두사진의 밝기, 대비, 구조를 바탕으로 비슷함 점수를 0 ~ 1을 줌

본문

  • 두 이미지 x, y가 있을 때 같은 위치의 작은 윈도우들을 비교해서 밝기, 대비, 구조를 합쳐서 0 ~ 1로 만듦
    • 밝기(평균)
    • 대비(분산)
    • 구조(공분산/패턴)

SSIM (핵심 수식)

이미지의 같은 지역(윈도우) 에서 평균/분산/공분산을 구해서:

  • μx,μy:평균(밝기)\mu_x, \mu_y: 평균(밝기)
  • σx2,σy2:분산(대비)\sigma_x^2, \sigma_y^2: 분산(대비)
  • σxy:공분산(구조)\sigma_{xy}: 공분산(구조)

그리고 SSIM은 다음과 같다.

SSIM(x,y)=(2μxμy+C1)(2σxy+C2)(μx2+μy2+C1)(σx2+σy2+C2)\mathrm{SSIM}(x, y)= \frac{(2\mu_x\mu_y + C_1)(2\sigma_{xy}+C_2)} {(\mu_x^2+\mu_y^2+C_1)(\sigma_x^2+\sigma_y^2+C_2)}
  • (C_1, C_2) 는 0으로 나누는 걸 막는 작은 상수
    (보통 (L) = 픽셀 최대값(예: 255) 기반으로 설정)

실제로는 이 값을 이미지 전체에 대해 슬라이딩 윈도우로 계산한 뒤, 그 결과를 평균낸 값이 최종 SSIM이다.

  • 사용하면 좋은 곳
    • 같은 프레임에서 밝기, 압축만 좀 다른 경우
    • 리사이즈 정도만 한 경우
  • 나쁜 곳: 정렬이 조금만 틀어져도 다른 사진으로 인식함
    • 크롭
    • 회전/기울어짐
    • 카메라 이동으로 프레이밍 달라짐
  • pHash나 임베딩으로 비슷하다고 걸린 후보쌍에 대해서만 확정 판정

참고