Top 10 des LoRA Célébrités sur Civitai (Novembre 24).

Il est possible d’entrainer le LoRA d’une personne… Cela signifie qu’il est alors possible de générer des photos de  cette personne dans tous les contextes possibles et imaginables.

La question sous-jacente, sous prétexte d’un titre aguicheur, est celle du droit à l’image et même peut-être plus.

 

Le TOP 10 du mois (novembre 24)

Le filtre : Les LoRA « célébrité » les plus téléchargés sur les 30 derniers jours. Uniquement sur le modèle FLUX (ultra-réalisme).

https://civitai.com/models?tag=celebrity

Vous pouvez indiquer day/week/month dans « filter » en haut à droite

Notez qu’aucunes des images n’est une vraie photo de la célébrité …

Dans l’ordre :

  1. Taylor Swift (chanteuse)
  2. Emilia Clarke (Daenerys dans Game of Thrones)
  3. Little Caprice (actrice films adultes)
  4. Krystal Boyd (actrice films adultes)
  5. Lupa Fuentes (actrice films adultes)
  6. Amouranth (streameuse célèbre sur twitch)
  7. Riho Yoshioka 2015 (actrice japonaise)
  8. Kat Dennings (actrice américaine)
  9. Kristen Bell (actrice américaine)
  10. Jennifer Connely 1990s (actrice américaine)

Le 1er homme est Donald Trump autour de la 60e place.

La 1ere française est Eva Green autour de la 100e place.

 

James Bond Girls : https://civitai.com/models/284753?modelVersionId=1055033

Sur l’année, et tous les modèles confondus:

  1. Tous les acteurs de Game of Thrones
  2. Les James Bond Girls
  3. Aespa Karina (chanteuse Sud-coréenne)
  4. Emma Watson (Hermione)
  5. etc.

Inutile de chercher à analyser les pourquoi de ce classement, pourquoi ces célébrités et pas d’autres, tout le monde aura bien compris, et ce n’est pas le sujet.

 

C’est toi, oui, mais quand ?

Et oui ! Nous changeons… le temps fait son œuvre. C’est la première chose qui m’a frappé : Ce ne sont pas des LoRA de la personne, mais de la personne à une époque précise, ou dans un contexte précis (un film), à une époque où les photos d’entrainement (dataset) sont cohérentes.

L’exemple le plus parlant est le LoRA  de « Erin Moriarty Pre-plastic surgery ». Autrement dit, c’est le modèle de cette actrice américaine « avant qu’elle ne se fasse refaire le visage ». Ou pour Jennifer Connely, il est bien spécifié que l’entrainement est basé sur des photos d’elle dans les années 1990.

 

Ce qui m’intéresse ici, ce n’est pas que des fans veuillent générer leur idole à des âges différents, mais c’est l’idée que la personne elle-même (ou sa famille) puisse générer ces images d’un temps qui n’est plus… « Regarde, je me suis fait une photo de moi avant… »

Mais imaginons que bientôt il soit pertinent/possible de générer des LoRA d’une personne à travers les âges. Il suffirait alors d’indiquer dans le prompt l’âge de la personne en question pour retrouver une image fidèle et réaliste.

Puis, bientôt (déjà là), des vidéos, avec une reproduction de la voix…

Plus loin, je peux facilement imaginer un écran posé sur une table avec dedans « l’avatar » vidéo et sonore de mon grand-père qui puisse m’écouter et me répondre grâce à un chatBot. Ce ChatBot étant optimisé sur l’ensemble des souvenirs écris et numérisés de mon grand-père (par un RAG sur le LLM).

Est-ce un bien ou un mal ? Je ne le sais pas. Mais toutes les technologies sont déjà là.

 

Changeons de point de vue

Quel est le principe d’un LoRA ? Et de l’IA en général ?

Le principe est de numériser le sens (humain) des choses, extraire l’équation de la chose. En philosophie, on parlerai de « l’essence » et d’un processus « phénoménologique ».

Un LoRa est l’expression numérique de ce qui fait que cette « chose » est différente des autres « choses », l’ensemble de ses caractéristiques nécessaires qui font que, pour tout humain, cette chose est percevable et identifiable en tant que telle. Cette version numérique est associée à un mot clef. L’utilisation de ce mot clef dans un prompt va donner des contraintes au modèle lors de la génération.

Mais cet entraînement est nécessairement imparfait. La meilleure preuve en est que sur certaines célébrités, il y a plusieurs versions de LoRA disponibles.

Le LoRA est une interprétation de celui qui a fait l’entrainement par un choix des photos du dataset. Cela va en déterminer l’orientation, les accents, la qualité.

Aussi, et c’est là où je voulais en venir, l’utilisation d’un LoRA est, a priori, aussi soumise à des droits… Il n’est pas seulement dépendant des photos/matériels utilisés, mais aussi directement déterminé par un auteur qui a fait des choix. Cela ne m’étonnerait pas que, rapidement, des LoRA deviennent payants, ou, aussi, deviennent des supports marketing…

Notez que même si on reste dans un usage strictement personnel, car je ne pense pas qu’un professionnel s’amuserait à générer des images de quelqu’un sans son consentement, certains auteurs de LoRA font preuve d’une certaine déontologie en rappelant :  » Please be wise with the usage of this model. Do Not Use for inappropriate or NSFW work that can harm others. »

 

Conclusion

Il y a quelque chose de profondément nouveau dans cet étalage de personnes à télécharger, qu’elles soient célèbres ou non.

En effet, il est possible de télécharger par exemple toutes les princesses Disney… Mais aussi des personnes « nobody », autrement dit des personnes communes, « quelqu’un », l’homme de la rue.

Bientôt des services de recomposition de personnes à partir de toutes ses photos, vidéos et écris dont on dispose sur elle ?

Il y a quelque chose de l’ordre du « vol d’âme ». On n’est plus dans le simple montage photo, on a passé un cap…
Il y a, je pense, ici un pouvoir potentiel de nuisance à la personne énorme, mais aussi de potentiels bienfaits enthousiasmants.

Mon grand-père sur une clef USB ?…

Ce sont de vraies questions qui s’avancent.

 

 

Références :

Prompt de l’image en une :  <lora:nobody_2_f1:1> The image is a portrait of a young woman sitting in the back seat of a car. She has long, wavy blonde hair that is styled in loose curls and falls over her shoulders. She is wearing black-rimmed glasses and has freckles on her face. The woman is looking directly at the camera with a serious expression. The background is blurred, it’s ALpine mountains near Chambéry – Savoie, but it appears to be the interior of the car, with the sunroof visible on the right side of the image. In the bottom centered of the photography is text written in the VHS timestamp style « NOBODY – NOV 2024 « 

LoRA « Nobody : https://civitai.com/models/675026/flux-nobody-model

Qu’est qu’un LoRA ? Et comment les utiliser avec Stable Diffusion ?

Les modèles de grande envergure nécessitent habituellement des ressources de calcul importantes et un volume de données conséquent pour être ajustés à des tâches spécifiques.
On ne peut donc pas raisonnablement ré-entrainer un modèle entier juste pour ajouter un style, un personnage ou un univers.

Les Low-Rank Adaptations (LoRA) ont été développées pour répondre au besoin de fine-tuning efficace des modèles de génération d’images massifs, comme Stable Diffusion. LoRA contourne ce problème en introduisant des « adapteurs de bas-rang » qui modifient uniquement certaines parties des matrices de poids du modèle, réduisant ainsi considérablement la charge de calcul et la mémoire nécessaires pour l’entraînement.

Cette technique permet de conserver le modèle principal inchangé et d’ajuster des paramètres supplémentaires, qui se superposent pour spécialiser le modèle sans nécessiter une reformation complète. Pour utiliser LoRA avec Stable Diffusion, on peut charger un modèle pré-entrainé et y appliquer les adapteurs LoRA pré-configurés pour générer des images adaptées à des styles, sujets ou détails spécifiques sans avoir à réentraînner entièrement le modèle, offrant ainsi une solution efficace pour la personnalisation de génération d’images.

Autrement dit, on peut dire qu’un LoRA est comme un « plugin », un « Add-on », une « extension », qu’on insère dans le prompt pour utiliser un effet.

Comment cela fonctionne ?

Dans le prompt original, on ajoute <Nom_Du_Lora:Force> MotClef-Activation

Nom du LoRA : le nom du LoRA que vous avez téléchargé

Forcedu LoRA : de 0 à 2 . 1 par défaut, souvent on obtient de meilleurs résultats avec une valeur de 0.75/0.85

MotClef (trigger word) : les mots associés au LoRA et qui activent l’effet.

 

Reprenons l’exemple de prompt :  » An Alpine woman in the 1920s. Alpine mountains in background. » (La Savoie et la Haute-Savoie à toujours l’honneur donc 😉 )

Nous utiliserons un modèle FLUX.

Voici un rendu, sans utilisation de LoRA :

 

Exemple avec un LoRA spécialisé dans les films muets des années 1920

Le prompt : « An Alpine woman in the 1920s. Alpine mountains in background. <lora:20s_Silent_Movie:1> ArsMovieStill, 20s Silent Movie Still »

 

Exemple avec un LoRA spécialisé dans les films des années 1930

Le prompt :  » An Alpine woman in the 1920s. Alpine mountains in background. <lora:30s_Technicolor_Movie:0.85> ArsMovieStill, movie still from a 1930s technicolor movie »

 

 

Exemple avec un LoRA spécialisé dans les films noirs des années 1950

Le prompt :  » An Alpine woman in the 1920s. Alpine mountains in background. <lora:50s_Noir_Movie:1> ArsMovieStill, Noir Movie Still »

 

Exemple avec un LoRA spécialisé dans les films psychédéliques des années 1960

Le prompt :  » An Alpine woman in the 1920s. Alpine mountains in background. <lora:60s_Psychedelic_Movie:1> ArsMovieStill, movie still from a 60s psychedelic movie »

 

Exemple avec un LoRA spécialisé dans les films d’horreur des années 1970

Le prompt :  » An Alpine woman in the 1920s. Alpine mountains in background. <lora:70s_Horror_Movie:1> ArsMovieStill, movie still from a 1970s horror movie »

 

Exemple avec un LoRA spécialisé dans les films fantastiques des années 1980

Le prompt :  » An Alpine woman in the 1920s. Alpine mountains in background. <lora:80sFantasyMovie2:1> ArsMovieStill, 80s Fantasy Movie Still »

 

Que retenir de ces exemples ?

Que ce n’est pas aussi simple que ça ! Assez rapidement vous aurez des effets de « bleeding » , c’est-à-dire que le style ajouté déborde sur des aspects où vous ne le vouliez pas. Dans nos exemples, la tenue de la jeune femme, suivant les années, ne respecte pas le prompt orginal des 1920 .

Composer une image IA est beaucoup plus difficile qu’on le pense, cela demande, avant tout, d’avoir une idée précise de ce que l’on veut représenter…

 

Références : Les LoRA utilisés viennent de  https://civitai.com/user/ArsMachina

 

 

Les angles de vue dans les prompts pour images

L’angle de vue s’ajoute ou remplace la prise de vue.

Tout comme le premier article sur le sujet, pour permettre des comparaisons,  le prompt de base sera le suivant : « An Alpine woman in the 1920s. Alpine mountains in background. »

C’est à dire : une femme des alpes dans les années 1920, avec les montagnes des Alpes en fond. (La Savoie et la Haute-Savoie à l’honneur donc 😉 )

Les modèles utilisés seront FLUX et SDXL :

  • Pour FLUX : Acorn is Spinning FLUX, en version De-Distilled.
  • Pour SDXL : JuggernautXL.

 

Tout comme dans l’article précédent, les modèles Stable Diffusion sont beaucoup plus efficaces sur ce genre de contraintes. Le modèle FLUX, lui, a du mal à respecter les consignes du prompt.

Overhead shot, from the top, birds eye, birds eye view (vue d’un oiseau !)

 

Modèle SDXL 1.0
Modèle SDXL 1.0

Notez que cette vue est difficile à obtenir. Les modèles FLUX n’ont pas été convaincant.

 

Ground level shot, shot from ground level (Le photographe est au niveau du sol)

Modèle FLUX

 

Knee level shot (Le photographe est au niveau des genoux)

Modèle FLUX
Modèle SDXL 1.0

NOTE : ce qui est intéressant, c’est que l’IA respecte bien l’angle de prise de vue, mais par contre, elle fait apparaître des genoux sur le sujet ! Le terme « knee » est appliqué aux 2 !
Il faudrait spécifier dans le prompt la tenue du sujet.

 

 

High angle, high angle shot (grand angle)

Modele SDXL 1.0

 

Low angle shot, from a low angle (angle faible)

Modèle SDXL 1.0

 

Eye level shot, at the eye level (au niveau des yeux)

Modèle SDXL 1.0
Modèle FLUX

 

 

Conclusion

Les angles de vue sont très difficiles à faire respecter par les modèles. Cela n’empêche que ce sont des contraintes très utiles pour réaliser des compositions riches et variées.

Je n’ai pas réussi à générer une image correcte en « vue du ciel » (bird’s eyes) avec le modèle FLUX, ce qui est plutôt décevant.

Les prises de vue pour les images dans les prompts IA

Pour obtenir une belle image, un bon cadrage est essentiel. L’IA a tendance à centrer le sujet automatiquement, mais cela ne suffit pas toujours ! Il existe plusieurs types de prises de vue : Close-up, Extreme Close-up, POV, Medium Shot, Long Shot, etc., chacun apportant une esthétique et un focus différents.

Je vous propose de tester les effets de ces différents « types de prise de vue ». Le prompt de base sera le suivant : « An Alpine woman in the 1920s. Alpine mountains in background. »

Les modèles utilisés seront FLUX et SDXL :

  • Pour FLUX : Acorn is Spinning FLUX, en version De-Distilled.
  • Pour SDXL : JuggernautXL.

Notez que les modèles FLUX, bien que produisant des images de qualité, ne respectent pas toujours fidèlement les spécifications des prises de vue.

 

L’Extreme Close-up (Zoom) :

Prompt 1 : «  Extreme close-up of an Alpine woman in the 1920s. Alpine mountains in background.   »

Modèle FLUX

 

Modèle FLUX
Modèle SDXL 1.0
Modèle SDXL 1.0

Le Close-up (Gros plan / portrait) :

Prompt : «  Close-up of an Alpine woman in the 1920s. Alpine mountains in background.  »

Modèle FLUX

 

 

Modèle FLUX
Modèle SDXL 1.0
Modèle SDXL 1.0

Medium shot (hanches) :

Prompt : «  Medium of an Alpine woman in the 1920s. Alpine mountains in background. »

Modèle FLUX
Modèle SDXL 1.0
Modèle SDXL 1.0

Cowboy shot (mi-cuisse):

Prompt : «  Cowboy shot of an Alpine woman in the 1920s. Alpine mountains in background.  »
Note : FLUX n’est pas bon pour ce terme. C’est une spécificité des modèles SD1.5 et SDXL. Plus que cela, il sort une femme « cowboy » … SDXL cadre correctement, mais ajoute aussi un chapeau de Cowboy…

Le modèle FLUX ne comprend pas la prise de vue « Cowboy shot » …
Modèle SDXL 1.0
Modèle SDXL 1.0

 

Medium full shot :

Prompt : «  Medium full shot of an Alpine woman in the 1920s. Alpine mountains in background.  »

Modèle FLUX
Modèle SDXL 1.0

 

Full shot :

Prompt : «  Full shot of an Alpine woman in the 1920s. Alpine mountains in background.  »

Modèle SDXL 1.0

 

Long shot :

Prompt : «  Long shot of an Alpine woman in the 1920s. Alpine mountains in background. »

 

Modèle FLUX

 

Modèle SDXL 1.0
Modèle SDXL 1.0

 

Conclusion

Les modèles d’IA ne respectent pas toujours parfaitement les contraintes de cadrage, mais il est essentiel de les inclure dans les prompts. En particulier, précisez au minimum un cadrage « full body » ou « portrait » pour obtenir des résultats proches de vos attentes.

 

Automatic 1111 , ForgeUi : Générer des images avec l’IA en local

Si vous avez une machine qui dispose d’au moins 8gb de VRAM, vous pouvez essayer de générer des images grâce à l’intelligence artificielle sur votre propre ordinateur.

Je vais ici vous présenter les concepts importants pour débuter.

 

Les 3 logiciels :

Automatic1111 : https://github.com/AUTOMATIC1111/stable-diffusion-webui

Le plus populaire à l’heure actuelle.

Forge UI : https://github.com/lllyasviel/stable-diffusion-webui-forge

Une réplique modifiée de Automatic 1111 qui voit sa popularité augmenter depuis qu’il permet d’utiliser les modèles FLUX

ComfyUI : https://github.com/comfyanonymous/ComfyUI

Moins utilisé, car plus technique

J’utilise ici Automatic 1111 avec une carte 3060RTX 12Go

 

Des concepts importants :

Text2img : L’images est générée à partir d’un prompt.

Img2img : L’image est générée à partir d’une image de référence.

Inpainting : On donne un prompt pour modifier une partie d’une image existante.

Prompt : Les instructions données au modèle.

Negative Prompt : Les instructions de ce qu’on ne veut pas.

Upscaling : Filtre qui permet de grandir la résolution du résultat

Les modèles (Checkpoint) :

Il existe des modèles de base (sd 1.5, sd XL, FLUX etc.), mais aussi une multitude de modèles retravaillés par la communauté.

Certains modèles sont spécialisés en réalisme, d’autres en cartoon, etc. Il suffit de télécharger un modèle et de le placer dans le répertoire adéquat de votre logiciel pour pouvoir l’utiliser.

Attention aux licences !! Chaque modèle a sa licence d’utilisation …

Attention : La taille du modèle ne doit pas dépasser la taille de la mémoire de votre carte graphique !

Une bonne source de modèles se trouve ici : https://civitai.com/models

SD 1.5 : C’est le modèle de base de « stable diffusion » qui est rapide et est encore largement utilisé du fait des nombreux « LoRA » et autres filtres apportés par la communauté.

SDXL 1.0 : C’est le modèle qui a succédé à SD 1.5, plus orienté réalisme.

FLUX : Un modèle encore meilleur, mais qui ne fonctionne (pour l’instant) que sur Forge UI et Comfy UI.

LoRA : Un LoRA (Low Rank Adaption) est un petit modèle entrainé sur un point précis. Un personnage, un style, un concept etc. Les LoRA sont appelés dans vos prompts pour ajouter des effets.

Textual Inversion & Embeddings : Comme les LoRA, mais encore plus petits. Ils ajoutent des corrections comme par exemple les mains avec trop de doigts .

VAE : Ajoute des détails et des corrections d’images à la fin du processus.

Des extensions :

ControlNet (essentielle ! ): Une extension qui va par exemple permettre de définir des poses des personnages. Vous trouverez facilement une multitude de tutoriels sur le sujet.

ADetailer /DeForum : Des filtres et des outils.

ESRGAN : Permet de faire de l’upscaling de bonne qualité pour atteindre de grandes résolutions.

AnimatedDiff : Permet de générer de courtes vidéos, souvent sous forme de GIF animés.

 

Vous voilà prêt pour votre premier prompt !

Attention : tous les prompts sont en anglais

Un exemple : « Portrait of a woman from the Alpes in 1920s. Alpes mountains in background. »
Modele : juggernautXL_v9Rundiffusionphoto2 (base sdxl 1.0)

Même prompt avec le modèle « realcartoon25D_v3 » (base sd1.5), spécialisé Dessin à plat.

Enfin, la même chose avec FLUX (modèle acornIsSpinningFLUX_aisFluxDeDistilled) :

Vous pouvez voir les différences énormes d’interprétation selon les modèles, sur un prompt identique.

 

Quelques petites choses importantes :

  • Le temps mis pour générer une image va dépendre de la capacité de votre carte graphique, du modèle utilisé, de la taille de l’image voulue, du nombre de Steps (itérations, généralement 20) configuré. Cela va de quelques secondes à plusieurs minutes !
  • Cela consomme de l’énergie ! Votre carte graphique et votre CPU seront utilisés presque au maximum de leurs capacités.
  • On génère habituellement beaucoup d’images d’un coup, pour ensuite faire une sélection.

 

Il est temps d’essayer ! A vous de jouer !