- NeuralSVG ist eine auf der ICCV 2025 vorgestellte Forschungsarbeit, die SVGs erzeugt, indem sie Text-Prompts in geordnete und editierbare Formen umwandelt
- Bestehende Verfahren zur Text-zu-Vektor-Generierung sind bei der Ausgabe oft überparametrisiert oder behandeln die Ebenenstruktur nur nachrangig, wodurch sie sich möglicherweise nur schwer als tatsächlich editierbare Vektorgrafiken nutzen lassen
- Die gesamte SVG-Szene wird in die Gewichte eines kleinen MLP-Netzwerks kodiert und mit Score Distillation Sampling (SDS) passend zur Textbedingung optimiert
- Die Regularisierung mit Nested Dropout führt dazu, dass jede Form eine eigenständig sinnvolle Rolle erhält, sodass selbst bei nur wenigen verbleibenden Formen die grobe Struktur der Szene erhalten bleibt
- Mit einer einzigen gelernten Repräsentation lassen sich zum Inferenzzeitpunkt Farbpaletten abhängig von der Hintergrundfarbe, das Seitenverhältnis und die Anzahl der Skizzenstriche anpassen
Ein Ansatz für die Erzeugung editierbarer SVGs
- Vektorgrafiken sind ein wichtiges Medium im Design, da sich damit auflösungsunabhängige und editierbare visuelle Inhalte erstellen lassen
- Durch Fortschritte bei Vision-Language-Modellen und Diffusionsmodellen ist das Interesse an der Text-zu-Vektorgrafik-Generierung gewachsen
- Bestehende Ansätze können zwei Einschränkungen haben
- Die Ausgabe ist überparametrisiert
- Die Ebenenstruktur, eine Kernfunktion von Vektorgrafiken, wird als nachrangiges Ziel behandelt
- NeuralSVG schlägt auf Grundlage der Bedeutung einer gelayerten SVG-Repräsentation eine implizite neuronale Repräsentation vor, die aus Text-Prompts Vektorgrafiken erzeugt
Kodierung der Szene in einem kleinen MLP
- NeuralSVG ist von NeRF inspiriert und kodiert die gesamte Szene in die Gewichte eines kleinen MLP-Netzwerks
- Für die Optimierung wird Score Distillation Sampling (SDS) verwendet
- Um eine geordnete Repräsentation zu erzeugen, wird eine dropout-basierte Regularisierungstechnik eingeführt
- Sie sorgt dafür, dass jede gelernte Form innerhalb der Gesamtszene eine sinnvolle und geordnete Rolle erhält
- Selbst wenn die Anzahl der im finalen Rendering beibehaltenen Formen verändert wird, kann die grobe Struktur der Szene schon mit wenigen Formen erfasst werden
Dynamische Steuerung zum Inferenzzeitpunkt
- Durch die neuronale Repräsentation lässt sich das mit einer einzigen gelernten Repräsentation erzeugte SVG anhand von Benutzereingaben dynamisch anpassen
- Unterstützte Steuerungsbeispiele sind unter anderem
- Durch Ändern der Hintergrundfarbe wird die Farbpalette des resultierenden SVG unterschiedlich gerendert
- Es werden Ergebnisse sowohl für während des Trainings beobachtete als auch für nicht beobachtete Hintergrundfarben gezeigt
- Es werden Ergebnisse verglichen, bei denen NeuralSVG auf Seitenverhältnisse von 1:1 und 4:1 optimiert wurde
- Ein einzelnes Netzwerk erzeugt Skizzen mit unterschiedlicher Anzahl an Strichen
1 Kommentare
Hacker-News-Kommentare
Großartig. Ich denke, der Nutzen der Vektor-Generierung ist viel größer als der der Raster-Generierung, die bisher mit DALL-E, Midjourney und ähnlichen Tools viel Aufmerksamkeit bekommen hat.
Raster-Ausgaben sind in der Praxis schwer zu handhaben, weil man für iterative Verbesserungen zu wirklich brauchbaren Ergebnissen nachgelagerte generative KI-Aufrufe für Upscaling oder Inpainting braucht, aber generierte Vektoren sind von Natur aus skalierbar und leicht zu bearbeiten.
Besonders diese Ergebnisse haben den großen Vorteil, dass jede Form aus möglichst wenigen Punkten und damit aus geringer Komplexität besteht, was das Bearbeiten mit menschlichem Eingreifen deutlich angenehmer macht. Bei generativen Visuals ist es meiner Meinung nach schwieriger und wertvoller, vereinfachte Darstellungen zu erzeugen als komplexe und unaufgeräumte.
Für den Einsatz, bei dem Midjourney mit dichten Texturen oder fotorealistischen Bildern glänzt, ist es natürlich weiterhin nicht ideal. Rund um letztes Jahr musste man bei https://gwern.net/dropcap noch einen etwas umständlichen Workflow mit Midjourney und anschließend Recraft verwenden, aber wenn ich heute eine Dropcap erstellen würde, würde wahrscheinlich schon das neueste Recraft-Modell allein ausreichen.
Es baut auf der Arbeit anderer auf, und das Original stammt nicht von mir. Man kann es auch über npm verwenden.
Für Text-zu-Musik-Schnittstellen ist es natürlich in Ordnung. Ich arbeite derzeit hauptsächlich an spärlichen Audio-Codecs mit Fokus auf natürliche Klänge und nutze zumindest grob physikbasierte Annahmen, um spärliche Repräsentationen zu fördern.
https://blog.cochlea.xyz/sparse-interpretable-audio-codec-pa...
Ich mag diese schrittweise Generierung sehr. Sprache ist nicht präzise genug, um das Endergebnis exakt zu beschreiben, daher ist ein Verfahren, das Zwischenstufen erzeugt, sehr mächtig.
Ich würde so einen Ansatz auch gern bei Musikgenerierung sehen. Tools wie Suno sind cool, aber persönlich fände ich es viel besser, wenn sie statt des Audios selbst MIDI und Instrumenteneinstellungen erzeugen würden.
Das könnte auch eine gute Lehre für generative Tools insgesamt sein. Einen ordentlichen Startpunkt zu generieren ist machbar, aber das, was Menschen tatsächlich wollen, liegt im Long Tail. Deshalb macht die Fähigkeit zur präzisen Nachbearbeitung den Unterschied zwischen einer vorbereiteten Demo und einem leistungsfähigen Werkzeug aus.
Dort steht „Code coming soon“, und die Beispiele sind ziemlich gut, aber ich weiß nicht, wie reproduzierbar das Ganze ist.
https://github.com/chaosprint/RaveForce
RaveForce ist eine OpenAI-Gym-artige Tool-Sammlung für Experimente mit Musikgenerierung. Ich mag Suno, aber um wirklich damit zu arbeiten, braucht man am Ende MIDI oder XML oder verlustfreie Samples.
Schon allein Sonnet auf SVG-Animationen anzuwenden war beeindruckend, aber das hier könnte noch deutlich leistungsfähiger sein.
Interessantes Beispiel: https://gist.github.com/scosman/701275e737331aaab6a2acf74a52...
Ich habe immer gedacht, dass die Erzeugung von Zwischenrepräsentationen der richtige Weg ist. Statt konkrete Syntax zu generieren, erzeugt man ein AST, statt PNG ein SVG, und statt Bildfolgen für Animationen zu erzeugen, erstellt man Wireframes oder Rigging und Skripte.
Wenn es eine Zwischenrepräsentation gibt, kann man sie bearbeiten und rendern. Wenn es ein Rendering-Ergebnis gibt, kann man am Ende noch eine Schicht KI-Feenstaub darüberstreuen.
Vielleicht werden generative Modelle irgendwann stark genug, um allein mit natürlicher Sprache feinkörnige Kontrolle zu ermöglichen, aber bis dahin scheint dieser Ansatz Vorteile bei der Steuerbarkeit, der Interoperabilität mit bestehenden Tools wie Intellisense oder Bildeditoren und bei kleineren, günstigeren Modellen zu haben, weil sie nicht mit hochdimensionalen Pixelräumen umgehen müssen.
Ich bin gespannt, was dieses Modell bei Simon Willisons LLM-SVG-Testprompt „Erzeuge ein SVG eines Pelikans auf einem Fahrrad“ liefern würde.
Das Tempo der Fortschritte bei KI ist ziemlich erstaunlich und wird sich wohl weiter verbessern, was auch ein wenig beängstigend ist.
Ich habe mehrere Modelle ausprobiert, und sie lagen katastrophal daneben. Bei „Erzeuge ein SVG eines Pelikans auf einem Fahrrad“ schlägt sich Claude ganz ordentlich.
Sehr gut. Ich musste Bitmasken in SVG umwandeln und wollte den Zwischenschritt überspringen, daher habe ich nach Arbeiten gesucht, in denen ein Segmentierungsmodell SVG ausgibt, und bin dabei darauf gestoßen.
https://arxiv.org/abs/2311.05276
Die Skizzen-Generierung ist unglaublich. Und sie scheint quasi gratis mitzukommen.
Das dürfte viele Möglichkeiten für Dokumentations-Tools eröffnen. Wirklich cool, und ich möchte es unbedingt ausprobieren, sobald der Code veröffentlicht ist.
Schön. In ähnlicher Weise hoffe ich auch auf Textgenerierung für Diagramme. So etwas wie Pic/Pikchr im Zeitalter der LLMs.
Wirklich cool. Ich habe mit Claude SVGs animiert, und das funktionierte ziemlich gut.