Archives de catégorie : Non classé

Hypothèse de Sapir-Whorf

(Référence pour les incultes: https://fr.wikipedia.org/wiki/Hypoth%C3%A8se_de_Sapir-Whorf )

L’encodeur textuel t5xxl utilisé par Flux.1 est, comme tout bon LLM , entrainé sur de nombreux langages et pas juste en anglais (*). Mais pour un prompt identique simplement traduit dans différentes langues, comment se comporte l’image générée, est-elle aussi localisée vers le pays correspondant ?

(*) Enfin pas tant que ça: T5 a été entraîné sur Common_Crawl, qui contient 46% d’anglais, suivi de l’allemand, le russe, le japonais, le français, l’espagnol et le chinois, chacun représentant moins de 6 % des documents. Refs: https://en.wikipedia.org/wiki/T5_(language_model) et https://en.wikipedia.org/wiki/Common_Crawl

Testons depuis un prompt de base « Un homme en ville devant un monument célèbre » (à part l’anglais, les autres langues que je ne connais pas ont été traduites via Google-Translate), toujours sur la seed « 1 »

  • Un homme en ville devant un monument célèbre
  • A man in a city in front of a famous monument
  • Un hombre en la ciudad frente a un monumento famoso.
  • رجل في المدينة أمام نصب تذكاري مشهور
  • Мужчина в городе перед известным памятником
  • 유명한 기념물 앞에 있는 마을의 한 남자
  • 有名な記念碑の前に立つ町の男性
  • ሓደ ሰብኣይ ኣብ ከተማ ኣብ ቅድሚ ፍሉጥ ሓወልቲ (Tigrinia, parlé en Ethiopie et Erythrée)
  • Mwanamume mjini mbele ya mnara maarufu (Swahili)
  • En man i stan framför ett berömt monument (Skölh Offenstrü… Suédois)
  • Moški v mestu pred slavnim spomenikom (Slovène)
  • Ένας άντρας στην πόλη μπροστά από ένα διάσημο μνημείο
  • Ein Mann in der Stadt vor einem berühmten Denkmal
  • Bir kishi shaharda mashhur yodgorlik oldida (Uzbek)
  • 鎮上一個著名嘅紀念碑前面嘅男人 (Cantonese)

Bon… Apparemment, les Coréens et Japonais ont overfité sur les mangas, les Ouzbeks sont réincarnés en tapis, et les fameuses Hyènes Bleues de chines roulent en scooter. La version arabisante est quant à elle très fantasmée…

Enfin c’était peut-être pas de bol pour cette seed, testons avec la seed « 2 »… Alors, dans l’ordre « Français, arabe, Swahili, Uzbek, Cantonese »: Déjà on voit qu’en Français le « monument célèbre » a été spécialisé en Arc de Triomphe. Pour le reste….

… oui bon c’est mieux mais pas vraiment ce que j’avais demandé non plus. Ne parlons même pas du genre.

Conclusion partielle: Dans les langues européennes (sûrement les mieux représentées dans l’entrainement de l’encodeur) l’image générées est, à la fois pertinente pour le prompt, et plus ou moins légèrement localisée dans la géographie typique correspondante; Mais en s’éloignant pour des langues plus « exotiques », ne vont rester qu’une vague tendance stylistique et stéréotypée.

On peut quand même, probablement, s’en servir pour orienter certaines caractéristiques de l’image générées; plutot que de décrire textuellement un paysage suédois typique, il suffit d’écrire directement le prompt en suédois.

Compromis à 50%: bilingual

Maintenant, utilisons la puissance de l’embedding textuel pour faire des maths sur la langue, en mixant les deux prompts « langue1 + langue2 » pour donner un vecteur abstrait entre les deux.

Le plus simple est de simplement écrire les deux phrases concaténées dans le prompt « Bir kishi shaharda mashhur yodgorlik oldida Un homme en ville devant un monument célèbre« . Notre tapis brodé et jeune beauté en studio se sont transformés vers l’idée originale du prompt:

Prompt Interpolation

Avec le node ComfyUI « ConditioningAverage » on peut aussi écrire les deux prompts séparément en faire la moyenne mathématique, en réglant la pondération.

En réglant le taux d’ouzbekitude on peut varier assez continûment de 12% à 75% de français par rapport à l’Ouzbek (à 10% de français on est encore sur le tapis, à 12% on a déjà un humain, et à partir de 42% on a la composition habituelle personnage de dos).

Malgré ça, est-ce que ça ressemble à Samarcande ? Les médersa du Régistan n’ont pas ce gros bulbe sur le dessus.

Bien sûr on peut aussi mélanger Uzbek et Swahili pour voir ce que ça donne (seed 2 cette fois, qui a déjà des humains photographiques de base, même si la composition n’était pas bonne):

(et je doute que ça soit des tenues traditionnelles représentatives non plus…)

Pour forcer le respect du prompt initial, on va y rajouter 30% de prompt français (celui plus haut devant l’Arc de Triomphe) (à 12% il ne se passe quasiment rien), on a maintenant:

Bon maintenant il n’y a plus de monument particulièrement notable. Donc pas d’incohérence architecturale flagrante… Pas de pierre, pas de palais. Pas de Palais… pas de palais.

Reality is boring… but real

Boring mais beaucoup plus réelle: Boring Reality https://civitai.com/models/639937/boreal-fd-boring-reality-flux-dev-lora et sa version vidéo https://civitai.com/models/1222102/boreal-hl ( exemples sur https://www.youtube.com/watch?v=0tuGBrDbXU0 ) donne un grain early-2000 au lieu du surréalisme/kraxiréalisme typiquement choisi pour la génération d’images qui claquent. Ceci permet de beaucoup plus facilement se faire passer pour vrai (à l’image du filtre CRT qui rend les Backrooms réalistes malgré un CGI sous blender très basique)

En repartant d’une vieille image non publiée pour réaliser l’article https://public.letribun.org/2023/05/02/4k-ultra-hd-remaster-blueray/ , faites sous Stable-Diffusion 1.5, je fais passer un Image2Image avec ComfyUI et FLux-1 Dev, Lora BoringReality et « SameFace Fix » ( https://civitai.com/models/766608/sameface-fix-flux-lora , poids négatif)

  • Prompt de la source sous SD1.5 + Lora style-paintmagic: concept-art of a beautiful korean girl with thick flowing hair in (style-paintmagic_0.1), detailed, high quality
  • Prompt du img2img avec un denoise de 50% : A polaroid photo of a indie japanese teenager girl in her bedroom, Polaroid Colorpack 80, long hair, dyed and wet hair, polaroid frame, grainy, large field of view
  • 60% denoise: A photo taken from a fisheye doorbell of a indie japanese teenager girl on a porch

Ça reste encore assez « stylisé » pour être une photo travaillée (façon photo d’album indie).

Pour du pur boring réalisme il faut sans doute faire du txt2img ou un denoise suffisamment fort qu’il ne reste plus rien (en attendant d’avoir un guidage précis via ControlNet), dans ce genre à 87% de denoise:

Dans le doute mais normalement tout le monde a déjà récupéré des workflows ailleurs, voici le mien adapté d’un autre trouvé sur le net.

Télécharger l’image dans ce lien et drag-and-drop l’image dans comfyUI pour l’importer. (Ne pas importer l’apperçu visible ci-dessous car WordPress supprime les meta-datas du png, qui contiennent le workflow json effectivement utile)

ComfyUI img2img Workflow with 2 loras

Un autre Lora est Amateur Photography , entrainé a priori sur des photos amateurs de blog ou de flickr de 2007.

Réglages txt2img parfaitement minimalistes; à noter peut-être qu’un sampler « Heun/Beta » (au lieu du classique Euler) donne un rendu plus réaliste (l’auteur recommande Deis/DDIM pour la v6, mais chez moi ça ne rend pas si bien que ça et donc j’ai gardé ce qui était recommandé pour la v2).

An amateur theatre play of the revolution in the streets of an Italian suburb on a rainy day. A dog is chasing a cat in the middle of the crowd. Photo taken in 2007 from the sidewalk and posted on Flickr by Anonymous
A journalist interviews people about the revolution in the streets of an Italian suburb on a rainy day. The sky is dark and cloudy; A dog is chasing a cat in the middle of the crowd.
In the background we can guess a parade or carnaval is happening behind the crowd with colorful dancers.
Photo taken in 2007 from the sidewalk and posted on Flickr by a an anonymous bystander.

Presque rien ne fait penser à une image IA a priori… sauf ce cable de micro qui ne va nulle part, et la dame en blanc dans le fond a clairement l’air de juger fortement le journaliste pour être aussi incompétent.

Zoomons un peu pour mieux nous en rendre compte, en utilisant un Upscaler 4x_NMKD suivant d’un re-detailer couplé à Controlnet, inspiré du workflow de https://myaiforce.com/flux-controlnet-upscaler/ . Ici par contre pas de captionning automatique avec Florence2, ce sera fait main ou interrogé en ligne sans Node spécial.

Et là on se rend bien compte qu’il faut continuer de charger le même Lora « amateur photography » et les mêmes samplers lors de l’upscaling, sinon la vieille dame « populaire » commence à s’habiller chez Versace et à se transformer en Reine d’Angleterre.

Blog’s not dead

Après presque 2 ans à payer l’hébergement sans rien publier de nouveau il serait temps de se bouger un peu.

Pour démarrer avec du nouveau qui sent le réchauffé: Test de ComfyUI, Flux-1, Flux-Lora.

Pas de détails (installer ComfyUI dans un docker en suivant un tuto/Dockerfile obsolète, récupérer des workflows qui ressemblent à des plats de spaghetti aux node et paramètre systèmatiquement cassés, récupérer des modèles/checkpoints/safetensor aux quatre coins du web comme si on était encore à chercher des torrent rargb repack, et se battre avec une carte graphique qui plante).

Bref: Reprenons telle-quelle l’image finale de https://public.letribun.org/2023/05/02/4k-ultra-hd-remaster-blueray/ qu’on va passe dans un workflow Img2Img tout à fait naïf basé sur Flux-1-dev et un Lora hyperkraximalism , ça donne ça en un coup (denoise 70%):

Un denoise plus léger de 40% pour conserver plus de l’original:

Et une version beaucoup plus denoisée et libre de s’écarter de l’original:

Voilà, rien de plus à dire aujourd’hui.

Memefication, controlnet reference

Controlnet « reference-only » permet d’effectuer du style-transfert facilement (ou du sujet-transfert sans avoir à entrainer un modèle dédié)

Sans control-net activé, la version « vector line-art » de Mona lisa donne ça:

Avec Controlnet et la réference du style TrollFace:

La jeune fille à la perle:

Autre meme, autre résultats:

Spiderman en 1er controlnet (Depth), Les Trois Grâces de Raphael en 2eme controlnet (Reference)

A painting by Raphael of three nude Graces pointing at each other

4K Ultra HD remaster blueray

Un upscaler qui marche enfin grâce à Controlnet v1.1 « tile » https://github.com/Mikubill/sd-webui-controlnet/issues/1033 combiné aux upscalers classiques (sous-tiroir « Scripts » dans img2img de A1111. Apparemment UltraHD est celui recommandé qui marche). Un tuto youtube par exemple: https://www.youtube.com/watch?v=EmA0RwWv-os

Contrairement au resizer utilisé dans When Life gives you Lemons qui hallucinait la totalité du prompt dans chacun de ses morceaux redimensionnés, et garde aussi des frontières plus ou moins visibles dans son assemblage par morceaux, ControlNet garde le contexte local pour ne pas créer des visages fantômes absolument partout. Il va quand même recréer une nouvelle image et donc une partie des détails initiaux seront perdus pour être recréés différemment.

Image 2 Image -> resize

On part d’un prompt simple et d’un petit Textual Inversion sympa trouvé sur civitai Style-PaintMagic pour une image de base un peu nulle trouvée en quelques essais de seed, en résolution 512×768 classique

concept-art of a beautiful elf  girl with thick flowing  hair in style-paintmagic, detailed, high quality

Un point de départ intéressant mais anatomiquement un peu bancal, quelques coups de img2img pour trouver autre chose (peu réaliste aussi mais licence artistique tout ça)

Maintenant on fait 2 étape de redimensionnement, par X2 à chaque fois.

Denoising strength: 0.4, Mask blur: 4, Ultimate SD upscale upscaler: ESRGAN_4x, Ultimate SD upscale tile_width: 512, Ultimate SD upscale tile_height: 512, Ultimate SD upscale mask_blur: 8, Ultimate SD upscale padding: 32, ControlNet Enabled: True, ControlNet Preprocessor: tile_resample, ControlNet Model: control_v11f1e_sd15_tile [a371b31b]

Première version, 1024×1536:

Puis on recommence pour le final en 2048×3072 (à noter que des caractères coréens sont quand même apparu près de la fausse signature dans le coin, ainsi qu’un bout d’œil et de visage sur le bord gauche)

(cliquer sur l’image pour ouvrir en plein résolution) (ah, on me dit dans l’oreillette que WordPress a redimensionné de lui même le 2K d’origine en seulement 1K, donc pas de bol)

Sinon, quelques détails extraits (l’orientation de la bouche par rapport au visage mériterait d’être retravaillé, et l’oreille est probablement trop petite)

Pour comparaison, la même chose depuis l’image source avant redimensionnement et création de détails:

Image infinite resize par section

Parfois toute la scène n’est pas utile à détailler, ou bien on veut faire un effet de zoom où seule la zone finale a besoin d’être agrandie.

Dans les deux cas, il suffit de commencer par une image de base, puis de successivement la cropper dans un éditeur externe pour redimensionner cette partie dans img2img, et recommencer autant de fois que nécessaire. À chaque étape, on peut faire des ajustements secondaires comme de l’inpainting ou des corrections manuelles avec un éditeur classique comme gimp, avant de continuer.

À la fin on peut recoller les morceaux les uns par dessus les autres sous gimp avec un redimensionnement classique de calque pour tout ce qui n’a pas été retravaillé.

Ici on part d’un truc absolument immonde en txt2img en résolution 512×768:

Un premier upscale global en x2 avec au passage du denoising et du reprompting pour corriger la partie la plus cauchemardesque du visage (tout en restant difforme mais ça se réglera plus tard)

Ensuite, découpage de la partie centrale du personnage pour en extraire une image de nouveau en 512×768 qu’on va upscaler:

Et ainsi de suite, en rajoutant un ajustement de la position de la tête avec un déplacement au lasso grossier avec gimp et un peu d’inpainting pour essayer de dégager les cheveux du visage (sans trop insister longtemps sur cet essai rapide, on va dire que le sujet a bougé pendant que la pellicule a capturé)

Pour rappel, on partait de ça au tout début:

Image Finale: (attention, jpeg de 4096×6144 et 5.5MB). Oui, on voit encore un peu les bords des différents calques que je n’ai pas partout gommé en fondu progressif.

Une vidéo avec zoom automatique (6MB)

Text 2 Image -> [Tiling]+highres Fix

Autre option apparemment: rester en mode « classique » text2image, avec les paramètres de création direct en grosse résolution mais avec tiling, et mettre une image de référence dans l’onglet source-image de controlnet. On ne fait donc pas grandir une image existante mais on en crée une « de zero » directement à la taille finale, en étant simplement guidée par une image de référence qui sera fortement modifiée.

En vrai ça ne change pas vraiment grand chose par rapport à un img2img rescalée, l’interface ne fait que cacher les deux étapes « txt2img puis img2img » derrière une checkbox unique.

Inconvénient, il reste des contrainte de taille maximale (out of memory) et beaucoup d’attente pour savoir si le résultat sera intéressant (puisqu’il est assez random comme une génération de seed habituelle)

LoRa & mélanges

Quelques entraînements custom de nouveaux objets grâce à LoRa , et leur inévitables détournement.

Chat

À partir d’un dizaines de photos d’un chat spécifique:

On peut bien sûr générer de nouvelles images avec ce chat dans le même ou de nouveaux environnements:

Mais aussi forcer l’IA à générer des koalas ou des souris avec son apparence, ou en faire une illustration médiéval-fantastique (style illustration fait en combinant avec un modèle de Civitai A-Zovya RPG Artist Tools

Tire-bouchon

Même processus avec une poignée de photos d’un objet banal comme un tire bouchon (qui ne semble pas exister dans StableDiffusion de base)

Pour un tout premier entraînement aux paramètres pifométriques, le résultat est assez aléatoire, mais l’intérêt vient alors des variations surréalistes plutôt que d’une banale fidélité:

Foutu pour foutu, on va comme d’habitude demander l’impossible à l’IA et de représenter ce tire bouchon comme un robot, une peluche, une arme cyperpunk, un storm-strooper, l’homme de Vitruve de De Vinci, ou un mécanisme complexe d’horlogerie. N’oublions pas non plus que ce modèle de tire-bouchon s’appelle aussi « tire-bouchon Général de Gaulle »

Sélection parmi environ 600 génération, dont l’essentiel ne donne rien de très concluant et parfois une petite pépite émerge.

Les nouvelles aventures de Rabbi Jacob

Une collection d’images source pour entrainement assez compliquée car vidéo « téléchargée » en mauvaise résolution donc inexploitable, et les images du web assez rares, petites et de mauvaise qualité. Néanmoins une vingtaine de références plus ou moins variées.

De nouveau un entraînement de débutant avec des paramètres pas encore trop maîtrisés, pas trop exploitable pour des rendus réalistes, mais OK pour en faire des variations de thème ou de style:

Mériterait d’être ré-entrainé avec plus d’expérience sur les bons paramètres.

À noter que ce LoRa de rabbi jacob peut aussi se combiner avec des modèles tierce-partie, pour donner de meilleurs résutats.

Par exemple le style Archer de Nitrosocke

Ou bien avec le modèle HRL (en recopiant et adaptant un des prompts d’exemple)

Ou le modèle RPG de nouveau

Entraîner un style: Jonas Lundh

LoRa permet aussi d’apprendre non pas un objet, mais un style graphique.

Ici on va apprendre le style semi-abstrait de Jonas Lundh à partir d’environ 25 images tagguées à la main:

Ce style étant fortement abstrait et le thème des images d’entrainement assez répétitif (fermes, voiliers), la génération de nouvelles images s’en écarte assez peu

À noter, l’entraînement a aussi appris la signature dans le coin du tableau qui faisait partie des toutes les images de référence. Les générations la place à gauche ou à droite car l’entraînement a été fait avec symétrie automatique de chaque entrée pour doubler les sources d’apprentissage.

C’est ensuite une histoire de coefficients et de termes de prompting pour que le style s’applique sans tout étouffer (principalement charger le modèle entrainé mais sans expliciter « in the style of jonas lundh »

Quelques portraits ou autre dans ce style:

Et bien sûr le test ultime pour être raccord avec le chapitre précédent : Rabbi Jacob illustré dans ce style.

When life gives you lemons

Variations sur un point de départ arbitraire

when life gives you lemons, make lemonade, by Jan Davidsz de Heem and beksinski
Steps: 18, CFG scale: 7, Seed: 1160001083, Size: 512x512, Model hash: 7460a6fa

Différents samplers et différents steps donnent des trucs très variés (et généralement peu comestibles). Je retient la dernière image en Euler_a et précisément 9 steps, pour exploiter ce citron flottant en bas en le transformant à coup d’inpainting multiples, et au final une petite composition de morceaux par gimps.

Pour renforcer la vision d’horreur, l’upscale 2x peut encore tout transformer avec un prompt qui rajoute des détails (mais détruit la composition initiale, avec le denoise que j’ai pris)

Bon, on peut se dire, ah mais non en fait c’est un portrait par Giuseppe Arcimboldo ça devrait être beaucoup plus anodin que ça 🙂 Malheureusement non, les clowns tueurs sont toujours à vos trousses…

Alors prenez un cachet, plissez les yeux et imaginez que les choses vont beaucoup mieux que ça en vrai.

Un petit verre pour se remonter le moral

txt2img suivi de img2img:

Sélection parmi bien sûr moultes générations et possibilités

Texture, structure et courbure

Textile

(merci de ne pas porter attention aux visages ou à l’anatomie, c’est pas le sujet)

fashion photography of a woman wearing  a dress made of white silk,  dark gold embroidery and black ornaments
Steps: 45, Sampler: DDIM, CFG scale: 7
& Steps: 67, Sampler: Heun, CFG scale: 7

Juste sans personne dedans:

Fractalite abstrait ou minéral

(un peu une redite de l’oiseau fractal d’un article précédent)

Les motifs suivants sont générés avec l’option « tiling » et sont donc répétables sans coupure:

A swirling ink line art, abstract, intricate details
Steps: 34, Sampler: Euler a, CFG scale: 7
fine hair fracture in precious stone, intricate details, fractal
Steps: 34, Sampler: Euler a, CFG scale: 7, Seed: 648120104, Size: 512x512, 

Steps: 40, Sampler: PLMS, CFG scale: 7, Seed: 2455222922

Allergies ?

Tiling :
hairy velvety fur, intricate details
Steps: 40, Sampler: PLMS, CFG scale: 7, Seed: 2751344869, Size: 512x512, 

A chair made of hairy velvety fur [, intricate details ]
Steps: 66, Sampler: PLMS, CFG scale: 7, Seed: 2751344869, Size: 512x512, 
An antique oak table ((covered in dust and ashes))

Plus ou moins sec

La seule modification du prompt (avec seed identique) modifie beaucoup de chose et pas juste l’aspect de surface, pour conserver la statue « de base » il faudrait probablement passer par un img2img.

A wet stone bust ((covered by wet slime)), glistening mucus, dripping
Steps: 25, Sampler: DPM2, CFG scale: 7, Seed: 3749617325, Size: 512x768, Model hash: 7460a6fa
A stone bust covered in moss
A dry stone bust covered by dust
A polished obsidian stone bust

Aux chiottes le style Bauhaus !

Megastructures, intricate mechanisms, architectural madness
antique city made of metal archs and marble ornements, megastructures, architectural madness
photograph of a futuristic street made of silver archs and precious stones, blue sky,  art-deco skyscrappers made of fractal metal, light smog, Canon EOS
Negative prompt: bauhaus
Steps: 41, Sampler: DDIM, CFG scale: 7, Seed: 3770716802, Size: 704x512, Model hash: 7460a6fa
antique city made of copper archs and marble, blue sky,  art-deco skyscrappers made of fractals
Negative prompt: bauhaus
Steps: 26, Sampler: Euler a, CFG scale: 7, Seed: 1522736476, Size: 704x512, Model hash: 7460a6fa
futuristic street made of metal archs, gold ornaments,  blue sky, (curved),  by bekzinski
Negative prompt: straight lines
Steps: 54, Sampler: PLMS, CFG scale: 7, Seed: 1714373955, Size: 704x512, 

Choosing the wrong tool for the job

Utiliser Stable-Diffusion avec difficulté pour une tâche qui n’est pas vraiment adaptée, avec un résultat médiocre.

J’essaie des trucs pour que vous n’ayez pas besoin de vous lancer dans une fausse piste.

Vectorisation

Transformer un diagramme moche tracé à la main à la souris, vers une version vectorielle plus propre, avec img2img:

A flowchart
Steps: 20, Sampler: Euler a, CFG scale: 5, Seed: 4208630417, Size: 512x512, Model hash: 7460a6fa, Denoising strength: 0.49, Mask blur: 4

En réalité, trouver les bons paramètres est très incertain et instable, et il serait sûrement plus rapide d’utiliser une application dédiée. Exemple de résultats foireux:

Détourage pour incrustation

On veut parfois récupérer un objet ou une personne détourée sur fond transparent à partir d’une photo normale, sans fond vert bien pratique. Faire un détourage à la main de la silhouette sous gimp étant trop pénible, essayons de faire bosser une IA. Après tout, c’est ce que RunwayML (les auteurs de StableDiffusion) vendent sur leur solution payante https://runwayml.com/green-screen/

Just… Do it !

On prend une photo de départ, qu’on gribouille grossièrement en vert dans les zones externes (sans trop faire d’effort de précision) (sans vert déjà existant dans l’image, l’inpainting est incapable d’en générer de lui-même), qu’on importe dans l’onglet inpainting. Ensuite on trace, de nouveau à gros traits, la frontière à affiner. Puis on demande de générer une « photo sur fond vert » du sujet.

L’image générée devrait maintenant avoir un fond vert qui colle à la silhouette. On la réimporte sous gimp et on utilise l’outil de sélection par couleur (Selection Tools -> « By Color Select » Shift-O) sur le vert, qu’on supprime pour avoir de l’alpha.

A photograph of a man in front of a green-screen
Steps: 20, Sampler: LMS, CFG scale: 19, Seed: 1714095486, Size: 640x832, Model hash: 7460a6fa, Denoising strength: 0.72, Mask blur: 8

Tada! ça marche vaguement mais c’est tout moche, et bien sûr les zones recouvertes par l’inpainting ont complétement changé une partie du visage et les cheveux. Encore pire, il a réussi à rajouter du « bleeding » verdâtre là où il n’y en n’avait pas au départ (le bord du coude, par exemple). Inexploitable.

Colorisation de photos noir&blanc

On aimerait qu’un simple img2img avec un prompt « color photo of… » soit assez intelligent pour coloriser de manière pertinente une image de base en noir & blanc. Malheureusement, peu importe le dénoise, le forçage de coefficient du prompt ou des prompts négatifs sur « noir & blanc / monochrome » ça ne fait absolument rien (en poussant beaucoup on arrive à avoir un peu de couleur mais il ne reste rien de l’image initiale).

Dans chaque gallerie suivante, la 1ere image est le point de départ donné à l’algo, plus ou moins préparée à la main:

Le denoise a absolument besoin d’un minimum de couleurs dans l’image de base pour en générer en sortie, on peut penser qu’en rajoutant un peu de bruit de couleur avec un calque gimp en point de départ il en sortira quelque chose. Mais toujours rien, peu importe la forme de bruit initial:

Finalement, on peut essayer de peindre à la main des zones cohérentes avec une base de couleur sans trop de subtilité et espérer que ça guide suffisamment et que ça s’arrange. Mais même en itérant en feedback, les teintes restent identiques et uniformes, les zones ne sont pas remplies jusqu’à leur frontière naturelle, et ce qui bavait continue de déborder.

Rien à en tirer.

Confondre StableDiffusion et Wikipedia

Tableau périodique des éléments:

Trouver le schéma de câblage électrique d’un carillon:

Réviser sa géographie: les cartes sont très ressemblantes mais… faut pas être trop regardant sur la précision des frontières.

En vrac, n°1

A bust portrait of Medusa ,  interior of greek temple, angry expression, subsurface scattering Leica M
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 3997834497, Size: 512x640, Model hash: 7460a6fa

À noter que la moindre variation d’absolument n’importe quel paramètre, même apparemment anodin, va casser le résultat pour tomber dans le médiocre, donc ce prompt n’est pas vraiment stable pour en faire des variantes.


Historic event, view from first floor,  by Robert Capa, Rolleiflex
Steps: 34, Sampler: DDIM, CFG scale: 7, Seed: 2557481478, Size: 768x512, Model hash: 7460a6fa

Motif répétable:

structure, fine details, repeating patterns, convoluted, swirling smoke, featherly, volumetric lighting, subsurface scattering
Steps: 25, Sampler: Euler a, CFG scale: 7, Seed: 3232281065, Size: 512x512, Model hash: 7460a6fa
(Tiling enabled)

Inpainting à partir d’un photobash assemblé à partir d’autres bouts de prompt:

a fox sleeping in a basket with flowers, big pot and stone wall, painting by jean-baptiste oudry
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 3966509011, Size: 768x512, Model hash: 7460a6fa, Denoising strength: 0.51, Mask blur: 8

a frontal centered symmetrical  portrait of Zoe Saldana, ((pointillism)), color, medium shot
Negative prompt: Negative prompt: cut forehead, cut chin, bad framing
Steps: 34, Sampler: DDIM, CFG scale: 7, Seed: 3064617563, Size: 512x640, Model hash: 7460a6fa

(Oui, il y a littéralement les mots « negative prompt » dans le prompt négatif. Et ça rend mieux avec cette erreur)