project
AniTalker - 上海交通大学が開発したオープンソースのリップシンク動画生成フレームワーク
AniTalkerは、上海交通大学X-LANCE LabとAISpeechの研究者によって開発された、AIを活用したリップシンク動画生成フレームワークです。人物の静止画像1枚と入力音声から、まるで生きているかのようなアニメーションを生成できます。
AniTalkerとは何ですか?
上海交通大学のX-LANCE LabとAISpeechの研究者によって開発されたAniTalkerは、静止画のポートレートと入力音声から、まるで生きているかのようなアニメーション対話動画を生成できる、AIを活用したリップシンク動画生成フレームワークです。このフレームワークは、自己教師あり学習戦略によって、微妙な表情や頭の動きなど、複雑な顔の動きを捉えます。AniTalkerは、汎用的なモーション表現とアイデンティティ分離技術を活用してラベル付きデータへの依存度を低減するとともに、拡散モデルと分散アダプタを組み合わせることで、多様で制御可能な顔アニメーションを生成し、AlibabaのEMOやTencentのAniPortraitと同様の効果を実現しています。
AniTalkerの主な機能
- 静止画のアニメーションAniTalkerは、あらゆる顔のポートレートを、人物が話したり表情を変えたりできる動的なビデオに変換できます。
- 音声同期このフレームワークは、入力音声をキャラクターの唇の動きや話し方のリズムと同期させることで、自然な対話効果を実現できます。
- 顔の動きのキャプチャAniTalkerは口パクだけでなく、複雑な表情や微妙な筋肉の動きもシミュレートできます。
- 多様なアニメーション制作AniTalkerは拡散モデルを用いることで、ランダムな変化を伴う多様な顔のアニメーションを生成でき、生成されるコンテンツの自然さと予測不可能性を高めることができます。
- リアルタイムの顔アニメーション制御ユーザーは、頭の姿勢、表情、目の動きなどを含む制御信号を通して、アニメーションの生成をリアルタイムで制御できます。
- 音声によるアニメーション生成このフレームワークは、追加のビデオ入力を必要とせずに、音声信号を直接使用してアニメーションを生成することをサポートしています。
- 長尺動画の連続生成AniTalkerは長時間の動画を連続して生成できるため、長時間の会話やスピーチに適しています。
AniTalkerの公式サイトへの入り口
- 公式プロジェクトホームページ:https://x-lance.github.io/AniTalker/
- GitHubソースコードリポジトリ:https://github.com/X-LANCE/AniTalker
- arXivの研究論文:https://arxiv.org/abs/2405.03121
AniTalkerの仕組み
- 動作表現学習AniTalkerは、自己教師あり学習法を用いて、顔の動きを捉えることができる汎用モーションエンコーダーを訓練します。このプロセスでは、動画からソース画像とターゲット画像を選択し、ターゲット画像を再構築することで動きの情報を学習します。
- アイデンティティと移動の分離モーション表現に個人を特定できる情報が含まれないようにするため、AniTalkerはメトリック学習と相互情報量最小化の手法を採用しています。メトリック学習は、モデルが異なる個人の識別情報を区別するのに役立ち、相互情報量最小化は、モーションエンコーダーが識別特徴ではなくモーションの捕捉に重点を置くことを保証します。
- 階層型集約レイヤー(HAL)階層型集約層(HAL)は、モーションエンコーダがさまざまなスケールでの動きの変化を理解する能力を高めるために導入されました。HALは、平均プーリング層と加重和層を通して、画像エンコーダのさまざまな段階からの情報を統合します。
- モーション生成モーションエンコーダーのトレーニング後、AniTalkerはユーザーが制御する駆動信号に基づいてモーション表現を生成できます。これには、ビデオ駆動型と音声駆動型の両方のパイプラインが含まれます。
- ビデオドライバパイプライン話者の動きを捉えたビデオシーケンスを使用して、ソース画像のアニメーションを生成し、それによって話者の姿勢や表情を正確に再現します。
- 音声駆動型パイプライン映像駆動方式とは異なり、音声駆動方式は、入力音声と同期した音声信号またはその他の制御信号に基づいて映像を生成する。
- 拡散モデルと分散アダプタAniTalkerは音声駆動型のアプローチにおいて、拡散モデルを用いてモーション潜在シーケンスを生成し、バリアンスアダプタを用いた属性操作を導入することで、多様で制御可能な顔アニメーションを実現します。
- レンダリングモジュール最後に、生成された潜在的な動作シーケンスに基づいて、画像レンダラーを使用して最終的なアニメーションビデオがフレームごとにレンダリングされます。
- トレーニングと最適化AniTalkerの学習プロセスには、モデルのパフォーマンスを最適化するために、再構成損失、知覚損失、敵対的損失、相互情報量損失、およびアイデンティティメトリック学習損失など、複数の損失関数が含まれています。
- 制御属性特性AniTalkerを使用すると、ユーザーは頭部の姿勢やカメラのパラメータ(頭部の位置や顔のサイズなど)を制御して、特定の属性を持つアニメーションを生成できます。
AniTalkerのアプリケーションシナリオ
- バーチャルアシスタントとカスタマーサービスAniTalkerは、仮想アシスタントやオンラインカスタマーサービスとして使用できるリアルな仮想顔を生成し、より自然で親しみやすい対話体験を提供します。
- 映画およびビデオ制作映画のポストプロダクションにおいて、AniTalkerは俳優の表情や動きを生成または編集するために使用できます。特に、元の演技では捉えきれなかったシーンに有効です。
- ゲーム開発ゲーム開発者はAniTalkerを使用して、ゲームキャラクターのリアルな顔のアニメーションを作成し、ゲームへの没入感とキャラクターの表現力を向上させることができます。
- ビデオ会議ビデオ会議において、AniTalkerは参加者の仮想顔を生成することができ、特にプライバシー保護が必要な場合や、会議に楽しさを加えたい場合に有効です。
- ソーシャルメディアユーザーはAniTalkerを使って、自分だけのバーチャルアバターを作成し、ソーシャルメディア上でコミュニケーションや共有を行うことができます。
- ニュース放送AniTalkerは、特に多言語放送が必要な場合に、自動ニュース放送用の仮想ニュースキャスターを生成することができます。
- 広告とマーケティング企業はAniTalkerを利用して、広告やブランドプロモーションのための魅力的なバーチャルアバターを作成できます。