HyperAI

Utilisez L'algorithme Leader De Super-résolution ESRGAN Pour Former Le Modèle D'amélioration D'image

特色图像

La technologie de super-résolution est souvent nécessaire pour convertir des images ou des vidéos de basse résolution en haute résolution et restaurer ou compléter les détails perdus (c'est-à-dire les informations à haute fréquence).

En fonction du nombre d'images basse résolution utilisées,La technologie de super-résolution peut être divisée en super-résolution d'image unique (SISR) et super-résolution d'images multiples (MISR).

Les internautes utilisent la technologie de l'IA pour colorier et insérer des images dans les vidéos,Restauré les images de la vie des citoyens de Pékin en 1920

SISR utilise une image basse résolution.Pour obtenir l’effet d’augmentation de la taille de l’image ou d’augmentation des pixels,On obtient ainsi une image haute résolution.

MISR utilise plusieurs images basse résolution de la même scène.Obtenez différents détails et synthétisez une ou plusieurs images haute résolution. La sortie de MISR peut être soit une image unique, soit une série d'images (c'est-à-dire une vidéo).

Trois armes magiques pour la super-résolution : l'interpolation, la reconstruction et l'apprentissage

Les méthodes de super-résolution d'image peuvent être divisées en trois catégories : les méthodes basées sur l'interpolation, celles basées sur la reconstruction et celles basées sur l'apprentissage.

  Méthode 1 : Basé surInterpolation 

L'interpolation est le processus d'agrandissement de l'image pour trouver les espaces.Remplissez les valeurs de pixels correspondantes,Cela peut restaurer le contenu de l'image et améliorer la résolution de l'image.

Les méthodes d’interpolation couramment utilisées comprennent : l’interpolation par le plus proche voisin, l’interpolation linéaire, l’interpolation bilinéaire et l’interpolation bicubique.

Interpolation du plus proche voisin

La méthode d’interpolation par le voisin le plus proche est la plus simple et la plus grossière à mettre en œuvre, et nécessite la plus petite quantité de calcul.Copiez simplement la valeur du pixel le plus proche directement pour le remplir.Cependant, la caractéristique la plus notable de la copie des pixels à côté est que l’effet est médiocre et l’effet de bloc est évident.

Après interpolation du voisin le plus proche de l'image de gauche,L'image résultante à droite présente des effets de mosaïque ou d'irrégularités évidents.

interpolation linéaire

Interpolation linéaire  consiste à interpoler dans une direction.Pour les données unidimensionnelles uniquement, l'équation est un polynôme univarié, c'est-à-dire qu'il n'y a qu'une seule variable.

Schéma du principe d'interpolation linéaire,Étant donné les coordonnées (x0, y0) et (x1, y1), où x est une valeur connue entre x0 et x1, trouvez y

interpolation bilinéaire

L'interpolation bilinéaire est similaire à la méthode d'interpolation linéaire pour les données unidimensionnelles.La différence est que l’interpolation bilinéaire est étendue aux images bidimensionnelles et doit être interpolée dans les directions X et Y.

Le processus d'interpolation bilinéaire est légèrement plus compliqué que l'interpolation par voisin le plus proche, mais l'effet est plus fluide, ce qui donne également un aspect flou à certains détails de l'image interpolée.

Interpolation bicubique

Interpolation bicubique De même,Interpolation de fonctions de trois variables.L'interpolation bicubique est plus complexe et les bords de l'image qu'elle produit sont plus lisses et plus précis que l'interpolation bilinéaire, mais elle est également la plus lente.

  Méthode 2 : basée sur la reconstruction 

La méthode de restauration en super-résolution basée sur la reconstruction consiste à utiliser plusieurs images basse résolution de la même scène.Alignement de précision sous-pixel dans l'espace,  Processus d'obtention du décalage de mouvement entre les images haute résolution et basse résolution, construction des paramètres de mouvement spatial dans le modèle d'observation et obtention ainsi d'une image haute résolution.

Image originale haute résolution (à gauche),Séquence d'images obtenue après décalage sous-pixel (à droite)

L’idée centrale des méthodes de super-résolution basées sur la reconstruction est deIl s'agit d'utiliser la bande passante temporelle (obtention d'une séquence d'images multi-images de la même scène) en échange d'une résolution spatiale.Réaliser la conversion de la résolution temporelle en résolution spatiale.

Actuellement, les méthodes de reconstruction de super-résolution peuvent être divisées en deux catégories : les méthodes du domaine fréquentiel et les méthodes du domaine spatial.

La méthode du domaine fréquentiel résout le problème d’interpolation d’images dans le domaine fréquentiel. Son modèle d'observation est basé sur les caractéristiques de décalage de la transformée de Fourier.Il a une théorie simple, une faible complexité de calcul et un traitement parallèle facile à mettre en œuvre.

Le modèle d'observation spatiale linéaire de la méthode spatiale implique un mouvement global et local, un flou optique, un flou de mouvement intra-image, etc.Ses méthodes typiques incluent la méthode d'interpolation non uniforme, la méthode de rétroprojection itérative, la méthode de probabilité maximale a posteriori (la méthode la plus couramment utilisée dans les applications pratiques et la recherche scientifique) et la méthode de projection d'ensemble convexe.

  Méthode 3 : Basée sur l'apprentissage 

La méthode de super-résolution basée sur l'apprentissage fait référence à l'apprentissage direct de la fonction de mappage de bout en bout à partir d'images basse résolution vers des images haute résolution via un réseau neuronal.Utilisez les connaissances préalables acquises par le modèle pour obtenir des détails haute fréquence de l’image.Cela permet d'obtenir un meilleur effet de restauration d'image.

Les étapes de l'algorithme basé sur l'apprentissage superficiel comprennent :Extraction de caractéristiques -> apprentissage -> reconstruction. Les méthodes courantes comprennent : la méthode basée sur l'exemple, la méthode d'intégration de voisinage, la méthode de régression du vecteur de support, la méthode de représentation clairsemée, etc.

Parmi eux, la méthode basée sur l’exemple est le premier algorithme de super-résolution d’image unique basé sur l’apprentissage.Proposé pour la première fois par Freeman. Il utilise des ensembles de données de formation d'apprentissage automatique pour apprendre la relation entre la basse résolution et la haute résolution, puis réalise une reconstruction en super-résolution.

Les étapes de l'algorithme basé sur l'apprentissage profond incluent :Extraction de caractéristiques–> Cartographie non linéaire–> Reconstruction d'images

Les méthodes de reconstruction d'images en super-résolution basées sur l'apprentissage profond incluent SRCNN, FSRCNN, ESPCN, VDSR, SRGAN, ESRGAN, etc.Nous nous concentrons ici sur les trois algorithmes : SRCNN, SRGAN et ESRGAN.

SRCNN

SRCNN est un travail pionnier qui utilise l’apprentissage profond pour la reconstruction en super-résolution. Sa structure de réseau est très simple.Il ne comprend que 3 couches convolutives.

Structure du réseau SRCNN,Les trois étapes de l'algorithme sont : l'extraction de caractéristiques, la cartographie non linéaire et la reconstruction d'image

La méthode de mise en œuvre est très raffinée:Entrez une image basse résolution, utilisez la méthode d'interpolation bicubique pour agrandir l'image à la taille cible, puis utilisez un réseau neuronal convolutif à trois couches pour ajuster le mappage non linéaire entre l'image basse résolution et l'image haute résolution, et enfin générez l'image haute résolution reconstruite.

avantage:La structure du réseau est simple (seules 3 couches convolutives sont utilisées) ; le framework est flexible dans la sélection des paramètres et prend en charge la personnalisation.

défaut: Seule la formation est effectuée sur un seul facteur d'échelle, et une fois que la quantité de données change, le modèle doit être réentraîné ; une seule couche convolutive est utilisée pour l'extraction de caractéristiques, qui est relativement limitée et les détails ne sont pas entièrement présentés ; lorsque l'image est agrandie de plus de 4 fois, le résultat est trop lisse et irréaliste.

SRGAN

SRGAN est le premier framework qui prend en charge l'agrandissement de l'image de 4 fois tout en conservant le réalisme.Les chercheurs ont proposé le concept de fonction de perte perceptive, qui comprend une perte conflictuelle et une perte de contenu.

La structure du réseau du générateur et du discriminateur dans SRGAN,Toutes les couches convolutionnelles ont une taille de noyau de convolution correspondante k, un nombre de cartes de caractéristiques n et une taille de pas s.

La perte contradictoire utilise un réseau discriminateur pour déterminer la différence d'authenticité entre l'image de sortie et l'image d'origine ; la perte de contenu est également due à la similarité perceptuelle plutôt qu'à la similarité spatiale des pixels.

L'introduction de la fonction de perte perceptive,Cela permet à SRGAN de générer des textures réelles et de compléter les détails perdus pour une seule image lors de la reconstruction d'une image en super-résolution.

ESRGAN 

ESRGAN est basé sur SRGAN.La structure du réseau, la perte adverse et la perte perceptive sont encore améliorées.Qualité d'image améliorée pour un traitement en super résolution. Les améliorations du modèle comprennent les trois aspects suivants :

 1   Introduire le bloc dense résiduel dans résiduel (RRDB) avec une plus grande capacité et une formation plus facile pour améliorer la structure du réseau, supprimer la couche de normalisation par lots (BN) et utiliser la mise à l'échelle résiduelle et une initialisation plus petite pour améliorer la formation des réseaux profonds ;

 2   Utilisez RaGAN pour améliorer le discriminateur et prédire l'authenticité relative entre l'image haute résolution et l'image d'origine plutôt que la valeur absolue, afin que le générateur puisse restaurer des détails de texture plus réalistes de l'image d'origine ;

 3   Améliorez la perte de perception en modifiant les fonctionnalités VGG après l'activation dans le SRGAN précédent à effectuer avant l'activation, ce qui améliore la clarté des bords et le réalisme de la texture de l'image de sortie.

Images de bâtiments générées par ESRGAN comparées à d'autres méthodes (en bas à droite),Texture plus naturelle et meilleurs détails

Comparé à SRGAN,ESRGAN produit des images de meilleure qualité et des textures plus réalistes et naturelles.Il a remporté la première place du défi PIRM2018-SR. Le code peut être trouvé sur github.com/xinntao/ESRGAN.

Tutoriel : Amélioration d'image avec ESRGAN

Ce tutoriel montrera comment utiliser l’algorithme ESRGAN dans TensorFlow Hub pour l’amélioration des images. La sortie d'ESRGAN est affichée ci-dessous :

Comparaison de l'image originale (à gauche) et de la sortie ESRGAN (à droite) après reconstruction en super-résolution,ESRGAN excelle dans la clarté et le traitement des détails

Démarrage rapide avec ESRGAN


Accord Open Source :Licence Apache 2.0

Environnement d'installation :Python 3.6, TensorFlow 2.3.1

Mode d'emploi :Le modèle est formé sur des images 128 x 128 de l'ensemble de données DIV2K (images sous-échantillonnées bicubiques).

Note:Pour exécuter le didacticiel, veuillez utiliser « Utilisation d'ESRGAN pour la reconstruction de super-résolution d'image.ipynb » et exécutez les cellules dans l'ordre ; le dossier modèle dans le répertoire contient le fichier modèle, et le fichier esrgan-tf2_1.tar.gz est le package de compression du modèle (le package de compression n'est pas utilisé dans ce tutoriel)

Accéder au tutoriel complet

Préparer l'environnement 

Définition des fonctions d'assistance

Effectue une super-résolution sur une image chargée à partir d'un chemin

Comparez les tailles de sortie côte à côte

Accéder au tutoriel complet

  À propos d'OpenBayes

OpenBayes est une institution de recherche de premier plan en intelligence artificielle en Chine.Fournit un certain nombre de services de base liés au développement de l'IA, notamment des conteneurs de puissance de calcul, une modélisation automatique et un ajustement automatique des paramètres.

Dans le même temps, OpenBayes a également lancé de nombreuses ressources publiques grand public telles que des ensembles de données, des tutoriels et des modèles.Pour que les développeurs apprennent rapidement et créent des modèles d’apprentissage automatique idéaux.

Visitez maintenant openbayes.com et inscrivez-vous,Bénéficiez de 600 minutes/semaine d'utilisation du vGPU,Et 300 minutes/semaine de temps de calcul CPU gratuit

Agissez maintenant et entraînez votre modèle d’amélioration d’image super-résolution avec ESRGAN !

Voir le tutoriel complet