o discuție elaborată cu privire la diferitele componente, funcțiile de pierdere și valorile utilizate pentru Super rezoluție folosind Deep Learning.
- Introducere
- metode supravegheate
- pregătirea datelor
- tipuri de convoluții
- Grupa 1 — Pre-eșantionare
- Grupa 2— Post-Upsampling
- Grupul 3— Upsampling progresiv
- Grupul 4-eșantionare iterativă în sus și în jos
- funcțiile de pierdere
- Pixel Loss
- pierderea conținutului
- pierderea texturii
- pierderea totală de variație
- pierderi contradictorii
- metrici
- PSNR
- SSIM
- alte scoruri IQA
- concluzie
Introducere
Super rezoluția este procesul de recuperare a unei imagini de înaltă rezoluție (HR) dintr-o rezoluție mică dată (LR) imagine. O imagine poate avea o „rezoluție mai mică” datorită unei rezoluții spațiale mai mici (adică dimensiune) sau datorită unui rezultat al degradării (cum ar fi estomparea). Putem raporta imaginile HR și LR prin următoarea ecuație:LR = degradation(HR)
în mod clar, la aplicarea unei funcții de degradare, obținem imaginea LR din imaginea HR. Dar, putem face inversul? În cazul ideal, da! Dacă cunoaștem funcția exactă de degradare, aplicând inversul acesteia imaginii LR, putem recupera imaginea HR.
dar, acolo se află problema. De obicei, nu cunoaștem funcția de degradare înainte de mână. Estimarea directă a funcției de degradare inversă este o problemă prost pusă. În ciuda acestui fapt, tehnicile de învățare profundă s-au dovedit a fi eficiente pentru Super rezoluție.
acest blog se concentrează în primul rând pe furnizarea unei introduceri în efectuarea Super-rezoluției folosind învățarea profundă prin utilizarea metodelor de formare supravegheate. Unele funcții importante de pierdere și valori sunt, de asemenea, discutate. O mare parte din conținut este derivat din această revizuire a literaturii la care cititorul se poate referi.
metode supravegheate
așa cum am menționat anterior, învățarea profundă poate fi utilizată pentru a estima imaginea de înaltă rezoluție (HR) dată unei imagini de rezoluție mică (LR). Folosind imaginea HR ca țintă (sau adevăr la sol) și imaginea LR ca intrare, putem trata acest lucru ca o problemă de învățare supravegheată.
în această secțiune, grupăm diferite abordări de învățare profundă în modul în care sunt organizate straturile de convoluție. Înainte de a trece la grupuri, este prezentat un primer privind pregătirea datelor și tipurile de convoluții. Funcțiile de pierdere utilizate pentru optimizarea modelului sunt prezentate separat spre sfârșitul acestui blog.
pregătirea datelor
o metodă ușoară de obținere a datelor LR este degradarea datelor HR. Acest lucru se face adesea prin estomparea sau adăugarea de zgomot. Imaginile cu rezoluție spațială mai mică pot fi, de asemenea, scalate printr-o metodă clasică de eșantionare, cum ar fi interpolarea biliniară sau Bicubică. JPEG și artefacte de cuantificare pot fi, de asemenea, introduse pentru a degrada imaginea.
Un lucru important de reținut este că se recomandă stocarea imaginii HR într-un format necomprimat (sau comprimat fără pierderi). Acest lucru este de a preveni degradarea calității imaginii HR din cauza compresiei cu pierderi, care poate oferi performanțe suboptime.
tipuri de convoluții
pe lângă convoluțiile clasice 2D, mai multe variante interesante pot fi utilizate în rețele pentru rezultate îmbunătățite. Convoluțiile dilatate (Atroase) pot oferi un câmp vizual mai eficient, folosind astfel informații care sunt separate de o distanță mare. Săriți conexiunile, gruparea piramidelor spațiale și blocurile Dense motivează combinarea atât a caracteristicilor de nivel scăzut, cât și a celor de nivel înalt pentru a îmbunătăți performanța.
imaginea de mai sus menționează o serie de strategii de proiectare a rețelei. Puteți consulta această lucrare pentru mai multe informații. Pentru un primer despre diferitele tipuri de convoluții utilizate în mod obișnuit în învățarea profundă, vă puteți referi la acest blog.
Grupa 1 — Pre-eșantionare
în această metodă, imaginile cu rezoluție mică sunt mai întâi interpolate pentru a obține o imagine „grosieră” de înaltă rezoluție. Acum, CNN-urile sunt folosite pentru a învăța o mapare end-to-end de la imaginile interpolate cu rezoluție mică la imaginile de înaltă rezoluție. Intuiția a fost că ar putea fi mai ușor să eșantionați mai întâi imaginile cu rezoluție scăzută folosind metode tradiționale (cum ar fi interpolarea biliniară) și apoi să rafinați rezultatul decât să învățați o mapare directă dintr-un spațiu cu dimensiuni reduse într-un spațiu cu dimensiuni ridicate.
puteți consulta pagina 5 a acestei lucrări pentru unele modele care utilizează această tehnică. Avantajul este că, deoarece eșantionarea este tratată prin metode tradiționale, CNN trebuie doar să învețe cum să rafineze imaginea grosieră, ceea ce este mai simplu. Mai mult decât atât, din moment ce noi nu folosim convoluții transpuse aici, artefacte tablă de șah poate eludate. Cu toate acestea, dezavantajul este că metodele predefinite de eșantionare pot amplifica zgomotul și pot cauza estomparea.
Grupa 2— Post-Upsampling
în acest caz, imaginile cu rezoluție mică sunt transmise CNNs ca atare. Upsampling se efectuează în ultimul strat folosind un strat learnable.
avantajul acestei metode este că extragerea caracteristicilor se realizează în spațiul dimensional inferior (înainte de eșantionare) și, prin urmare, complexitatea computațională este redusă. În plus, prin utilizarea unui strat de eșantionare care poate fi învățat, modelul poate fi instruit de la capăt la capăt.
Grupul 3— Upsampling progresiv
în grupul de mai sus, chiar dacă complexitatea computațională a fost redusă, a fost utilizată doar o singură convoluție upsampling. Acest lucru face procesul de învățare mai greu pentru factorii de scalare mari. Pentru a aborda acest dezavantaj, a fost adoptat un cadru de eșantionare progresivă prin lucrări precum Rețeaua SR Pyramid Laplacian (LapSRN) și SR progresiv (ProSR). Modelele în acest caz utilizează o cascadă de CNN-uri pentru a reconstrui progresiv imagini de înaltă rezoluție la factori de scalare mai mici la fiecare pas.
prin descompunerea unei sarcini dificile în sarcini mai simple, dificultatea de învățare este mult redusă și se pot obține performanțe mai bune. Mai mult, strategiile de învățare precum învățarea curriculumului pot fi integrate pentru a reduce și mai mult dificultățile de învățare și pentru a îmbunătăți performanța finală.
Grupul 4-eșantionare iterativă în sus și în jos
O altă arhitectură populară a modelului este structura clepsidră (sau U-Net). Unele variante, cum ar fi Rețeaua de clepsidră stivuită, utilizează mai multe structuri de clepsidră în serie, alternând eficient între procesul de eșantionare și eșantionare redusă.
modelele din acest cadru pot extrage mai bine relațiile profunde dintre perechile de imagini LR-HR și astfel pot oferi rezultate de reconstrucție de calitate superioară.
funcțiile de pierdere
funcțiile de pierdere sunt utilizate pentru a măsura diferența dintre imaginea de înaltă rezoluție generată și imaginea de înaltă rezoluție a adevărului de la sol. Această diferență (eroare) este apoi utilizată pentru a optimiza modelul de învățare supravegheat. Există mai multe clase de funcții de pierdere în care fiecare dintre acestea penalizează un aspect diferit al imaginii generate.
adesea, mai multe funcții de pierdere sunt utilizate prin ponderarea și însumarea erorilor obținute de la fiecare funcție de pierdere în mod individual. Acest lucru permite modelului să se concentreze asupra aspectelor contribuite simultan de mai multe funcții de pierdere.
total_loss = weight_1 * loss_1 + weight_ 2 * loss_2 + weight_3 * loss_3
În această secțiune vom explora câteva clase populare de funcții de pierdere utilizate pentru instruirea modelelor.
Pixel Loss
Pixel-wise loss este cea mai simplă clasă de funcții de pierdere în care fiecare pixel din imaginea generată este comparat direct cu fiecare pixel din imaginea ground-truth. Sunt utilizate funcții populare de pierdere, cum ar fi pierderea L1 sau L2 sau variante avansate, cum ar fi pierderea L1 netedă.
metrica PSNR (discutată mai jos) este foarte corelată cu diferența dintre pixeli și, prin urmare, minimizarea pierderii pixelilor maximizează direct valoarea metrică PSNR (indicând performanțe bune). Cu toate acestea, pierderea pixelilor nu ia în considerare calitatea imaginii, iar modelul produce adesea rezultate nesatisfăcătoare perceptiv (adesea lipsite de detalii de înaltă frecvență).
pierderea conținutului
această pierdere evaluează calitatea imaginii pe baza calității sale perceptuale. Un mod interesant de a face acest lucru este prin compararea caracteristicilor de nivel înalt ale imaginii generate și a imaginii adevărului la sol. Putem obține aceste caracteristici de nivel înalt trecând ambele imagini printr-o rețea de clasificare a imaginilor pre-instruită (cum ar fi un VGG-Net sau un ResNet).
ecuația de mai sus calculează pierderea de conținut între o imagine de adevăr la sol și o imagine generată, având în vedere o rețea pre-instruită (XV) și un strat (l) al acestei rețele pre-instruite la care se calculează pierderea. Această pierdere încurajează imaginea generată să fie perceptual similară cu imaginea adevărului de la sol. Din acest motiv, este cunoscut și sub numele de pierderea perceptivă.
pierderea texturii
pentru a permite imaginii generate să aibă același stil (textură, culoare, contrast etc.) ca imagine a adevărului la sol, se folosește pierderea texturii (sau pierderea reconstrucției stilului). Textura unei imagini, așa cum este descris de Gatys et. al, este definit ca corelația dintre diferite canale de caracteristici. Canalele de caracteristici sunt de obicei obținute dintr-o hartă a caracteristicilor extrasă folosind o rețea de clasificare a imaginilor pre-instruită (XV).
corelația dintre hărțile de obiecte spațiale este reprezentată de matricea Gram (G), care este produsul interior dintre hărțile de obiecte spațiale vectorizate i
și j
pe stratul l
(prezentat mai sus). Odată ce matricea Gram este calculată pentru ambele imagini, calculul pierderii texturii este drept înainte, așa cum se arată mai jos:
prin utilizarea acestei pierderi, modelul este motivat să creeze texturi realiste și rezultate vizuale mai satisfăcătoare.
pierderea totală de variație
pierderea totală de variație (TV) este utilizată pentru a suprima zgomotul din imaginile generate. Este nevoie de suma diferențelor absolute dintre pixelii vecini și măsoară cât de mult zgomot este în imagine. Pentru o imagine generată, pierderea TV se calculează după cum se arată mai jos:
aici,i,j,k
iterează pe înălțime, lățime și respectiv canale.
pierderi contradictorii
rețelele contradictorii generative (Gan) au fost din ce în ce mai utilizate pentru mai multe aplicații bazate pe imagini, inclusiv super rezoluție. GANs constau de obicei dintr — un sistem de două rețele neuronale — generatorul și Discriminatorul-care se duelează reciproc.având în vedere un set de eșantioane țintă, Generatorul încearcă să producă eșantioane care pot păcăli Discriminatorul să creadă că sunt reale. Discriminatorul încearcă să rezolve probe reale (țintă) din probe false (generate). Folosind această abordare de formare iterativă, vom ajunge în cele din urmă cu un Generator care este foarte bun la generarea de probe similare cu probele țintă. Următoarea imagine prezintă structura unui Gan tipic.
au fost introduse progrese la arhitectura Gan de bază pentru performanțe îmbunătățite. De exemplu, Park et. al. a folosit un discriminator la nivel de caracteristici pentru a capta atribute potențiale mai semnificative ale imaginilor reale de înaltă rezoluție. Puteți checkout acest blog pentru un sondaj mai elaborat despre progresele în GANs.
de obicei, modelele instruite cu pierderi contradictorii au o calitate perceptivă mai bună, chiar dacă ar putea pierde pe PSNR în comparație cu cele instruite pe pierderea pixelilor. Un dezavantaj minor este că, procesul de formare a GANs este un pic dificil și instabil. Cu toate acestea, metodele de stabilizare a formării GAN sunt lucrate activ.
metrici
o mare întrebare este cum evaluăm cantitativ performanța modelului nostru. O serie de tehnici (sau valori) de evaluare a calității imaginii (IQA) sunt utilizate pentru aceleași. Aceste valori pot fi clasificate în general în două categorii — valori subiective și valori obiective.valorile subiective se bazează pe evaluarea perceptivă a Observatorului uman, în timp ce valorile obiective se bazează pe modele de calcul care încearcă să evalueze calitatea imaginii. Valorile subiective sunt adesea mai” precise din punct de vedere perceptiv”, cu toate acestea unele dintre aceste valori sunt incomode, consumatoare de timp sau costisitoare de calculat. O altă problemă este că aceste două categorii de valori pot să nu fie în concordanță între ele. Prin urmare, cercetătorii afișează adesea rezultate folosind valori din ambele categorii.
în această secțiune, vom explora pe scurt câteva dintre valorile utilizate pe scară largă pentru a evalua performanța modelului nostru de super rezoluție.
PSNR
raportul semnal-zgomot de vârf (PSNR) este utilizat în mod obișnuit metric obiectiv pentru a măsura calitatea reconstrucției unei transformări cu pierderi. PSNR este invers proporțional cu logaritmul erorii medii pătrate (MSE) între imaginea adevărului de la sol și imaginea generată.
în formula de mai sus, L este valoarea maximă posibilă a pixelilor (pentru imaginile RGB pe 8 biți, este 255). În mod surprinzător, deoarece PSNR îi pasă doar de diferența dintre valorile pixelilor, nu reprezintă o calitate perceptivă atât de bună.
SSIM
similitudinea structurală (SSIM) este o metrică subiectivă utilizată pentru măsurarea asemănării structurale între imagini, bazată pe trei comparații relativ independente, și anume luminanța, contrastul și structura. În mod abstract, formula SSIM poate fi prezentată ca un produs ponderat al comparației luminanței, contrastului și structurii calculate independent.
în formula de mai sus, alfa, beta și gamma sunt greutățile luminanței, contrastului și funcțiilor de comparare a structurii. Reprezentarea utilizată în mod obișnuit a formulei SSIM este după cum se arată mai jos:
în formula de mai sus μ(I)
reprezintă media unei anumite imagini, σ(I)
reprezintă abaterea standard a unei anumite imagini,σ(I,I’)
reprezintă media unei anumite imagini, σ(I)
covarianța dintre două imagini și C1, C2
sunt constante setate pentru evitarea instabilității. Pentru concizie, semnificația termenilor și derivarea exactă nu este explicată în acest blog, iar cititorul interesat poate verifica secțiunea 2.3.2 din această lucrare.datorită posibilei distribuții inegale a caracteristicilor statistice ale imaginii sau a distorsiunilor, evaluarea calității imaginii la nivel local este mai fiabilă decât aplicarea acesteia la nivel global. Media SSIM( MSSIM), care împarte imaginea în mai multe ferestre și medii SSIM obținute la fiecare fereastră, este o astfel de metodă de evaluare a calității la nivel local.
în orice caz, deoarece SSIM evaluează calitatea reconstrucției din perspectiva sistemului vizual uman, acesta îndeplinește mai bine cerințele evaluării perceptuale.
alte scoruri IQA
fără explicații, alte metode de evaluare a calității imaginii sunt enumerate mai jos. Cititorul interesat se poate referi la această lucrare pentru mai multe detalii.
- Scorul mediu de opinie (MOS)
- evaluarea bazată pe SARCINI
- criteriul fidelității informațiilor (IFC)
- fidelitatea informațiilor vizuale (VIF)
concluzie
Acest articol de blog a acoperit câteva materiale introductive și proceduri pentru formarea modelelor de învățare profundă pentru Super rezoluție. Există într-adevăr mai avansate tehnici introduse de stat de cercetare de artă, care poate produce o performanță mai bună. În plus, cercetarea pe căi precum super rezoluția nesupravegheată, tehnici de normalizare mai bune și valori mai reprezentative ar putea promova foarte mult acest domeniu. Cititorul interesat este încurajat să experimenteze ideile lor inovatoare prin participarea la provocări precum provocarea PIRM.