de
                    array(2) {
  ["de"]=>
  array(13) {
    ["code"]=>
    string(2) "de"
    ["id"]=>
    string(1) "3"
    ["native_name"]=>
    string(7) "Deutsch"
    ["major"]=>
    string(1) "1"
    ["active"]=>
    string(1) "1"
    ["default_locale"]=>
    string(5) "de_DE"
    ["encode_url"]=>
    string(1) "0"
    ["tag"]=>
    string(2) "de"
    ["missing"]=>
    int(0)
    ["translated_name"]=>
    string(7) "Deutsch"
    ["url"]=>
    string(134) "https://www.statworx.com/content-hub/blog/wie-man-ki-generierte-avatare-mit-hilfe-von-stable-diffusion-und-textual-inversion-erstellt/"
    ["country_flag_url"]=>
    string(87) "https://www.statworx.com/wp-content/plugins/sitepress-multilingual-cms/res/flags/de.png"
    ["language_code"]=>
    string(2) "de"
  }
  ["en"]=>
  array(13) {
    ["code"]=>
    string(2) "en"
    ["id"]=>
    string(1) "1"
    ["native_name"]=>
    string(7) "English"
    ["major"]=>
    string(1) "1"
    ["active"]=>
    int(0)
    ["default_locale"]=>
    string(5) "en_US"
    ["encode_url"]=>
    string(1) "0"
    ["tag"]=>
    string(2) "en"
    ["missing"]=>
    int(0)
    ["translated_name"]=>
    string(8) "Englisch"
    ["url"]=>
    string(125) "https://www.statworx.com/en/content-hub/blog/how-to-create-ai-generated-avatars-using-stable-diffusion-and-textual-inversion/"
    ["country_flag_url"]=>
    string(87) "https://www.statworx.com/wp-content/plugins/sitepress-multilingual-cms/res/flags/en.png"
    ["language_code"]=>
    string(2) "en"
  }
}
                    
Kontakt
Content Hub
Blog Post

Wie man KI-generierte Avatare mit Hilfe von Stable Diffusion und Textual Inversion erstellt

  • Expert:innen Johannes Gensheimer
  • Datum 08. März 2023
  • Thema Artificial IntelligenceDeep LearningMachine Learning
  • Format Blog
  • Kategorie Technology
Wie man KI-generierte Avatare mit Hilfe von Stable Diffusion und Textual Inversion erstellt

Bei statworx erforschen wir kontinuierlich neue Ideen und Möglichkeiten im Bereich der künstlichen Intelligenz. Die letzten Monate waren von Generativen Modellen geprägt, insbesondere von solchen, die von OpenAI entwickelt wurden (z.B. ChatGPT, DALL-E 2), aber auch von Open-Source-Projekten wie Stable Diffusion. ChatGPT ist ein Text-zu-Text-Modell, während DALL-E 2 und Stable Diffusion Text-zu-Bild-Modelle sind, die auf der Grundlage einer kurzen Textbeschreibung des Benutzers beeindruckende Bilder erstellen. Während der Evaluierung dieser Forschungstrends entdeckten wir eine großartige Möglichkeit, unsere von HP zur Verfügung gestellte GPU-Workstation zu nutzen, damit unsere #statcrew ihre eigenen digitalen Avatare erstellen kann.

Das steckt hinter dem Text-zu-Bild-Generator Stable Diffusion

Text-Bild-Generatoren wie Stable Diffusion und DALL-E 2 basieren auf Diffusionsarchitekturen von künstlichen neuronalen Netzen. Die umfangreichen Trainingsdaten aus dem Internet erfordern oft Monate an Trainingszeit auf Hochleistungsrechnern, um eine optimale Performance zu erreichen. Eine erfolgreiche Implementierung ist daher lediglich durch den Einsatz von Supercomputern möglich. Aber auch nach dem Training benötigen die OpenAI-Modelle immer noch einen Supercomputer, um neue Bilder zu generieren, da ihre Größe die Kapazität von herkömmlichen Computern übersteigt. OpenAI hat Schnittstellen bereitgestellt, um den Zugang zu seinen Modellen zu erleichtern (https://openai.com/product#made-for-developers). Jedoch wurden die Modelle selbst nicht öffentlich freigegeben.

Stable Diffusion hingegen wurde als Text-zu-Bild-Generator entwickelt, ist aber so groß, dass es auf dem eigenen Computer ausgeführt werden kann. Das Open-Source-Projekt ist ein Gemeinschaftsprojekt mehrerer Forschungsinstitute. Seine öffentliche Verfügbarkeit ermöglicht es Forschern und Entwicklern, das trainierte Modell durch sogenanntes fine-tuning für ihre eigenen Zwecke anzupassen. Stable Diffusion ist klein genug, um auf einem Computer ausgeführt zu werden, aber das fine-tuning ist auf einer Workstation (wie der von HP mit zwei NVIDIA RTX8000 GPUs) wesentlich schneller. Obwohl es deutlich kleiner ist als z. B. DALL-E2, ist die Qualität der erzeugten Bilder immer noch hervorragend.

Die genannten Modelle werden durch die Verwendung von Prompts gesteuert, welche eine Beschreibung des gewünschten Bildes in Form von Text enthalten und dadurch das Modell zur Generierung des entsprechenden Bildes angeregt. Für künstliche Intelligenz ist Text direkt nicht verständlich, da alle Algorithmen auf mathematischen Operationen beruhen, die nicht direkt auf Text angewendet werden können.

Daher besteht eine gängige Methode darin, ein so genanntes Embedding zu erzeugen, d. h. Text in mathematische Vektoren umzuwandeln. Das Verständnis des Textes ergibt sich aus dem Training des Übersetzungsmodells von Text zu Embeddings.  Die hochdimensionalen Embedding-Vektoren werden so erzeugt, dass der Abstand der Vektoren zueinander die Beziehung der Originaltexte darstellt. Ähnliche Methoden werden auch für Bilder verwendet, und es werden spezielle Modelle für diese Aufgabe trainiert.

CLIP: Ein hybrides Modell von OpenAI zur Bild-Text-Integration mit kontrastivem Lernansatz

Ein solches Modell ist CLIP, ein von OpenAI entwickeltes Hybridmodell, das die Stärken von Bilderkennungsmodellen und Sprachmodellen kombiniert. Das Grundprinzip von CLIP besteht darin, Embeddings für passende Text- und Bildpaare zu erzeugen. Diese Embedding-Vektoren der Texte und Bilder werden so berechnet, dass der Abstand der Vektordarstellungen der passenden Paare minimiert wird. Eine Besonderheit von CLIP ist, dass es mit Hilfe eines kontrastiven Lernansatzes trainiert wird, bei dem zwei verschiedene Eingaben miteinander verglichen werden und die Ähnlichkeit zwischen ihnen maximiert wird, während die Ähnlichkeit, der nicht übereinstimmenden Paare im selben Durchgang minimiert wird. Dadurch kann das Modell robustere und übertragbare Repräsentationen von Bildern und Texten erlernen, was zu einer verbesserten Leistung bei einer Vielzahl von Aufgaben führt.

Anpassen der Bildgenerierung durch Textual Inversion

Mit CLIP als Vorverarbeitungsschritt der Stable Diffusion-Pipeline, die das Embedding der Prompts erstellt, eröffnet sich eine leistungsstarke und effiziente Möglichkeit, dem Modell neue Objekte oder Stile beizubringen. Dieser Spezialfall des fine-tuning wird als Textual Inversion bezeichnet. Abbildung 1 zeigt diesen Trainingsprozess. Mit mindestens drei Bildern eines Objekts oder Stils und einem eindeutigen Textbezeichner kann Stable Diffusion so gesteuert werden, dass es Bilder dieses spezifischen Objekts oder Stils erzeugt.

Im ersten Schritt wird ein <tag> gewählt, der das Objekt repräsentieren soll.

In diesem Fall ist das Objekt als Johannes definiert, und es werden mehrere Bilder von ihm zur Verfügung gestellt. In jedem Trainingsschritt wird ein zufälliges Bild aus den zur Verfügung gestellten Bildern ausgewählt. Zusätzlich wird eine erklärbare Aufforderung wie „rendering of <tag>“ bereitgestellt, und in jedem Trainingsschritt wird eine zufällige Auswahl dieser Aufforderungen getroffen. Der Teil <tag> wird durch den definierten Begriff (in diesem Fall <Johannes>) ausgetauscht.

Durch Anwendung der Textual Inversion Methode wird das Vokabular des Modells erweitert. Nach Durchführung ausreichender Trainingsiterationen kann das neu feinabgestimmte Modell in die Stable Diffusion-Pipeline integriert werden. Dies führt zu einem neuen Bild von Johannes, wenn der Begriff <Johannes> im Prompt des Nutzers vorkommt. Dem generierten Bild können anschließend je nach Eingabeaufforderung Stile und andere Objekte hinzugefügt werden.

Abbildung 1: Fine-tuning von CLIP mit Textual Inversion.

So sieht es aus, wenn wir KI-generierte Avatare unserer #statcrew erstellen

Wir haben bei statworx allen interessierten Kollegen und Kolleginnen ermöglicht, ihre digitalen Avatare in verschiedensten Kontexten zu positionieren.

Mit der zur Verfügung stehenden HP-Workstation konnten wir die integrierten NVIDIA RTX8000 GPUs nutzen und damit die Trainingszeit im Vergleich zu einer Desktop-CPU um den Faktor 15 reduzieren. Wie man an den Beispielen unten sehen kann, hat es der unserer statcrew viel Spaß gemacht, eine Reihe von Bildern in unterschiedlichen Situationen zu erzeugen. Die folgenden Bilder zeigen ein paar ausgewählte Porträts.

Prompts von links oben nach rechts unten

  1. <Andreas> looks a lot like christmas, santa claus, snow
  2. Robot <Paul>
  3. <Markus> as funko, trending on artstation, concept art, <Markus>, funko, digital art, box (, superman / batman / mario, nintendo, super mario)
  4. <Johannes> is very thankful, art, 8k, trending on artstation, vinyl·
  5. <Markus> riding a unicorn, digital art, trending on artstation, unicorn, (<Markus> / oil paiting)·
  6. <Max> in the new super hero movie, movie poster, 4k, huge explosions in the background, everyone is literally dying expect for him
  7. a blonde emoji that looks like <Alex>
  8. harry potter, hermione granger from harry potter, portrait of <Sarah>, concept art, highly detailed

Stable Diffusion und Textual Inversion stellen spannende Entwicklungen auf dem Gebiet der künstlichen Intelligenz dar. Sie bieten neue Möglichkeiten für die Erstellung einzigartiger und personalisierter Avatare, sind aber auch auf verschiedene Stile anwendbar. Wenn wir diese und andere KI-Modelle weiter erforschen, können wir die Grenzen des Möglichen erweitern und neue und innovative Lösungen für reale Probleme schaffen.

 

Bilderquelle: Adobe Stock 546181349  Johannes Gensheimer

Mehr erfahren!

Als eines der führenden Beratungs- und Entwicklungs­unternehmen für Data Science und KI begleiten wir Unternehmen in die datengetriebene Zukunft. Erfahre mehr über statworx und darüber, was uns antreibt.
Über uns