Anwendungs-Szenario: 3D Protoyping
In vielen Sektoren der Kreativwirtschaft sowie auch im Kulturbereich besteht ein großer Bedarf für 3D Prototypen von Szenarien: Für die Planung von Bauprojekten oder baulichen Veränderungen, für Experimente mit Raumaufteilung oder neuen Flächennutzungen oder auch für die Konzeption neuer Inhalte und Experiences in Räumen sind 3D Modelle von realen oder auch (noch) nicht existierenden Räumlichkeiten von großem Nutzen. Und auch in scheinbar fremden Feldern wie dem Journalismus sind solche Prototypen nützlich: Wie der Projektpartner DW zeigte, können 3D Modelle von Räumen investigativen Journalist:innen helfen, Zeugenaussagen zu validieren, Plausibilitätsüberprüfungen durchzuführen und auch Zustände zu illustrieren, von denen es keine realen Fotos gibt, um diese der interessierten Öffentlichkeit verständlicher zu machen.
Es war seit langem schon möglich, solche 3D Prototypen mit Hilfe von Standard-Werkzeugen wie z.B. Blender umzusetzen, doch sind dazu besondere Fähigkeiten im Umgang mit diesen Werkzeugen und ein signifikanter Aufwand nötig: 3D Modellierung ist zeitaufwendig und damit teuer.
Der in diesem Projekt entwickelte Assistent soll die Erzeugung von plausiblen Prototypen vereinfachen und zugänglicher machen. Dabei sollen zusätzlich auch Artefakte generiert werden, mit denen Expert:innen später weiterarbeiten können.
Assistent für den Kreativ- und Kulturbereich
Im Rahmen des Projektes wurde bis jetzt ein interaktiver Prototyp realisiert, der es Laien im Bereich der 3D Modellierung ermöglicht, komplette 3D Szenarien nur durch ihre textuelle Beschreibung oder eine 2D Skizze generieren zu lassen.
Dabei wurde im ersten Schritt der Fokus auf die Erstellung von Räumen in Gebäuden gelegt. Der Prozess setzt sich dabei aus mehreren Phasen zusammen, die schrittweise die Basis für ein nutzbares Modell legen: In der ersten Phase wird aus dem Bild- und Textprompt eine strukturierte Szenariobeschreibung im GeoJSON Standard generiert. Dieses Standardformat wird auch von diversen Architektur- und 3D Werkzeugen unterstützt und erlaubt es, Räume auf eine strukturierte Art aufzubauen und zu beschreiben. Mit Hilfe von Softwareagenten wird die Beschreibung dann immer weiter mit Details über den Raum angereichert und die Änderungen automatisch auf Plausibilität überprüft.
Der leere Raum kann dann auch automatisiert mit generierten, auf den Kontext angepassten Objekten (Möbel, Einrichtungsgegenstände, etc) gefüllt werden. Dabei bleibt der Raumkontext (z.B. dass es sich um ein Schlafzimmer handelt) erhalten und beeinflusst die Generierung.
Am Ende steht ein 3D Modell, welches direkt z.B. in einem 3D Modellierungstool wie Blender geöffnet oder weiterverwendet werden könnte.
Nutzungsszenarien
Der Assistent ist in seiner ersten Iteration als Web-Anwendung implementiert, soll aber weitere Interationsformen ermöglichen. Diese Anforderungen hatten auch einen besonderen Einfluss auf das Prozessdesign.
Wir gegen grundsätzlich von einem iterativen Prototyping Prozess aus: Der Assistent wird nicht einmal mit einem Prompt gefüttert und liefert das perfekte Ergebnis sondern soll die gezielte Manipulation und Ergänzung des generierten Raumes ermöglichen. Dieser Ansatz kommt sowohl der Arbeit von Investigativjournalist*innen wie auch der Arbeit im Kreativsektor am nächsten; Prototypen sind grundsätzlich fluide und konstanter Änderung unterworfen.
Der nächste Entwicklungsschritt ist es, den Assistenten in die 3D Welt selbst zu transportieren. Wir gehen davon aus, dass es besonders immersiv und hilfreich sein kann, im 3D Raum selbst zu stehen, während man ihn verändert. Dazu planen wir eine 3D Applikation für den Rechner wie auch eine Implementierung für VR Brillen. Diese Form des Prototyping soll durch intuitivere Formen der Eingabe ergänzt werden. Spracheingabe beispielsweise, die mit einfachen Befehlen wie “Bitte füge mittig in der Wand vor mir ein Fenster ein” erlaubt, den Raum Schrittweise zu ändern und zu verfeinern.
Im Rahmen der Umsetzung dieses 3D Prototypen werden sich die APIs zu den verwendeten KI Systemen und Softwarekomponenten so stabilisiert haben, dass sie für die Integration in Standardwerkzeuge geöffnet werden können.
Technische Realisierung
Das Gesamtsystem ist implementiert als ein Zusammenspiel aus mehreren spezialisierten Agenten und Softwarekomponenten. Dabei stellt die Materialisierung der (Zwischen-)Ergebnisse in GeoJSON eine Form der Synchronisierung dar: Einzelne Agenten fügen ja nach Prompt Objekte zur Szene hinzu, verändern Abmessungen oder ergänzen Geometrie und synchronisieren diese Änderungen wieder zurück in das GeoJSON. Wir verfolgen generell einen modellagnostischen Ansatz, da sich in unseren Tests herausgestellt hat, dass unterschiedliche verfügbare KI-Modelle sehr unterschiedliche Leistungscharakteristika bezogen auf einzelne Schritte des Prozesses haben. Unsere Architektur erlaubt es daher, für jeden Prozessschritt/Agenten das verwendete Modell dynamisch zu wählen und somit auf Modellverbesserungen, Veränderungen der Kostenstruktur oder andere Anforderungen (z.B. Souveränitätsfragen) zu reagieren. Die Anforderungen im Kreativbereich sind sehr heterogen und damit muss unser Assistent umgehen können. Der Aufbau komplett eigener Modelle hat sich nicht als wirtschaftlich und in diesem Moment auch nicht als notwendig herausgestellt. Vorhandene Modelle am Markt (sowohl Open-Weight-Modelle wie auch proprietäre) können die einzelnen Aufgaben mit einer ausreichenden Qualität abbilden. Hier läuft im Rahmen des Projektes aber eine permanente Marktbeobachtung und breite Tests auf Basis einer automatisierten Testpipeline.
Technische Limitationen
Echte 3D Modelle von Räumen haben oft einen extremen Detailgrad, je nach Szenario. In einem 3D Modell einer Bauplanung sind beispielsweise jede Steckdose und jeder Lüftungsschacht modelliert. Für das Prototyping ist das nicht nötig und würde auch die Nutzung der Modelle beispielsweise in einer VR Umgebung erschweren. Wir arbeiten also bewußt mit gröberen 3D Modellen und gehen aktuell nicht davon aus, dass Generatoren wie der an dem wir arbeiten die Qualität einer manuellen Modellierung durch eine:n Expert:in erreichen kann.