Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

Neural Style Transfer

Le transfert de style neuronal redessine le contenu d’une photo dans le style d’une autre image en faisant correspondre les statistiques des caractéristiques d’un CNN. Présentation de la méthode de Gatys, des modèles rapides et des usages.

Le transfert de style neuronal (NST) est une technique de vision par ordinateur qui restitue le contenu d’une image, par exemple une photo de rue, dans le style visuel d’une autre image, comme un tableau, en faisant correspondre les caractéristiques internes d’un réseau neuronal convolutif (CNN) préentraîné. Le contenu est représenté par les cartes de caractéristiques d’une couche profonde, qui indiquent ce qui apparaît et où. Le style est représenté par les corrélations entre les canaux de caractéristiques, qui consignent les textures, les couleurs et les coups de pinceau, mais ne conservent pas leur agencement. Leon Gatys, Alexander Ecker et Matthias Bethge, de l’Université de Tübingen, ont présenté la méthode en août 2015 dans Un algorithme neuronal de style artistique, et l’application Prisma l’a rendue accessible aux utilisateurs de smartphones l’année suivante.

Fonctionnement de la méthode originale#

La méthode de Gatys utilise VGG-19, un CNN entraîné sur ImageNet, comme extracteur de caractéristiques fixe ; elle modifie les pixels de l’image de sortie plutôt que les poids du réseau. Deux fonctions de perte guident le résultat :

  • Perte de contenu : La différence au carré entre les cartes de caractéristiques de l’image de sortie et de la photo de contenu à une couche profonde, conv4_2, qui permet de reconnaître les objets et la composition.
  • Perte de style : La différence au carré entre les matrices de Gram de cinq couches, de conv1_1 à conv5_1. Pour une couche à C canaux, la matrice de Gram est un tableau C x C dont l’entrée (i, j) mesure le degré de réponse simultanée des canaux i et j, toutes les positions de l’image étant prises en compte.

Une somme pondérée des deux pertes est minimisée à l’aide de l’algorithme d’optimisation L-BFGS, et la rétropropagation transmet le gradient à travers le réseau gelé jusqu’aux pixels :

Comme la matrice de Gram additionne les valeurs sur toutes les positions, elle varie à peine lorsque la composition de l’image change. L’inversion des quadrants d’une photo le montre avec ResNet-18 de torchvision, un CNN ImageNet plus petit que VGG-19, dans PyTorch :

import torch
from skimage import data
from torchvision.models import ResNet18_Weights, resnet18

weights = ResNet18_Weights.DEFAULT
cnn = resnet18(weights=weights).eval()
early_layers = torch.nn.Sequential(cnn.conv1, cnn.bn1, cnn.relu, cnn.maxpool, cnn.layer1)
preprocess = weights.transforms()

photo = torch.tensor(data.astronaut()).permute(2, 0, 1)  # 3 x 512 x 512
rearranged = torch.roll(photo, shifts=(256, 256), dims=(1, 2))  # same pixels, quadrants swapped


def content_and_style(image):
    """Return an early CNN layer's feature map (content) and its Gram matrix (style)."""
    with torch.no_grad():
        features = early_layers(preprocess(image)[None])[0].flatten(1)  # channels x positions
    return features, features @ features.T / features.shape[1]


(content_a, style_a), (content_b, style_b) = content_and_style(photo), content_and_style(rearranged)
print(f"Content change: {(content_a - content_b).norm() / content_a.norm():.0%}")
print(f"Style change:   {(style_a - style_b).norm() / style_a.norm():.0%}")

L’inversion des quadrants modifie la carte de caractéristiques de 96 %, mais la matrice de Gram de seulement 7 %. Les 7 % restants proviennent des nouvelles jonctions et du recadrage central, qui conserve une partie différente de chaque image. C’est pourquoi la perte de style reproduit les coups de pinceau et la palette d’un tableau sans reproduire la disposition de ses éléments.

Transfert de style rapide et arbitraire#

L’optimisation de chaque image nécessite des centaines d’itérations ; les travaux ultérieurs ont donc intégré l’optimisation à l’entraînement. En 2016, Justin Johnson, Alexandre Alahi et Li Fei-Fei de Stanford ont entraîné un réseau à propagation directe par style avec les mêmes pertes, obtenant des résultats environ mille fois plus rapides, et ont appliqué les mêmes pertes perceptuelles à la super-résolution. Dmitry Ulyanov et ses collègues ont découvert que remplacer la normalisation par lots par la normalisation par instance dans ces réseaux améliorait la qualité de la stylisation. La normalisation adaptative par instance (AdaIN, 2017) de Xun Huang et Serge Belongie gère n’importe quel style sans réentraînement : elle ajuste la moyenne et l’écart-type de chaque canal de caractéristiques du contenu pour qu’ils correspondent à ceux de l’image de style, puis décode le résultat, ce qui s’exécute en temps réel.

Transfert de style pour des modèles de vision robustes#

Robert Geirhos et ses collègues ont utilisé AdaIN pour montrer que les CNN entraînés sur ImageNet s’appuient davantage sur la texture que sur la forme : un ResNet-50 classe comme éléphant l’image d’un chat ayant une texture de peau d’éléphant, un exemple d’apprentissage de raccourcis. Leur Stylized-ImageNet a restylisé chaque image d’ImageNet à l’aide d’un tableau aléatoire de la collection Painter by Numbers, composée de 79 434 tableaux ; un ResNet-50 entraîné sur ce jeu de données s’est plutôt appuyé sur la forme. L’utilisation de ce réseau sensible à la forme comme colonne vertébrale d’un modèle Faster R-CNN de détection d’objets a fait passer le mAP50 de 70,7 à 75,1 sur Pascal VOC 2007 et de 52,3 à 55,2 sur MS COCO.

La même idée sert d’augmentation de données pour les jeux de données de détection, car le transfert de style conserve la position de chaque objet. Une copie stylisée d’une image annotée réutilise ses boîtes englobantes d’origine ; dans un jeu de données de détection Ultralytics YOLO26, il suffit donc de copier le fichier d’annotations d’origine sous le nouveau nom de l’image.

  • Réseaux antagonistes génératifs (GANs) : CycleGAN apprend une correspondance entre des collections entières d’images, comme des photos et des tableaux de Monet, au lieu de comparer les statistiques d’une seule image de style.
  • Apprentissage par transfert : Ajuste des poids préentraînés pour une nouvelle tâche. Le NST ne met jamais à jour les poids du réseau et l’utilise uniquement pour mesurer les pertes.
  • Modèles de diffusion : Restylisent des images à partir d’une invite textuelle ou d’une image de référence en les régénérant, ce qui peut modifier les formes et les détails en plus du style.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique