Úvod do super rozlišení pomocí hlubokého učení

Super rozlišení je proces obnovy obrazu s vysokým rozlišením (HR) z daného obrazu s nízkým rozlišením (LR). Obraz může mít „nižší rozlišení“ v důsledku menšího prostorového rozlišení (tj. velikosti) nebo v důsledku degradace (například rozmazání). Obrazy HR a LR můžeme propojit pomocí následující rovnice: LR = degradation(HR)

Obrázek s nízkým rozlišením vedle své verze s vysokým rozlišením. (Foto: Jarrad Horne on Unsplash)

Je zřejmé, že při použití degradační funkce získáme z obrazu HR obraz LR. Můžeme však provést obrácený postup? V ideálním případě ano! Pokud známe přesnou degradační funkci, aplikací její inverzní hodnoty na obraz LR můžeme získat obraz HR.

Ale právě v tom spočívá problém. Degradační funkci obvykle předem neznáme. Přímý odhad inverzní degradační funkce je špatně řešitelný problém. Navzdory tomu se techniky hlubokého učení ukázaly jako efektivní pro superrozlišení.

Tento blog se primárně zaměřuje na poskytnutí úvodu do provádění superrozlišení pomocí hlubokého učení s využitím metod supervisovaného trénování. Diskutovány jsou také některé důležité ztrátové funkce a metriky. Velká část obsahu je odvozena z tohoto přehledu literatury, na který může čtenář odkázat.

Supervised Methods

Jak již bylo zmíněno, hluboké učení lze použít k odhadu obrazu s vysokým rozlišením (HR) vzhledem k obrazu s nízkým rozlišením (LR). Použijeme-li obraz HR jako cíl (nebo základní pravdu) a obraz LR jako vstup, můžeme s ním zacházet jako s problémem učení pod dohledem.

V této části seskupíme různé přístupy hlubokého učení podle způsobu uspořádání konvolučních vrstev. Než přejdeme k jednotlivým skupinám, uvedeme základní informace o přípravě dat a typech konvolucí. Ztrátové funkce používané k optimalizaci modelu jsou uvedeny samostatně ke konci tohoto blogu.

Příprava dat

Jedním ze snadných způsobů získání LR dat je degradace HR dat. To se často provádí rozmazáním nebo přidáním šumu. Snímky s nižším prostorovým rozlišením lze také škálovat klasickou metodou upsamplingu, jako je bilineární nebo bikubická interpolace. K degradaci obrazu lze také zavést artefakty JPEG a kvantizace.

Degradace obrazu s vysokým rozlišením za účelem získání jeho verze s nižším rozlišením. (Foto: Jarrad Horne na Unsplash)

Jednou z důležitých věcí je, že se doporučuje uložit obrázek HR v nekomprimovaném (nebo bezeztrátově komprimovaném) formátu. To proto, aby se zabránilo zhoršení kvality HR obrazu v důsledku ztrátové komprese, která může poskytnout neoptimální výkon.

Typy konvolucí

Kromě klasických 2D konvolucí lze v sítích použít několik zajímavých variant pro dosažení lepších výsledků. Rozšířené (Atrousovy) konvoluce mohou poskytnout větší efektivní zorné pole, a tedy použít informace, které jsou od sebe vzdáleny velkou vzdáleností. Přeskočené spoje, prostorové pyramidové sdružování a husté bloky motivují ke kombinaci nízkoúrovňových i vysokoúrovňových funkcí pro zvýšení výkonu.

Strategie návrhu sítě. (Zdroj)

Výše uvedený obrázek zmiňuje řadu strategií návrhu sítě. Další informace naleznete v tomto dokumentu. Základní informace o různých typech konvolucí, které se běžně používají v hlubokém učení, najdete na tomto blogu.

Skupina 1 – předběžné vzorkování

V této metodě se obrazy s nízkým rozlišením nejprve interpolují, aby se získal „hrubý“ obraz s vysokým rozlišením. Nyní jsou CNN použity k naučení end-to-end mapování z interpolovaných obrazů s nízkým rozlišením na obrazy s vysokým rozlišením. Intuice byla taková, že může být jednodušší nejprve upsamplovat obrazy s nízkým rozlišením pomocí tradičních metod (jako je bilineární interpolace) a poté výsledek zpřesnit, než se učit přímé mapování z prostoru s nízkým rozlišením do prostoru s vysokým rozlišením.

Typická síť před upsamplováním. (Zdroj)

Některé modely využívající tuto techniku najdete na straně 5 tohoto dokumentu. Výhodou je, že vzhledem k tomu, že převzorkování je řešeno tradičními metodami, CNN se musí naučit pouze zjemňovat hrubý obraz, což je jednodušší. Navíc, protože zde nepoužíváme transponované konvoluce, je možné obejít artefakty šachovnice. Nevýhodou však je, že předdefinované metody převzorkování mohou zesílit šum a způsobit rozmazání.

Skupina 2- Post-Upsampling

V tomto případě jsou obrazy s nízkým rozlišením předány CNN jako takové. Upsampling se provádí v poslední vrstvě pomocí učící se vrstvy.

Typická síť s post-upsamplingem. (Zdroj)

Výhodou této metody je, že extrakce příznaků se provádí v prostoru s nižší dimenzí (před upsamplingem), a tím se snižuje výpočetní náročnost. Kromě toho lze díky použití učící se upsamplingové vrstvy model trénovat end-to-end.

Skupina 3- Progresivní upsampling

Ve výše uvedené skupině byla i přes snížení výpočetní složitosti použita pouze jedna upsamplingová konvoluce. To ztěžuje proces učení pro velké škálovací faktory. K odstranění této nevýhody byl v pracích, jako je Laplacian Pyramid SR Network (LapSRN) a Progressive SR (ProSR), přijat rámec progresivního převzorkování. Modely v tomto případě používají kaskádu CNN k postupné rekonstrukci obrazů s vysokým rozlišením při menších škálovacích faktorech v každém kroku.

Typická síť s progresivním převzorkováním. (Zdroj)

Rozložením obtížné úlohy na jednodušší úlohy se výrazně sníží náročnost učení a lze dosáhnout lepšího výkonu. Navíc lze integrovat strategie učení, jako je učení podle osnov, které dále snižují obtížnost učení a zlepšují konečný výkon.

Skupina 4 – Iterativní vzorkování nahoru a dolů

Další oblíbenou architekturou modelu je struktura přesýpacích hodin (nebo U-Net). Některé varianty, jako je síť Stacked Hourglass, používají několik struktur přesýpacích hodin v sérii, čímž se efektivně střídá proces vzorkování nahoru a dolů.

Typická iterativní síť pro vzorkování nahoru a dolů. (Zdroj)

Modely podle tohoto rámce mohou lépe vytěžit hluboké vztahy mezi dvojicemi obrazů LR-HR a poskytnout tak kvalitnější výsledky rekonstrukce.

Ztrátové funkce

Ztrátové funkce se používají k měření rozdílu mezi generovaným obrazem s vysokým rozlišením a pravdivým obrazem s vysokým rozlišením. Tento rozdíl (chyba) se pak používá k optimalizaci modelu učení pod dohledem. Existuje několik tříd ztrátových funkcí, kde každá z nich penalizuje jiný aspekt generovaného obrazu.

Často se používá více než jedna ztrátová funkce pomocí vážení a sčítání chyb získaných z každé ztrátové funkce zvlášť. To umožňuje modelu zaměřit se na aspekty, k nimž přispívá více ztrátových funkcí současně.

total_loss = weight_1 * loss_1 + weight_ 2 * loss_2 + weight_3 * loss_3

V této části se budeme zabývat některými oblíbenými třídami ztrátových funkcí používaných pro trénování modelů.

Pixelová ztráta

Pixelová ztráta je nejjednodušší třída ztrátových funkcí, kde se každý pixel ve vygenerovaném obrazu přímo porovnává s každým pixelem v základním pravdivém obrazu. Používají se oblíbené ztrátové funkce, jako je ztráta L1 nebo L2, nebo pokročilé varianty, jako je hladká ztráta L1.

Plot hladké ztráty L1. (Zdroj)

Metrika PSNR (popsaná níže) je vysoce korelovaná s rozdílem pixelů, a proto minimalizace ztráty pixelů přímo maximalizuje hodnotu metriky PSNR (což svědčí o dobrém výkonu). Pixelová ztráta však nezohledňuje kvalitu obrazu a výstupem modelu jsou často percepčně neuspokojivé výsledky (často chybí vysokofrekvenční detaily).

Obsahová ztráta

Tato ztráta hodnotí kvalitu obrazu na základě jeho percepční kvality. Zajímavým způsobem je porovnání vysokoúrovňových rysů generovaného obrazu a obrazu základní pravdy. Tyto vysokoúrovňové rysy můžeme získat průchodem obou těchto obrazů předem natrénovanou sítí pro klasifikaci obrazu (například VGG-Net nebo ResNet).

Ztráta obsahu mezi základním pravdivým obrazem a generovaným obrazem. (Zdroj)

Výše uvedená rovnice vypočítává ztrátu obsahu mezi základním pravdivým obrazem a generovaným obrazem, přičemž je dána předtrénovaná síť (Φ) a vrstva (l) této předtrénované sítě, na které se ztráta počítá. Tato ztráta podporuje, aby byl vygenerovaný obraz percepčně podobný pravdivému obrazu. Z tohoto důvodu je také známá jako percepční ztráta.

Ztráta textury

Aby generovaný obraz měl stejný styl (texturu, barvu, kontrast atd.) jako základní pravdivý obraz, používá se ztráta textury (nebo ztráta rekonstrukce stylu). Textura obrazu, jak ji popisuje Gatys et. al, je definována jako korelace mezi různými kanály prvků. Kanály příznaků se obvykle získávají z mapy příznaků extrahované pomocí předem natrénované sítě pro klasifikaci obrazu (Φ).

Výpočet Gramovy matice. (Zdroj)

Korelace mezi mapami příznaků je reprezentována Gramovou maticí (G), což je vnitřní součin mezi vektorizovanými mapami příznaků i a j na vrstvě l (zobrazeno výše). Po výpočtu Gramovy matice pro oba obrazy je výpočet ztráty textury jednoduchý, jak je uvedeno níže:

Výpočet ztráty textury. (Zdroj)

Pomocí této ztráty je model motivován k vytváření realistických textur a vizuálně uspokojivějších výsledků.

Ztráta celkové variability

Ztráta celkové variability (TV) se používá k potlačení šumu v generovaných obrázcích. Vychází ze součtu absolutních rozdílů mezi sousedními pixely a měří, kolik je v obrázku šumu. Pro vygenerovaný obrázek se ztráta TV vypočítá, jak je uvedeno níže:

Celková variační ztráta použitá na vygenerovaném obrázku s vysokým rozlišením. (Zdroj)

Zde i,j,k iteruje nad výškou, šířkou, respektive kanály.

Adverzní ztráta

Generativní adverzní sítě (GAN) se stále častěji používají pro několik aplikací založených na obrazu, včetně super rozlišení. GAN se obvykle skládají ze soustavy dvou neuronových sítí – generátoru a diskriminátoru -, které spolu soupeří.

Při zadání sady cílových vzorků se generátor snaží vytvořit vzorky, které mohou diskriminátor oklamat a přesvědčit, že jsou skutečné. Diskriminátor se snaží rozlišit skutečné (cílové) vzorky od falešných (generovaných) vzorků. Pomocí tohoto iterativního tréninkového přístupu nakonec získáme Generátor, který je opravdu dobrý v generování vzorků podobných cílovým vzorkům. Následující obrázek ukazuje strukturu typického GAN.

GAN v akci. (Zdroj)

V základní architektuře GAN byly zavedeny úpravy pro zvýšení výkonu. Například Park et. al. použili diskriminátor na úrovni příznaků, aby zachytili více významných potenciálních atributů skutečných snímků s vysokým rozlišením. Můžete se podívat na tento blog, kde najdete podrobnější přehled o pokrocích v GAN.

Typicky mají modely natrénované s nepříznivou ztrátou lepší percepční kvalitu, i když mohou ztrácet na PSNR ve srovnání s modely natrénovanými na pixelové ztrátě. Drobnou nevýhodou je, že proces trénování GAN je poněkud obtížný a nestabilní. Na metodách stabilizace trénování GAN se však aktivně pracuje.

Metrika

Jednou velkou otázkou je, jak kvantitativně vyhodnotit výkonnost našeho modelu. K tomu se používá řada technik (neboli metrik) hodnocení kvality obrazu (IQA). Tyto metriky lze obecně rozdělit do dvou kategorií – subjektivní metriky a objektivní metriky.

Subjektivní metriky jsou založeny na percepčním hodnocení lidským pozorovatelem, zatímco objektivní metriky jsou založeny na výpočetních modelech, které se snaží posoudit kvalitu obrazu. Subjektivní metriky jsou často „percepčně přesnější“, nicméně výpočet některých z těchto metrik je nepohodlný, časově náročný nebo nákladný. Dalším problémem je, že tyto dvě kategorie metrik nemusí být vzájemně konzistentní. Proto výzkumníci často zobrazují výsledky pomocí metrik z obou kategorií.

V této části se budeme stručně zabývat několika široce používanými metrikami pro hodnocení výkonu našeho modelu super rozlišení.

PSNR

Poměr špičkového signálu k šumu (PSNR) je běžně používaná objektivní metrika pro měření kvality rekonstrukce ztrátové transformace. PSNR je nepřímo úměrný logaritmu střední kvadratické chyby (MSE) mezi základním pravdivým obrazem a generovaným obrazem.

Výpočet PSNR. (Zdroj)

V uvedeném vzorci je L maximální možná hodnota pixelu (pro 8bitové obrázky RGB je to 255). Není překvapivé, že vzhledem k tomu, že PSNR se stará pouze o rozdíl mezi hodnotami pixelů, nereprezentuje tak dobře percepční kvalitu.

SSIM

Strukturální podobnost (SSIM) je subjektivní metrika používaná pro měření strukturální podobnosti mezi obrázky, založená na třech relativně nezávislých porovnáních, a to jasu, kontrastu a struktury. Abstraktně lze vzorec SSIM znázornit jako vážený součin porovnání jasu, kontrastu a struktury vypočtených nezávisle.

SSIM je vážený součin porovnání, jak je popsáno výše. (Zdroj)

V uvedeném vzorci jsou alfa, beta a gama váhy funkcí porovnávání jasu, kontrastu a struktury. Běžně používané zobrazení vzorce SSIM je uvedeno níže:

Běžně používané zobrazení vzorce SSIM. (Zdroj)

V uvedeném vzorci μ(I)představuje střední hodnotu konkrétního obrazu, σ(I)představuje směrodatnou odchylku konkrétního obrazu,σ(I,I')představuje kovarianci mezi dvěma obrazy a C1, C2 jsou konstanty stanovené pro zamezení nestability. Význam těchto pojmů a přesné odvození není v tomto blogu pro stručnost vysvětleno a zájemce se může podívat do oddílu 2.3.2 tohoto článku.

Vzhledem k možnému nerovnoměrnému rozložení statistických vlastností obrazu nebo zkreslení je lokální hodnocení kvality obrazu spolehlivější než jeho globální aplikace. Jednou z takových metod lokálního hodnocení kvality je průměrný SSIM (MSSIM), který rozdělí obraz do více oken a zprůměruje SSIM získaný v každém okně.

V každém případě, protože SSIM hodnotí kvalitu rekonstrukce z pohledu lidského zrakového systému, lépe splňuje požadavky percepčního hodnocení.

Další skóre IQA

Bez vysvětlení jsou níže uvedeny některé další metody hodnocení kvality obrazu. Zájemce může odkázat na tento dokument, kde najde další podrobnosti.

  • Mean Opinion Score (MOS)
  • Vyhodnocení na základě úlohy
  • Kritérium informační věrnosti (IFC)
  • Vizuální informační věrnost (VIF)

Závěr

Tento článek na blogu se zabýval některými úvodními materiály a postupy pro trénování modelů hlubokého učení pro Super Resolution. Existují skutečně pokročilejší techniky představené nejnovějším výzkumem, které mohou přinést lepší výkon. Kromě toho by výzkum cest, jako je superrozlišení bez dohledu, lepší normalizační techniky a lepší reprezentativní metriky, mohl tuto oblast výrazně posunout. Zainteresované čtenáře vyzýváme, aby experimentovali se svými inovativními nápady prostřednictvím účasti na výzvách, jako je například PIRM Challenge.

.

Napsat komentář

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