L'inpainting est désormais une technique incontournable dans l'univers de l'intelligence artificielle (IA) et de la génération d'images. Cette méthode qui consiste à modifier ou à restaurer des parties d'images en s'appuyant sur le contexte environnant pour générer les pixels manquants rend incroyablement aisée la correction d'imperfections, la suppression d'éléments indésirables ou encore la complétion créative d'espaces vides.

Les modèles comme Flux et Stable Diffusion ne sont évidemment pas en reste dans ce domaine.

En effet, ces modèles de diffusion ne se contente pas de remplir les pixels manquant ; il interprète le contexte et la composition de l'image pour produire des résultats qui semblent intentionnels et harmonieux, comme s'ils faisaient partie de l'image originale depuis le début.

Ce guide de l'inpainting IA nous conduira à travers les fondements de cette technique, explorant comment elle fonctionne, ce qui la distingue d'autres méthodes de manipulation d'images, et les nombreuses façons dont elle peut être appliquée pour enrichir la création et l’interaction avec les images numériques.

Qu’est ce que l’Inpainting ?

L'inpainting numérique est une technique permettant de reconstruire les parties manquantes ou endommagées d'une image. Utilisant le contexte fourni par les zones intactes de l'image, cette méthode repose sur des algorithmes avancés pour prédire et générer les pixels absents de manière cohérente, visant à restaurer l'image à son état d'origine ou à modifier son contenu selon les besoins de l'utilisateur.

Les Origines de l'Inpainting

Cette technique trouve ses racines dans la restauration d'œuvres d'art, où les conservateurs utilisent divers matériaux pour combler les lacunes dans les tableaux et sculptures endommagées. Dans le domaine numérique, l'inpainting utilise des données plutôt que des matériaux physiques, mais l'objectif reste le même : recréer les parties manquantes en conservant l’harmonie de l'ensemble.

Exemples de restauration de photo par l’inpating (source: Wikipedia)

Exemples de restauration de photo par l’inpating (source: Wikipedia)

Contrairement aux méthodes traditionnelles de manipulation d'images, qui peuvent nécessiter une intervention manuelle minutieuse, l'inpainting automatise le processus de reconstruction. Il se distingue par sa capacité à comprendre et à interpréter le contexte visuel environnant pour produire des résultats qui s'intègrent naturellement à l'image. Cette compréhension contextuelle permet non seulement de réparer les images endommagées mais aussi d'éliminer ou de modifier des éléments spécifiques, comme des objets indésirables, sans laisser de traces évidentes de modification.

L'Inpainting à l'Ère de l'IA

L'inpainting peut être réalisé grâce à diverses approches algorithmiques, allant des techniques basées sur la diffusion, qui propagent les informations des zones intactes vers les zones à restaurer, aux méthodes basées sur l'apprentissage profond, qui apprennent des exemples pour prédire le contenu manquant.

Stable Diffusion, en particulier, emploie des modèles de diffusion conditionnelle pour offrir une flexibilité et une précision remarquables dans le processus d'inpainting, permettant aux utilisateurs de spécifier en détail les modifications souhaitées au moyen des descriptions textuelles (les prompts).

Avec l’avènement des IA générative et des modèles de diffusion, l'inpainting se révèle être une technique puissante et polyvalente de manipulation d'images, offrant des possibilités étendues pour la restauration, la modification et la création d'images numériques. Son intégration avec Stable Diffusion marque une avancée significative, rendant ces capacités sophistiquées accessibles à un large éventail d'utilisateurs.

Comment utiliser l’Inpainting ?

Effectuer de l’Inpainting avec une Ia comme Stable Diffusion demande à la fois d’avoir une interface permettant de définir l’image d’origine et la zone à générer et d’utiliser un workflow spécifique dans l’execution du diffuser.

Il existe également des modèles (checkpoint) optimisés pour des tâches d’Inpaiting plutôt que de génération simple en text-to-image mais depuis SDXL la différence entre le modèle standard et sa version inpainting est très légère.

Pour Flux, Black Forest Labs a sortit un modèle spécifique d’inpaiting nommé Flux Fillqui permet d’obtenir une meilleure qualité et précision d’inpainting.

Nous allons voir ensemble comment utiliser une interface standard dédiée à l’Inpainting. Nous verrons également comment différentes interfaces complètes comme Automatic1111 ou Fooocus intègre des outils d’Inpaiting.

<aside> 🧠 Le propos de cette article n’est pas de décrire la mise en place d’un workflow d’inpaiting avec un modèle de diffusion. Mais si le sujet vous intéresse, je vous conseille la documentation de l’inpainting avec diffuser sur HuggingFace.

</aside>