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.
.