deepopen-com/deepopen-3d-webs
Image-driven 3D scene generation system. Users provide a reference image and prompt words, and the system generates previewable, replayable, and traceable scene results according to the camera trajectory; official 3D demonstration assets allow direct viewing of color/depth animations and Gaussian point clouds in the browser 图像驱动的三维场景生成系统
概要
DeepOpen-3d-webs(Guangyu Zaojing / 光域造景 とも呼ばれる)は、画像駆動型の 3D シーン生成システムです。1 枚の参照画像とテキストプロンプトを提供すると、カメラ軌道に沿った 3D シーン結果を生成し、ブラウザでプレビュー、再生、トレースできます。Docker イメージとして配布され、デフォルトでポート 8090 をリッスンします。
解決する問題
1 枚の画像が、周囲を見渡したり、移動したり、引き渡したりできる空間コンテンツになることはほとんどありません。従来のパイプラインでは、深度推定、画像補完、3D 表現、カメラフライスルーを別々のツールに分割していました。このプロジェクトは、そのチェーンを 1 つのスタジオに統合します。画像と中国語のプロンプトでシーンを記述し、空間の観察方法と最終フッテージの動きを選択すると、プレビュースチル、カラーアニメーション、深度アニメーション、ガウシアンポイントクラウドをすべて 1 つのインターフェースで取得できます。
主な機能
システムには 5 つのタブがあります。
- ワークベンチ — タスク総数、完了/失敗数、サンプルシーン数、実行モード、CUDA ステータス、ディスク、ホスト、サービスポートを表示します。
- シーン生成 — 参照画像をアップロードするか、中国語の例(プロンプト、モデル、シード、ステップ、カメラ軌道を含む)を読み込みます。拡散モデル(SD1.5、Blazing Drive V11m、Realistic Vision V5.1、Cartoon Pixar V5)、生成軌道(見回す、上空周回、その場で 360 度回転)、レンダリング軌道(押し込みと引き出し、クラシック軌道、微妙な揺れ)を選択します。「ワンクリック生成」は、プレビュー、カラーアニメーション、深度アニメーションをエンドツーエンドで実行します。ステップ 1(ガウシアンをベイクして PLY に変換)またはステップ 2(ビデオをレンダリング)を個別に実行することもできます。
- サンプルギャラリー — 名前、カテゴリ、モデル、軌道、日付で例を一覧表示します。プレビューには、参照画像、カラー/深度アニメーション、ドラッグ可能なガウシアンポイントクラウドプレビュー、完全な PLY ダウンロード(ファイルは数百 MB に達する可能性があります)が表示されます。
- タスク履歴 — すべての生成アクションは
data/history.jsonに保存されます。タスク ID を入力して「表示とデモ」をクリックすると、参照画像、両方のアニメーション、ポイントクラウドプレビュー、PLY ダウンロードを一緒に表示できます。公式のdemo-*タスクはプリロードされています。 - システムステータス — ホスト、OS、Python、CUDA、実行モード、データディレクトリ、推奨される操作順序を表示します。
実行方法
- デモモード(デフォルト) — GPU は不要です。ページ、ギャラリーの 3D デモ、タスクのリプレイはすべて機能します。プレビューループは入力画像上で実行されます。公式の PLY/MP4 アセットは独立してデモできます。
- フルモード —
LD_DEMO_MODE=0を設定し、NVIDIA GPU(16 GB VRAM 推奨)、NVIDIA Container Toolkit またはローカル CUDA、およびコンパイル済みサブモジュールを使用します。起動時に拡散と ZoeDepth のウェイトをダウンロードします(約 30 GB のキャッシュ)。不足がある場合は、自動的にデモモードにフォールバックします。
技術スタック
| レイヤー | 技術 |
|---|---|
| UI | Gradio 3.50、マルチタブ、中国語 |
| Web ランタイム | Python 3.9、FastAPI、Starlette、Uvicorn |
| 画像/ビデオ | Pillow、NumPy、imageio |
| シーン生成 | LucidDreamer(拡散インペインティング、深度推定、3D ガウシアン) |
| 深度 | ZoeDepth |
| ガウシアンレンダリング | 3D ガウシアンスプラッティングラスタライゼーション + simple-knn |
| ポイントクラウドプレビュー | webui/ply_preview.py によるダウンサンプリング |
| タスクデータ | ローカル JSON(data/history.json) |
| 配布 | Docker Compose(デモイメージと CUDA イメージ) |
要件
- Docker Engine 24+ と
docker compose - ポート
8090を開放 - 8 GB RAM 推奨。公式 PLY デモには数 GB の追加ディスクが必要
- デモモード:GPU 不要
- フルモード:NVIDIA GPU(16 GB VRAM 推奨)、CUDA 環境、コンパイル済みサブモジュール
起動とアクセス
デモ(GPU なし):
docker compose up -d --build
GPU 搭載 Linux サーバー:
docker compose -f docker-compose.cuda.yml up -d --build
ローカルでは http://127.0.0.1:8090、サーバーでは http://<server-ip>:8090 でアクセスします。ログインはありません — アドレスにアクセスできる人なら誰でも使用できるため、README では本番環境でファイアウォールまたはリバースプロキシによるアクセス制限を推奨しています。
典型的なワークフロー
- ワークベンチで実行モードとディスク容量を確認します。
- 例(例:「アニメ湖畔の小屋」)を選択してプレビューします — 参照画像、アニメーション、ポイントクラウド、オプションの PLY ダウンロード。
- または、タスク履歴に
demo-animelake/demo-girlなどのデモ ID を入力し、「表示とデモ」をクリックします。 - シーン生成に移動し、例を読み込むか画像をアップロードし、モデル/プロンプト/軌道を確認します。
- 「ワンクリック生成」をクリックします(またはステップ 1 / ステップ 2 を個別に使用)。
- プレビューを確認し、タスク履歴で新しいタスク ID を見つけて詳細とメディアを取得します。
ユースケース
- 空間コンセプトデザイン — 詳細化に投資する前に、インテリア、建物、または景観の見回しバージョンを取得します。
- スタイライズドコンテンツ — アニメ、ファンタジー、ホリデー、ポスト黙示録のプリセットを直接読み込めます。
- デザインレビュー — スチル、フライスルーフッテージ、ポイントクラウドプレビューを 1 ページにまとめてコラボレーターに提供します。
- 教育とデモ — デモモードは GPU を必要としないため、教室やピッチセッションで機能します。
- 3D アセットの出発点 — PLY ガウシアンポイントクラウドをエクスポートして、ダウンストリームでの表示や処理(SuperSplat / MeshLab)に使用します。
コード構造(主要ファイル)
web_app.py— Web エントリポイント、8090 をリッスンluciddreamer.py— メインの 3D 生成パイプラインwebui/— 5 つのタブ、エンジン、ギャラリー、履歴、PLY プレビュー、統計、パスscene/、gaussian_renderer/— ガウシアンシーンとレンダリングsubmodules/— ラスタライゼーションと simple-knnexamples/— サンプル画像、プロンプト、公式 PLY/MP4docs/— デプロイメントドキュメント、ユーザーマニュアル、スクリーンショット
注記
- README には、プロジェクトはデフォルトでデモモードであり、完全な生成には CUDA とモデルウェイトが必要であると記載されています。
- README のすべてのスクリーンショットは
docs/user/images/からのものです。 - システムの UI は中国語です。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト