2 Punkte von GN⁺ 2025-01-09 | 1 Kommentare | Auf WhatsApp teilen
  • 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

Bewertungsergebnisse und Materialien

  • In qualitativen und quantitativen Auswertungen zeigt NeuralSVG bessere Ergebnisse als bestehende Methoden im Hinblick auf strukturierte und flexible SVG-Erzeugung
  • Projektmaterialien

1 Kommentare

 
GN⁺ 2025-01-09
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.

    • Ich frage mich, ob du dir in letzter Zeit https://www.recraft.ai/ angesehen hast. Die Bildqualität bei Vektor-Ausgaben scheint ziemlich gut geworden zu sein.
      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 gibt auch die Möglichkeit, solche Bilder als Leitbild für Rasterisierungsmodelle zu verwenden. Man erstellt zuerst ein Bild, das sich leicht manipulieren und kombinieren lässt, und fügt dann Details hinzu, sobald die Komposition passt.
    • Es gibt auch ein kleines Projekt für komplexe und unaufgeräumte Darstellungen ;) https://github.com/KodeMunkie/shapesnap
      Es baut auf der Arbeit anderer auf, und das Original stammt nicht von mir. Man kann es auch über npm verwenden.
    • Ich stelle mir immer vor, wie nützlich es wäre, wenn Sora.ai bei der Erstellung von Animationen zuerst 3D-Modelle zum Rendern generieren würde.
    • Stimme vollkommen zu. Das in Audio-Codecs weit verbreitete blockcodierende und rasterisierende Vorgehen, sogar in modernen „neuronalen“ Ansätzen, wirkt für die von Musikerinnen und Musikern gewünschte feinkörnige Kontrolle wie eine Sackgasse.
      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.

    • Wenn du ein Tool suchst, das MIDI und Instrumenteneinstellungen generiert, könnte etwas wie https://www.aiva.ai passen.
    • Nur MIDI reicht nicht. Ich möchte MIDI + Filter, dazu eine separate Vocal-Spur und sogar benutzerdefinierte Soundtracks.
    • Guter Punkt. Vor ein paar Tagen habe ich darüber nachgedacht, dieses Projekt mit Glicol wieder aufzunehmen.
      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.
    • Mikrotonales MIDI wäre wirklich großartig.
  • 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 Claude und ChatGPT o3 gebeten, „ein SVG des US-Festlands mit schwarzer Umrandung zu erzeugen“.
      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.

    • Ich frage mich, wie das Dokumentationserstellung verbessern könnte. Kannst du ein paar Ideen in den Raum werfen?
  • Schön. In ähnlicher Weise hoffe ich auch auf Textgenerierung für Diagramme. So etwas wie Pic/Pikchr im Zeitalter der LLMs.

    • Nicht PIC, und für komplexe Diagramme noch nicht besonders geeignet, aber einige der vom Vizzlo Chart Vizzard unterstützten Diagrammtypen, etwa Gantt-Diagramme, lassen sich erstellen und anschließend im Diagramm-Editor weiterbearbeiten: https://vizzlo.com/ai
    • Ich hatte schon ein gewisses Maß an Erfolg dabei, SQL in Mermaid-Markdown-Diagramme umzuwandeln.
  • Wirklich cool. Ich habe mit Claude SVGs animiert, und das funktionierte ziemlich gut.

    • Wenn du es teilen kannst, würde ich gern Beispiele und deinen Workflow sehen.