codeformer : vers une restauration robuste et aveugle avec un transformateur de recherche de livre de codes

Interprétation du codeFormer papers_哔哩哔哩_bilibili se trouvait justement au travail et il était temps pour moi de partager mes papiers. Au fait, j'aimerais partager avec vous. Si vous avez des idées, vous pouvez laisser un message à échanger. J'ai des sous-titres. . , Le nombre de vues vidéo est de 422, le nombre d'écrans à puces est de 0, le nombre de likes est de 19, le nombre de pièces lancées est de 18, le nombre de favoris est de 14 et le nombre de republications est de 1. && HGGT, Super-résolution vidéo IA en temps réel, [interprétation papier] [graphique + auto-supervision] Quand l'auto-supervision aide-t-elle à tracer des réseaux convolutifs ?, partage de papier vidéo super-résolution - BasicVSR, BasicVSR++, RealBasicVSR, filtrage d'image (filtrage gaussien , Filtrage bilatéral, principe de filtrage guidé et mise en œuvre), le docteur en informatique analyse en profondeur le code source de MedicalTransformer et partage les dernières orientations de recherche dans le domaine du CV en 2023 ! , Interprétation de l'article de Mick.com utilisant des caloducs pour l'analyse de la gestion thermique des batteries lithium-ion, lorsque vous utilisez l'IA pour super-résolution et compresser une image 512 fois, l'Université du Sud-Est a mesuré pour la première fois une résistance nulle ! Le supraconducteur sud-coréen à température ambiante est-il un pas de plus vers la vérité ? Interprétation de l'article, interprétation de l'article LK-99 - Le laboratoire Lawrence Berkeley aux États-Unis a simulé la structure du LK-99 via un superordinateur ! 【Chinois】https://www.bilibili.com/video/BV11M4y1U7z2/?spm_id_from=333.337.search-card.all.click&vd_source=4aed82e35f26bb600bc5b46e65e25c22

Saisissez des images de faible qualité et produisez des images de haute qualité de la même manière que la super-résolution générale. L'idée du codeformer est différente des deux images ci-dessous. L'une de ses motivations est que certains modèles actuels sont très sensibles aux entrées de mauvaise qualité pendant le processus de dégradation sévère. Lorsque l'entrée de faible qualité tremble ou change légèrement, la haute -apport de qualité Le résultat des ressources humaines changera considérablement et la dégradation de la qualité sera grave. Quelle en est la raison ? Par exemple, gfpgan a un grand nombre de connexions sautées dans le réseau, qui est la structure résiduelle, qui transmettra des informations de mauvaise qualité au décodeur suivant pour asseoir ses fonctionnalités. Lorsque votre dégradation est grave, les fonctionnalités de certaines informations de faible qualité les images de qualité seront directement affectées par la génération des heures.

L'image ci-dessus est une référence préalable. Au cours du processus de génération, certaines images de visage de haute qualité seront utilisées pour la formation. Le modèle apprendra automatiquement certaines structures ou caractéristiques du visage à partir des images de visage de haute qualité et les traitera comme une référence avant guider la génération d’images de mauvaise qualité.  

L'image ci-dessus est gfpgan, qui génère des priorités. Il utilise un réseau formé comme générateur pour encoder et décoder des images de visage de faible qualité, puis alimente différents niveaux de fonctionnalités dans le stylegan formé pour aider à la génération d'images. 

1. Codeformer convertit la tâche de super-résolution faciale en prédiction d'un livre de codes discret.La méthode précédente consiste à prédire un vecteur latent continu, puis à le prédire via l'encodeur pour le décoder comme entrée du décodeur, mais Codeformer ne le code pas . Un espace continu, mais codé dans un livre de codes discret. Par exemple, le livre de codes a 1 024 dimensions, le nombre est 1 024 et la dimension est 256. Il est prédit dans le livre de codes car l'image est mappée dans un espace continu. la plage est trop grande. Maintenant, le livre de codes est un espace limité. Il complète le mappage d'une image sur un livre de codes plus petit, ce qui réduit considérablement l'incertitude et réduit la dépendance du réseau à l'égard de lr, car le codeur n'a fondamentalement aucune connexion résiduelle ; 2. Utilisez le transformateur au lieu de la correspondance du voisin le plus proche.

Il existe une image qui code un vecteur de caractéristiques via un encodeur. La dimension de ce vecteur de caractéristiques est mxnxd. S'il s'agit d'une structure VAE, elle génère un vecteur continu. En fait, elle génère une distribution et échantillonne directement à partir de la distribution et l'envoie au décodeur. Dans vqvae, vqvae a plus d'opérations vq et de quantification vectorielle. Par exemple, le carré vert dans cette image est mxnxd, la profondeur est de dimension d et le 0ème carré est 1x1xd. En trouvant celui le plus proche dans le livre de codes discret, la dimension du livre de codes est 1024xd. Mettez l'index du vecteur voisin le plus proche dans le livre de codes dans la table bleue, utilisez le livre de codes pour faire un mappage et pariez sur l'index dans la table bleue pour gagner l'intégration dans le livre de codes. De cette façon, vous pouvez obtenir le livre de codes de la table bleue. L'entrée du décodeur dans la table est ensuite reconstruite par le décodeur. vqgan et vqvae sont cohérents. Après avoir obtenu les fonctionnalités via l'encodeur, le décodeur est entraîné via la correspondance du voisin le plus proche. Une fois ce processus entraîné, l'encodeur est ignoré et seul le décodeur est nécessaire. Cependant, si vous souhaitez effectuer une génération non supervisée, vous devez disposer d'une table d'index correspondante, afin que l'intégration correspondante puisse être trouvée à partir du livre de codes pour obtenir l'entrée du décodeur. Ensuite, cette table d'index est générée via gpt2 et est prédite par autorégression. Avec une table d'index, l'entrée peut être obtenu. La raison pour laquelle on l'appelle vqgan est simplement parce que certaines pertes de gan sont ajoutées.

La formation Codeformer est divisée en trois parties. La première étape consiste à obtenir un livre de codes haute définition et un décodeur entraîné. Il utilise directement des images haute définition comme entrée, et la sortie est également une image haute définition, mais ce processus ne utilisez toutes les connexions résiduelles, telles que l'entrée. Il s'agit de hxwx3. Après l'encodage, il s'agit de mxnxd, qui est le même processus que l'encodage discret. Pour chaque d en position mxn, accédez au livre de codes pour trouver l'intégration la plus proche. Argmin y correspond. Le mxnxd généré par l'encodeur est en fait un ensemble de fonctionnalités. Recherchez-le dans le livre de codes. La fonctionnalité la plus proche pour remplacer la sortie de l'encodeur est en fait le clustering, ce qui équivaut à avoir autant de centres de clustering dans le livre de codes. Vous pouvez également voir dans l'image du haut, l'effet de regroupement graphique de hr est très bon, converti à partir du livre de codes Zc est obtenu immédiatement comme entrée du décodeur. Si vous utilisez directement l'image lr pour la formation, l'effet peut ne pas être bon. Par conséquent, si vous utilisez directement l'image hr pour la formation, vous pouvez obtenir un très bon livre de codes. Cette méthode n'a aucune connexion résiduelle. hr est récupéré à partir du livre de codes. Le code gt dans l'image du haut est l'image générée à partir de la première étape, ce qui est très proche de la photo originale. Mais argmin n'est pas différentiable. Il copie directement le gradient de zc en zh lors de la rétropropagation, qui est la ligne de code ci-dessus. quantized représente zc. La formule ci-dessus est une identité. En fait, après détachement, le gradient est 0. L'ensemble la perte dans la première étape est égale à la perte l1, qui est en fait le processus d'encodage et de décodage (AE). Lper est la perte de perception, ce qui signifie qu'une fois les deux images envoyées à vgg pour extraire les caractéristiques, la similarité des caractéristiques est comparée , mais pendant le processus de formation, zc Le gradient est copié directement dans zh, donc le livre de codes n'est en fait pas entraîné. Une perte de Lcode supplémentaire est proposée. sg est le gradient d'arrêt, qui verrouille le gradient de zh, donc Lcode est en fait un entraînement de zc. zc est une combinaison unidimensionnelle du livre de codes, donc celle-ci optimise en fait le livre de codes, et la seconde optimise zh de la même manière.

Dans la première étape de la formation, un livre de codes haute définition et un décodeur entraîné sont obtenus. La deuxième étape consiste à faire correspondre les caractéristiques de l'image basse définition avec le codage dans le livre de codes. Cette correspondance utilise la correspondance du voisin le plus proche dans la première étape. La raison pour laquelle les voisins les plus proches sont utilisés dans la première étape est que les caractéristiques elles-mêmes sont faciles à regrouper dans les images haute définition, mais dans les images dégradées basse définition, les caractéristiques sont plus difficiles à regrouper. À ce stade, le transformateur est introduit pour Remplacez le voisin le plus proche. Voisin, il n'y a pas d'entrée d'image haute définition dans la deuxième étape, et une image basse définition dégradée est transmise à travers l'encodeur pour obtenir un bloc mxnxd. Parce qu'un transformateur est utilisé, l'entrée et la sortie doivent être traité, et l'entrée devient (mxn)xd , la sortie devient si, c'est-à-dire que la table d'index de la première étape est également (mxn)xd, c'est-à-dire que le transformateur est utilisé pour prédire la table d'index. Cette section est la formation à la perte du niveau de code, pas à la perte d'image. L'image hr est entraînée dans la première étape. À l'heure actuelle, ce si est gt. Ce gt s'est également révélé très efficace pour la restauration de l'image originale dans la première étape. Les s et si formés par le transformateur sont supervisés et Lcode devient une fonction de perte d'entropie croisée. La dernière partie de la perte est la même qu'auparavant. À ce moment, l'encodeur précédent est formé, avec deux pertes. 

La troisième étape est l'équilibre entre fidélité et qualité. La fidélité est due au fait que vous n'avez pas de connexion résiduelle, donc l'image générée peut être de haute qualité, mais elle n'est pas comme l'image originale, donc une contrainte doit être ajoutée, donc dans Pendant le processus de formation, w est généralement fixé à 0,5, ce qui contrôle en fait la similarité avec l'image originale via une connexion résiduelle. A ce stade, toutes les pertes seront utilisées.

GFPGAN fonctionne également bien sur des scènes réelles, mais pas sur des scènes synthétiques. 

Transformez l’entrée d’image débruitée en un problème de correspondance. Convertissez l'espace continu en espace discret et réduisez l'espace des solutions. Les problèmes de classification ont souvent des solutions finies, tandis que les problèmes de régression ont des solutions infinies, ce qui les rend plus difficiles. Le téléchargement detr sera-t-il plus important que la capacité de retour de boîte traditionnelle ? 

Je suppose que tu aimes

Origine blog.csdn.net/u012193416/article/details/132525606
conseillé
Classement