Chercher du réalisme dans les images IA

L’artificiel cherche à imiter le réel, voire à paraître plus réel que ce qui est imité.

Comment rendre la génération d’image plus réaliste ? Facile ! En imitant les erreurs !

Erreurs de cadrage, erreurs d’exposition, erreurs de mise au point etc. En insérant l’erreur, la photographie générée par IA devient plus réaliste.

J’ai trouvé un LoRA (voire l’article sur les LoRA si vous ne savez pas ce que c’est) qui ajoute des mots clefs spécialisés. La liste parle d’elle même : amateurish photo, low lighting, in motion, overexposed, underexposed, GoPro lens, eerie atmosphere, smeared background, smeared foreground
(photo amateur, faible éclairage, en mouvement, surexposé, sous-exposé, objectif GoPro, atmosphère inquiétante, arrière-plan brouillé/flou, premier plan brouillé/flou)

Les modèles utilisés sont de type FLUX .

Premiers prompts avec test d’écriture

Les modèles FLUX sont réputés pour écrire correctement du texte… Ce n’est pas aussi simple que cela et je ferai un article sur le sujet.

Voici les 1er prompts de mes essais, toujours orientés sur notre belle région savoyarde.

« an amateurish photo, amateur shot of A pretty Alpine woman rests in the sun on a ski slope. She’s in a deckchair on the terrace of a high-altitude restaurant. There’s a restaurant sign with the name of the restaurant written on it in large type with text : “**SAVOIE SKI BAR 1923 . Plat du jour : RACLETTE**”. She’s relaxing in the sunshine and fresh air. She’s  wearing clothes from the 1920s. She’s wearing winter boots, winter pants and a light top. The Alps are covered in snow. The sun is not in the photography. »

Que l’on pourrait traduire par : « une photo amateur, une photo amateur d’une jolie femme alpine qui se repose au soleil sur une piste de ski. Elle est installée dans un transat sur la terrasse d’un restaurant d’altitude. Il y a une enseigne de restaurant avec le nom du restaurant écrit en gros caractères avec le texte : « **SAVOIE SKI BAR 1923 . Plat du jour : RACLETTE** ». Elle se détend au soleil et à l’air frais. Elle porte des vêtements des années 1920. Elle porte des bottes d’hiver, un pantalon d’hiver et un haut léger. Les Alpes sont couvertes de neige. Le soleil n’est pas dans la photographie. »

Voici des rendus, avec des variations de prompt . Par exemple, avec ou sans le soleil dans le prompt.

 

 

Les photos sont plutôt belles, mais ce n’est pas le réalisme que j’attendais.

 

Chercher à reproduire les défauts

Pour aller au réalisme, il faut explicitement décrire les erreurs .

« Low-resolution photograph taken in a crowded area, perhaps in the apartment of a mountain chalet rental in a ski resort in the Alps, showing a young woman with short, dark hair. She appears to be of Caucasian origin, with a fair complexion. The woman is dressed in a thick beige sweater, and ski pants; she is leaning slightly forward. She wears a large red scarf and a silver ring in her left ear. Her face is a little red with the marks of sunglasses. Her lips are slightly parted, revealing a small silver nail in her lower lip. In the background, shelves are filled with miscellaneous items found in a winter sports rental, such as gloves, a backpack and a hat, giving the room a somewhat disorganized look. The lighting is dim, giving the scene a yellowish hue, perhaps from a lamp or light source in the room. The overall mood suggests a cheerful winter vacation style. The image is slightly blurred, perhaps due to poor lighting or an unstable camera. »

Traduction : Photographie à faible résolution prise dans un endroit encombré, peut-être dans l’appartement d’une location de chalet de montagne dans une station de ski dans les Alpes, montrant une jeune femme aux cheveux courts et foncés. Elle semble être d’origine caucasienne et avoir un teint clair. La femme est vêtue d’un pull beige épais, et d’un pantalon de ski ; elle est légèrement penchée en avant. Elle porte une grande écharpe rouge et un anneau d’argent à l’oreille gauche. Ses lèvres sont légèrement écartées, laissant apparaître un petit clou en argent dans sa lèvre inférieure. Son visage est un peu rouge avec les marques des lunettes de soleil. À l’arrière-plan, des étagères sont remplies d’objets divers qu’on trouve dans une location pour les sports d’hiver comme des gants, un sac à dos, un bonnet, ce qui donne à la pièce un aspect quelque peu désorganisé. L’éclairage est faible et donne une teinte jaunâtre à la scène, peut-être à cause d’une lampe ou d’une source lumineuse dans la pièce. L’ambiance générale suggère un style de vacances d’hiver joyeuses. L’image est légèrement floue, peut-être en raison d’un mauvais éclairage ou d’un appareil photo instable.

Voici des rendus, avec et sans les lunettes.

 

Et là ! Là, on a bien ce rendu particulier d’une photo prise dans un appartement de montagne.

On imagine parfaitement une station de ski en Savoie ou Haute-Savoie ! On imagine un début de soirée dans une location entre amis.

On a l’impression que je partage des photos de vacances, hein ?! C’est presque embarassant.

Et bien non ! Rien de tout cela n’existe ! Ces personnes n’existent pas.

 

L’inter-saison, tout un esprit…

Prompt :  » Scene of a small mountain village in the wintry Alps seen through a large window whose paint is peeling on the sill, revealing a bleak outdoor mountain landscape. In the foreground, the window frame is prominent, slightly worn and aged, suggesting the interior of an old wooden building. Beyond the glass, leafless trees stand in the middle of a brown, patchy field leading to a series of old dwelling chalets with thick slate roofs, characterized by weathered facades and balconies. The sky is overcast, casting a muted gray light over the entire view, indicating a late autumn or early winter atmosphere. The photograph is of amateur quality, slightly blurred, with dull colors, giving a feeling of melancholy and stillness.  »

Traduction : « Scène d’un petit village de montagne dans les Alpes hivernales vue à travers une grande fenêtre dont la peinture s’écaille sur l’appui, révélant un paysage extérieur de montagne morne. Au premier plan, le cadre de la fenêtre est proéminent, légèrement usé et vieilli, suggérant l’intérieur d’un vieux bâtiment en bois. Au-delà de la vitre, des arbres sans feuilles se dressent au milieu d’un champ brun et morcelé menant à une série de vieux chalets d’habitation aux épais toits d’ardoise, caractérisés par des façades et des balcons usés par le temps. Le ciel est couvert, jetant une lumière grise et sourde sur l’ensemble de la vue, indiquant une atmosphère de fin d’automne ou de début d’hiver. La photographie est de qualité amateur, légèrement floue, avec des couleurs ternes, donnant un sentiment de mélancolie et d’immobilité.., »

On sent la bonne ambiance…

 

 

Un autre prompt avec les montagnes

Prompt : « Interior of a high-altitude restaurant in the Alps. Large windows with a vibrant sunset, vivid pink and purple hues, contrasting with the silhouette of the village in the valley. Outside, the peaks of the snow-capped Alps can be seen in the orange glow of the sunset. There’s a woman looking out pensively, the emphasis on the serene contrast between inside and outside. Wide-angle lens, good image quality. »

Traduction : « Intérieur d’un restaurant d’altitude dans les Alpes. Grandes fenêtres avec un coucher de soleil vibrant, aux teintes roses et violettes, contrastant avec la silhouette du village dans la vallée. À l’extérieur, on aperçoit les sommets des Alpes enneigées dans la lueur orangée du coucher de soleil. Une femme regarde dehors d’un air pensif, l’accent étant mis sur le contraste serein entre l’intérieur et l’extérieur. Objectif grand angle, bonne qualité d’image. » Traduit avec DeepL.com (version gratuite)

Les rendus :

 

Ne cherchez pas où est ce restaurant ou quelles sont ces montagnes.
Rien n’existe…

 

Conclusion :

Ce ne sont que des exemples pour montrer que, quand vous entendez « j’aime pas les images IA, je les repère tout de suite avec leur aspect trop parfait« , sachez qu’en fait, cela dépend de la notion de « réel » que l’auteur de l’image a voulu exprimer…

Et ce n’est que le début !

 

 

LoRA utilisé : https://civitai.com/models/796382

 

Impact de l’intelligence artificielle sur l’éducation : la triche pour tous

« Copier-Coller » , quoi de plus simple ?

Les élèves utilisent les ChatBots pour faire leurs devoirs, mais les professeurs aussi pour les corriger !

Voici une petite expérience pour éclairer le sujet de la triche : Imaginons que l’enseignant demande un devoir sur les points importants de la vie de Charlemagne.

En tant qu’élève

Le prompt malicieux :

 » Je dois faire un devoir sur la vie de charlemagne en 500 mots maximum. Fait ce devoir, mais ajoute des fautes qui n’en sont pas vraiment (c’est-à-dire qui ne modifient pas la justesse des raisonnements et des résultats) pour humaniser le résultat. Indique-moi ces passages volontairement maladroits où je peux modifier la réponse sans incidence sur le résultat. Le style d’écriture doit correspondre à un élève de 13 ans plutôt mauvais. Donne-moi 3 versions. Donne tes réponses dans un format facile à copier-coller. « 

 

Une des 3 réponses :

 

 

Conclusion pour l’élève : Pas mal du tout ! En faisant un mélange des 3 versions, il est très facile de rendre un devoir « humain ».

 

Mais l’enseignant aussi peut « tricher » !

Prompt de l’enseignant qui reçoit le devoir :

 » Je vais te donner des devoirs à corriger.
Tu feras une évaluation avec double correction.
Tu feras une liste des aspects positifs et des aspects négatifs de la réponse de l’élève, sachant que j’attends qu’il ait compris les grands moments de la vie de Charlemagne, en moins de 500 mots.
Donne une probabilité en pourcentage que le devoir ait été réalisé avec l’aide d’une IA.
Enfin, donne une appréciation sur la qualité du devoir, en une phrase bienveillante et encourageante.
Enfin, au fur et à mesure de cette session, tu me feras un comparatif argumenté par une note qualitative de tous les devoirs que je t’ai proposés.
Donne ta réponse dans un format facile à copier-coller.
Dis moi quand tu es prêt à évaluer les textes. »

 

La réponse du chat bot en lui donnant la version 1 de l’élève …

 Et voilà ! L’IA parle à l’IA …

Notez que le ChatBot estime à 30 % la probabilité que ce devoir provienne de lui.

La question est ici de savoir comment, pour les élèves et les enseignants, éviter une telle situation. Et en premier lieu, est-ce vraiment une aberration ?

Du point de vue de l’élève, clairement oui, si celui-ci ne comprend pas ce qu’il a copié-collé. L’IA a réalisé le travail à sa place et l’élève n’a rien appris. En revanche, si l’élève connaît parfaitement sa leçon et/ou retravaille les réponses, il a gagné du temps, et peut-être même appris une nouvelle façon de structurer son devoir. De plus, il peut approfondir certains aspects des réponses et en apprendre davantage sur la vie de Charlemagne.

Du point de vue de l’enseignant, la question est plus complexe. Je n’ai pas de réponse définitive.

Il me semblait simplement important de fixer cet exemple comme point de repère, un sujet de perplexité.

L’usage de l’IA dans l’éducation concerne les deux côtés : élèves ET enseignants.

 

 

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 !

LM Studio – L’Intelligence Artificielle en local

Il n’y a pas l’IA, il y a DES modèles d’IAs.

Chaque semaine apporte son lot de nouveaux modèles d’intelligences artificielles, souvent spécialisés, toujours plus performants les uns que les autres. On parle ici des ChatBots, des LLM (Large Langage Model).

A moins que vous ne soyez féru des lignes de codes en Python, assez rapidement, vous chercherez une solution pratique pour faire fonctionner un de ces modèles en local, c’est-à-dire sur votre machine, hors connexion internet.

Présentation et fonctionnalités de LM Studio

LM Studio est un logiciel conçu pour exécuter des modèles d’intelligence artificielle (IA) en local, sans dépendre d’une connexion internet ni de serveurs externes. Il permet aux utilisateurs de télécharger, configurer et faire tourner des modèles IA directement sur leur propre machine, offrant ainsi plus de contrôle sur la gestion des données et des ressources. Ce point est très important.

La sécurité des données

Le premier intérêt de faire tourner une IA en local réside dans la garantie que rien ne sortira de votre machine. Ce point est crucial pour beaucoup d’entreprises, voire toutes.

La gestion des ressources

La taille du modèle et sa rapidité de réponse va dépendre directement des capacités de votre machine (ou de la machine que vous dédiez à cette tâche).
Autrement dit, on parle de VRAM , ou de RAM GPU. Il s’agit de la RAM de votre carte graphique. La conséquence est simple : vous ne pouvez pas charger un modèle plus lourd que votre VRAM.

Avec LM Studio, les utilisateurs peuvent donc travailler en autonomie, bénéficier d’une plus grande confidentialité des données, et expérimenter ou déployer des modèles IA localement, sans contraintes liées aux services cloud. C’est une solution idéale pour ceux qui souhaitent tester des modèles IA sur mesure ou pour des entreprises ayant des besoins de traitement sécurisé et indépendant.

Installation et premiers pas

Pré-requis : avoir une carte graphique avec au moins 8gb de VRAM

1- Allez sur https://lmstudio.ai et faites l’installation adéquate.

Ecran d’accueil

LM studio vous propose les derniers modèles populaires avec leurs caractéristiques

2- Téléchargez un modèle léger pour commencer

3- Allez dans l’onglet « chat » sur la gauche et cliquez en haut « select a model to load », vous devriez y voir le modèle que vous venez de charger.

4- Et voilà ! Vous pouvez « discuter » avec votre modèle !

Mais l’intérêt va plus loin : Vous pouvez le faire fonctionner en « serveur » avec les mêmes EndPoint qu’une API en ligne

Il vous suffit d’aller sur l’onglet « Server » , de choisir votre modèle et de cliquer « start server »

Dans cet exemple, je charge un modèle spécialisé en code de programmation pour le connecter à un plugin d’autocomplétion sur mon IDE

Conclusion

Avec LM Studio (et une bonne machine), vous serez rapidement en capacité de découvrir les joies (et déceptions) de l’Intelligence Artificielle à la maison !