Vision par ordinateurApprendre l'IAIngénierie IAVision par ordinateurApprendre l'IA
Vision par ordinateurIngénierie IA10 min de lecture

Supprimez les objets indésirables de vos images grâce à l’intelligence artificielle !

Découvrez comment cet algorithme peut comprendre les images et supprimer automatiquement l’objet ou la personne indésirable pour sauver votre future publication Instagram !

Supprimez les objets indésirables de vos images grâce à l’intelligence artificielle !
Sommaire

Regardez la vidéo

Vous avez très certainement déjà vécu cette situation : vous prenez une superbe photo avec un ami et quelqu’un s’incruste derrière vous, ruinant votre future publication Instagram. Eh bien, ce n’est plus un problème. Qu’il s’agisse d’une personne ou d’une poubelle que vous avez oublié de retirer avant de prendre votre selfie, cet élément gâche votre photo. Cette IA supprimera tout simplement et automatiquement l’objet ou la personne indésirable de l’image pour sauver votre publication. C’est comme avoir un professionnel de Photoshop dans votre poche, à portée d’un simple clic !

Exemple visuel de la suppression d’objets indésirables de vos images grâce à l’intelligence artificielle

Exemple d’inpainting d’image. Réalisé avec LaMa.

Cette tâche, qui consiste à supprimer une partie d’une image et à la remplacer par ce qui devrait apparaître derrière, préoccupe les chercheurs depuis longtemps. On l’appelle l’inpainting d’image et elle est extrêmement complexe. Comme nous le verrons, l’article que je veux vous présenter obtient des résultats incroyables et peut facilement le faire en haute définition, contrairement aux approches précédentes dont vous avez peut-être entendu parler. Vous voudrez certainement rester jusqu’à la fin de l’article pour voir cela. Vous n’en croirez pas vos yeux en découvrant à quel point le résultat est réussi et réaliste pour quelque chose qu’un algorithme produit en une fraction de seconde !

Pour supprimer un objet d’une image, la machine doit comprendre ce qui devrait apparaître derrière cet objet. Pour y arriver, elle devrait avoir une compréhension du monde en 3 dimensions comme les humains, mais ce n’est pas le cas. Elle a seulement accès à quelques pixels dans une image. Voilà pourquoi la tâche est si compliquée, même si elle nous semble assez simple puisque nous pouvons imaginer la profondeur et deviner qu’il devrait y avoir le reste du mur, la fenêtre à cet endroit, etc.

Exemple visuel de la suppression d’objets indésirables de vos images grâce à l’intelligence artificielle

Exemples tirés de l’ensemble de données Imagenet.

Nous devons essentiellement apprendre à la machine à quoi ressemble normalement le monde. Nous allons donc utiliser BEAUCOUP d’exemples d’images du monde réel afin qu’elle puisse se faire une idée de ce à quoi notre monde ressemble dans l’univers bidimensionnel des images. Cette approche n’est pas parfaite, mais elle fait le travail.

Exemple visuel de la suppression d’objets indésirables de vos images grâce à l’intelligence artificielle

Image en basse définition comparée à une image en haute définition. Image de l’auteur.

Un autre problème vient ensuite du coût de calcul nécessaire pour utiliser des images du monde réel contenant beaucoup trop de pixels. Pour le résoudre, la plupart des approches actuelles travaillent avec des images de faible qualité, donc une version réduite de l’image que nos ordinateurs peuvent gérer. Elles agrandissent ensuite la partie reconstruite pour la replacer dans l’image originale, ce qui donne un résultat final moins réussi qu’il pourrait l’être. Ou, du moins, pas assez beau pour être partagé sur Instagram et obtenir toutes les mentions J’aime que vous méritez. Vous ne pouvez pas vraiment lui fournir directement des images de haute qualité, car leur traitement et l’entraînement prendraient beaucoup trop de temps. À moins que ce soit possible ?

Le modèle : LaMa

Exemple visuel de la suppression d’objets indésirables de vos images grâce à l’intelligence artificielle

L’architecture de LaMa. Image tirée de l’article.

Eh bien, ce sont les principaux problèmes auxquels les chercheurs se sont attaqués dans cet article. Voici comment ils s’y sont pris…

Roman Suvorov et ses collègues de Samsung Research ont présenté un nouveau réseau assez particulier appelé LaMa. Comme vous pouvez le voir plus haut, pour l’inpainting d’image, vous fournissez normalement l’image initiale ainsi que ce que vous voulez en retirer. C’est ce qu’on appelle un masque, soit l’image en noir et blanc ci-dessus. Il recouvre l’image comme vous pouvez le voir ici, et le réseau n’a plus accès à cette information puisqu’il doit remplir les pixels.

Exemple visuel de la suppression d’objets indésirables de vos images grâce à l’intelligence artificielle

Le réseau doit ensuite comprendre l’image et essayer de remplir les mêmes pixels avec les couleurs qu’il juge les plus appropriées. Dans ce cas, les chercheurs commencent comme avec n’importe quel autre réseau et réduisent la taille de l’image. Mais ne vous inquiétez pas, leur technique leur permet de conserver la même qualité qu’une image à haute résolution. C’est parce qu’ils utilisent ici quelque chose d’un peu différent de l’habitude pour traiter l’image.

Exemple visuel de la suppression d’objets indésirables de vos images grâce à l’intelligence artificielle

Réseaux de neurones convolutifs (CNN). Image de l’auteur.

Ici, au milieu, nous pouvons normalement voir différents réseaux, principalement des réseaux de neurones convolutifs. Ces réseaux sont souvent utilisés pour les images en raison du fonctionnement des convolutions, que j’ai expliqué dans d’autres articles comme celui-ci si vous voulez comprendre leur fonctionnement.

Exemple visuel de la suppression d’objets indésirables de vos images grâce à l’intelligence artificielle

Encodage et décodage d’une image en deux étapes à l’aide de réseaux de neurones convolutifs (CNN). Image de l’auteur.

En bref, le réseau fonctionne en deux étapes :
Premièrement, il compresse l’image et essaie de conserver seulement les informations pertinentes.
Le réseau finit surtout par conserver les informations générales de l’image, comme ses couleurs, son style global ou les objets généraux qui y apparaissent, mais pas les détails précis. Il essaie ensuite de reconstruire l’image en appliquant les mêmes principes à l’envers. Nous utilisons certaines astuces, comme les connexions de saut, qui conservent l’information des premières couches du réseau et la transmettent pendant la deuxième étape afin de l’orienter vers les bons objets. En bref, le réseau sait facilement qu’il y a une tour, un ciel bleu et des arbres. C’est ce qu’on appelle l’information globale. Mais il a besoin de ces connexions pour savoir qu’il s’agit de la tour Eiffel au milieu de l’écran, que des nuages se trouvent ici et là et que les arbres ont ces couleurs. Il a besoin de tous les détails fins, ce que nous appelons l’information locale.

Après un long entraînement sur de nombreux exemples, nous nous attendons à ce que notre réseau reconstruise l’image ou, du moins, une image très semblable qui contient le même type d’objets et qui soit similaire, voire identique, à l’image initiale.

Exemple visuel de la suppression d’objets indésirables de vos images grâce à l’intelligence artificielle

Mais rappelez-vous que, dans ce cas, nous travaillons avec des images de qualité inférieure que nous devons agrandir, ce qui nuit à la qualité des résultats. La particularité de cette approche est qu’au lieu d’utiliser des convolutions comme dans les réseaux convolutifs classiques et des connexions de saut pour conserver l’information locale, elle utilise ce qu’on appelle la Fast Fourier Convolution, ou FFC. Cela signifie que le réseau travaille à la fois dans les domaines spatial et fréquentiel, sans devoir revenir aux premières couches pour comprendre le contexte de l’image. Chaque couche utilise des convolutions dans le domaine spatial pour traiter les caractéristiques locales et des convolutions de Fourier dans le domaine fréquentiel pour analyser les caractéristiques globales. Le domaine fréquentiel est un peu particulier. J’ai ajouté une excellente vidéo qui l’explique dans les références ci-dessous si vous êtes curieux. Il transforme essentiellement votre image en toutes les fréquences possibles, un peu comme des ondes sonores représentant une personne qui parle, mais avec des images, puis indique la quantité de chaque fréquence que l’image contient. Chaque « pixel » de cette nouvelle image représente donc une fréquence qui couvre l’ensemble de l’image spatiale ainsi que son importance, plutôt qu’une couleur. Ici, les fréquences correspondent simplement aux motifs répétés à différentes échelles.

Exemple visuel de la suppression d’objets indésirables de vos images grâce à l’intelligence artificielle

Un « pixel » de l’image de Fourier représente les lignes verticales d’un mur de briques. Image de l’auteur.

Par exemple, l’un de ces pixels fréquentiels pourrait être fortement activé par des lignes verticales séparées par une distance précise. Cette distance pourrait correspondre à la longueur d’une brique. Le pixel serait donc fortement activé si l’image contient un mur de briques. Vous pourriez alors comprendre qu’il s’agit probablement d’un mur de briques dont la taille est proportionnelle à son niveau d’activation. Vous pouvez répéter ce processus pour tous les pixels activés par des motifs semblables, ce qui vous donne de bons indices sur l’aspect général de l’image, mais aucun sur les objets eux-mêmes ou leurs couleurs. Le domaine spatial s’occupe de cette partie.

Exemple visuel de la suppression d’objets indésirables de vos images grâce à l’intelligence artificielle

L’architecture de LaMa avec les détails de la FFC. Image tirée de l’article.

Effectuer des convolutions sur cette nouvelle image de Fourier vous permet donc de travailler avec l’image entière à chaque étape du processus de convolution. Le réseau accède ainsi à une bien meilleure compréhension globale de l’image, même dans les premières couches et sans coût de calcul important, ce qui est impossible avec des convolutions classiques. Les résultats globaux et locaux sont ensuite conservés et transmis aux prochaines couches, qui répètent ces étapes. Vous obtenez finalement l’image que vous pouvez agrandir. L’utilisation du domaine de Fourier permet au modèle de s’adapter à de plus grandes images, car la résolution n’affecte pas ce domaine. Il utilise les fréquences de l’image entière plutôt que les couleurs, et les motifs répétés recherchés restent les mêmes, peu importe la taille de l’image. Cela signifie que même si vous entraînez ce réseau avec de petites images, vous pouvez ensuite lui fournir des images beaucoup plus grandes et obtenir des résultats impressionnants.

Exemple visuel de la suppression d’objets indésirables de vos images grâce à l’intelligence artificielle

Exemple visuel de la suppression d’objets indésirables de vos images grâce à l’intelligence artificielle

Exemples d’échecs dans des images reconstruites par LaMa. Image tirée de l’article.

Comme vous pouvez le voir, les résultats ne sont pas parfaits, mais ils sont assez impressionnants. J’ai hâte de découvrir ce que les chercheurs feront ensuite pour les améliorer !

Bien sûr, il ne s’agissait que d’un aperçu de ce nouveau modèle. Vous trouverez plus de détails sur sa mise en œuvre dans l’article lié dans la description ci-dessous. J’espère que vous avez aimé cet article. Si c’est le cas, prenez une seconde pour le partager avec un ami que le sujet pourrait intéresser !

Merci d’avoir lu cet article.


Si vous aimez mon travail et voulez rester au courant de l’IA, vous devriez absolument me suivre sur mes autres réseaux sociaux (LinkedIn, Twitter) et vous abonner à mon infolettre hebdomadaire sur l’IA !

Pour me soutenir :

  • La meilleure façon de me soutenir est de devenir membre de ce site Web ou de vous abonner à ma chaîne YouTube si vous aimez le format vidéo.
  • Suivez-moi ici ou sur Medium
  • Vous voulez vous lancer en IA ou améliorer vos compétences ? Lisez ceci !

Références

Discussion

Commentaires

Chargement

Aucun compte requis. Votre nom et votre commentaire seront publics, alors n'incluez pas de renseignements privés. Consultez la page de confidentialité pour les détails.

Continuez à apprendre

Vous voulez le côté pratique de l'IA, sans le brouillard marketing ?

Je partage ce qui est utile sur YouTube, Substack et dans mes guides d'ingénierie IA.

FAQ

Que fait LaMa ?

LaMa supprime un objet sélectionné et génère une continuation plausible de l’arrière-plan caché.

Pourquoi est-il difficile pour un modèle de supprimer un objet ?

Les pixels couverts ne sont pas accessibles. Le système doit donc déduire la géométrie, la texture et la structure à partir du contexte qui entoure la zone.

Quelle est la différence entre l’inpainting et le recadrage ?

Le recadrage élimine une partie de l’image, tandis que l’inpainting reconstruit la région sélectionnée à l’intérieur du cadre original.

Quels types de régions sont les plus difficiles à remplir ?

Les grands masques qui traversent des lignes structurées, des motifs répétés, des visages ou des objets uniques créent des informations manquantes difficiles à reconstruire.

L’arrière-plan généré recrée-t-il ce qui se trouvait réellement derrière l’objet ?

Non. Le modèle crée un résultat plausible qui peut être différent de la scène cachée derrière l’objet supprimé.

Pourquoi les convolutions de Fourier aident-elles LaMa à traiter de grandes régions manquantes ?

Elles donnent à chaque couche accès aux motifs fréquentiels de l’image entière ainsi qu’aux caractéristiques spatiales locales. Le modèle peut donc utiliser le contexte global sans traiter directement chaque pixel en haute résolution.