はじめに
DiffPortrait360は、CVPR2025論文「DiffPortrait360: Consistent Portrait Diffusion for 360 View Synthesis」の一部であるオープンソースプロジェクトです。1枚のポートレート写真から一貫性のある360度ヘッドビューを生成し、実際の人間、様式化された画像、擬人化されたキャラクターをサポートします。このプロジェクトは拡散モデル(LDM)に基づいており、ControlNetとデュアルアピアランスモジュールと組み合わせて、リアルタイムの自由視点レンダリングに使用できる高品質のニューラル放射場(NeRF)を生成する。没入型テレプレゼンスやパーソナライズされたコンテンツ作成に適しており、すでに学界や開発者コミュニティで注目を集めている。
機能一覧
- 1枚の顔写真から360度のヘッドビューを生成。
- 本物の人間、様式化された画像、擬人化されたキャラクターの生成をサポート。
- ControlNetを使用して詳細情報を生成し、現実的なビューを確保します。
- フリービューレンダリングをサポートし、高品質のNeRFモデルを出力。
- デュアル・アピアランス・モジュールにより、フロントビューとリアビューの一貫性が保たれる。
- オープンソースの推論コードと訓練済みモデルを開発者が使用し、変更することができます。
- インターネット上で撮影されたテストデータを、Pexelsと1,000人以上の実際のポートレートで提供。
ヘルプの使用
DiffPortrait360 は開発者や研究者向けのツールであり、一定の技術的な基礎を必要とします。下記はインストールと使用に関する詳細な説明です。
設置プロセス
- ハードウェアとシステムの準備
CUDAをサポートするNVIDIA GPUと最低30GBのRAM(32フレームのビデオを生成するため)、80GBを推奨(例:A6000)。オペレーティングシステムはLinuxでなければなりません。- CUDAのバージョンを確認してください:
nvcc --version
- CUDAのバージョンを確認してください:
- 環境づくり
CondaでPython 3.9環境を作る:
conda env create -n diffportrait360 python=3.9
conda activate diffportrait360
- クローンコード
プロジェクトコードをローカルにダウンロードする:
git clone https://github.com/FreedomGu/DiffPortrait360.git
cd DiffPortrait360/diffportrait360_release
- 依存関係のインストール
プロジェクト・オファーrequirements.txt
インストールするには、以下のコマンドを実行する:
pip install -r requirements.txt
- 依存関係が衝突した場合は、pipを更新してください:
pip install --upgrade pip
- 訓練済みモデルのダウンロード
Hugging Faceからモデルをダウンロードする:
- インタビュー HFリンク.
- ダウンロード
PANO_HEAD_MODEL
そしてHead_Back_MODEL
歌で応えるDiff360_MODEL
. - モデルをローカルパスに配置し
inference.sh
の対応するパスを修正する:PANO_HEAD_MODEL=/path/to/pano_head_model
- 検証環境
GPUが使用可能かどうかを確認する:
python -c "import torch; print(torch.cuda.is_available())"
輸出 True
正常な環境を示す。
主な機能の操作
360度ヘッダービューの生成
- データ入力の準備
- 推奨解像度512x512以上の正面ポートレート写真(JPEGまたはPNG)を用意すること。
- 写真を
input_image/
フォルダを作成する(このフォルダが存在しない場合は、手動で作成する)。 - ゲイン
dataset.json
(カメラ情報)を参照してください。 PanoHeadトリミングガイド 自分の写真を加工する
- 推論スクリプトの実行
- コード・ディレクトリに移動する:
cd diffportrait360_release/code
- エグゼクティブの推論:
bash inference.sh
- 出力は指定したフォルダに保存される(デフォルト)
output/
).
- 結果を見る
- 出力はマルチアングルビュー画像とNeRFモデルファイル(
.nerf
(フォーマット)。 - NeRFStudioなどのNeRFレンダリングツールを使って読み込む。
.nerf
ファイルを開き、視野角を調整して360度の効果を見る。
ControlNetによる背面の最適化
- ある
inference.sh
パラメーターの変更で、裏面生成モジュールを有効にする:
--use_controlnet
- 走行後、複雑なシーンでは背面のディテールがよりリアルになる。
カスタム・データ推論
- カスタム写真を
input_image/
. - 生成
dataset.json
カメラの情報が正しいことを確認してください。 - 走っている:
bash inference.sh
ほら
- GPUメモリが不足すると故障の原因となるため、高メモリのグラフィックカードを使用することをお勧めします。
- このプロジェクトは学習コードを提供せず、推論のみをサポートする。最新の進捗はGitHubのアップデートをフォローしてください。
- テストデータは ハグする顔 Pexelsでダウンロードし、1000枚の本物のポートレートをご覧ください。
アプリケーションシナリオ
- 没入型テレビ会議
ユーザーは1枚の写真で360度のヘッドビューを生成し、バーチャル会議の臨場感を高めることができる。 - ゲームキャラクターデザイン
開発者はコンセプト画から3Dヘッドモデルを生成し、ゲーム開発プロセスをスピードアップします。 - デジタルアート制作
アーティストがNFTやソーシャルメディアでのプレゼンテーション用に、スタイル化されたアバターを生成するために使用する。
品質保証
- 最低限必要なハードウェアは何ですか?
CUDAをサポートするNVIDIA GPU、最低30GBのRAM、80GBを推奨。 - 低解像度の写真に対応していますか?
推奨しません。入力解像度が512x512より低い場合、ディテールが失われ、結果が悪化する可能性があります。 - ビデオを作成することは可能ですか?
現在のバージョンでは、静的なビュー・シークエンスは生成され、ツールでビデオに変換できるが、動的なビデオの直接出力はサポートしていない。