Selon la définition fournie par Solanki, Nayyar et Naved dans l'article, la traduction d'image à image est le processus de conversion d'images d'un domaine à un autre, dans le but d'apprendre la relation entre l'image d'entrée et l'image de sortie mappant entre.
En d'autres termes, nous espérons que le modèle pourra transformer une image a en une autre image b en apprenant la fonction de cartographie f.
Certaines personnes peuvent se demander, à quoi servent ces modèles et quelle est leur pertinence dans le monde de l'intelligence artificielle. Il existe généralement de nombreuses applications, et elles ne se limitent pas à l'art ou au design graphique. Par exemple, pouvoir prendre une image et la convertir en une autre image pour créer des données synthétiques (comme une image segmentée) est très utile pour entraîner des modèles de voitures autonomes. Une autre application testée est la conception de cartes, où le modèle est capable d'effectuer les deux transformations (vue satellite vers carte et vice versa). Les transformations de retournement d'image peuvent également être appliquées à l'architecture, les modèles faisant des recommandations sur la manière de réaliser des projets inachevés.
L'une des applications les plus intéressantes de la conversion d'images consiste à transformer un simple dessin en un magnifique paysage ou une peinture.
Au cours des dernières années, plusieurs méthodes ont été développées pour résoudre le problème de la traduction d'image à image en tirant parti de modèles génératifs. Les méthodes les plus couramment utilisées sont basées sur l'architecture suivante :
Pix2Pix est une condition al Modèle basé sur GAN. Cela signifie que son architecture est composée d'un réseau générateur (G) et d'un discriminateur (D). Les deux réseaux sont entraînés dans un jeu contradictoire, dans lequel l'objectif de G est de générer de nouvelles images similaires à l'ensemble de données, et D doit décider si l'image est générée (fausse) ou à partir de l'ensemble de données (vrai).
Les principales différences entre Pix2Pix et les autres modèles GAN sont : (1) Le premier générateur prend des images en entrée pour démarrer le processus de génération, tandis que les GAN ordinaires utilisent du bruit aléatoire ; (2) Pix2Pix est un modèle entièrement supervisé, ce qui signifie ; L'ensemble de données se compose d'images appariées provenant de deux domaines.
L'architecture décrite dans l'article est définie par un U-Net pour le générateur et un discriminateur markovien ou Patch Discriminator pour le discriminateur :
Résultats Pix2Pix
Dans Pix2Pix, le processus de formation est entièrement supervisé (c'est-à-dire que nous avons besoin de paires d'entrées d'image). Le but de la méthode UNIT est d'apprendre une fonction qui mappe l'image A à l'image B sans entraînement sur deux images appariées.
Le modèle commence par supposer que deux domaines (A et B) partagent un espace latent commun (Z). Intuitivement, nous pouvons considérer cet espace latent comme une étape intermédiaire entre les domaines d’image A et B. Ainsi, en utilisant l’exemple de la peinture à l’image, nous pouvons utiliser le même espace latent pour générer une image de peinture vers l’arrière ou pour voir une image époustouflante vers l’avant (voir Figure X).
Sur la figure : (a) Espace latent partagé. (b) Architecture UNIT : X1 est une image, un générateur G2, un discriminateur D1, D2. Les lignes pointillées représentent les couches partagées entre les réseaux.
Le modèle UNIT est développé sous une paire d'architecture VAE-GAN (voir photo ci-dessus), où la dernière couche de l'encodeur (E1, E2) et la première couche du générateur (G1, G2) sont partagées.
UNIT results
Palette est un modèle de diffusion conditionnelle développé par l'équipe de recherche canadienne de Google. Le modèle est formé pour effectuer 4 tâches différentes liées à la conversion d'image, résultant en des résultats de haute qualité :
(i) Coloration : ajouter de la couleur aux images en niveaux de gris
(ii) Inpainting : remplir l'utilisateur avec un contenu réaliste Zone d'image spécifiée
(iii)Décrochage : agrandissez le cadre de l'image
(iv) Récupération JPEG : récupérez des images JPEG endommagées
Dans cet article, les auteurs explorent la différence entre un modèle général multitâche et plusieurs modèles spécialisés, tous deux formés pour un million d'itérations. L'architecture du modèle est basée sur le modèle U-Net conditionnel de classe de Dhariwal et Nichol 2021, utilisant une taille de lot de 1 024 images pour 1 million d'étapes de formation. Prétraitez et ajustez les plans de bruit en tant qu'hyperparamètres, utilisez différents plans pour la formation et la prédiction.
Résultats de la palette
Veuillez noter que bien que les deux modèles suivants ne soient pas spécifiquement conçus pour la transformation d'images, ils constituent un pas en avant dans l'introduction de modèles puissants tels que les transformateurs dans le domaine de la vision par ordinateur. . Une démarche évidente a été franchie.
Vision Transformers (ViT) est une modification de l'architecture Transformers (Vaswani et al., 2017) et a été développé pour la classification d'images. Le modèle prend une image en entrée et génère la probabilité d'appartenance à chaque classe définie.
Le principal problème est que les Transformers sont conçus pour prendre des séquences unidimensionnelles en entrée, et non des matrices bidimensionnelles. Pour le tri, les auteurs recommandent de diviser l'image en petits morceaux, en considérant l'image comme une séquence (ou une phrase en PNL) et les morceaux comme des jetons (ou des mots).
Pour résumer brièvement, nous pouvons diviser l'ensemble du processus en 3 étapes :
1) Incorporation : diviser et aplatir de petits morceaux → appliquer une transformation linéaire → ajouter une balise de classe (cette balise servira de résumé d'image à prendre en compte lors de la classification) →Position Embedding
2) Bloc Transformateur-Encodeur : placez les patchs intégrés dans une série de blocs d'encodeur de transformateur. Le mécanisme d’attention apprend sur quelles parties de l’image se concentrer.
3) En-tête MLP de classification : transmettez les jetons de classe via l'en-tête MLP, qui génère la probabilité finale que l'image appartient à chaque classe.
Avantages de l'utilisation de ViT : la disposition reste inchangée. Comparé à CNN, Transformer n'est pas affecté par la translation (changement de position des éléments) dans l'image.
Inconvénients : une grande quantité de données étiquetées est requise pour la formation (au moins 14 millions d'images)
TransGAN est un modèle GAN basé sur la transformation conçu pour la génération d'images sans utiliser de couches convolutives. Au lieu de cela, le générateur et le discriminateur sont composés d'une série de transformateurs connectés par des blocs de suréchantillonnage et de sous-échantillonnage.
Le passage direct du générateur prend un tableau unidimensionnel d'échantillons de bruit aléatoires et les transmet à travers le MLP. Intuitivement, nous pouvons considérer le tableau comme une phrase et les valeurs de pixels comme des mots (notez qu'un tableau de 64 éléments peut être remodelé en une image 8✕8 de 1 canal. Ensuite, l'auteur applique une série de Transformers). blocs, chacun suivi d'une couche de suréchantillonnage qui double la taille du tableau (image).
Une caractéristique clé de TransGAN est l’auto-attention sur la grille. Lorsque vous atteignez des images de grande dimension (c'est-à-dire des tableaux très longs 32✕32 = 1024), l'application du transformateur peut entraîner des coûts explosifs pour le mécanisme d'auto-attention, car vous devez comparer chaque pixel du tableau de 1024 avec les 255 pixels possibles ( dimension RVB). Par conséquent, au lieu de calculer la correspondance entre un jeton donné et tous les autres jetons, l'auto-attention de la grille divise la carte de caractéristiques pleine dimension en plusieurs grilles qui ne se chevauchent pas et calcule les interactions des jetons dans chaque grille locale.
L'architecture du discriminateur est très similaire au ViT cité précédemment.
Résultats TransGAN sur différents ensembles de données
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!