NeuralSVG: テキスト-ベクター生成のための暗黙的表現
(sagipolaczek.github.io)- NeuralSVGは、テキストプロンプトを順序づけられた編集可能な図形へ変換し、SVGを生成する ICCV 2025 の研究
- 既存のテキスト-ベクター生成手法は、出力が過度にパラメータ化されていたり、レイヤー構造を副次的に扱っていたりするため、実際に編集可能なベクターグラフィックスとして使いにくい場合がある
- SVGシーン全体を小さな MLP ネットワークの重みにエンコードし、Score Distillation Sampling (SDS) によってテキスト条件に合うよう最適化する
- ネストされたドロップアウト正則化は、各図形が独立して意味のある役割を持つよう促し、少数の図形だけを残してもシーンのおおまかな構造を維持する
- 1つの学習済み表現から、背景色に応じたカラーパレット、アスペクト比、スケッチのストローク数を推論時に調整できる
編集可能な SVG 生成を目指すアプローチ
- ベクターグラフィックスは解像度に依存せず、編集可能な視覚コンテンツを作成できるため、デザインにおける重要なメディアである
- ビジョン言語モデルと拡散モデルの進展により、テキスト-ベクターグラフィックス生成への関心が高まっている
- 既存のアプローチには 2 つの限界がありうる
- 出力が過度にパラメータ化される
- ベクターグラフィックスの中核機能であるレイヤー構造を副次的な目標として扱う
- NeuralSVG は、レイヤーを持つ SVG 表現の重要性に基づき、テキストプロンプトからベクターグラフィックスを生成する暗黙的ニューラル表現を提案する
小さな MLP にシーンをエンコードする方法
- NeuralSVG は NeRF に着想を得て、シーン全体を小さな MLP ネットワークの重みにエンコードする
- 最適化には Score Distillation Sampling (SDS) を用いる
- 順序づけられた表現を作るため、ドロップアウトベースの正則化手法を導入する
- 各学習済み図形がシーン全体の中で意味があり、順序づけられた役割を持つよう誘導する
- 最終レンダリングで保持する図形数を変えても、少数の図形だけでシーンのおおまかな構造を捉えられる
推論時の動的制御
- ニューラル表現を使うことで、1つの学習済み表現から生成された SVG をユーザー入力に応じて動的に調整できる
- 対応する制御例は次のとおり
- 背景色を変えて、結果の SVG のカラーパレットを異なる形でレンダリングする
- 学習中に観測された背景色と、観測されていない背景色の両方に対する結果を提示する
- 1:1 と 4:1 のアスペクト比で NeuralSVG を最適化した結果を比較する
- 1つのネットワークで、異なる本数のストロークを持つスケッチを生成する
1件のコメント
Hacker News のコメント
すばらしい。これまで大きな注目を集めてきた DALL-E や Midjourney のようなラスター生成より、ベクター生成の有用性ははるかに大きいと思う。
ラスター出力は、実際に使える結果へ反復的に改善しようとすると、後続の生成 AI 呼び出しでアップスケールやインペインティングを行う必要があり扱いにくい。一方で、生成されたベクターは本質的に拡大縮小可能で、編集もしやすい。
特にこれらの成果物は、各図形が可能な限り少ない点で構成された低複雑度のものなので、人が途中で介入して編集する体験に大きな利点がある。生成型のビジュアルでは、複雑で雑然とした表現よりも、単純化された表現を作るほうが難しく、価値も高いと思う。
もちろん、Midjourney が得意とする緻密な質感や写真のような画像を作る用途には、今でも向いていない。昨年ごろ https://gwern.net/dropcap では、Midjourney で作って Recraft を通すというやや複雑な流れを使う必要があったが、今ドロップキャップを作るなら、最新の Recraft モデルだけでも十分そうだ。
巨人の肩の上に立つ仕事で、元のものは私のものではない。npm でも使える。
もちろん、テキストから音楽へのインターフェースとしては悪くない。今は主に自然音に焦点を当てたスパースなオーディオコーデックを作っていて、スパース表現を誘導するために、かなり大ざっぱながら物理ベースの仮定を使っている。
https://blog.cochlea.xyz/sparse-interpretable-audio-codec-pa...
こういう漸進的な生成方式がとても好きだ。言語は最終成果物を正確に記述するには十分に精密ではないので、中間段階を生成する方式は非常に強力だ。
音楽生成でもこうしたアプローチを見てみたい。Suno のようなツールはすばらしいが、個人的にはオーディオそのものよりも、MIDI と楽器設定を作ってくれるほうがずっと良い。
生成ツールに関する良い教訓でもあるかもしれない。そこそこ良い出発点を生成することは可能だが、人々が実際に望むものはロングテール領域にある。だから、精密に修正できる能力が含まれているかどうかが、用意されたデモと強力なツールの差を生む。
「Code coming soon」とあるが、例はかなり良いものの、再現性がどの程度あるのかは分からない。
https://github.com/chaosprint/RaveForce
RaveForce は、音楽生成実験のための OpenAI Gym スタイルのツールキットだ。Suno は好きだが、結局作業するには MIDI や XML、またはロスレスサンプルが必要になる。
Sonnet を SVG アニメーションに適用するだけでも印象的だったが、これはさらにずっと強力になり得るように見える。
面白い例: https://gist.github.com/scosman/701275e737331aaab6a2acf74a52...
いつも中間表現の生成こそが進むべき道だと思ってきた。具体構文を生成する代わりに AST を作り、PNG の代わりに SVG を作り、アニメーション用の連続画像を作る代わりにワイヤーフレームやリギング、スクリプトを生成する、という具合だ。
中間表現があれば、修正してレンダリングすればよい。レンダリング結果があれば、最後に AI の妖精の粉をひとふりすればよい。
いつか生成モデルが十分に強力になり、自然言語だけで細かな制御が可能になるかもしれないが、それまではこの方法が、制御可能性、Intellisense や画像エディターのような既存ツールとの相互運用性、そして高次元のピクセル空間を扱わずに済む、より小さく安価なモデルという利点を持つだろう。
Simon Willison の LLM SVG 生成テストプロンプトである「自転車に乗るペリカンの SVG を生成せよ」に対して、このモデルがどんな結果を出すのか楽しみだ。
AI の進歩速度はかなり驚くべきもので、今後も良くなっていくだろうが、それだけに少し怖くもある。
複数のモデルを試したが、ひどく間違っていた。Claude は「自転車に乗るペリカンの SVG を生成せよ」ではそこそこ良い出来だった。
とても良い。ビットマスクを SVG に変換する必要があったが、中間段階を飛ばしたかったので、セグメンテーションモデルが SVG を出力する論文を探していたところ、これを見つけた。
https://arxiv.org/abs/2311.05276
スケッチ生成がすごい。しかもほとんど無料で付いてくるように見える。
文書作成ツールに多くの機会を開きそうだ。本当にすばらしく、コードが公開されたら早く使ってみたい。
良い。似たような形で、ダイアグラムのテキスト生成にも期待している。LLM 時代の Pic/Pikchr のようなものだ。
本当にすばらしい。Claude で SVG にアニメーションを入れてきたが、かなり良かった。