Ich möchte mit diesem Beitrag euch eine Vorstellung geben wie ein Prompt gestaltet werden kann um ansehnliche Bilder mit dem chilloutmix_NiPrunedFp32Fix.safetensors  und modernDisney_v1.ckpt Netz generieren zu lassen. Es ist ein Vorschlag und kann natürlich individuell angepasst werden. Das Promp schreiben ist am Anfang gar nicht so einfach damit auch etwas ordentliches als Ergebnis generiert wird und bedarf etwas Übung. Aber wenn man sich einmal die passenden Befehle notiert und vorallem kombiniert hat macht es irgendwann Spaß. Aber richtig Spaß macht es dann wenn die Wartezeit für die einzelnen Versuche bzw. Bilder nicht zu lange ist und eine NVIDIA GPU zum Einsatz kommt die auch entsprechend Power hat die Bilder schnell generieren zu können. Ich empfehle hier immer eine GPU mit mindestens 12GB RAM und vielleicht in der Klasse einer RTX30XX.

Warum sehen generierte Hände meistens komisch aus?

Jetzt gibt es natürlich unzählige trainierte Netze die auch alle wenn der Prompt passt schöne Bilder erzeugen können. Aber jetzt ist es auch so, dass diese schönen Bilder immer z. B. von einem Menschen ein Portrait zeigen aber selten die Vielfalt von Findern die diese darstellen können. Unsere Finger sind so beweglich und wenn wir greifen, zeigen diese bewegen dann sind in den Bildern selten alle zu sehen, sie greifen teilweise übereinander oder ineinander usw. und genau  das macht es schwer bei dem Training von neuronalen Netzen. Es gibt einfach zu wenige Bilder von Händen in Alltagssituationen die auch noch komplex zum Lernen für ein neuronales Netz sind.

Hier ein Beispiel eines Bildes der Spielefigur Duke Nukem 3D das ich generiert habe. Die Linke Hand, die die Waffe hält sieht einfach nicht gut aus und zeigt zu viele Finger. Das fällt einem direkt auf sobald man auf das Bild schaut. Ansonsten würde ich sagen wurde die Figur und der Hintergrund sehr gut getroffen.

Duke Nukem 3D bad fingers

Duke Nukem 3D bad fingers

Ein sehr schönes Video bringt es in wenigen Minuten genau auf den Punkt was hier das Problem ist. Ich füge es hier einmal ein und empfehle es zu schauen. Denn dann wissen wir auch schon warum sich die weiter unten folgenden Prompts teilweise stark mit Fingern und deren richtigen Generierung befassen. Für uns Menschen ist es halt auch einfach so, dass wir Fehlstellungen bei Fingern bzw. Händen ganz schnell als störend empfinden und daher ist es noch schwierig Finger und Hände in generierten Bildern zu zeigen.

AI gnerated hands

AI gnerated hands

Bilder generieren

Jetzt aber zum eigentlichen Thema von meinem Beitrag hier dem Prompt schreiben. Was ein guter, richtiger, schlechter… Prompt ist hängt von der eigenen Erwartung ab. Aber ich versuche hier euch einmal eine kleine Hilfestellung zu geben wie ihr Prompts schreiben könnt.

Hinweis: Wichtig ist zu verstehen, dass sich die Prompts je nach Version eines Netzes oder generell abhängig vom verwendeten Netz verhalten. Also am besten die ausprobierten Prompts zum jeweiligen Netz in einer Tabelle speichern und subjektiv bewerten. So erreicht man am schnellsten gute Ergebnisse die den eigenen Erwartungen entsprechen und kann diese auch wiederholt erzeugen.

  1. Der positiven Promt: Dieser beschreibt was man genau sehen möchte.
  2. Der negative Promt: Dieser beschreibt was man nicht sehen möchte.

Militär Soldat

Hier die Konfiguration bzw. Parametrisierung des verwendeten neuronalen Netzes.

Description: Value:
Stable Diffusion checkpoint: chilloutmix_NiPrunedFp32Fix.safetensors
Sample steps: 25
Sampling method: DPM++ SDE Karras
Barch count: 4
Batch size: 1
CFG 12
Seed: -1

Hier ein Beispielbild das ich mit dem im Anschluss beschriebenen Prompt und zuvor genannten Einstellungen erzielen konnte.

Stable Diffusion - military officer (male)

Stable Diffusion – military officer (male)

Positiver Prompt:

male officer in military uniform, (masterpiece, best quality:1.2), ultra high res, (photorealistic:1.4), detailed skin, muscular, perfect male figure, full body, cinematic lighting, friendly, intelligent, conversation engaging, happy, kind, energetic, cheerful, creative, with sparkling eyes and a contagious smile, gun

Negativer Prompt:

leather, net lining, mesh lining, paintings, big head, sketches, naked, (worst quality:2), (low quality:2), (normal quality:2), lowres, bad anatomy, bad hands, normal quality, ((monochrome)), ((grayscale)), futanari, full-package_futanari, newhalf, collapsed eyeshadow, multiple eyeblows, pink hair, ng_deepnegative_v1_75t, skin spots, acnes, skin blemishes, age spot, glans, extra fingers, ((extra arms)), (extra legs), mutated hands, (fused fingers), (too many fingers), (long neck:1.3)

Duke Nukem 3D

Ein Spiel das ich früher öfters gespielt hatte war Duke Nukem 3D und natürlich habe ich die Geschichten und Projekte um diese Spielefigur im Internet die letzten 20 Jahre mit verfolgt. So fand ich es sehr spannend wie wohl diese Actionfigur aussehen wird wenn ich diese generieren lasse.

Description: Value:
Stable Diffusion checkpoint: modernDisney_v1.ckpt
Sample steps: 25
Sampling method: DPM++ SDE Karras
Barch count: 4
Batch size: 1
CFG 12
Seed: -1
Duke Nukem 3D

Duke Nukem 3D

Positiver Prompt:

modern disney style of Duke Nukem 3D, (masterpiece, best quality:1.2), granad launcher, ultra high res, (photorealistic:1.4), detailed skin, muscular, perfect male figure, full body, cinematic lighting, angry face, energetic

Negativer Prompt:

duplicate, bad anatomy, bad hands out of frame, two heads, totem pole, several faces, extra fingers, mutated hands, (poorly drawn hands:1.21), (poorly drawn face:1.21), (mutation:1.331), (deformed:1.331), (ugly:1.21), blurry, (bad anatomy:1.21), (bad proportions:1.331), (extra limbs:1.21), cloned face, mutated legs, deformed legs, bad legs, out of frame, two heads, extra hands, extra feet, distorted fingers, mutilated, poorly drawn hands, poorly drawn face, deformed, bad proportions, extra limbs, cloned face, disfigured, malformed limbs, missing arms, missing legs, extra arms, extra legs, fused fingers, too many fingers, (disfigured), (bad art), (deformed), (extra limbs), (disfigured), (deformed), (extra limbs), ((out of focus body)), ((out of focus face)), ((((ugly)))), (((duplicate))), ((morbid)), ((mutilated)), [out of frame], extra fingers, mutated hands, ((poorly drawn hands)), ((poorly drawn face)), (((mutation))), (((deformed))), ((ugly)), ((bad anatomy)), (((bad proportions))), ((extra limbs)), cloned face, (((disfigured))), out of frame, ugly, extra limbs, (bad anatomy), (malformed limbs), ((missing arms)), ((missing legs)),(((missing feet))), (((extra arms))), (((extra legs))), mutated hands, (fused fingers), (too many fingers), ugly, missing fingers, extra digit, fewer digits, out of focus, wrong eyes, wrong iris, wrong eyelids

Prinzessin im Zeichentrick Style

Natürlich ist es auch so, dass meine kleine Tochter Zeichentrickfilme und Prinzessinen sehr toll findet. Mit den passenden Prompts kann man hier natürlich auch wiederum Bilder generieren. Über deren Wert für ein kleines Kind und wie sinnvoll das ist will ich hier nicht diskutieren. Aber gefreut hat sie sich natürlich und um so bunter die Haare waren um so besser kamen die Bilder an.

Hier die Konfiguration bzw. Parametrisierung des verwendeten neuronalen Netzes.

Description: Value:
Stable Diffusion checkpoint: modernDisney_v1.ckpt
Sample steps: 25
Sampling method: DPM++ SDE Karras
Barch count: 4
Batch size: 1
CFG 12
Seed: -1

Hier ein Beispielbild das ich mit dem im Anschluss beschriebenen Prompt und zuvor genannten Einstellungen erzielen konnte.

beautiful princess

beautiful princess

Positiver Prompt:

A beautiful picture of a Princess, masterpiece, (photorealistic:1.4), perfect female figure, full body, from front, tropic background, long hair, slim, A beautiful, perfect face, perfect eyes, cinematic female flying archangel queen marilyn monroe face, fantasy sea landscape, fantasy magic, short aqua blue black fade hair, dark light night, intricate, elegant, sharp focus, illustration, highly detailed, digital painting, concept art, matte, art by Dali, masterpiece

Negativer Prompt:

paintings, sketches, (worst quality:2), (low quality:2), (normal quality:2), lowres, ((monochrome)), ((grayscale)), Deformed, blurry, bad anatomy, disfigured, poorly drawn face, mutation, mutated, extra limb, ugly, poorly drawn hands, missing limb, blurry, floating limbs, disconnected limbs, malformed hands, blur, out of focus, long neck, long body, double head, deformed face, ugly face, disfigured face, mutated hands and finger, out of frame, ((((mutated hands and fingers)))), (((out of frame)))

Wie finde ich Prompts

Es gibt verschiedene Webseiten die einmal Bilder und die dazugehörigen Prompts veröffentlichen sowie bereits Suchmaschinen in denen man nach Bildern sucht und dann ebenfalls zu dem Bild den verwendeten Prompt angezeigt bekommt.

Hier nun ein paar Beispiele solcher Seiten.

Prompt Skripte – Automatisierung der Prompts

Wenn man jetzt eine zeitlang mit den Prompts gespielt hat merkt man langsam das der ein oder andere Style ausgedrückt in einem Prompt gute ergebnisse liefert. Jetzt gibt es natürlich entsprechende Erweiterungen in Form von Python Skripten die einem Helfen die richtigen Prompts bzw. Styles automatisch einzufügen. Zwei dieser Skripte möchte ich hier kurz vorstellen.

StylePile

Ist ein kleines Skript das aktiviert in Automatic1111 die Möglichkeit bietet über Radio Buttions bestimmte Styles für die Generierung von Bildern zu aktivieren.

https://github.com/some9000/StylePile

SD-Dynamic Prompts

Hierbei handelt es sich um ein Skript das mit Parametern arbeitet und daraus dann entsprechende Prompts generiert. Das ist ideal um sich inspirieren zu lassen wenn man selber noch nicht so recht eine Idee hat in welche Richtung es gehen soll. Die Parametriesierung sieht dann wie folgt aus A {house|apartment|lodge|cottage} in {summer|winter|autumn|spring} und führt dazu das die verschiedenen Konbinationen als Prompts umgesetzt und als Bilder generiert werden.

https://github.com/adieyal/sd-dynamic-prompts

Zusammenfassung

Der Anfang schöne Bilder zu generieren war nicht einfach. Aber ob etwas schön ist oder nicht liegt ja im Auge des Betrachters. Aber mit der Zeit und dem Sammeln von Prompts kommt man selber immer besser hinein in das Thema und die Ergebnisse werden besser. Sehr gute Prompts kann man sich auch immer auf der Seite Civitai zusammen suchen wenn man sich dort durch die Bilder klickt und deren Konfiguration anschaut. Denn ich bin selber nicht auf all diese Kombinationen kommen sondern habe mir viele Bilder angeschaut und deren Prompts. Hier noch einmal der Link auf die Seite. Mir macht das Thema Stable Diffusion aktuell sehr viel Freude und jetzt möchte ich einen Schritt weiter gehen und in einem meiner nächsten Beiträge darauf eingehen wie solch ein Netz mit eigenen Bildern weiter angelernt werden kann.

 





Artikelübersicht - Stable Diffusion:

Stable Diffusion - AUTOMATIC1111 Ubuntu Installation Teil 1/2
Stable Diffusion - AUTOMATIC1111 Ubuntu Installation Teil 2/2
Stable Diffusion - Bilder lokal generieren mit Prompt Beispielen
Stable Diffusion - AUTOMATIC1111 Experten Konfiguration
Stable Diffusion - Dreambooth Training Finetuning einrichten Teil 1/2
Stable Diffusion - Dreambooth Training Finetuning ausführen Teil 2/2