Python+AIで静止画像を動かす

Python+AIで静止画像を動かす

こんにちは、みんな。

短い動画を見ているときに、こんな動画を見たことはありませんか?動画の中で、人物の静止画が、首を傾げたり、瞬きをしたりと、動いていることがあります。

次のような効果に類似

一番左の図が本来の動作で、上の図が静止画です。 AI技術により、一番左のキャラクターの動きを上の静止画に適用し、すべての画像で同じ動きを実現できます。

この技術は、一般的に GAN (生成的敵対的ネットワーク) に基づいて実装されます。今日は、上記の効果を再現できるオープンソース プロジェクトを紹介します。興味深いプロジェクトを実行したり、古い友人を思い出したりすることができます。

1. プロジェクトを実行する

プロジェクトアドレス: https://github.com/AliaksandrSiarohin/first-order-model

まず、git clone はプロジェクトをローカル コンピューターにダウンロードし、プロジェクトに入って依存関係をインストールします。

 git クローン https://github.com/AliaksandrSiarohin/first-order-model.git
cd 一次モデル
pip インストール -r 要件.txt

次に、プロジェクトのホームページの「事前トレーニング済みチェックポイント」の見出しの下にあるモデルのダウンロード リンクを見つけて、モデル ファイルをダウンロードします。モデルは多数あります。私は vox-adv-cpk.pth.tar を使用しました。

モデルファイルを準備したら、プロジェクトのルートディレクトリで以下のコマンドを実行します。

 python デモ.py \
--config config/vox-adv-256.yaml \
--運転ビデオ src_video.mp4 \
--ソースイメージ src_img.jpg \
--チェックポイント重み/vox-adv-cpk.pth.tar

パラメータを説明します。

  • --config: ソースファイル内のモデル構成ファイル
  • --driving_video: アクションのビデオを提供します
  • --source_image: アニメーション化する必要がある静止画像
  • --checkpoint: ダウンロードしたモデルファイル

実行が完了すると、次の入力が表示されます。

このプロジェクトは PyTorch を使用してニューラル ネットワークを構築し、GPU と CPU の操作をサポートしているため、コンピューターに CPU しかない場合は実行速度が遅くなります。

CPU で実行しています。上の図からわかるように、 driving_video には 31 フレームしかありません。 CPU でも実行している場合は、 driving_video ビデオの継続時間を制御するのが最適です。そうしないと、実行時間が長くなります。

このプロジェクトでは、自分で興味深い試みをいくつか行うことができます。

2. Python API

上記では、公式 Web サイトに従って、コマンド ラインでプロジェクトを実行する方法を説明しています。

友人の中には、これを Python プロジェクトで呼び出したい人もいるかもしれないので、demo.py のコア コードを抽出し、Python API をカプセル化しました。

困っている友人は、このファイルをダウンロードし、first-order-model と同じディレクトリに置き、次のコードに従って呼び出すことができます。

フォム = FOM()
# ドライバー ビデオを表示します。ドライバー ビデオは 480 x 640 のサイズにトリミングするのが最適です。
運転ビデオ = ''
# 駆動スクリーン
ソース画像 = ''
# ビデオを出力する
結果ビデオ = ''
# 運転画面
fom.img_to_video(運転中のビデオ、ソース画像、結果のビデオ)

<<:  2022年の5つの新しいテクノロジートレンド

>>:  電子鼻のウイスキー識別精度は96%にも達する。ネットユーザー:茅台酒にも作ってみよう

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

動物や人間には学習の臨界期があり、ディープニューラルネットワークにも臨界期がある。

[[409851]] 0 はじめにこの記事で議論されている問題は、ICLR 2019の記事「CRI...

...

GPT-175Bを例にとった大規模言語モデルの分散トレーニングの定量分析とベストプラクティス

1. Transformer 大規模言語モデルのための SOTA トレーニング技術1. 大規模言語モ...

Keras でカスタム損失関数を作成する方法は?

[[284375]] UnsplashのDhruv Deshmukhによる写真損失関数を使用して、...

AI「コスプレ」の鍵はキャラクター設定にあり!復旦大学、人民大学などがビッグファイブ性格特性+MBTIテストを発表:特性回復率は82.8%に達し、OOCを否定

好きなアニメ小説のキャラクターとチャットしてみませんか?バーチャルコンパニオンが欲しいですか?あなた...

フランスの科学者がアリのように移動できる六脚ロボットを開発

通常、ロボットやその他のデバイスは GPS を使用して屋外で自律的に移動を行います。しかし、フランス...

ビットコインマイニング技術: 分散データストレージ、ピアツーピア伝送、コンセンサスメカニズム、暗号化アルゴリズム...

1. 説明ブロックチェーンは、オープンなデータ操作、改ざん不可能、追跡可能性、国境を越えた分散化な...

KuaishouとNVIDIAが提携し、業界最先端のGPUコンピューティングインフラストラクチャを展開

1日あたり2億人以上のアクティブユーザーを抱える快手には、130億本以上の短編動画が蓄積されており、...

アルゴリズム図: 2 つのスタックを持つキューを実装するにはどうすればよいでしょうか?

[[348375]]この記事はWeChatの公開アカウント「Java Chinese Commun...

...

新たな勢力が市場に参入、コンパイラーの巨匠クリス・ラトナーが自らのビジネスを始める

「私たちのチームは、世界最大かつ最先端のテクノロジー企業出身者で構成されています。世界クラスの才能あ...

...

数秒で AI を学ぶ - ディープラーニングの一般的な 4 つの活性化関数: シグモイド、Tanh、ReLU、Softmax

ディープラーニングにおける活性化関数は、ニューラル ネットワークの重要なコンポーネントです。活性化関...

機械学習、ディープラーニング、強化学習の関係と違いは何ですか?

これには、機械学習のサブフィールドの分類が含まれます。すべての分類において、最初に尋ねるべき質問は、...