Super Resolution jest procesem odzyskiwania wysokiej rozdzielczości (HR) obraz z danego niskiej rozdzielczości (LR) obrazu. Obraz może mieć „niższą rozdzielczość” ze względu na mniejszą rozdzielczość przestrzenną (tj. rozmiar) lub ze względu na wynik degradacji (np. rozmycie). Możemy powiązać obrazy HR i LR za pomocą następującego równania: LR = degradation(HR)
Jedną z ważnych rzeczy, na którą należy zwrócić uwagę, jest to, że zaleca się przechowywanie obrazu HR w nieskompresowanym (lub bezstratnie skompresowanym) formacie. Ma to na celu zapobieżenie degradacji jakości obrazu HR z powodu stratnej kompresji, która może dać nieoptymalną wydajność.
Typy konwolucji
Poza klasycznymi konwolucjami 2D, kilka ciekawych wariantów może być używanych w sieciach w celu uzyskania lepszych wyników. Dilated (Atrous) convolutions może zapewnić większe efektywne pole widzenia, a więc wykorzystanie informacji, które są oddzielone dużą odległością. Skip connections, Spatial Pyramid Pooling i Dense Blocks motywują do łączenia zarówno cech niskiego, jak i wysokiego poziomu w celu zwiększenia wydajności.
Na powyższym rysunku wymieniono szereg strategii projektowania sieci. Więcej informacji można znaleźć w tym dokumencie. Aby uzyskać elementarz na temat różnych typów konwolucji powszechnie stosowanych w głębokim uczeniu, możesz odwołać się do tego bloga.
Grupa 1 – Pre-Upsampling
W tej metodzie obrazy o niskiej rozdzielczości są najpierw interpolowane, aby uzyskać „gruby” obraz o wysokiej rozdzielczości. Teraz, CNN są używane do uczenia się mapowania end-to-end z interpolowanych obrazów niskiej rozdzielczości do obrazów wysokiej rozdzielczości. Intuicja podpowiada, że może być łatwiej najpierw dokonać upsamplingu obrazów o niskiej rozdzielczości przy użyciu tradycyjnych metod (takich jak interpolacja biliniowa), a następnie udoskonalić wynik, niż uczyć się bezpośredniego mapowania z przestrzeni niskowymiarowej do przestrzeni wysokowymiarowej.
Na stronie 5 tego dokumentu można znaleźć kilka modeli wykorzystujących tę technikę. Zaletą jest to, że ponieważ upsampling jest obsługiwany przez tradycyjne metody, CNN musi się tylko nauczyć, jak udoskonalać zgrubny obraz, co jest prostsze. Ponadto, ponieważ nie używamy tutaj transponowanych konwolucji, artefakty szachownicy mogą być omijane. Jednak minusem jest to, że predefiniowane metody upsamplingu mogą wzmacniać szum i powodować rozmycie.
Grupa 2- Post-Upsampling
W tym przypadku obrazy o niskiej rozdzielczości są przekazywane do CNN jako takie. Upsampling jest wykonywany w ostatniej warstwie przy użyciu warstwy uczącej się.
Zaletą tej metody jest to, że ekstrakcja cech odbywa się w przestrzeni o niższym wymiarze (przed upsamplingiem), a więc złożoność obliczeniowa jest mniejsza. Ponadto, dzięki zastosowaniu uczenia warstwy upsamplingu, model może być trenowany end-to-end.
Grupa 3- Progressive Upsampling
W powyższej grupie, pomimo zmniejszenia złożoności obliczeniowej, zastosowano tylko pojedynczą konwolucję upsamplingu. Sprawia to, że proces uczenia jest trudniejszy dla dużych współczynników skalowania. Aby wyeliminować tę wadę, w pracach takich jak Laplacian Pyramid SR Network (LapSRN) i Progressive SR (ProSR) zastosowano progresywny upsampling. Modele w tym przypadku wykorzystują kaskadę sieci CNN do stopniowej rekonstrukcji obrazów o wysokiej rozdzielczości przy mniejszych współczynnikach skalowania na każdym kroku.
Dzięki dekompozycji trudnego zadania na prostsze zadania, trudność uczenia się jest znacznie zmniejszona i można uzyskać lepsze wyniki. Ponadto strategie uczenia się, takie jak uczenie się programowe, mogą być zintegrowane w celu dalszego zmniejszenia trudności uczenia się i poprawy końcowej wydajności.
Grupa 4 – Iteracyjne próbkowanie w górę i w dół
Inną popularną architekturą modelu jest struktura klepsydry (lub U-Net). Niektóre warianty, takie jak sieć Stacked Hourglass, wykorzystują kilka struktur klepsydrowych w szeregu, efektywnie stosując naprzemiennie proces próbkowania w górę i w dół.
Modele działające w tych ramach mogą lepiej wydobywać głębokie relacje między parami obrazów LR-HR, a tym samym dostarczać wyższej jakości wyniki rekonstrukcji.
Funkcje strat
Funkcje strat są używane do pomiaru różnicy między wygenerowanym obrazem wysokiej rozdzielczości a obrazem wysokiej rozdzielczości prawdy o podłożu. Różnica ta (błąd) jest następnie wykorzystywana do optymalizacji modelu uczenia nadzorowanego. Istnieje kilka klas funkcji straty, z których każda penalizuje inny aspekt wygenerowanego obrazu.
Często, więcej niż jedna funkcja straty jest używana poprzez ważenie i sumowanie błędów uzyskanych z każdej funkcji straty indywidualnie. Pozwala to modelowi skupić się na aspektach, do których przyczynia się wiele funkcji straty jednocześnie.
total_loss = weight_1 * loss_1 + weight_ 2 * loss_2 + weight_3 * loss_3
W tej sekcji zbadamy kilka popularnych klas funkcji straty używanych do szkolenia modeli.
Strata pikselowa
Strata pikselowa jest najprostszą klasą funkcji straty, w której każdy piksel w wygenerowanym obrazie jest bezpośrednio porównywany z każdym pikselem w obrazie prawdy o podłożu. Stosowane są popularne funkcje straty, takie jak strata L1 lub L2 lub zaawansowane warianty, takie jak Smooth L1 loss.
Metryka PSNR (omówiona poniżej) jest silnie skorelowana z różnicą pikseli, a zatem minimalizacja utraty pikseli bezpośrednio maksymalizuje wartość metryki PSNR (wskazując na dobrą wydajność). Jednakże, strata pikselowa nie uwzględnia jakości obrazu i model często daje percepcyjnie niezadowalające wyniki (często brakuje szczegółów o wysokiej częstotliwości).
Strata treści
Ta strata ocenia jakość obrazu na podstawie jego jakości percepcyjnej. Interesującym sposobem jest porównanie cech wysokopoziomowych wygenerowanego obrazu i obrazu prawdy. Możemy uzyskać te cechy wysokiego poziomu przepuszczając oba obrazy przez wstępnie wytrenowaną sieć klasyfikacji obrazów (taką jak VGG-Net lub ResNet).
Powyższe równanie oblicza stratę zawartości między obrazem prawdy podstawowej a wygenerowanym obrazem, biorąc pod uwagę wstępnie wytrenowaną sieć (Φ) i warstwę (l) tej wstępnie wytrenowanej sieci, na której obliczana jest strata. Ta strata zachęca wygenerowany obraz do bycia percepcyjnie podobnym do obrazu prawdy. Z tego powodu, jest ona również znana jako strata percepcyjna.
Strata tekstury
Aby umożliwić generowanemu obrazowi posiadanie tego samego stylu (tekstury, koloru, kontrastu itp.) co obraz prawdy podstawowej, używana jest strata tekstury (lub strata rekonstrukcji stylu). Tekstura obrazu, jak opisano przez Gatys et. al, jest zdefiniowana jako korelacja pomiędzy różnymi kanałami cech. Kanały cech są zwykle uzyskiwane z mapy cech wyodrębnionej przy użyciu wstępnie wytrenowanej sieci klasyfikacji obrazu (Φ).
Korelacja między mapami cech jest reprezentowana przez macierz Grama (G), która jest iloczynem wewnętrznym między zwektoryzowanymi mapami cech i
i j
na warstwie l
(pokazanej powyżej). Po obliczeniu macierzy Grama dla obu obrazów, obliczenie straty tekstury jest proste, jak pokazano poniżej:
Używając tej straty, model jest motywowany do tworzenia realistycznych tekstur i bardziej satysfakcjonujących wizualnie rezultatów.
Total Variation Loss
Strata Total Variation (TV) jest używana do tłumienia szumu w generowanych obrazach. Bierze ona pod uwagę sumę bezwzględnych różnic między sąsiadującymi pikselami i mierzy, ile szumu jest na obrazie. Dla wygenerowanego obrazu strata TV jest obliczana w sposób przedstawiony poniżej:
Tutaj, i,j,k
iteruje odpowiednio po wysokości, szerokości i kanałach.
Strata awersyjna
Generative Adversarial Networks (GANs) są coraz częściej używane do kilku zastosowań opartych na obrazie, w tym Super Resolution. GAN zazwyczaj składają się z systemu dwóch sieci neuronowych – Generatora i Dyskryminatora – pojedynkujących się ze sobą.
Dając zestaw próbek docelowych, Generator próbuje wyprodukować próbki, które mogą oszukać Dyskryminator, aby uwierzył, że są prawdziwe. Dyskryminator próbuje odróżnić próbki prawdziwe (docelowe) od fałszywych (wygenerowanych). Używając tego iteracyjnego podejścia do treningu, ostatecznie uzyskujemy Generator, który jest naprawdę dobry w generowaniu próbek podobnych do próbek docelowych. Poniższy obrazek pokazuje strukturę typowego GAN.
Ulepszenia podstawowej architektury GAN zostały wprowadzone w celu zwiększenia wydajności. Na przykład, Park et. al. użyli dyskryminatora na poziomie cech, aby uchwycić bardziej znaczące potencjalne atrybuty prawdziwych obrazów wysokiej rozdzielczości. Możesz sprawdzić ten blog, aby uzyskać bardziej szczegółowy przegląd postępów w GANs.
Typowo, modele wytrenowane z przeciwstawną stratą mają lepszą jakość percepcyjną, nawet jeśli mogą stracić na PSNR w porównaniu do tych wytrenowanych na stracie pikseli. Jednym małym minusem jest to, że proces szkolenia GAN jest nieco trudny i niestabilny. Jednakże, metody stabilizacji treningu GAN są aktywnie opracowywane.
Metryki
Jednym z ważniejszych pytań jest to, jak ilościowo ocenić wydajność naszego modelu. Szereg technik oceny jakości obrazu (IQA) (lub metryk) jest używanych do tego samego. Te metryki mogą być szeroko klasyfikowane w dwóch kategoriach – subiektywne metryki i obiektywne metryki.
Subiektywne metryki są oparte na ludzkiej ocenie percepcyjnej obserwatora, podczas gdy obiektywne metryki są oparte na modelach obliczeniowych, które próbują ocenić jakość obrazu. Subiektywne metryki są często bardziej „percepcyjnie dokładne”, jednak niektóre z tych metryk są niewygodne, czasochłonne lub drogie w obliczaniu. Innym problemem jest to, że te dwie kategorie metryk mogą nie być ze sobą spójne. Dlatego też, badacze często wyświetlają wyniki używając metryk z obu kategorii.
W tej sekcji, krótko zbadamy kilka szeroko używanych metryk do oceny wydajności naszego modelu super rozdzielczości.
PSNR
Peak Signal-to-Noise Ratio (PSNR) jest powszechnie używaną obiektywną metryką do pomiaru jakości rekonstrukcji stratnej transformacji. PSNR jest odwrotnie proporcjonalny do logarytmu średniego błędu kwadratowego (MSE) między obrazem prawdy podstawowej a obrazem wygenerowanym.
W powyższym wzorze, L jest maksymalną możliwą wartością piksela (dla 8-bitowych obrazów RGB jest to 255). Nic dziwnego, ponieważ PSNR dotyczy tylko różnicy między wartościami pikseli, nie reprezentuje on tak dobrze jakości percepcyjnej.
SSIM
Podobieństwo strukturalne (SSIM) jest subiektywną metryką używaną do pomiaru strukturalnego podobieństwa między obrazami, opartą na trzech względnie niezależnych porównaniach, mianowicie luminancji, kontraście i strukturze. Abstrakcyjnie, wzór SSIM może być przedstawiony jako ważony iloczyn porównania luminancji, kontrastu i struktury obliczanych niezależnie.
W powyższym wzorze, alfa, beta i gamma są wagami odpowiednio funkcji porównania luminancji, kontrastu i struktury. Powszechnie stosowana reprezentacja formuły SSIM jest przedstawiona poniżej:
W powyższym wzorze μ(I)
przedstawia średnią danego obrazu, σ(I)
przedstawia odchylenie standardowe danego obrazu,σ(I,I')
przedstawia kowariancję między dwoma obrazami, a C1, C2
są stałymi ustawionymi w celu uniknięcia niestabilności. Dla zwięzłości, znaczenie terminów i dokładne wyprowadzenie nie jest wyjaśnione w tym blogu, a zainteresowany czytelnik może sprawdzić Sekcję 2.3.2 w tym artykule.
Dzięki możliwemu nierównomiernemu rozkładowi cech statystycznych obrazu lub zniekształceń, ocena jakości obrazu lokalnie jest bardziej wiarygodna niż stosowanie jej globalnie. Średnia SSIM (MSSIM), która dzieli obraz na wiele okien i uśrednia SSIM otrzymane w każdym oknie, jest jedną z takich metod lokalnej oceny jakości.
W każdym razie, ponieważ SSIM ocenia jakość rekonstrukcji z perspektywy ludzkiego systemu wzrokowego, lepiej spełnia wymagania oceny percepcyjnej.
Inne wyniki IQA
Bez wyjaśnienia, niektóre inne metody oceny jakości obrazu są wymienione poniżej. Zainteresowany czytelnik może odnieść się do tej pracy po więcej szczegółów.
- Mean Opinion Score (MOS)
- Task-based Evaluation
- Information Fidelity Criterion (IFC)
- Visual Information Fidelity (VIF)
Podsumowanie
Ten artykuł na blogu obejmował pewne materiały wprowadzające i procedury szkolenia modeli głębokiego uczenia dla Super Resolution. Istnieją rzeczywiście bardziej zaawansowane techniki wprowadzone przez najnowocześniejsze badania, które mogą przynieść lepszą wydajność. Ponadto, badania nad takimi zagadnieniami jak nienadzorowana superrozdzielczość, lepsze techniki normalizacji i lepsze reprezentatywne metryki mogą znacznie rozwinąć tę dziedzinę. Zainteresowanych czytelników zachęcamy do eksperymentowania z ich innowacyjnymi pomysłami poprzez udział w wyzwaniach takich jak PIRM Challenge.