Robocikowo>ROBOCIKOWO
Ocena jakości

SSIM

2004AktywnyOpublikowano: 2 września 2026Aktualizacja: 2 września 2026Opublikowany
Pełnoodniesieniowa metryka jakości obrazu porównująca luminancję, kontrast i strukturę dwóch obrazów w lokalnych oknach; wynik w zakresie [-1, 1], gdzie 1 oznacza obrazy identyczne.
Kluczowa innowacja
Zastąpiła pomiar błędu piksel-po-pikselu (MSE/PSNR) oceną degradacji informacji strukturalnej, która znacznie lepiej koreluje z percepcją ludzkiego układu wzrokowego.
Kategoria
Ocena jakości
Poziom abstrakcji
Primitive
Poziom operacji
Ewaluacja (runtime)Trening
Zastosowania
Ocena jakości kompresji obrazu i wideoEwaluacja super-rozdzielczości i odszumianiaOcena jakości modeli generatywnych obrazu i wideoFunkcja straty w treningu sieci do rekonstrukcji obrazuBenchmarking kodeków

Jak działa

Dla dwóch sygnałów obrazu x i y w lokalnym oknie SSIM łączy trzy porównania: luminancji l(x,y) opartej na średnich μx, μy; kontrastu c(x,y) opartego na odchyleniach standardowych σx, σy; oraz struktury s(x,y) opartej na kowariancji σxy. W formie zwartej: SSIM(x,y) = (2μxμy + C1)(2σxy + C2) / ((μx² + μy² + C1)(σx² + σy² + C2)), gdzie stałe stabilizujące C1 = (K1·L)² oraz C2 = (K2·L)² zależą od zakresu dynamiki L (255 dla obrazu 8-bitowego) i małych stałych K1 = 0,01 oraz K2 = 0,03. Okno przesuwa się po całym obrazie, a końcowy wynik to średnia lokalnych wartości SSIM (MSSIM).

Rozwiązany problem

Tradycyjne metryki oparte na błędzie (MSE, PSNR) słabo korelują z postrzeganą przez człowieka jakością obrazu — dwa obrazy o identycznym MSE mogą mieć drastycznie różną jakość wizualną. SSIM rozwiązuje ten problem, mierząc podobieństwo strukturalne zamiast bezwzględnej różnicy intensywności pikseli.

Komponenty

Porównanie luminancjiPorównuje jasność obrazów na podstawie średnich intensywności μx, μy.

Składowa mierząca zgodność jasności; l(x,y) = (2μxμy + C1) / (μx² + μy² + C1).

Porównanie kontrastuPorównuje kontrast na podstawie odchyleń standardowych σx, σy.

Składowa mierząca zgodność kontrastu; c(x,y) = (2σxσy + C2) / (σx² + σy² + C2).

Porównanie strukturyPorównuje strukturę na podstawie kowariancji σxy (korelacja po normalizacji).

Składowa mierząca korelację strukturalną; s(x,y) = (σxy + C3) / (σxσy + C3), gdzie zwykle C3 = C2/2.

Przesuwane okno GaussaLokalizuje obliczenia statystyk; standardowo okno 11×11 z wagą Gaussa (sigma 1,5).

Okno przesuwane piksel po pikselu, w którym liczone są μ, σ i σxy; agregacja lokalnych SSIM daje MSSIM.

Implementacja

Pułapki implementacyjne
Nieprawidłowy zakres dynamiki (data_range)Wysoka

Podanie złego L (np. 255 dla danych znormalizowanych do [0,1]) prowadzi do błędnych stałych C1/C2 i niepoprawnych wyników.

Rozwiązanie:Zawsze ustawiaj data_range zgodnie z faktycznym zakresem pikseli.
Pominięcie okna Gaussa / obliczenia globalneŚrednia

Liczenie SSIM globalnie zamiast w przesuwanym oknie zmienia wynik i odbiega od definicji z pracy.

Rozwiązanie:Używaj lokalnego okna (Gaussa 11×11) i uśredniaj lokalne wartości (MSSIM).
Niespójna obsługa kanałów kolorówŚrednia

Uśrednianie SSIM po kanałach RGB bez konwersji do luminancji daje wyniki nieporównywalne między implementacjami.

Rozwiązanie:Ustal i dokumentuj sposób obsługi koloru (luminancja vs per-kanał).
Traktowanie wysokiego SSIM jako gwarancji jakościŚrednia

SSIM nie wychwytuje wszystkich typów zniekształceń (np. przesunięć geometrycznych); wysoki wynik nie zawsze oznacza dobrą jakość percepcyjną.

Rozwiązanie:Łącz SSIM z innymi metrykami (MS-SSIM, LPIPS) i oceną wizualną.

Ewolucja

Oryginalny paper · 2004 · IEEE Transactions on Image Processing, vol. 13, no. 4, s. 600–612 · Zhou Wang
Image Quality Assessment: From Error Visibility to Structural Similarity
Zhou Wang, Alan C. Bovik, Hamid R. Sheikh, Eero P. Simoncelli
2003
MS-SSIM (multiscale SSIM)
Punkt przełomowy

Wang, Simoncelli i Bovik wprowadzają wieloskalową wersję SSIM na konferencji Asilomar.

2004
Definicja SSIM (IEEE TIP)
Punkt przełomowy

Publikacja definiująca SSIM w IEEE Transactions on Image Processing.

2011
IW-SSIM (Information Content Weighted SSIM)

Wang i Li proponują ważenie SSIM zawartością informacyjną, poprawiając korelację z oceną ludzką.

2017
SSIM/MS-SSIM jako różniczkowalna funkcja straty

Zhao i in. pokazują użycie (MS-)SSIM jako funkcji straty w treningu sieci do rekonstrukcji obrazu.

Hiperparametry (konfigurowalne osie)

Zakres dynamiki (L)Krytyczna

Zakres wartości pikseli; wpływa na stałe C1, C2. Musi odpowiadać danym (np. 255 dla 8-bit, 1.0 dla znormalizowanych).

255obraz 8-bitowy
1.0obraz znormalizowany do [0,1]
Rozmiar oknaWysoka

Rozmiar lokalnego okna; standardowo 11×11.

11×11wartość domyślna z oryginalnej pracy
7×7często w scikit-image (win_size)
Sigma okna GaussaŚrednia

Odchylenie standardowe wagi Gaussa okna.

1.5wartość domyślna
Stałe stabilizujące K1, K2Średnia

Małe stałe zapobiegające dzieleniu przez zero; C1=(K1·L)², C2=(K2·L)².

K1=0.01, K2=0.03wartości domyślne z oryginalnej pracy
Wykładniki α, β, γNiska

Wagi składowych luminancji, kontrastu i struktury; domyślnie α=β=γ=1.

1, 1, 1forma domyślna

Złożoność obliczeniowa

Złożoność czasowa: O(N). Złożoność przestrzenna: O(N).

Paradygmat wykonania

Tryb główny
Gęsty

Obliczenia wykonywane gęsto na wszystkich pikselach; brak routingu warunkowego.

Wzorzec aktywacji
Wszystkie ścieżki aktywne

Równoległość

Poziom równoległości
W pełni równoległy

Statystyki i wynik SSIM w każdym oknie są niezależne, co pozwala na pełną równoległość (np. na GPU).

Zakres
Inferencja

Wymagania sprzętowe

Podstawowe

Prosta operacja splotowa/statystyczna, wydajna zarówno na CPU, jak i GPU.

Dobry fit

Jako różniczkowalna funkcja straty w treningu sieci korzysta z akceleracji GPU.