はじめに
LivePortraitは、ステッチングとリターゲティング制御を用いた革新的なポートレートアニメーション技術です。この記事では、LivePortraitの概要、その特徴、そして使用方法について詳しく解説します。
「LivePortrait」を動かしてみた!③~3D編~ https://t.co/DWS4Ft35YP pic.twitter.com/EkSRLXINT4
— Maki@Sunwood AI Labs. (@hAru_mAki_ch) July 11, 2024
LivePortraitとは?
LivePortraitは、静止画のポートレートを動画に変換する先進的な技術です。従来の方法と比べて、より効率的かつ高品質なアニメーションを生成することができます。
主な特徴
- ステッチング技術: 複数の画像を滑らかにつなぎ合わせる
- リターゲティング制御: 元の画像の特徴を維持しながら、動きを自然に適用する
- 高速処理: 最適化されたアルゴリズムにより、素早くアニメーションを生成
技術的な仕組み
LivePortraitは、複数のニューラルネットワークを組み合わせて動作します。主要なコンポーネントは以下の通りです:
- Appearance Feature Extractor: 入力画像から特徴を抽出
- Motion Extractor: 動画から動きの情報を抽出
- Spade Generator: 特徴と動きの情報を組み合わせて新しい画像を生成
- Warping Module: 生成された画像を自然に変形
- Stitching and Retargeting Modules: 最終的な出力を調整し、滑らかにつなぎ合わせる
これらのモジュールが連携することで、自然で高品質なアニメーションが可能になります。
LivePortraitの使い方
環境設定
LivePortraitを使用するには、以下の手順で環境を準備します:
- GitHubからリポジトリをクローン
- Condaで専用の環境を作成
- 必要なライブラリをインストール
git clone https://github.com/KwaiVGI/LivePortrait
cd LivePortrait
conda create -n LivePortrait python==3.9.18
conda activate LivePortrait
pip install -r requirements.txt
学習済みモデルのダウンロード
LivePortraitの性能を最大限に引き出すには、学習済みのモデルが必要です。これらは以下の手順でダウンロードできます:
- Google DriveまたはBaidu Yunから学習済みモデルをダウンロード
- ダウンロードしたファイルを解凍し、
./pretrained_weights
ディレクトリに配置
基本的な使用方法
LivePortraitを使用するための基本的なコマンドは以下の通りです:
python inference.py
このコマンドを実行すると、サンプルの入力画像と動画を使用してアニメーションが生成されます。
カスタム入力の使用
自分の画像や動画を使用したい場合は、以下のようにコマンドを変更します:
python inference.py -s [ソース画像のパス] -d [駆動動画のパス]
例えば:
python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d0.mp4
高度な設定
LivePortraitには様々な設定オプションがあります。詳細は以下のコマンドで確認できます:
python inference.py -h
パフォーマンスと速度
LivePortraitは高速な処理を特徴としています。RTX 4090 GPUを使用した場合の各モジュールの処理時間は以下の通りです:
- Appearance Feature Extractor: 0.82ms
- Motion Extractor: 0.84ms
- Spade Generator: 7.59ms
- Warping Module: 5.21ms
- Stitching and Retargeting Modules: 0.31ms
これらの数値は、LivePortraitが実時間に近い速度で動作可能であることを示しています。
Dockerを使用した簡単な起動
LivePortraitはDockerを使用して簡単に起動することもできます。以下の手順で実行できます:
- プロジェクトのルートディレクトリに移動
- 以下のコマンドを実行
docker-compose up
これにより、LivePortraitアプリケーションがDockerコンテナ内で起動し、ポート8890でアクセス可能になります。
まとめ
LivePortraitは、効率的で高品質なポートレートアニメーション技術です。ステッチングとリターゲティング制御を組み合わせることで、自然で魅力的なアニメーションを生成することができます。簡単な設定と使用方法により、研究者からクリエイターまで幅広いユーザーに活用されることが期待されます。
参考文献
本技術の詳細については、以下の論文を参照してください:
LivePortraitの詳細な情報や最新のアップデートについては、公式GitHubを確認してください。
オリジナルのリポジトリ
日本語ドキュメントを追加したフォークリポジトリ