Structural Similarity Index (SSIM): Teorie + Kód v PyTorch

SSIM byl poprvé představen v roce 2004 IEEE papíru, Kvalita Obrazu Hodnocení: Chyby Viditelnost na Strukturní Podobnosti. Abstraktní poskytuje dobrou intuici do myšlenkou navrhovaného systému,

Objektivní metody pro posuzování vnímání kvality obrazu tradičně se pokusil vyčíslit viditelnost chyby (rozdíly) mezi zkreslený obraz a referenční snímek pomocí různých známých vlastností na lidský vizuální systém. Za předpokladu, že lidské vizuální vnímání je vysoce přizpůsobeno pro extrahování strukturální informace ze scény, představujeme alternativní doplňkový rámec pro hodnocení kvality založený na degradaci strukturální informace.

Shrnutí: autoři se 2 důležité body,

  • Většina Obrazu posuzování kvality techniky spoléhat na kvantifikaci chyby mezi referenční a ukázkový obrázek. Běžnou metrikou je kvantifikace rozdílu v hodnotách každého z odpovídajících pixelů mezi vzorkem a referenčními obrázky (například pomocí střední kvadratické chyby).
  • Lidské vizuální vnímání systému je velmi schopný identifikace strukturálních informací ze scény a tedy identifikovat rozdíly mezi informace získané z reference a ukázkovou scénu. Proto metrika, která replikuje toto chování, bude fungovat lépe na úkolech, které zahrnují rozlišení mezi vzorkem a referenčním obrázkem.

Structural Similarity Index (SSIM) metrické výtažky 3 klíčové funkce z obrázku:

  • Svítivost
  • Kontrast
  • Struktura

srovnání mezi dvěma obrázky se provádí na základě těchto 3 funkcí.

Obrázek 1 uvedený níže ukazuje uspořádání a tok systému měření strukturální podobnosti. Signál X a signál Y odkazují na referenční a ukázkové obrázky.

obr 1: Systém Měření Strukturální Podobnosti. Zdroj: https://www.cns.nyu.edu/pub/eero/wang03-reprint.pdf

co ale tato metrika počítá?

tento systém vypočítá index strukturální podobnosti mezi 2 zadanými obrázky, což je hodnota mezi -1 a + 1. Hodnota +1 znamená, že 2 dané obrázky jsou velmi podobné nebo stejné, zatímco hodnota -1 označuje, že 2 dané obrázky jsou velmi odlišné. Často jsou tyto hodnoty upraveny tak, aby byly v rozsahu, kde extrémy mají stejný význam.

nyní se podívejme stručně, jak jsou tyto funkce matematicky reprezentovány a jak přispívají ke konečnému skóre SSIM.

  • svítivost: svítivost se měří zprůměrováním všech hodnot pixelů. Jeho označena μ (Mu) a vzorec je uveden níže,

kde xi je hodnota i-tého pixelu obrazu x. N je celkový počet hodnot pixelů. Zdroj: https://www.cns.nyu.edu/pub/eero/wang03-reprint.pdf
  • Kontrast: Měří se pomocí směrodatné odchylky (druhá odmocnina rozptylu) všech hodnot pixelů. To se označuje σ (sigma) a zastoupeny podle vzorce níže,

Kde x a y jsou dva obrázky a mí je průměr z hodnot pixelů obrazu. Zdroj: https://www.cns.nyu.edu/pub/eero/wang03-reprint.pdf
  • Struktura: Strukturální srovnání se provádí pomocí konsolidovaného vzorce (více o tom později), ale v podstatě rozdělíme vstupní signál s jeho směrodatnou odchylkou, takže výsledek má jednotkovou směrodatnou odchylku, která umožňuje robustnější srovnání.

kde x je Vstupní Obraz

Takže teď máme zavedené matematické intuice za tři parametry. Ale vydrž! Ještě jsme neskončili s matematikou, trochu víc. To, co nám nyní chybí, jsou srovnávací funkce, které mohou porovnat dva dané obrázky na těchto parametrech, a nakonec kombinační funkce, která je všechny kombinuje. Zde definujeme srovnávací funkce a nakonec kombinační funkci, která poskytuje hodnotu indexu podobnosti

  • funkce porovnání jasu: je definována funkcí l (x, y), která je uvedena níže. μ (mu) představuje průměr daného obrazu. x a y jsou dva porovnávané obrázky.

kde C1 je konstanta pro zajištění stability, když se jmenovatel stane 0. C1 je dána,

Aktualizace: v Celém článku, měli bychom prozkoumat, co K a L konstanty v této rovnici jsou. Naštěstí čtenář poukázal na to v komentářích, a tak v zájmu, aby tento článek trochu užitečnější, budu jen definovat zde.

L je dynamický rozsah hodnot pixelů (nastavili jsme jej jako 255, protože se zabýváme standardními 8bitovými obrázky). Zde si můžete přečíst více o tom, jaké jsou různé typy obrázků a co znamenají.

K1, K2 jsou jen normální konstanty, nic moc tam!

  • funkce porovnání kontrastu: je definována funkcí c (x, y), která je uvedena níže. σ označuje směrodatnou odchylku daného obrazu. x a y jsou dva porovnávané obrázky.

kde C2 je dána,

  • srovnání Struktury funkce: Je definován funkce s(x, y), který je uveden níže. σ označuje směrodatnou odchylku daného obrazu. x a y jsou dva porovnávané obrázky.

kde σ(xy) je definována jako,

A konečně, na SSIM skóre je dána tím,,

kde α > 0, β > 0, γ > 0 značí relativní důležitost každé z metrik. K zjednodušení výrazu, pokud budeme předpokládat, že α = β = γ = 1 a C3 = C2/2, dostaneme,

Ale tam je zvrat!

Zatímco byste být schopni realizovat SSIM pomocí výše uvedených vzorců, šance jsou, že to nebude tak dobré, jako ready-k-použití implementace k dispozici, jak autoři vysvětlují, že,

Pro kvalitu obrazu hodnocení, je vhodné použít SSIM index lokálně spíše než na celém světě. Za prvé, obrazové statistické rysy jsou obvykle velmi prostorově nestacionární. Za druhé, zkreslení obrazu, které může nebo nemusí záviset na místních statistikách obrazu, může být také prostorová varianta. Zatřetí, při typických pozorovacích vzdálenostech může lidský pozorovatel vnímat pouze místní oblast v obraze s vysokým rozlišením najednou (kvůli funkci foveation HVS,). A konečně, lokalizované měření kvality může poskytnout prostorově různou mapu kvality obrazu, která poskytuje více informací o degradaci kvality obrazu a může být užitečná v některých aplikacích.

souhrn: Namísto použití výše uvedených metrik globálně (tj. po celém obrázku najednou) je lepší aplikovat metriky regionálně (tj. v malých částech obrazu a při celkovém průměru).

tato metoda je často označována jako průměrný index strukturální podobnosti.

vzhledem k této změně přístupu si naše vzorce také zaslouží úpravy, aby odrážely totéž (je třeba poznamenat, že tento přístup je běžnější a bude použit k vysvětlení kódu).

(Poznámka: Pokud se níže uvedený obsah zdá trochu ohromující, žádné starosti! Pokud se dostanete podstatu toho, pak prochází kód vám mnohem jasnější představu.)

autoři používají 11×11 kruhové-symetrické Gaussovské funkce Vážení (v podstatě, 11×11 matice, jejichž hodnoty jsou odvozeny z gaussova rozdělení), který se pohybuje pixel-by-pixel přes celý obraz. V každém kroku se v místním okně vypočítají místní statistiky a index SSIM. Protože jsme teď výpočtu metriky lokálně, naše vzorce jsou upraveny jako,

Kde wi je gaussovy váhové funkce.

pokud jste to našli trochu neintuitivní, žádné starosti! Stačí si představit wi jako multiplikácia který se používá k výpočtu požadovaných hodnot pomocí některých matematických triků.

jakmile jsou výpočty prováděny po celém obrázku, jednoduše vezmeme průměr všech lokálních hodnot SSIM a dospějeme k globální hodnotě SSIM.

konečně hotovo s teorií! Nyní na kód!

You might also like

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.