>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
Python

UP2You:ファインチューニングなしで散らばった写真から3D人体モデルを生成

写真から3Dアバターを作成しようとしたことがある方なら、おそらく大半のパイプラインの主な要件を覚えているでしょう。完璧な照明、静止ポーズ、一度のセッションで全方向から撮影すること。稍微ずれる、照明が変わる、または背景がぼやけると、NeRFやGaussian Splattingのようなニューラルネットワークはアーティファクトの塊を生成します。

最近、ICLR 2026カンファレンス向けに著者たちが用意した新鮮なUP2Youリポジトリを見つけました。このプロジェクトはこの厄介な問題を解決します。異なる日に異なる照明の下で異なる角度から撮影されたスマートフォンのギャラリーからの通常の写真のバッチを受け取り、長い特定の人物へのファインチューニングなしに、すばやく готовую3Dメッシュを再構築します。

UP2You Teaser

このような再構築の主な难点とは

実世界のフレーム(制約のない写真)をアルゴリズムに供給すると、古典的な3D再構築手法の数学が破綻します。1枚のショットでは太陽が左から輝き、別のショットでは上部からの白熱灯です。3枚目のフレームでは背景がボケでぼやけており、ポーズが完全に変わっています。

既存のソリューションのほとんどは、特定の人物の重みをファインチューニングする必要があります(per-scene最適化)。これは適切なGPUで数十分から数時間かかります。

UP2Youの著者たちはチュ닝フリーのカテゴリに焦点を当てました。モデルは事前に大規模な3Dスキャンのデータセットでトレーニングされ、体形状とテクスチャを一般化し、環境ノイズや照明の不整合をフィルタリングすることを学びます。異種混合写真の入ったフォルダを入力として提供し、数分でメッシュを出力として取得します。

プロジェクトスタックの構成

内部的には、アーキテクチャは生成拡散モデルと3Dジオメトリライブラリの組み合わせに依存しています。

  1. 人物セグメンテーション。プロジェクトはBiRefNetをデフォルトツールとして使用しています。これは複雑な背景から人物シルエットを高精度で切り出すための別個のモデルです。
  2. 生成基盤。プロジェクトはStable Diffusion 2.1のベースウェイトとマルチビューアダプターを組み合わせ、MV-Adapter、PuzzleAvatar、PSHumanプロジェクトからアイデアを借用しています。拡散は、写真に見えない領域を補完し、キャラクターの全体的な外観を整合させるのに役立ちます。
  3. ジオメトリエンジン。メッシュや3D表現の操作には、著者たちはNVIDIAのKaolinPyTorch3Dを使用しました。

リポジトリにはスクリプトが含まれており、比較的小容量のVRAMを持つコンシューマーGPUでも生成を実行できます。

インストールと実行

パイプラインはライブラリのバージョンに厳格なので、Conda経由で指示に従って厳密にインストールするのが最善です。

まず、プロジェクトをクローンし、Python 3.10で仮想環境を作成します:

git clone https://github.com/zcai0612/UP2You.git
cd UP2You

conda create -n up2you python=3.10 -y
conda activate up2you

次に、CUDA 11.8サポート付きでPyTorch 2.4.1とKaolinモジュールをインストールします:

pip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu118
pip install kaolin==0.17.0 -f https://nvidia-kaolin.s3.us-east-2.amazonaws.com/torch-2.4.1_cu118.html
pip install -r requirements.txt

PyTorch3Dのビルドには、著者たちは事前コンパイルされたアーカイブを使用することをお勧めします:

conda install -y libffi==3.3
wget https://anaconda.org/pytorch3d/pytorch3d/0.7.8/download/linux-64/pytorch3d-0.7.8-py310_cu118_pyt241.tar.bz2
conda install pytorch3d-0.7.8-py310_cu118_pyt241.tar.bz2

モデルの重みはHugging FaceからCLI経由でダウンロードされます:

hf download Co2y/UP2You --local-dir ./src
mv ./src/human_models ./
mv ./src/pretrained_models ./
rm -rf ./src

環境の準備ができたら、写真フォルダに写真を入れ、インファレンスを呼び出すだけです:

python inference_low_gpu.py \
    --base_model_path Manojb/stable-diffusion-2-1-base \
    --segment_model_name ZhengPeng7/BiRefNet \
    --data_dir examples \
    --output_dir outputs

または、単にbashスクリプトを実行するだけです:

bash run.sh

注意すべき点

プロジェクトはまだ新鲜で、GitHubで約380スターがあり、カスタムライセンスです。リポジトリ内のドキュメントは簡潔で、入力データ形式の詳細な説明ありませんが、インファレンスコードは読みやすいです。

実験する場合は、セグメンテーションの品質に注意してください。BiRefNetが背景をうまく分離できない場合(例えば、人物が壁と溶け合っている、または写真に他の人物がいる場合)、これは最終的なメッシュに直接影響します。人物が全身、または少なくとも腰から上が見える写真を選択するのが最善です。

誰が有用と思うか

このプロジェクトは、迅速な下描きメッシュを実際の人物から取得して дальнейшаяリギングやスカルプトを必要とするゲーム開発者や3Dアーティストにとってチェックする価値があります。リポジトリは、3Dアバター生成やマルチビュー拡散パイプラインを探索するMLエンジニアにも興味深いでしょう。コードはまだスタジオフォトグラメトリーの完全な代替品を提供していませんが、数分で通常の写真から認識可能な3D画像を組み立てる方法としては、素晴らしい機能です。

関連プロジェクト