BlenderAlchemy: ビジョン言語モデルでグラフィックデザインを変革する
新しいシステムが、先進的なAIモデルを使ってBlenderの3Dデザイン作業を効率化するんだ。
― 1 分で読む
目次
グラフィックデザインは映画やゲームなどの多くの分野にとって重要だよね。魅力的なシーンを作るために、デザイナーはBlenderみたいなソフトウェアでたくさんの時間を費やすことが多いんだ。物質ノードをつなげるようなアクションを何度も繰り返さなきゃいけないこともあるし、デザイン目標が違えば全く違うステップが必要になったりするから、自動化が難しいんだ。この論文では、ユーザーの意図に合ったデザインアクションを見つけるために、GPT-4Vみたいなビジョン・ランゲージモデル(VLM)を使うシステムを紹介するよ。視覚ベースの編集ジェネレーターと状態評価器を組み合わせて、望ましい結果を得るための正しいステップを見つける仕組みなんだ。
私たちのシステムは、画像生成モデルからの「想像された」参照画像を利用して、プロセスを助けるよ。これで漠然とした言語の説明に対する視覚的なリファレンスが得られるんだ。私たちのシステムが、テキストの指示や参照画像からマテリアルを調整するような、シンプルだけど繰り返しの編集タスクをBlenderで作成できることを証明してるんだよ。
BlenderAlchemyの概要
BlenderAlchemyは、既存のBlenderプロジェクトと、テキストや画像で表現されたユーザーの意図から始まる。ユーザーの意図を満たすためにBlenderの状態を変更しながら、BlenderのPythonプログラムを繰り返し改良して、最終的な結果を出すんだ。私たちのシステムは、テキストから画像を生成する機能も使って、テキストの説明から視覚的なターゲットを作り、プログラムを洗練させるの。
映画やゲームで見られる高品質なグラフィックスを作るためには、3DアーティストがBlenderみたいなソフトウェアで多くの時間をかけて、正しいマテリアルを選んだり、オブジェクトを配置したり、ライティングを設定したりする必要があるんだ。アーティストは最終的な目標を心の中で視覚化し、いろんな設定を試して、その変更がどれだけ目標に近づいているかをチェックするのが大変なんだ。
これらのプロセスを言語やビジュアルの説明から編集に変換して自動化できれば、何百万もの3Dデザイナーを助けて、3Dデザインに依存する多くの業界に利益をもたらすことができるよ。グラフィックデザインは難しいから、ちょっとしたタスクでも多くの異なるアクションが必要なんだ。例えば、ゲーム環境を作るには、モデリングやマテリアルデザイン、テクスチャペインティング、ライティング、シーンコンポジションを繰り返さなきゃいけないんだ。
過去の多くの努力は、マテリアルを作成する特定のタスクに焦点を当ててきたけど、これらの方法は良い結果を出すことが多いけど、広いデザイン目標に基づいて行動するのは苦手だったんだ。別のアプローチは、ユーザーの意図を理解して、アクションを提案できる大規模言語モデル(LLM)を使うことなんだけど、既存のタスク特化ツールをつなげるか、一歩一歩編集を予測することが必要なんだ。
LLMは意図を理解して、それに応じたシーケンスを提案するのが得意だけど、グラフィックデザインに適用するのは課題があるんだ。主に言語だけでは、Blenderでのアクションによる視覚的な結果を捉えられないからなんだ。期待できる代替策は、LLaVAやGPT-4V、Gemini、DallE-3みたいな視覚と言語のモデル(VLM)を使うことだよ。これらは視覚的な詳細を理解して、画像を生成するのが得意なんだ。
私たちは、これらのVLMがBlender環境でのマテリアル編集やライティングの設定デザインなど、さまざまなデザインタスクをこなせると信じているよ。この作業は、ユーザーの意図に基づいてBlenderの作業スペースを変更するプログラムを生成・編集するために、視覚基盤モデルGPT-4Vを活用したプロトタイプシステムを示しているんだ。
システムの構造
最初に、Blenderのワークスペースを既存の状態で設定するんだ。この状態は短いPythonプログラムと基本的なBlenderファイルで表現される。ユーザーは、その望む結果を伝えるためにテキストの説明や参照画像を提供するんだ。システムの仕事は、そのプログラムを修正して、実行されたときに最終的な出力がユーザーの期待に応えるようにすることなんだ。
編集プロセスは、各サイクルごとに編集ジェネレーターと状態評価器が関与し、さまざまなプログラム編集を探索して選択することを含む。ジェネレーターは様々なプログラムのバリエーションを生成し、評価器はそれらを比較してユーザーの意図に最も合ったものを選ぶの。各ラウンドの洗練は、前の反復から最も有望なプログラムに焦点を当てるんだ。
この編集の状況でVLMを直接使うと失敗することがあるから、視覚を意識した編集ジェネレーターと視覚状態評価器を組み合わせる方法を提案するよ。これにより、計算的な予算によって制限されたガイド付きのトライアルアンドエラーのプロセスが可能になるんだ。
各反復中、視覚プログラムジェネレーターは数個の編集を提案する。これらの編集はBlenderで適用され、レンダリングされた画像が生成される。評価器はこれらの画像を分析して、テキストや参照画像からのユーザーの意図にどれだけ合っているかを基に、ペア間比較でベストなものを選ぶの。
もし反復で良い候補が得られなかったら、前のステップからのベストな候補に戻る。これにより、悪い選択肢に直面したときに探索がずれるのを防ぐんだ。ジェネレーターと評価器がユーザーの意図をより良く理解するために、「視覚的な想像」ステップを使って、プロセスをガイドする参照画像を生成するためにテキストから画像モデルを使う。
私たちは、ユーザーの意図がテキストや画像を通じて表現されたときに、Blenderでデザインタスクを実行できることを示しているよ。特に、アーティストが20時間から数日間費やすマテリアルとライティングデザインのタスクについて、私たちのシステムを検証したんだ。
論文の貢献
まとめると、この論文はユーザーの入力に基づいて視覚プログラムを編集できるBlenderAlchemyというシステムを紹介しているよ。このシステムが機能するための主要なコンポーネントは以下の通り:
- 視覚状態評価器。
- 視覚編集ジェネレーター。
- 編集のリバージョンメカニズムを持つ探索アルゴリズム。
- 探索を助ける視覚的想像モジュール。
私たちは、BlenderAlchemyがテキスト駆動の手続き的マテリアル編集で前の研究よりも優れていることを示す証拠を提供していて、ライティング設定を含む他のデザインタスクにも適用可能だよ。
関連研究
マテリアルデザインのためのタスク特化ツール
学習ベースの方法でマテリアルを生成するための研究がたくさん行われてきたよ。以前の研究では、トレーニングなしまたは微調整によって2D拡散モデルを使ってテクスチャマップを作成していたんだ。これらの方法は、自然言語を使って3Dモデルのテクスチャを生成・変更する点で可能性を示しているけど、再ライティングを可能にするような物質の物理的特性にはあまり対応できていないんだ。
いくつかの方法では、学習技術を使ってマテリアル表面の特性を予測しているけど、画像ベースの表現は既存の3Dデザインワークフローで編集するのが難しいことがあるんだ。研究者たちは、学習ベースのアプローチと記号的なマテリアル表現を組み合わせることを探ってきたよ。これらの努力は、3Dデザインで使用される手続き的なマテリアルグラフの表現を作り、ターゲットに一致する画像を生成するために変更をバックプロパゲーションすることを可能にする。
ただし、過去の研究では、言語を通じて表現されたユーザーの意図を使って手続き的マテリアルグラフを編集する能力を示したものはないんだ。これが私たちの焦点なんだ。上記の方法は、マテリアルデザインに優れた結果を出すけど、他の3Dデザインタスクに対する一般性が欠けているんだ。BlenderAlchemyは、ユーザーの意図に基づいてさまざまなデザインタスクを処理できるシステムを作ることを目指していて、異なるアプローチを統合する必要があるんだ。
一般的な問題解決者としてのLLM
GPT-4やLlama、Mistralのような大型言語モデル(LLM)は、ロボティクスやプログラム合成を含む多くの問題設定で素晴らしい能力を示しているんだ。他の研究では、外部プロセスで強化されたモデルが反復的な洗練が必要な新しい問題を解決できることが示されているよ。
でも、LLMを視覚的な問題に適用するのは制限があるんだ。視覚の理解が不足しているからね。一つの潜在的な解決策は、テキストや記号的表現を使って視覚状態を要約することだけど、これが3Dグラフィックデザインではうまくいかないことが多いんだ。例えば、望ましいマテリアルのためにBlenderのマテリアルグラフを変更するには多くの試行が必要で、デザインアクションが視覚的な出力にどのように影響するかを正確に理解しなければならない。
最近の研究で、特にBlenderでのLLM(BlenderGPTのような)は、出力を導くための視覚情報を取り入れていないため、満足な結果が得られていないんだ。BlenderAlchemyは、既存のLLM研究からの概念を借りて、システムに視覚的認識を統合することでこれを解決しているんだ。
ビジョン・ランゲージモデル
現代のビジョン・ランゲージモデル(VLM)、例えばLLaVA、GPT-4V、Geminiは、視覚情報やそれが言語とどのように関連しているかを理解する素晴らしい能力を示しているよ。この能力により、シーン理解や物体検出など、多くのコンピュータビジョンタスクが簡単に実行できるようになったんだ。
研究によれば、これらのモデルは多くのタスクで人間の評価者を置き換えることもできて、プロセスの計画や指導のためのツールとして機能するんだ。BlenderAlchemyは、3DグラフィックデザインタスクにVLMを適用する初めての試みの一つで、ユニークで挑戦的なアプローチなんだ。
Blenderの視覚状態の表現
私たちの初期のBlenderデザイン環境では、状態を「ベース」のBlender状態とそれに作用するプログラムのセットに分けることができるんだ。この設定により、特定のプログラムアクションに基づいて一つの状態から別の状態に遷移するための関数を使って、初期環境を作成するのが助けられるんだ。
この文脈では、Blender内のPythonコードエグゼキュータがシーケンスでプログラムを実行するんだ。各プログラムは3Dデザインワークフローの単一の部分に関連していて、例えば一つのメッシュのマテリアルを扱ったり、全体のシーンのライティング設定を管理したりすることがあるの。私たちは、「ノードトランスパイラー」みたいな技術を使ってBlenderの状態を分解できるんだ。これにより、BlenderエンティティをPythonコードの行に変換してノードグラフを再生成するんだ。
すべての編集を単一のプログラムにカプセル化することも可能だけど、しばしば制限があって、VLMの出力長が必要なコードに足りないことや、VLMの成功率が大きなプログラム検索空間により低くなることがあるんだ。将来的なVLMはこの懸念を減少させるかもしれないけど、タスクに応じてプログラムを分割するのは依然として有益かもしれないよ。これにより、専門のVLMを並行してクエリできるようになるからね。
個々の視覚プログラムの反復的な洗練
特定のオブジェクトのマテリアル編集のようなタスクに集中する場合、目標はユーザーの意図により合致する視覚結果を得るためのプログラムの編集版を見つけることなんだ。私たちのシステムは、ユーザーの意図が言語や画像のリファレンスを通じて伝達されていると仮定していて、最新のVLMの視覚的理解を活用しているよ。
プログラムの良い修正を見つけるために、視覚状態評価器を使って編集ジェネレーターの仮説の中から選ぶ反復的な洗練プロセスを提案するよ。手続き的マテリアルデザインのような特定のタスクの「エージェント」は、このアプローチによって完全に特徴付けられることができるんだ。
先行研究に従って、ユーザーの意図にどれだけ合致するかを評価するために、どちらの視覚状態がより適しているかを判断する視覚状態評価器を導入しているよ。この評価器は、最も適切な視覚状態候補を再帰的に選び、プロセス中に複数のクエリを行うんだ。
単一のVLMがコードを編集するという単純なアプローチの代わりに、多仮説・多ステップの方法がより効果的なんだ。既存のアイデアを視覚領域に拡張しながら、システムは現在の状態とユーザーの意図に基づいてプログラムの異なるバリエーションを生成し、出力を特定のプログラムファミリーに従わせる制約をかけているの。
次のセクションでは、手順の安定性を向上させるシステム設計の決定事項や、VLMの視覚理解を強化する方法について説明するよ。
仮説のリバージョン
編集プロセスの安定性を確保するために、修正されたプログラムの視覚状態をすべてのステップで選択プロセスの候補として組み込むんだ。これにより、現在の反復が失敗した場合に以前のプログラムに戻れるから、ユーザーの意図に合わせた整合性を保つのが助けられるんだ。
調整と飛躍的な編集
特定の視覚プログラムでは、値の小さな変更が出力に大きな影響を与えることがあるよ。これは構造的な変更と似ているんだ。入力出力の仕様に基づいたタスクとは異なり、視覚編集には、最良の結果を見つけるための試行錯誤が必要なんだ。
視覚プログラムが与えられたとき、出力はパラメータのわずかな調整で大きく変わることがあるんだ。これを「調整」編集と呼ぶよ。これは、視覚的な違いをもたらし、不満足なプログラムをユーザーの意図により合ったものに変えることができる。
一方で、特定のタスクにはもっと大きな変更、つまり「飛躍」編集が必要かもしれない。例えば、滑らかなマテリアルを粗いものに変更するには、プログラムに関連ノードを追加する必要があるかもしれない。私たちの実証的な結果では、最適な編集は調整と飛躍の両方を組み合わせることが多いんだ。だから、反復プロセスはプログラムの周辺を探るとともに、全体のプログラム空間を考慮することを交互に行うの。
視覚的想像
ユーザーが意図をテキストだけで伝えると、VLMが成功した編集を行うのが難しいことがあるんだ。観察から、3Dシーンのための漠然とした言語の説明が、実行可能な編集に翻訳するのが難しいことが示されているよ。
解決策として、VLMの理解をテキストから画像に変換するモデルで生成された画像で補完することを提案するよ。これらの視覚的リファレンスは編集プロセスをガイドし、より具体的な表現を通じてユーザーの意図を明確にするのを助けるんだ。
手続き的なマテリアル編集
手続き的なマテリアルを編集するのは、他の多くの視覚タスクと同様に困難なんだ。小さなプログラムの編集が大きな視覚的変化をもたらすことがあるから、編集プロセスが不安定になるんだ。さらに、編集に関する言語指示が、正確な変更を行うのに役立つ具体的な詳細が欠けていることが多いんだ。
私たちは2種類の編集タスクを調べたよ:(1) 初期マテリアル(例えば合成木材)をテキストの説明に基づいて異なるマテリアルに変換すること、(2) 様々な初期マテリアルを画像に基づいてターゲットマテリアルに似せること。
テキストベースのマテリアル編集
私たちのシステムができる有望な応用の一つは、自然言語の説明を使って既存の手続き的マテリアルを変更することなんだ。この能力は、神経記号的方法で以前に示されていないんだ。私たちは、システムに多様なテキストのプロンプトを使って木材のマテリアルを変更するように頼むことでテストしたの。
私たちのアプローチは、編集ジェネレーターが各反復のために複数の仮説を生成し、調整編集と飛躍編集のサイクルを行うことから成り立っているんだ。例えば、図は木材のマテリアルが「大理石模様の花崗岩」に変わる様子を示しているよ。各列は生成された仮説を示し、評価者によって選ばれた選択肢が強調されているんだ。
私たちは、最新のオープンソースAIエージェントであるBlenderGPTとシステムを比較したんだ。私たちは同じターゲットマテリアルのプロンプトと参照のためのスターターコードを提供したの。
質的に見ると、BlenderGPTは非常に単純な編集を行い、その結果、ユーザーの意図にあまり合致しない低品質な出力が得られたんだ。たとえば、「デジタル迷彩」を作成するように頼むと、私たちのシステムは要望通りのシャープな角度を実現したけど、BlenderGPTは望むシャープさなしに色を生成したんだ。
表は、私たちの出力とターゲットの説明の間の平均類似性スコアを比較しているよ。視覚コンポーネントなしの私たちのシステムのバージョンでさえ、BlenderGPTよりも良い結果を出したんだ。視覚情報を評価者に組み込むことで、さらに改善を見られるんだ。
画像ベースのマテリアル編集
望ましいマテリアルの画像が提供されるタスクでは、目標画像に含まれる視覚的特性を反映するように初期マテリアルのコードを適応させることが目的なんだ。これは、手続き的マテリアルにおけるスタイル転送に似ているんだ。
この方法では、編集ジェネレーターがまず現在のマテリアルとターゲット画像の間の顕著な視覚的違いをリストアップし、その後、これらの違いに影響を与える可能性のあるコードの部分を特定するんだ。低レベルの視覚的観察をテキストの説明に翻訳することで、システムは編集プロセスをガイドして、ターゲットマテリアルに似たバリエーションを作成するんだ。
マテリアル編集のアブレーション実験
私たちは、視覚編集ジェネレーターと状態評価器の価値を探索するためにアブレーションスタディを実施したよ。私たちの発見は、いずれかのコンポーネントから視覚的認識を取り除くと、パフォーマンスが著しく低下することを示しているの。
また、システムの次元を変えて、編集プロセスにおける探索と利用のバランスを測定したよ。検索空間が広すぎると重要な編集が得られず、狭すぎると最適ではない候補に集中してしまったんだ。
私たちの主な論文の分析では、仮説のリバージョンの能力が安定性を確保するのに役立つことを観察したんだ。特に、編集が結果に悪影響を与えるほど急激なものであった場合は特にそうだったよ。私たちの調査では、調整編集と飛躍編集のそれぞれに利点があることが明らかになったけど、組み合わせたアプローチが最良の結果を生むことが分かったんだ。
BlenderAlchemyマテリアルのシーン内での使用
このセクションでは、BlenderAlchemyによって生成されたマテリアルとそれを3Dモデルに適用する様子を紹介するよ。簡潔な言語の説明から始めて、それをマテリアルの外観に関する詳細な説明に豊かにするんだ。
生成されたマテリアルをさまざまなオブジェクトに適用して、インターネットからダウンロードしたアセットを使用するよ。例えば、「ブラシアルミニウム」マテリアルは車体に表示され、「ペイントスプラッシュ」マテリアルは別の車両に鮮やかな仕上げを作るんだ。「太陽の表面」や「氷」マテリアルは靴のビジュアルを強化し、「ダマスカス鋼」と「錆びた金属」マテリアルは刀に独特のキャラクターを加えるよ。
結論と今後の展望
この作品は、BlenderAlchemyを紹介するもので、ユーザーの意図に基づいてプログラムを反復的に洗練するために視覚言語モデルを使って3Dデザインを編集するんだ。プロセスに視覚的情報を取り入れることで、私たちのシステムはプログラム空間内の可能性をより良く探求して、絞り込むことができるんだ。
私たちは、ライティング設定やマテリアル編集で有望な結果を示したし、今後の作業はキャラクターアニメーションや3Dモデリングのような他のグラフィックデザインの分野にシステムを拡張することに焦点を当てるべきだと思うよ。また、特定のワークフローに合わせた堅牢なツールや技術のライブラリを統合することで、システムがさらに利益を得ることができると思う。
現在の実装は反復的な洗練の可能性を示しているけど、BlenderAlchemyの能力を強化し、クリエイティブ産業における応用の幅を広げるためには、さらなる開発が必要だと認識しているよ。
タイトル: BlenderAlchemy: Editing 3D Graphics with Vision-Language Models
概要: Graphics design is important for various applications, including movie production and game design. To create a high-quality scene, designers usually need to spend hours in software like Blender, in which they might need to interleave and repeat operations, such as connecting material nodes, hundreds of times. Moreover, slightly different design goals may require completely different sequences, making automation difficult. In this paper, we propose a system that leverages Vision-Language Models (VLMs), like GPT-4V, to intelligently search the design action space to arrive at an answer that can satisfy a user's intent. Specifically, we design a vision-based edit generator and state evaluator to work together to find the correct sequence of actions to achieve the goal. Inspired by the role of visual imagination in the human design process, we supplement the visual reasoning capabilities of VLMs with "imagined" reference images from image-generation models, providing visual grounding of abstract language descriptions. In this paper, we provide empirical evidence suggesting our system can produce simple but tedious Blender editing sequences for tasks such as editing procedural materials and geometry from text and/or reference images, as well as adjusting lighting configurations for product renderings in complex scenes.
著者: Ian Huang, Guandao Yang, Leonidas Guibas
最終更新: 2024-08-02 00:00:00
言語: English
ソースURL: https://arxiv.org/abs/2404.17672
ソースPDF: https://arxiv.org/pdf/2404.17672
ライセンス: https://creativecommons.org/licenses/by/4.0/
変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。
オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。