Îmbunătățirea rezoluției spațiale a imaginilor de teledetecție

GAN este un model de învățare profundă propus pentru prima dată în 2016. Structura GAN este inspirată de jocul de două persoane cu sumă zero din teoria jocurilor. Cadrul constă dintr-un generator (G) și un discriminator (D), unde generatorul (G) învață distribuția datelor eșantionului real și generează noi date de eșantion, iar discriminatorul (D) este un clasificator binar utilizat pentru a distinge dacă datele sunt din eșantioane reale sau eșantioane generate. Diagrama de structură a GAN este prezentată în figura de mai jos. Procesul de optimizare a GAN este o problemă minimax. Când generatorul și discriminatorul ating echilibrul Nash, procesul de optimizare este finalizat.

 

În învățarea automată, GAN-urile au devenit un subiect fierbinte de cercetare. În prezent, domeniul viziunii computerizate a devenit cel mai studiat și aplicat domeniu al GAN-urilor, care au aplicații largi.

SRGAN este o structură de rețea de super-rezoluție propusă de Christian Ledig într-o lucrare publicată la conferința CVPR din 2017, care aduce efectul super-rezoluției la un nou nivel. SRGAN este instruit pe baza rețelei GAN, care constă dintr-un generator și un discriminator. Generatoarele folosesc o structură ResNet, prima parte a rețelei este conectată cu mai multe blocuri reziduale, fiecare conținând două straturi de convoluție 3 × 3, care este urmată de stratul de normalizare a lotului, care este activat cu funcția ReLu. 

 

În ultima parte, două module de rețea subpixeli sunt adăugate pentru a crește dimensiunea, astfel încât generatorul să poată învăța detaliile imaginii de înaltă rezoluție în stratul frontal în timpul procesului de antrenament și să îmbunătățească rezoluția imaginii mai târziu, pentru a atinge scopul de a reduce calculul. resurse. Discriminatorul adoptă structura de rețea vgg-19, incluzând opt straturi de convoluție, în care funcția LeakyReLu este utilizată ca funcție de activare pentru stratul ascuns și, în final, probabilitatea ca imaginea prezisă să provină de la rezoluția reală și de înaltă rezoluție. imaginea de înaltă rezoluție generată este obținută prin utilizarea stratului de conexiune complet și a funcției de activare a sigmoidului.

Figura 1. Descrierea grafică a lanțului de prelucrare specific algoritmului SR-GAN

Modelul SR-GAN a fost antrenat utilizând imagini din zona cetății Alba Iulia. Pentru antrenarea modelului SR-GAN s-au utilizat imagini Sentinel-2 și imagini SPOT preluate în zona de studiu. Ambele imagini utilizate în prima fază a antrenării modelului au fost preluate în august 2020. Factorul de reeșantionare al imaginii de înaltă rezoluție (HR) și al imaginii de joasă rezoluție (LR) utilizate în antrenarea modelului a fost stabilit × 4. Imaginile LR au fost obținute prin re-eșantionarea imaginii HR de patru ori, folosind metoda celui mai apropiat vecin implementată în Python.

În timpul antrenamentului, dimensiunea lotului a fost setată la 16, iar procesul de antrenament a fost împărțit în două etape.

 

În primul pas, ResNet a fost antrenat pentru a obține eroarea pătratică medie între imaginea de înaltă rezoluție generată și imaginea reală de înaltă rezoluție, și anume funcția tradițională numită “de pierdere”,  bazată pe pixeli, iar rata de învățare a fost inițializată la 10-4, antrenând 100 de epoci în total. În a doua etapă, am folosit modelul antrenat în primul pas ca inițializare a generatorului. Utilizarea inițializării bazate pe pierderi de pixeli poate face ca metoda bazată pe GAN să obțină un efect mai bun. Motivul pentru aceasta poate fi rezumat după cum urmează: 1) Imaginea de înaltă rezoluție generată de preprocesare este o imagine relativ bună pentru discriminator, așa că acordă mai multă atenție detaliilor texturii în următorul proces de antrenament. 2) Este preferabil să se evite ca generatorul să ajungă la optimizarea locală. Rata de învățare de inițializare a antrenamentului generator a fost de 10-4 și a fost redusă la 1/2 la fiecare 250 de iterații, antrenând 500 de epoci în total.

 

S-a folosit algoritmul de optimizare RMSProp pentru a actualiza alternativ generatorul și discriminatoru. Modelul a fost implementat folosind cadrul Tensorflow (Google Inc. https://www.tensorflow.org) și a fost antrenat pe patru GPU-uri NVIDIA GeForce GTX TITAN X. Codul este modificat pe baza codului SRGAN, care poate fi descărcat gratuit de pe site-ul GitHub (https://github.com/tensorlayer/srgan).

Figura 2. Prezentarea imaginii Sentinel-2 (stânga) și a imaginii SPOT-6 utilizate pentru antrenarea modelului

Imaginile sintetice cu rezoluție spațială îmbunătățită au fost reeșantionate cu un factor de îmbunătățire de 4x. Acestea prezintă artefacte, astfel că modelul necesită o îmbunătățire adițională până va ajunge la forma considerată finală.

Figura 3. Comparație între imaginea sintetică obținută (stânga) și imaginea SPOT-6 cu rezoluție înaltă utilizată pentru antrenare