はじめに
LatentSyncは、ByteDanceによってオープンソース化された革新的な音声条件電位拡散モデリングフレームワークで、高品質のビデオリップシンクを可能にするために特別に設計されています。従来の方法とは異なり、LatentSyncはエンドツーエンドのアプローチを用いて、中間的なアクション表現なしに自然で滑らかなリップシンク効果を直接生成します。このプロジェクトでは、Whisperモデルを使用して音声を音声埋め込みに変換し、クロスアテンションレイヤーを介してU-Netに統合することで、ビデオフレームの正確な生成を可能にしています。このシステムは現実の映像処理に対応するだけでなく、アニメキャラクターのリップシンクにも対応しており、応用範囲は広い。このプロジェクトは完全にオープンソースであり、推論コード、データ処理フロー、トレーニングコードを提供しているため、研究者や開発者はこの技術を簡単に再現し、改良することができる。最後に Wav2Lip に代わるものである。
機能一覧
- エンド・ツー・エンドのオーディオ駆動リップシンク生成
- 実写ビデオやアニメキャラクターのリップシンクに対応
- オーディオとビデオの自動アライメントと同期補正
- 高品質の顔検出と位置合わせ
- 自動シーンセグメンテーションとビデオセグメンテーション処理
- ビデオ品質評価とフィルタリング
- 完全なデータ処理パイプラインを提供する
- カスタムモデルのトレーニングをサポート
ヘルプの使用
環境設定
- システム要件
- GPUメモリ要件:少なくとも6.5GB
- CUDAをサポートするNVIDIAグラフィックスカード
- Python環境
- インストールの手順
ソース setup_env.sh
インストールに成功すると、チェックポイント・ファイルの構造は以下のようになっているはずだ:
./チェックポイント
|-- latentsync_unet.pt # メインモデルファイル
|-- latentsync_syncnet.pt # 同期ネットワークモデル
|-- ウィスパー
|-- tiny.pt # 音声処理モデルディレクトリ
|-- auxiliary/ #補助モデルディレクトリ
使用プロセス
- 基本的な推論の使用:
- うごきだす
./inference.sh
基本的な推論を行う - これは
ガイダンス・スケール
リップシンクの精度を向上させるため、パラメータを1.5に変更
- うごきだす
- データ処理の流れ:
- ビデオの前処理:
- ビデオフレームレートを25fpsに自動補正
- 16000Hzへのオーディオ・リサンプリング
- 自動シーン検出とセグメンテーション
- ビデオを5~10秒のセグメントに分割する
- 顔の加工:
- 顔のサイズを検出し、フィルタリングする(>256 x 256が必要)
- マルチフェイスシーンの削除
- 顔特徴点に基づくアフィン変換
- 256×256への均一なリサイズ
- 品質管理:
- 信頼スコアの同期スクリーニング(閾値3)
- オーディオとビデオのオフセットの自動調整
- hyperIQAによる画質評価
- ビデオの前処理:
- 高度な機能:
- モデルトレーニング:
- U-Netトレーニング:使用
./train_unet.sh
- SyncNetのトレーニング:使用
./train_syncnet.sh
- U-Netトレーニング:使用
- 設定ファイルのパラメーターは、データ・ディレクトリーやチェックポイントの保存パスなど、必要に応じて調整できる。
- モデルトレーニング:
ほら
- 推論時に十分なビデオメモリを確保する(最低6.5GB)
- 処理する前に、ビデオが良い品質であることを確認してください。
- 大量の映像を処理する前に、小規模なテストを行うことをお勧めします。
- カスタムモデルをトレーニングする前に、完全なデータ処理フローを完成させる必要がある。
- 関連するライセンス要件に従ってください。