An Introduction to Super-Resolution using Deep Learning

een uitgebreide discussie over de verschillende componenten, Verliesfuncties en Metrics die worden gebruikt voor Super Resolution using Deep Learning.

foto door Jeremy Thomas op Unsplash

Inleiding

superresolutie is het proces van het herstellen van een hoge resolutie (HR) van een gegeven lage resolutie (LR) afbeelding. Een afbeelding kan een “lagere resolutie” hebben als gevolg van een kleinere ruimtelijke resolutie (d.w.z. grootte) of als gevolg van degradatie (zoals vervaging). We kunnen de HR-en LR-afbeeldingen relateren aan de hand van de volgende vergelijking: LR = degradation(HR)

een afbeelding met lage resolutie die naast de versie met hoge resolutie wordt bewaard. (Foto door Jarrad Horne op Unsplash)

bij het toepassen van een degradatiefunctie verkrijgen we duidelijk het LR-beeld van het HR-beeld. Maar, kunnen we het omgekeerde doen? In het ideale geval, ja! Als we de exacte degradatiefunctie kennen, door zijn inverse toe te passen op het LR-beeld, kunnen we het HR-beeld herstellen.

maar daar ligt het probleem. Meestal kennen we de degradatiefunctie niet voor de hand. Het direct schatten van de inverse degradatiefunctie is een slecht gesteld probleem. Ondanks dit, hebben de diepe het leren technieken bewezen efficiënt om voor Super resolutie te zijn.

Dit blog richt zich voornamelijk op het geven van een inleiding tot het uitvoeren van superresolutie met behulp van diep leren door het gebruik van begeleide trainingsmethoden. Enkele belangrijke verlies functies en metrics worden ook besproken. Veel van de inhoud is afgeleid van deze literatuurstudie waarnaar de lezer kan verwijzen.

methoden onder toezicht

zoals eerder vermeld, kan deep learning worden gebruikt om het beeld met hoge resolutie (HR) te schatten bij een beeld met lage resolutie (LR). Door het HR-beeld als doel (of ground-truth) en het LR-beeld als input te gebruiken, kunnen we dit behandelen als een begeleid leerprobleem.

in deze sectie groeperen we verschillende deep learning benaderingen op de manier waarop de convolutielagen zijn georganiseerd. Voordat we overgaan tot de groepen, wordt een primer gepresenteerd over gegevensvoorbereiding en soorten convoluties. Verlies functies gebruikt om het model te optimaliseren worden afzonderlijk gepresenteerd aan het einde van deze blog.

voorbereiding van de gegevens

een eenvoudige methode om LR-gegevens te verkrijgen is het afbreken van HR-gegevens. Dit wordt vaak gedaan door vervaging of het toevoegen van ruis. Beelden van lagere ruimtelijke resolutie kunnen ook worden geschaald door een klassieke upsampling methode zoals bilineaire of Bicubische interpolatie. JPEG en quantization artefacten kunnen ook worden geïntroduceerd om het beeld te degraderen.

een afbeelding met hoge resolutie afbreken om er een versie met lage resolutie van te krijgen. (Foto door Jarrad Horne op Unsplash)

een belangrijk ding om op te merken is dat het wordt aanbevolen om de HR-afbeelding op te slaan in een ongecomprimeerd (of verliesloos gecomprimeerd) formaat. Dit is om degradatie van de kwaliteit van het HR-beeld te voorkomen als gevolg van lossy compressie, die suboptimale prestaties kan geven.

soorten windingen

naast klassieke 2D windingen kunnen verschillende interessante varianten worden gebruikt in netwerken voor verbeterde resultaten. Verwijde (Atrous) kronkels kunnen zorgen voor een groter effectief gezichtsveld, dus met behulp van informatie die worden gescheiden door een grote afstand. Skip verbindingen, Spatial Pyramid Pooling en dichte blokken motiveren het combineren van zowel laag niveau en hoog niveau functies om de prestaties te verbeteren.

Network design strategies. (Source)

de bovenstaande afbeelding vermeldt een aantal netwerkontwerpstrategieën. U kunt verwijzen naar deze paper voor meer informatie. Voor een primer op de verschillende soorten kronkels vaak gebruikt in deep learning, kunt u verwijzen naar deze blog.

groep 1-Pre-Upsampling

bij deze methode worden de afbeeldingen met lage resolutie eerst geïnterpoleerd om een “grove” afbeelding met hoge resolutie te verkrijgen. Nu worden CNNs gebruikt om een end-to-end mapping te leren van de geïnterpoleerde afbeeldingen met lage resolutie naar de afbeeldingen met hoge resolutie. De intuïtie was dat het makkelijker kan zijn om eerst upsample de lage-resolutie beelden met behulp van traditionele methoden (zoals bilineaire interpolatie) en vervolgens verfijnen van de resulterende dan leren een directe mapping van een laag-dimensionale ruimte naar een hoog-dimensionale ruimte.

een typisch pre-upsampling netwerk. (Source)

u kunt Pagina 5 van dit artikel raadplegen voor sommige modellen die deze techniek gebruiken. Het voordeel is dat, aangezien de upsampling volgens traditionele methoden wordt behandeld, de CNN alleen hoeft te leren hoe het grove beeld te verfijnen, wat eenvoudiger is. Bovendien, omdat we hier geen getransponeerde kronkels gebruiken, kunnen dambordartefacten omzeild worden. Het nadeel is echter dat de vooraf gedefinieerde upsampling methoden lawaai kunnen versterken en vervaging veroorzaken.

groep 2-Post-Upsampling

In dit geval worden de afbeeldingen met lage resolutie als zodanig doorgegeven aan het CNNs. Upsampling wordt uitgevoerd in de laatste laag met behulp van een leerbare laag.

een typisch post-upsampling netwerk. (Source)

het voordeel van deze methode is dat feature-extractie wordt uitgevoerd in de lagere dimensionale ruimte (vóór upsampling) en dus de computationele complexiteit wordt verminderd. Bovendien kan het model met behulp van een leerbare upsampling laag end-to-end getraind worden.

groep 3-progressieve Upsampling

in de bovenstaande groep werd, hoewel de rekencomplexiteit was verminderd, slechts één upsamplingconvolutie gebruikt. Dit maakt het leerproces moeilijker voor grote schaalfactoren. Om dit nadeel aan te pakken, werd een progressief upsampling kader aangenomen door werken zoals Laplacian Pyramid Sr Network (LapSRN) en Progressive SR (ProSR). De modellen gebruiken in dit geval een cascade van CNNs om bij elke stap geleidelijk beelden met een hoge resolutie te reconstrueren bij kleinere schaalfactoren.

een typisch progressief upsampling netwerk. (Bron)

door een moeilijke taak op te splitsen in eenvoudigere taken, wordt de leermoeilijkheden sterk verminderd en kunnen betere prestaties worden verkregen. Bovendien kunnen leerstrategieën zoals leerprogramma ‘ s worden geïntegreerd om leermoeilijkheden verder te verminderen en de uiteindelijke prestaties te verbeteren.

groep 4 – iteratieve op en neer Sampling

een andere populaire modelarchitectuur is de zandloper (of u-Net) structuur. Sommige varianten zoals het gestapelde Zandlopernetwerk gebruiken verschillende zandloperstructuren in serie, effectief afwisselend tussen het proces van upsampling en downsampling.

een typisch iteratief op-en-neer bemonsteringsnetwerk. (Bron)

de modellen in dit kader kunnen de diepe relaties tussen de LR-HR-beeldparen beter ontginnen en zo betere reconstructie-resultaten opleveren.

Verliesfuncties

Verliesfuncties worden gebruikt om het verschil te meten tussen de gegenereerde hoge resolutie afbeelding en de ground truth hoge resolutie afbeelding. Dit verschil (fout) wordt vervolgens gebruikt om het begeleid leermodel te optimaliseren. Verschillende klassen van verlies functies bestaan waar elk van die een ander aspect van het gegenereerde beeld te bestraffen.

vaak wordt meer dan één verliesfunctie gebruikt door de uit elke verliesfunctie afzonderlijk verkregen fouten te wegen en op te tellen. Dit stelt het model in staat om zich te concentreren op aspecten die door meerdere verliesfuncties tegelijkertijd worden bijgedragen.

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

In deze sectie zullen we enkele populaire klassen van verliesfuncties verkennen die gebruikt worden voor het trainen van de modellen.

Pixelverlies

Pixelverlies is de eenvoudigste klasse van verliesfuncties waarbij elke pixel in de gegenereerde afbeelding direct wordt vergeleken met elke pixel in de ground-truth-afbeelding. Populaire verliesfuncties zoals de L1 of L2 verlies of geavanceerde varianten zoals de soepele L1 verlies worden gebruikt.

Plot of Smooth L1 Loss. (Source)

De PSNR-metriek (hieronder besproken) is sterk gecorreleerd met het pixel-wise verschil, en dus het minimaliseren van het pixelverlies maximaliseert direct de PSNR-metrische waarde (wat wijst op goede prestaties). Pixelverlies houdt echter geen rekening met de beeldkwaliteit en het model geeft vaak perceptief onbevredigende resultaten (vaak ontbreken hoge frequentiedetails).

Inhoudsverlies

Dit verlies evalueert de beeldkwaliteit op basis van de perceptuele kwaliteit. Een interessante manier om dit te doen is door het vergelijken van de kenmerken op hoog niveau van het gegenereerde beeld en het ground truth-beeld. We kunnen deze functies op hoog niveau verkrijgen door beide afbeeldingen door te geven via een vooraf opgeleid beeldclassificatienetwerk (zoals een VGG-Net of een ResNet).

Content loss between a ground truth image and a generated image. (Source)

De Bovenstaande vergelijking berekent het inhoudsverlies tussen een ground-truth-afbeelding en een gegenereerde afbeelding, gegeven een voorgetraind netwerk (Φ) en een laag (l) van dit voorgetrainde netwerk waarop het verlies wordt berekend. Dit verlies moedigt het gegenereerde beeld aan om perceptueel vergelijkbaar te zijn met het ground-truth-beeld. Om deze reden, het is ook bekend als de perceptuele verlies.

Textuurverlies

om de gegenereerde afbeelding in staat te stellen dezelfde stijl te hebben (textuur, kleur, contrast, enz.) als de ground truth image, texture loss (of style reconstruction loss) wordt gebruikt. De textuur van een afbeelding, zoals beschreven door Gatys et. al, wordt gedefinieerd als de correlatie tussen de verschillende functie kanalen. De feature kanalen worden meestal verkregen uit een feature map geëxtraheerd met behulp van een voorgetraind beeld classificatie netwerk (Φ).

berekenen van de Gram Matrix. (Source)

De correlatie tussen de functieafbeeldingen wordt weergegeven door de Gramatrix (G), die het innerlijke product is tussen de gevectoriseerde functieafbeeldingen i en j op laag l(zie hierboven). Zodra de Grammatrix voor beide afbeeldingen is berekend, is het berekenen van het textuurverlies eenvoudig, zoals hieronder te zien is:

het Textuurverlies berekenen. (Source)

door dit verlies te gebruiken, wordt het model gemotiveerd om realistische texturen en visueel meer bevredigende resultaten te creëren.

totaal Variatieverlies

het totaal Variatieverlies (TV) wordt gebruikt om ruis in de gegenereerde beelden te onderdrukken. Het neemt de som van de absolute verschillen tussen naburige pixels en meet hoeveel ruis er in de afbeelding is. Voor een gegenereerd beeld wordt het TV-verlies berekend als volgt:

totaal Variatieverlies gebruikt op een gegenereerd beeld met hoge resolutie. (Source)

hier itereert i,j,k over respectievelijk de hoogte, de breedte en de kanalen.

Agressarial Loss

Generative Agressarial Networks (Gan ‘ s) zijn in toenemende mate gebruikt voor verschillende beeldgebaseerde toepassingen, waaronder Super Resolution. GANs bestaan meestal uit een systeem van twee neurale netwerken — De Generator en de Discriminator — duelleren elkaar.

gegeven een set van doelmonsters, probeert de Generator monsters te produceren die de Discriminator kunnen laten geloven dat ze echt zijn. De Discriminator probeert echte (doel) monsters van valse (gegenereerde) monsters op te lossen. Met behulp van deze iteratieve training aanpak, we uiteindelijk eindigen met een Generator die is echt goed in het genereren van monsters vergelijkbaar met de doelmonsters. De volgende afbeelding toont de structuur van een typische GAN.

GANs in actie. (Source)

verbeteringen aan de basis Gan-architectuur werden geïntroduceerd voor betere prestaties. Bijvoorbeeld, Park et. al. gebruikt een functie-niveau discriminator om meer betekenisvolle potentiële attributen van echte hoge resolutie beelden vast te leggen. U kunt deze blog voor een meer uitgebreide enquête over de vooruitgang in GANs.

doorgaans hebben modellen die zijn getraind met verlies van hoor en wederhoor een betere perceptuele kwaliteit, ook al kunnen ze verliezen op PSNR in vergelijking met modellen die zijn getraind met verlies van pixels. Een klein nadeel is dat het trainingsproces van GANs een beetje moeilijk en onstabiel is. Er wordt echter actief gewerkt aan methoden om Gan-training te stabiliseren.

Metrics

een grote vraag is hoe we kwantitatief de prestaties van ons model evalueren. Een aantal beeldkwaliteit Assessment (IQA) technieken (of metrics) worden gebruikt voor hetzelfde. Deze metrics kunnen in grote lijnen worden ingedeeld in twee categorieën — subjectieve metrics en objectieve metrics.

subjectieve metrics zijn gebaseerd op de perceptuele evaluatie van de menselijke waarnemer, terwijl objectieve metrics zijn gebaseerd op computationele modellen die proberen de beeldkwaliteit te beoordelen. Subjectieve metrics zijn vaak meer “perceptueel accuraat”, maar sommige van deze metrics zijn lastig, tijdrovend of duur om te berekenen. Een ander probleem is dat deze twee categorieën van statistieken niet consistent zijn met elkaar. Vandaar dat onderzoekers vaak resultaten weergeven met behulp van statistieken uit beide categorieën.

in deze sectie zullen we kort een paar van de veelgebruikte metrics onderzoeken om de prestaties van ons super resolutiemodel te evalueren.

PSNR

Peak Signal-to-Noise Ratio (PSNR) wordt vaak gebruikt als objectieve metriek om de reconstructie-kwaliteit van een transformatie met verlies te meten. PSNR is omgekeerd evenredig met de logaritme van de gemiddelde Kwadraatfout (MSE) tussen het grondwaarheidsbeeld en het gegenereerde beeld.

Calculation of PSNR. (Source)

in de bovenstaande formule is L de maximaal mogelijke pixelwaarde (voor 8-bit RGB-afbeeldingen is het 255). Het is niet verwonderlijk dat, aangezien PSNR alleen geeft om het verschil tussen de pixelwaarden, het niet goed perceptuele kwaliteit vertegenwoordigt.

SSIM

structurele gelijkenis (SSIM) is een subjectieve metriek die wordt gebruikt voor het meten van de structurele gelijkenis tussen beelden, gebaseerd op drie relatief onafhankelijke vergelijkingen, namelijk Luminantie, contrast en structuur. Abstract kan de SSIM-formule worden weergegeven als een gewogen product van de vergelijking van luminantie, contrast en structuur onafhankelijk berekend.

SSIM is een gewogen product van vergelijkingen zoals hierboven beschreven. (Source)

in de bovenstaande formule zijn alfa, bèta en gamma de gewichten van respectievelijk de luminantie -, contrast-en structuurvergelijkingsfuncties. De veelgebruikte representatie van de SSIM-formule is als volgt:

veelgebruikte representatie van de SSIM-formule. (Source)

in de bovenstaande formule μ(I)vertegenwoordigt het gemiddelde van een bepaalde afbeelding, σ(I)vertegenwoordigt de standaardafwijking van een bepaalde afbeelding,σ(I,I’)vertegenwoordigt de covariantie tussen twee afbeeldingen, en C1, C2 zijn constanten om instabiliteit te vermijden. Voor de beknoptheid, de Betekenis van de termen en de exacte afleiding wordt niet uitgelegd in deze blog en de geïnteresseerde lezer kan afrekenen paragraaf 2.3.2 in deze paper.

vanwege de mogelijke ongelijke verdeling van statistische kenmerken of vervormingen van afbeeldingen is het beoordelen van de beeldkwaliteit lokaal betrouwbaarder dan het wereldwijd toepassen ervan. Mean SSIM (MSSIM), die de afbeelding splitst in meerdere vensters en de gemiddelde SSIM verkregen bij elk venster, is een dergelijke methode voor het beoordelen van kwaliteit lokaal.

aangezien SSIM de kwaliteit van de reconstructie evalueert vanuit het perspectief van het menselijke visuele systeem, voldoet het in ieder geval beter aan de vereisten van de perceptuele beoordeling.

andere IQA-Scores

zonder uitleg worden hieronder enkele andere methoden voor het beoordelen van de beeldkwaliteit vermeld. De geïnteresseerde lezer kan verwijzen naar deze paper voor meer details.

  • Mean Opinion Score (MOS)
  • Task-based Evaluation
  • Information Fidelity Criterion (IFC)
  • Visual Information Fidelity (VIF)

conclusie

dit blogartikel had betrekking op een aantal inleidende materiaal en procedures voor het trainen van diep-leermodellen voor superresolutie. Er zijn inderdaad meer geavanceerde technieken geïntroduceerd door state of the art onderzoek die betere prestaties kunnen opleveren. Bovendien, onderzoek naar wegen zoals unsupervised super resolution, betere normalisatie technieken en betere representatieve metrics kan aanzienlijk verder dit gebied. De geïnteresseerde lezer wordt aangemoedigd om te experimenteren met hun innovatieve ideeën door deel te nemen aan uitdagingen zoals de PIRM Challenge.

Delen

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.