シーン言語: プログラム、ワード、埋め込みによるシーンの表現
arXiv |プロジェクトページ
ダウンコード 小编
このリポジトリは、論文「The Scene Language: Representing Scenes with Programs, Words, and Embeddings」で紹介されているシーン言語を実装しています。これにより、テキスト条件付きおよび画像条件付きの 3D シーンの生成が可能になります。
インストール
環境
「バッシュ」
conda create --name sclg python=3.11
condaはsclgをアクティブ化します
pip インストールミツバ
セグメンテーション違反が発生した場合は、特定の mitba バージョンが必要になる可能性があります
例: MacOS では pip install --force-reinstall mitsuba==3.5.1
pip install unidecode 枕人間変換3d astor ipdb scipy jaxtyping imageio
Minecraft レンダラーに必要
pip インストール スペイシー
python -m spacy ダウンロード encoreweb_md
pip install --force-reinstall numpy==1.26.4 #transforms3d と互換性を持たせるため
git clone https://github.com/zzyunzhi/scene- language.git
CD シーン言語
pip install -e 。
`
言語モデルAPI
1. API キーを取得する: 公式ドキュメントに従って Anthropic API キーを取得します。
2. キーをengine/key.pyに追加します。
`パイソン
ANTHROPICAPIKEY = 'YOURANTHROPICAPI_KEY'
OPENAIAPIKEY = 'YOUROPENAIAPIKEY' # オプション、LLMPROVIDER='gpt' には必須
`
3. 言語モデルの切り替え (オプション): Engine/constants.py の LLM_PROVIDER 設定を変更することで、別の言語モデルに切り替えることができます。デフォルトはクロード 3.5 ソネットです。
テキスト条件付き 3D 生成
レンダラー:ミツバ
「バッシュ」
python scripts/run.py --tasks 「チェスの駒が完全に揃ったチェス盤」
`
レンダリングは ${PROJROOT}/scripts/outputs/run${timestep}${uuid}/${scenename}${uuid}/${sampleindex}/renderings/*.gif に保存されます。
結果の例: 生の出力
レンダラー: マインクラフト
「バッシュ」
ENGINE_MODE=minecraft python scripts/run.py --tasks 「詳細な円筒形の中世の塔」
`
生成されたシーンは、JSON ファイルとして ${PROJROOT}/scripts/outputs/run${timestep}${uuid}/${scenename}${uuid}/${sampleindex}/renderings/*.json に保存されます。
視覚化:
1. 次のコマンドを実行します。
「バッシュ」
Python ビューア/minecraft/run.py
`
2. ブラウザで http://127.0.0.1:5001 を開きます。
3. 生成された JSON ファイルを Web ページにドラッグします。
結果の例: 生の出力
画像条件付き 3D 生成
「バッシュ」
python scripts/run.py --tasks ./resources/examples/* --cond image --template 0.8
`
コードベースの詳細
次の表は、このリポジトリで定義されているヘルパー関数を、ドメイン固有言語 (DSL) で定義されている式と並べて示しています (この文書の表 2 および 5)。
|機能 | DSL 式 |
|-----------------|----------------|
| ... | ... |
| ... | ... |
コードベースの改善
現在のコードベースは次の機能を提供します。
1. テキスト条件付き生成: テキストの説明に基づいて 3D シーンを生成します。
2. 画像条件付き生成: 入力画像に基づいて 3D シーンを生成します。
今後のアップデート:
追加のタスクとレンダラーのサポートは、将来のアップデートで追加される予定です。
貢献
機能リクエストや提案がある場合、または結果を共有したい場合は、お気軽にプル リクエストを送信するか、電子メールでご連絡ください。
引用
`
@article{zhang2024シーン言語、
title={シーン言語: プログラム、ワード、埋め込みでシーンを表現する},
著者={Yunzhi Zhang、Zizhang Li、Matt Zhou、Shangzhe Wu、Jiajun Wu}、
年={2024}、
ジャーナル={arXiv プレプリント arXiv:2410.16770},
}
`
ライセンス: Apache-2.0