paint-brush
Créez des portraits d'animaux de compagnie de qualité avec ComfyUIpar@hacker5029997
428 lectures
428 lectures

Créez des portraits d'animaux de compagnie de qualité avec ComfyUI

par 5m2024/08/19
Read on Terminal Reader

Trop long; Pour lire

Les outils de manipulation d’images IA ont beaucoup évolué ces dernières années. Il est désormais assez facile de créer de beaux portraits stylisés de personnes et d’animaux. Mais les modèles IA sont très imprévisibles, donc la plupart des outils comptent sur l’utilisateur (ou un humain) pour éliminer les mauvaises générations et trouver la meilleure. Avec quelques astuces astucieuses et un réglage minutieux, vous pouvez créer un pipeline qui fonctionne de manière fiable pour la grande majorité des animaux de compagnie. Il est extrêmement résistant aux variations de pose, d’éclairage, etc.
featured image - Créez des portraits d'animaux de compagnie de qualité avec ComfyUI
undefined HackerNoon profile picture
0-item

Les outils de manipulation d'images par l'IA ont beaucoup évolué ces dernières années. Il est désormais assez facile de créer de beaux portraits de personnes et d'animaux avec style. Mais les modèles d'IA sont très imprévisibles. La plupart des outils comptent donc sur l'utilisateur (ou un humain) pour éliminer les mauvaises générations et trouver la meilleure.


Il s’agit du problème classique de « l’humain dans la boucle » qui afflige souvent les outils d’IA. Il s’avère qu’avec quelques astuces astucieuses et un réglage minutieux, vous pouvez créer un pipeline qui fonctionne de manière fiable pour la grande majorité des animaux de compagnie. Il est extrêmement résistant aux variations de pose, d’éclairage, etc.


Dans cet article, je vais approfondir son fonctionnement et toutes les petites astuces qui permettent cela. Voici quelques exemples de portraits que vous pouvez générer avec ce pipeline.

C'est parti !

Les ingrédients clés

Adaptateur IP

Le cœur de la technique est l'adaptateur IP. Il s'agit essentiellement d'un moyen d'inviter un modèle à l'aide d'une image au lieu d'un texte (il signifie littéralement Adaptateur d'invite d'image). Ainsi, au lieu de prendre des incorporations de texte, il utilise une image pour obtenir les incorporations. C'est très puissant car il peut capturer avec précision le style et la structure d'une image directement, au lieu que quelqu'un doive traduire ce qu'il veut d'une image en texte. Dans notre nœud ComfyUI IPAdapter, nous avons deux entrées, une pour le style et une pour la composition. Nous utilisons une image de peinture à l'aquarelle pour le style et alimentons l'image d'origine pour la composition (puisque nous voulons conserver la même composition, mais changer le style).


L'image ci-dessus est utilisée comme invite d'image pour l'adaptateur IP

Réseaux de contrôle

Maintenant que nous avons un moyen de conserver un style cohérent, nous pouvons nous concentrer sur la représentation fidèle de l'animal. Les adaptateurs IP privilégient fortement la qualité de l'image, et la ressemblance de l'image en souffre. Nous devons donc faire quelque chose pour que la sortie ressemble au même objet que l'entrée.


La réponse à cette question est ControlNet. Les ControlNets sont une autre technique intéressante pour fournir des contraintes supplémentaires au processus de génération d'images. En utilisant un ControlNet, vous pouvez spécifier des contraintes sous la forme de bords, de profondeur, de pose humaine, etc. Une fonctionnalité intéressante des ControlNets est qu'ils peuvent être empilés. Vous pouvez donc avoir un ControlNet de bord qui force la sortie à avoir des bords similaires à ceux de l'entrée, et également un ControlNet de profondeur qui force la sortie à avoir un profil de profondeur similaire. Et c'est exactement ce que je fais ici.


Sortie d'un Canny Edge ControlNet (à gauche) et d'un ControlNet de profondeur (à droite). Ces derniers forcent la sortie à ressembler à l'entrée.


Il s'avère que les réseaux de contrôle ne sont pas seulement empilables avec d'autres réseaux de contrôle, mais qu'ils peuvent également fonctionner en tandem avec l'adaptateur IP mentionné ci-dessus. Ce sont donc les outils que nous utiliserons pour cela : IPAdapter avec une image source pour obtenir le style, ControlNet avec un détecteur de contour astucieux pour contraindre en fonction des contours, et ControlNet avec une profondeur pour contraindre en fonction du profil de profondeur.


C'est tout ce dont vous avez besoin en termes de techniques, mais ce que j'ai appris en expérimentant avec l'apprentissage automatique pour la production, c'est qu'une grande partie de la valeur de ces choses vient du fait de prendre le temps de régler parfaitement tous vos paramètres. Je veux donc en parler un peu.

Réglage fin

Avez-vous déjà trouvé un modèle avec des exemples de sortie étonnants, l'avez-vous essayé sur vos propres images et avez-vous réalisé qu'elles avaient l'air terribles ? Souvent, la seule raison à cela est que le modèle n'a pas été affiné pour vos images. Cela peut parfois sembler être un blocage complet, car par où commencer pour affiner un modèle pré-entraîné ?! Voici ce que j'ai appris sur le sujet. Cela s'étend également au-delà de ce pipeline particulier, c'est donc une bonne connaissance à avoir en général.

Réseaux de contrôle

Les ControlNets sont très puissants, vous devez donc faire attention à contrôler leur effet sur la sortie. Heureusement, les nœuds personnalisés de ComfyUI nous permettent de réduire l'effet des ControlNets et également d'arrêter leurs effets à tout moment. Nous avons donc défini le détecteur de bord à 75 % de puissance et l'avons fait cesser d'influencer la génération à 75 % et le détecteur de profondeur s'est arrêté à 30 %. La raison pour laquelle nous les arrêtons à la fin plutôt que de simplement réduire leur puissance est que cela permet au réseau de « nettoyer » tous les artefacts causés par eux au cours des dernières étapes sans être contraint de l'extérieur. Cela rend simplement l'image plus jolie. Il utilise donc uniquement ses données d'entraînement pour rendre les choses aussi belles que possible, en ignorant les bords et la profondeur.



L'autre élément important à régler est le KSampler. Il y a beaucoup de petites choses qui se passent ici, mais je vais juste en aborder brièvement quelques-unes :

KSampler - Étapes

Tout d'abord, nous avons les étapes. Il s'agit littéralement du nombre de fois que le modèle sera exécuté de manière répétée. Plus il s'exécute, plus votre résultat sera stylisé et plus il s'éloignera de l'image d'origine. Les effets de ce phénomène ne sont souvent pas si évidents, il vaut donc la peine de jouer avec.


Échantillonneur K-CFG

Ensuite, il y a CFG. Honnêtement, je ne comprends pas bien cela, mais d'après son nom - Classifier Free Guidance - je suppose qu'il contrôle dans quelle mesure le modèle est autorisé à modifier l'image sans être contraint par les invites afin de lui donner un meilleur aspect. Cela affecte également considérablement l'image de sortie, il vaut donc la peine de jouer avec.


Débruitage

Une autre petite astuce intéressante que j'utilise ici consiste à démarrer le processus de génération d'image avec l'image d'entrée au lieu d'une image vierge, et à maintenir le débruitage à un niveau bas. Cela garantit que la sortie sera similaire en termes de couleurs et de textures.


Invite de texte

Une chose que je n'ai jamais mentionnée jusqu'à présent est l'invite textuelle ! C'est surprenant, car c'est généralement le seul conditionnement que vous fournissez normalement aux modèles de diffusion. Mais dans ce cas, nous avons tellement d'autres moyens de conditionnement que les invites textuelles ne font généralement que gêner. Donc, dans ce cas, l'invite est littéralement juste "un chien". J'utilise un peu plus l'invite textuelle dans certains des portraits les plus stylisés, comme le chien du chef ou celui dans la salle de bain.

Ajout d'accessoires

En substance, il s'agit plus ou moins d'un « filtre IA » qui convertit les images en portraits à l'aquarelle. Mais c'est incroyable à quel point cela peut être flexible. Par exemple, pour faire le portrait du chien prenant une douche, j'ai littéralement rassemblé des images dans un outil de retouche d'image et je l'ai utilisé comme entrée ! Le modèle se charge d'unifier le tout et de nettoyer l'image.


Conclusion

Supprimez maintenant l'arrière-plan, ajoutez du texte et hop ! Vous obtenez un magnifique portrait qui capture tous les petits détails de votre animal et le peint toujours sous son meilleur jour !


Un grand merci à @cubiq pour son travail sur les nœuds ComfyUI et sa formidable série d'explications sur YouTube ! La majeure partie de ce pipeline a été construite et expliquée par lui dans ses vidéos.


Si vous voulez un portrait d'animal de compagnie sans passer par tous ces ennuis, pensez à en acheter un ici : pawprints.pinenlime.com !