An Introduction to Super-Resolution using Deep Learning

rozbudowana dyskusja na temat różnych komponentów, funkcji strat i wskaźników używanych do Superrozdzielczości przy użyciu głębokiego uczenia.

Zdjęcie Jeremy ’ ego Thomasa na Unsplash

wprowadzenie

Super rozdzielczość to proces odzyskiwania obrazu o wysokiej rozdzielczości (HR) z danej niskiej rozdzielczości (LR) image. 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)

obraz o niskiej rozdzielczości przechowywany oprócz wersji o wysokiej rozdzielczości. (Fot. Jarrad Horne na Unsplash)

oczywiście po zastosowaniu funkcji degradacji otrzymujemy obraz LR z obrazu HR. Ale czy możemy zrobić odwrotność? W idealnym przypadku, tak! Jeśli znamy dokładną funkcję degradacji, stosując jej odwrotność do obrazu LR, możemy odzyskać obraz HR.

ale w tym tkwi problem. Zwykle nie znamy funkcji degradacji przed ręką. Bezpośrednie oszacowanie funkcji odwrotnej degradacji jest niefortunnym problemem. Mimo to techniki głębokiego uczenia okazały się skuteczne w przypadku Superrozdzielczości.

Ten blog koncentruje się przede wszystkim na dostarczaniu wprowadzenia do wykonywania Superrozdzielczości przy użyciu głębokiego uczenia przy użyciu nadzorowanych metod szkoleniowych. Omówiono również niektóre ważne funkcje strat i metryki. Wiele treści pochodzi z tego przeglądu literatury, do którego czytelnik może się odnieść.

metody nadzorowane

jak wspomniano wcześniej, głębokie uczenie może być wykorzystane do oszacowania obrazu wysokiej rozdzielczości (HR) przy obrazie niskiej rozdzielczości (LR). Wykorzystując obraz HR jako cel (lub grunt-prawda) i obraz LR jako dane wejściowe, możemy traktować to jak nadzorowany problem uczenia się.

w tej sekcji grupujemy różne podejścia do głębokiego uczenia w sposób zorganizowany przez warstwy splotu. Zanim przejdziemy do grup, prezentowany jest elementarz dotyczący przygotowania danych i rodzajów splotów. Funkcje strat wykorzystywane do optymalizacji modelu są przedstawione osobno pod koniec tego bloga.

przygotowanie danych

jedną z łatwych metod pozyskiwania danych LR jest degradacja danych HR. Często odbywa się to poprzez rozmycie lub dodanie szumu. Obrazy o niższej rozdzielczości przestrzennej mogą być również skalowane za pomocą klasycznej metody upsamplingu, takiej jak interpolacja Dwuliniowa lub dwubiegunowa. Artefakty JPEG i kwantyzacji mogą być również wprowadzone w celu degradacji obrazu.

(Zdjęcie Jarrad Horne na Unsplash)

należy pamiętać, że zaleca się przechowywanie obrazu HR w formacie nieskompresowanym (lub bezstratnie skompresowanym). Ma to na celu zapobieganie pogorszeniu jakości obrazu HR z powodu stratnej kompresji, która może dać nieoptymalną wydajność.

rodzaje splotów

oprócz klasycznych splotów 2D, w sieciach można zastosować kilka interesujących wariantów w celu uzyskania lepszych wyników. Rozszerzone (Atrous) sploty mogą zapewnić większe efektywne pole widzenia, dzięki czemu wykorzystuje informacje, które są oddzielone dużą odległością. Pomijanie połączeń, łączenie piramid przestrzennych i gęste bloki motywują do łączenia funkcji niskiego i wysokiego poziomu w celu zwiększenia wydajności.

strategie projektowania sieci. (Źródło)

powyższy obrazek opisuje szereg strategii projektowania sieci. Więcej informacji można znaleźć w tym dokumencie. Aby uzyskać podstawowe informacje na temat różnych rodzajów splotów powszechnie stosowanych w uczeniu głębokim, możesz zajrzeć do tego bloga.

Grupa 1 — wstępne Upsamplowanie

w tej metodzie obrazy o niskiej rozdzielczości są najpierw interpolowane, aby uzyskać „zgrubny” obraz o wysokiej rozdzielczości. Teraz CNN są używane do nauki mapowania end-to-end od interpolowanych obrazów o niskiej rozdzielczości do obrazów o wysokiej rozdzielczości. Intuicja polegała na tym, że łatwiej jest najpierw upsamplować obrazy o niskiej rozdzielczości za pomocą tradycyjnych metod (takich jak Interpolacja Dwuliniowa), a następnie udoskonalić wynik, niż nauczyć się bezpośredniego mapowania z przestrzeni niskowymiarowej do przestrzeni wysokowymiarowej.

typowa sieć wstępnego upsamplingu. (Źródło)

niektóre modele wykorzystujące tę technikę można znaleźć na stronie 5 niniejszego artykułu. Zaletą jest to, że ponieważ upsampling jest obsługiwany tradycyjnymi metodami, CNN musi tylko nauczyć się udoskonalać Gruboziarnisty obraz, co jest prostsze. Co więcej, ponieważ nie używamy tutaj przetransponowanych splotów, artefakty szachownicy mogą być omijane. Minusem jest jednak 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 do nauki.

typowa sieć post-upsamplingowa. (Źródło)

zaletą tej metody jest to, że ekstrakcja funkcji jest wykonywana w przestrzeni o niższym wymiarze (przed upsamplingiem), a tym samym zmniejsza się złożoność obliczeniowa. Ponadto, korzystając z możliwej do nauczenia warstwy upsamplingu, model może być szkolony od początku do końca.

Grupa 3— progresywny Upsampling

w powyższej grupie, mimo zmniejszenia złożoności obliczeniowej, zastosowano tylko pojedynczy upsampling. Utrudnia to proces uczenia się w przypadku dużych czynników skalujących. Aby rozwiązać ten problem, progressive upsampling framework został przyjęty przez prace takie jak Laplacian Pyramid SR Network (LapSRN) i Progressive SR (ProSR). Modele w tym przypadku wykorzystują kaskadę CNN do stopniowej rekonstrukcji obrazów o wysokiej rozdzielczości przy mniejszych współczynnikach skalowania na każdym kroku.

typowa sieć progresywnego upsamplingu. (Źródło)

rozkładając trudne zadanie na prostsze zadania, trudność w nauce jest znacznie zmniejszona i można uzyskać lepszą wydajność. Ponadto strategie uczenia się, takie jak program nauczania, można zintegrować, aby jeszcze bardziej zmniejszyć trudności w nauce i poprawić końcową wydajność.

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 Stack Hourglass network, wykorzystują szeregowo kilka struktur klepsydry, skutecznie na przemian w procesie upsamplingu i downsamplingu.

typowa iteracyjna sieć pobierania próbek w górę iw dół. (Źródło)

modele w ramach tej struktury mogą lepiej wydobywać głębokie relacje między parami obrazów LR-HR, a tym samym zapewniać lepsze wyniki rekonstrukcji.

funkcje strat

funkcje strat służą do pomiaru różnicy między wygenerowanym obrazem o wysokiej rozdzielczości a obrazem o wysokiej rozdzielczości. Ta różnica (błąd) jest następnie wykorzystywana do optymalizacji nadzorowanego modelu uczenia się. Istnieje kilka klas funkcji utraty, z których każda penalizuje inny aspekt generowanego obrazu.

często używa się więcej niż jednej funkcji stratnej poprzez ważenie i sumowanie błędów uzyskanych z każdej funkcji stratnej indywidualnie. Pozwala to modelowi skupić się na aspektach powodowanych przez wiele funkcji strat jednocześnie.

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

w tej sekcji omówimy kilka popularnych klas funkcji strat używanych do szkolenia modeli.

utrata pikseli

utrata pikseli jest najprostszą klasą funkcji utraty, w której każdy piksel w wygenerowanym obrazie jest bezpośrednio porównywany z każdym pikselem w obrazie ziemi. Używane są popularne funkcje strat, takie jak utrata L1 lub L2 lub zaawansowane warianty, takie jak gładka utrata L1.

Wykres gładkiej utraty L1. (Źródło)

metryka PSNR (omówiona poniżej) jest silnie skorelowana z różnicą w pikselach, a zatem minimalizacja utraty pikseli bezpośrednio maksymalizuje wartość metryczną PSNR (co wskazuje na dobrą wydajność). Jednak utrata pikseli nie bierze pod uwagę jakości obrazu, a model często generuje percepcyjnie niezadowalające wyniki (często pozbawione szczegółów o wysokiej częstotliwości).

utrata zawartości

ta utrata ocenia jakość obrazu w oparciu o jego jakość percepcyjną. Ciekawym sposobem na to jest porównanie cech wysokiego poziomu generowanego obrazu i obrazu prawdy gruntowej. Możemy uzyskać te funkcje wysokiego poziomu, przekazując oba te obrazy przez wstępnie przeszkoloną sieć klasyfikacji obrazów (taką jak VGG-Net lub ResNet).

utrata zawartości między obrazem prawdy gruntowej a wygenerowanym obrazem. (Źródło)

powyższe równanie oblicza utratę zawartości między obrazem prawdy gruntowej a wygenerowanym obrazem, biorąc pod uwagę wstępnie wytrenowaną sieć (Φ) i warstwę (L) tej wstępnie wytrenowanej sieci, przy której obliczana jest strata. Ta utrata zachęca wygenerowany obraz do percepcyjnego podobieństwa do obrazu prawdy gruntowej. Z tego powodu jest również znany jako utrata percepcji.

utrata Tekstury

aby wygenerowany obraz miał ten sam styl (Tekstura, kolor, kontrast itp.) jako obraz prawdy gruntowej stosuje się utratę tekstury (lub utratę rekonstrukcji stylu). Faktura obrazu opisana przez Gatysa et. al, jest definiowana jako korelacja między różnymi kanałami fabularnymi. Kanały funkcji są zwykle uzyskiwane z mapy funkcji wyodrębnionej przy użyciu wstępnie przeszkolonej sieci klasyfikacji obrazów (Φ).

Obliczanie macierzy grama. (Źródło)

korelacja między mapami funkcji jest reprezentowana przez macierz grama(G), która jest wewnętrznym produktem między wektoryzowanymi mapami funkcji i I j na warstwie l(pokazane powyżej). Po obliczeniu macierzy grama dla obu obrazów obliczanie utraty tekstury jest proste, jak pokazano poniżej:

Obliczanie utraty Tekstury. (Źródło)

wykorzystując tę stratę, model jest zmotywowany do tworzenia realistycznych tekstur i wizualnie bardziej satysfakcjonujących rezultatów.

całkowita utrata zmienności

całkowita utrata zmienności (TV) służy do tłumienia szumów w generowanych obrazach. Pobiera sumę bezwzględnych różnic między sąsiednimi pikselami i mierzy, ile szumu jest w obrazie. W przypadku wygenerowanego obrazu strata telewizora jest obliczana w sposób pokazany poniżej:

całkowita utrata zmienności używana na wygenerowanym obrazie o wysokiej rozdzielczości. (Źródło)

tutaj, i,j,k iteracje na wysokości, szerokości i kanałów odpowiednio.

utrata kontradyktoryjności

generatywne sieci Kontradyktoryjne (Gan) są coraz częściej stosowane w kilku aplikacjach opartych na obrazach, w tym w Superrozdzielczości. Gan zazwyczaj składa się z systemu dwóch sieci neuronowych — generatora i dyskryminatora — pojedynkujących się ze sobą.

biorąc pod uwagę zestaw próbek docelowych, Generator próbuje wytworzyć próbki, które mogą oszukać dyskryminatora, aby uwierzył, że są prawdziwe. Dyskryminator próbuje rozwiązać rzeczywiste (docelowe) próbki z fałszywych (wygenerowanych) próbek. Korzystając z tego iteracyjnego podejścia szkoleniowego, w końcu otrzymujemy Generator, który jest naprawdę dobry w generowaniu próbek podobnych do próbek docelowych. Poniższy obraz przedstawia strukturę typowego GAN.

GANs w akcji. (Źródło)

w celu poprawy wydajności wprowadzono postęp do podstawowej architektury GAN. Na przykład Park et. al. zastosowano dyskryminator na poziomie funkcji, aby uchwycić bardziej znaczące potencjalne atrybuty rzeczywistych obrazów o wysokiej rozdzielczości. Możesz sprawdzić ten blog, aby uzyskać bardziej rozbudowaną ankietę na temat postępów w GANs.

zazwyczaj modele trenowane ze stratą kontradyktoryjną mają lepszą jakość percepcji, mimo że mogą stracić na PSNR w porównaniu do modeli trenowanych z utratą pikseli. Jednym z mniejszych minusów jest to, że proces szkolenia GANs jest nieco trudny i niestabilny. Jednak metody stabilizacji treningu GAN są aktywnie opracowywane.

metryki

jedno duże pytanie brzmi, jak ilościowo oceniamy wydajność naszego modelu. W tym samym celu stosuje się szereg technik oceny jakości obrazu (IQA) (lub metryk). Metryki te można ogólnie podzielić na dwie kategorie — metryki subiektywne i metryki obiektywne.

subiektywne metryki opierają się na ocenie percepcyjnej człowieka, podczas gdy obiektywne metryki opierają się na modelach obliczeniowych, które próbują ocenić jakość obrazu. Subiektywne wskaźniki są często bardziej „percepcyjnie dokładne”, jednak niektóre z tych wskaźników są niewygodne, czasochłonne lub kosztowne do obliczenia. Inną kwestią jest to, że te dwie kategorie metryk mogą nie być ze sobą spójne. Dlatego badacze często wyświetlają wyniki za pomocą metryk z obu kategorii.

w tej sekcji krótko omówimy kilka powszechnie używanych wskaźników do oceny wydajności naszego modelu superrozdzielczości.

PSNR

Peak Signal-To-Noise Ratio (PSNR) jest powszechnie stosowaną obiektywną metryką do pomiaru jakości rekonstrukcji transformacji stratnej. PSNR jest odwrotnie proporcjonalny do logarytmu średniego błędu kwadratowego (MSE) między obrazem prawdy gruntowej a wygenerowanym obrazem.

Obliczanie PSNR. (Źródło)

w powyższym wzorze L jest maksymalną możliwą wartością piksela (dla 8-bitowych obrazów RGB wynosi 255). Nic dziwnego, ponieważ PSNR dba tylko o różnicę między wartościami pikseli, nie reprezentuje tak dobrze jakości percepcyjnej.

SSIM

podobieństwo strukturalne (SSIM) jest subiektywną metryką używaną do pomiaru podobieństwa strukturalnego między obrazami, opartą na trzech względnie niezależnych porównaniach, mianowicie luminancji, kontrastu i struktury. Abstrakcyjnie wzór SSIM można przedstawić jako ważony produkt porównania luminancji, kontrastu i struktury obliczonej niezależnie.

SSIM jest ważonym produktem porównań, jak opisano powyżej. (Źródło)

w powyższym wzorze alfa, beta i gamma są wagami funkcji luminancji, kontrastu i porównania struktury. Często używana reprezentacja formuły SSIM jest pokazana poniżej:

powszechnie używana reprezentacja formuły SSIM. (Źródło)

w powyższym wzorze μ(I)reprezentuje średnią danego obrazu, σ(I)reprezentuje odchylenie standardowe określonego obrazu,σ(I,I’)reprezentuje odchylenie standardowe określonego obrazu KOWARIANCJA między dwoma obrazami oraz C1, C2 są stałymi ustawionymi w celu uniknięcia niestabilności. Dla zwięzłości znaczenie terminów i dokładne ich wyprowadzenie nie jest wyjaśnione na tym blogu, a zainteresowany czytelnik może sprawdzić sekcję 2.3.2 w tym artykule.

ze względu na możliwe nierównomierne rozłożenie 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 uzyskany w każdym oknie, jest jedną z takich metod oceny jakości lokalnie.

w każdym razie, ponieważ SSIM ocenia jakość rekonstrukcji z perspektywy ludzkiego układu 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 zapoznać się z tym artykułem, aby uzyskać więcej informacji.

  • Średnia ocena opinii (MOS)
  • ocena oparta na zadaniach
  • kryterium wierności informacji (IFC)
  • wierność informacji wizualnej (VIF)

wnioski

Ten artykuł na blogu obejmował kilka materiałów wprowadzających i procedur szkolenia modeli głębokiego uczenia się w celu uzyskania Superrozwiązania. Istnieją rzeczywiście bardziej zaawansowane techniki wprowadzone przez najnowocześniejsze badania, które mogą przynieść lepszą wydajność. Ponadto badania nad sposobami, takimi jak nienadzorowana superrozdzielczość, lepsze techniki normalizacji i lepsze wskaźniki reprezentatywne, mogłyby znacznie rozszerzyć tę dziedzinę. Zainteresowany czytelnik jest zachęcany do eksperymentowania ze swoimi innowacyjnymi pomysłami poprzez udział w wyzwaniach takich jak wyzwanie PIRM.

Udostępnij teraz

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.