Blog · 성능

SSIMULACRA2로 실제 절감 효과 측정하기

파일 크기는 이야기의 절반만 말해줍니다. 지각 품질 지표가 어떻게 손실 설정을 신뢰하게 해주는지, 그리고 눈으로 판단할 때보다 얼마나 더 밀어붙일 수 있게 해주는지 살펴봅니다.

score: 0 → 100

이미지를 더 작게 만드는 건 쉽습니다. 어려운 건 그것이 여전히 좋아 보이는지 아는 것입니다 — 대규모로, 라이브러리 전체에 걸쳐, 파일마다 눈을 찌푸리며 들여다보지 않고 말이죠. 바로 그 공백을 채워주는 것이 지각 품질 지표이며, 오늘날 정지 이미지에 쓸 수 있는 최고의 지표가 <b>SSIMULACRA2</b>입니다.

파일 크기만으로는 왜 거짓말이 되는가

90% 작아진 파일은 멋져 보이지만, 하늘이 블록처럼 뭉개지거나 텍스트가 번져 보이기 전까지의 얘기입니다. 크기는 비용을 측정할 뿐 결과를 측정하지 않습니다. 그래서 크기만 최적화하면 자신도 모르게 눈에 띄게 열화된 이미지 쪽으로 밀려가게 됩니다. <i>화질</i>을 측정하는 두 번째 수치가 필요합니다. 그래야 파일은 작으면서 <b>동시에</b> 여전히 괜찮아 보이는 최적 지점을 찾을 수 있습니다.

PSNR과 SSIM만으로는 부족하다

고전적인 지표들은 한계가 있습니다. <b>PSNR</b>은 그저 픽셀 오차를 측정할 뿐, 사람이 실제로 보는 것을 거의 반영하지 못합니다. <b>SSIM</b>은 한 걸음 나아갔지만 쉽게 속일 수 있고 고화질 구간에서는 포화됩니다. 둘 다 한쪽이 명백히 더 나빠 보이는데도 두 이미지를 “동일”하다고 평가할 수 있어서, 압축 설정을 고르는 지침으로는 불안정합니다.

SSIMULACRA2가 측정하는 것

SSIMULACRA2는 대규모 인간 화질 평가 데이터베이스에 맞춰 조정된 최신 지표입니다. 사람의 지각 방식대로 이미지를 모델링합니다. 여러 스케일에서, 눈의 반응 특성에 맞게 가중치를 둔 색 공간에서 말이죠. 그래서 이 지표의 점수는 사람들이 <i>실제로</i> 알아채는 것과 일치합니다. 두 이미지가 같아 보인다고 말하면, 대체로 실제로 그렇습니다.

점수 읽는 법

점수는 최대 100까지이며, 아래 구간은 신뢰할 만한 경험 법칙입니다. 대부분의 웹 사진에서는 <b>약 80~90</b>을 목표로 하면 의미 있는 용량 절감과 함께 시각적으로 무손실에 가까운 결과를 얻습니다. 70 아래로 내려가면 그라데이션, 피부 톤, 텍스트에서 티가 나기 시작합니다.

의미
90+
매우 높음 — 시각적으로 무손실
70
높음 — 차이를 알아채기 어려움
50
보통 — 자세히 보면 눈에 띔
30
낮음 — 명백히 열화됨

실전에서 활용하기

화질 수치를 짐작하는 대신, 머릿속에 <b>화질 하한선</b>을 정해두고 SSIMULACRA2 같은 지각 품질 지표로 특정 설정이 그 기준을 충족하는지 확인하세요. 대표적인 이미지 몇 장의 점수를 매겨 목표 구간에 들어오는 화질을 찾은 다음, 그 값을 배치 전체에 적용하세요. 그러면 라이브러리 전체가 일관되고 신뢰할 수 있는 화질에 도달합니다. “quality 90” 같은 안전한 값에 안주하기를 멈추고, 그동안 놓치고 있던 절감분을 실제로 확보하게 됩니다.

# 지각 목표를 충족하는 화질을 찾은 다음 배치로 적용
imageforge photo.jpg --convert avif --quality 88
imageforge ./batch/*.jpg --convert webp --quality 85 --json

압축 설정을 신뢰하세요.

신뢰할 수 있는 화질을 맞춘 다음, 더 가벼운 이미지를 배포하세요 — 100% Mac에서 처리됩니다.

계속 읽기