Tricks, mit denen wir Bilder-KIs ungewöhnliche Motive entlocken

Die Bild­ge­ne­ra­to­ren haben ihre liebe Mühe mit un­ge­wöhn­lichen Sach­ver­halten. Tipps für die Prompts und Ein­stel­lungen bei Stable Dif­fu­sion, die auch bei KIs helfen.

Inzwischen weiss Hinz und Kunz, wie man Bilder per KI erzeugt. Wer es nicht glaubt, muss bloss für ein paar Momente durch Linkedin scrollen: Dort werden bedeutungsschwangere Botschaften entweder mit einem Selfie bebildert, auf dem der Autor oder die Autorin betroffen in die Linse schaut. Oder aber mit einem Bild, das einer der gängigen Bildgeneratoren beim ersten Versuch ausgeworfen hat.

Nein, ich übertreibe … es gibt auch noch die Leute, die Zeitungsartikel posten, weil sie vom lokalen Käseblatt interviewt worden sind.

Aber wer bin ich, mit Steinen zu werfen, wo ich im Glashaus sitze: Ich spanne die künstliche Intelligenz selbst für meine Zwecke ein. Allerdings wieder viel seltener, als es noch anfangs des Jahres der Fall war. Meine Euphorie verpuffte, weil die Bilder meist zu unecht aussehen. Sie wirken zu künstlich und leblos. Das fiel mir besonders negativ auf, als ich durch mein Blog scrollte: Einzeln mögen die KI-Bilder in Ordnung sein. Doch in der Masse führen sie zu einer Entwertung des Inhalts – genau, wie es Oliver Reichenstein konstatiert (hier in der Zeitung, hier im Radio).

Die KI als Rückfallebene

Aber bei besonderen Gelegenheiten kommt die KI auch heute noch zum Zug. Nämlich dann, wenn meine üblichen Quellen für echte Fotos nichts Passendes anzubieten haben. Die KI ist als Rückfallebene praktisch – und beim gezielten, zurückhaltenden Einsatz halten sich die negativen Auswirkungen in Grenzen.

Ein Beispiel ist die Punker-Familie in Paris. Der dazugehörende Beitrag ist sehr technisch und auf herkömmlichem Weg nur langweilig zu bebildern. In dieser Situation war die KI der Retter in der Not.

Für den gewünschten Effekt muss die KI einen aussergewöhnlichen Sachverhalt auf möglichst realistische Weise darstellen. Mir ist wichtig, dass das Bild als Inszenierung zu erkennen ist – aber nicht unbedingt als KI-generiertes Werk.

Randbemerkung: Die grossen Medienhäuser handhaben das anders. Sie verbieten fotorealistische KI-Bilder; ausser, wenn es um die KI selbst geht. Die Absicht ist, die Beweiskraft von Fotos bei der Berichterstattung nicht zu schmälern. Im journalistischen Kontext sollen Bilder ihren dokumentarischen Wert behalten. Und das ist nicht der Fall, wenn fiktive Motive in gleicher Weise präsentiert werden wie echte. Ich erlaube mir, das im Blog anders zu handhaben, weil Fotos in aller Regel Symbolbilder sind und selten einen echten Sachverhalt beweisen müssen.

Einige meiner Versuche, mit Stable Diffusion eine Familie von Punks nach Paris zu verpflanzen.

Was alles schiefgehen kann

Womit wir endlich beim Thema wären: Wie entlockt man einer KI ein Bild, das einen ungewöhnlichen Sachverhalt auf möglichst realistische Weise zeigt? Das ist in der Tat schwierig, wie im Fall des erwähnten Beispiels mit der Punkerfamilie in Paris selbst feststellen musste. Ich habe Dutzende Versuche mit Stable Diffusion unternommen, ohne ein gutes Bild herauszubekommen. Besonders folgende drei Probleme traten auf:

  1. Entgleiste Gesichtszüge. Stable Diffusion hat häufig Probleme mit menschlichen Gesichtern oder auch Händen und Fingern. Aber selbst kleine Fehler entlarven ein Bild sofort als unecht.
  2. Eine falsche Konstellation von Personen. Die Vorgabe – ein Vater, eine Mutter und eine Tochter – erweist sich als extrem schwierig. Mal sind zu wenige Leute auf dem Bild, mal zu viele und mal die falschen. Und bisweilen hat auch der Sohn der Familie den Bart, den ich beim Vater hätte sehen wollen.
  3. Der doppelte Eiffelturm. Grosse Schwierigkeiten hat die KI mit den geografischen Gegebenheiten – beispielsweise der Tatsache, dass die Pariser Sehenswürdigkeiten nur einmal existieren und nicht mehrfach im Bild vorkommen können.

Das Experiment mit Stable Diffusion war frustrierend – sosehr, dass ich am Ende einem Werk von Adobe Firefly den Zuschlag gegeben habe. Abgesehen davon gab es einige spannende Erkenntnisse. Nämlich:

  1. Einsichten darüber, wie KI-Bilder erkannt werden können: mehr dazu hier und hier.
  2. Einige Tricks, die bei fotorealistischen Motiven helfen – u.a. mittels negativer Prompts. Die Details verrate ich hier.
  3. Und schliesslich mehrere Erkenntnisse zu den Tücken von Stable Diffusion.

Um diesen dritten Punkt soll es hier abschliessend gehen. Ich verwende Stable Diffusion am Mac mit Draw Things, aber es funktioniert auch bei der Nutzung dieser KI auf anderen Wegen. Und die Tipps können analog auch bei anderen Text-zu-Bild-Generatoren angewandt werden.

1) Die Bildgrösse als Fehlerquelle

Einen fatalen Fehler habe ich anfänglich bei der Bildgrösse gemacht (Abschnitt Image Size in der Rubrik Basic Settings). Da ich Bilder mit einigermassen brauchbarer Auflösung benötige, habe ich die Werte für Width und Height grosszügig hochgedreht (z.B. 1920 × 1080 Pixel). Wie sich nach etlichen Versuchen zeigte, führt genau das dazu, dass sich Elemente im Bild auf unerwünschte Weise vervielfältigen – der Eiffelturm etwa zwei- oder sogar dreimal zu sehen ist.

Besser ist, die Einstellung auf Normal zu belassen und stattdessen nachträglich das Bild hochzurechnen. Das tut der Upscaler: Die Einstellungen dazu finden sich im Bereich Advanced. Es gibt verschiedene Upscaler; ich habe mit Universal Upscaler V2 Sharp gute Erfahrungen gemacht.

Auch eine Erkenntnis: Das Seitenverhältnis hat einen Einfluss aufs Resultat. Am besten klappt es bei quadratischen Motiven. Bei sehr breiten Bildern (16:9) habe ich teils Dutzende Anläufe für ein brauchbares Motiv benötigt.

2) Die Feinheiten des Promptings

Es hat diverse Anläufe gebraucht, bis ich kapiert habe, dass die Bildbeschreibung in ausformulierten Prompts bei anderen Bildgeneratoren okay funktioniert, bei Stable Diffusion aber nicht der Königsweg ist. Stattdessen geben wir das Motiv an und zählen dessen Eigenschaften auf:

ibex, brown fur body, four legs, strong long round horns

Wie wir sehen, umfasst der Prompt auch Angaben zum Stil und zur Ausarbeitung.

Der heldenhafte Steinbock, erster Versuch.

3) Den Prompt nach Elementen unterteilen

Eine weitere Methode besteht darin, die Elemente des Prompts zu gliedern. Das kann durch einen senkrechten Strich (|) geschehen. Es gibt auch Leute, die dafür den Break-Befehl verwenden:

ibex, brown fur body, four legs, strong long round horns, standing heroically in alpine scenery with sunshine, blue sky, an alpine hut with a Swiss flag | hyperrealistic, ultra-detailed, photographic style, 4K resolution.

4) Elemente im Prompt gewichten

Schliesslich können wir mit Klammern operieren: Sie geben eine Gewichtung vor. Runde Klammern erhöhen die Wichtigkeit, eckige verringern sie. Die Klammern können auch verschachtelt werden, um die Gewichtung zu erhöhen bzw. zu verringern. Es gibt auch die Möglichkeit, die Gewichtung über den Parameter flag anzugeben:

ibex, brown fur body, four legs, strong long round horns, standing heroically, looking directly into the camera (((close-up, wide-angle view))) | alpine scenery with sunshine, blue sky, [an alpine hut with a Swiss flag:0.5] | (((hyperrealistic))), ultra-detailed, ((photographic style)), [4K resolution]

Der heldenhafte Steinbock, zweiter Versuch. Die als unwichtig gekennzeichnete Alphütte ist gänzlich verschwunden.

5) Natürlich kann ChatGPT bei dieser Arbeit helfen

Bei der Formulierung der Prompts kann ChatGPT helfen. Zum Testen habe ich folgende, ausformulierte Beschreibung benutzt:

Ich hätte gerne ein Bild mit vier Personen. Im Bild sollten drei Figuren zu sehen sein, die wir aus Comics kennen, aber fotorealistisch umgesetzt. Links sitzen Asterix und Obelix, rechts von ihnen Dagobert Duck und am rechten Rand Tim aus Tim und Struppi. Beschreibe die Figuren jeweils so, dass sie erkennbar sind, auch wenn Stable Diffusion keine Informationen über ihr Äusseres hat. Die Personen sitzen auf einer Bank vor einer Landschaft, die wie der Zürichsee aussieht. Verwende eine Methode, um den Prompt zu gliedern und zu gewichten. Wichtig ist das Aussehen der Personen, weniger wichtig der Hintergrund.

ChatGPT hat daraufhin dieses Prompt-Meisterwerk gezaubert:

A photorealistic scene with four characters sitting on a bench in front of a lake landscape that resembles Lake Zurich | (character details:1.2) 1. (On the left: A strong, short man with a large mustache, wearing a winged helmet, small blue striped pants, and a green belt - representing Asterix:1.2), sitting next to 2. (a large, muscular man with red braids, a round belly, and a boar skin hat, wearing blue striped pants - representing Obelix:1.2). 3. To the right of them, (a duck-like character dressed in a formal suit with a top hat, glasses, and spats, holding a cane - resembling Scrooge McDuck/Dagobert Duck:1.2), and 4. (on the far right: a young man with a blonde quiff, wearing a light blue sweater and brown pants, with a curious and determined expression - representing Tintin:1.2). | The background shows Lake Zurich with gentle waves and distant mountains [background lake and mountains:0.5]. | hyperrealistic, ultra-detailed, 4K resolution, cinematic lighting.

Um die Katze aus dem Sack zu lassen: Ich habe viele Anläufe genommen; keines hat meine Erwartungen erfüllt. Das Ergebnis, das die grösste Übereinstimmung mit meinem Prompt hat, stammt vom Modell Dreamshaper v8. Leider ist das qualitativ so schlecht, dass ich es hier nicht zeige. Ein hübsches Bild ist mit Juggernaut XL v9 entstanden; das ist als Beitragsbild oben zu sehen.

Und das nachfolgende Werk ist ebenfalls reichlich entenlastig und muss ohne Asterix, Obelix und Tim auskommen. Es wurde von SDXL Base (V1.0) erzeugt.

Die Comic-Ente aus den USA hat ihre europäischen Kollegen komplett verdrängt.

Wir lernen: Auch die besten Tricks verhelfen nicht immer zum gewünschten Motiv.

Was liesse sich noch tun? Wir könnten mit weiteren Modellen experimentieren oder versuchen, über einen negativen Prompt die Fehler auszubügeln. Aber vermutlich müssen wir akzeptieren, dass unsere Bildidee für die KI derzeit einfach noch zu extravagant ist …

Kommentar verfassen