最新AIで動画を作成する方法:話題の動画はこうして作られた!

入門/解説

1.最新AIで動画を作成する方法:話題の動画はこうして作られた!まとめ

・AIで作った動画が話題になる事が増えてきており、簡単に動画を作成できるという話も聞くようになったので検証してみた
・AIで動画を作成する手法は大別するとtext2video, video2video, img2video, LLMに動画編集を依頼する4パターンが存在する
・現時点ではどの手法も思った通りの動画を自在にゼロから作り上げる事はできない。別ツール利用やチラツキ対処等、多くの試行錯誤が必要

2.AIでビデオを作成する4つの方法

アイキャッチ画像はroopのAUTOMATIC1111拡張でマトリックス風マーク・ザッカーバーグとアイアンマン風イーロン・マスク

2023年10月追記)本記事内で解説しているroopは残念ながら開発が中止されました。

AIで作った動画が話題になる事が増えてきました。中には「AIを使えば簡単に動画を作成できる!もはや人間の編集者は不要!」と吹聴しているものもあります。

しかし調べてみたところ、動画と言っても様々なタイプがあり、現時点ではAIを使って自分が作りたいyoutube動画等を簡単に作れるというわけではなさそうです。毎日のように新しい手法が発表される日進月歩の世界なので、本記事も遠からず古くなってしまう可能性はありますが、2023年7月時点の動画生成AIの傾向としてご覧ください。

AIで動画を作成する手法は大別すると以下の4パターンと思います。

(1)画像生成AIのようにプロンプトを使ってオリジナルの動画をゼロから作り上げる動画
(2)オリジナルの動画は別にあって、その動画の一部やスタイルを差し替えた動画
(3)連続する画像を作成し、各画像をつなぎ合わせた動画
(4)既存の動画をつなぎ合わせてストーリーに沿って編集した動画

(1)画像生成AIのようにプロンプトを使ってオリジナルの動画をゼロから作り上げる動画

・いわゆるtext to videoと呼ばれる技術です。
・主にRunWayML社のGen-2などの有料ツールを使って実現している事が多いです。無料ツールとしてはFollowYourPosetext-2-videoなどもあります。
・画像生成AIと同様なのですが、意図した通りの動画を作成するにはプロンプトの工夫が必要です
・キャラクターが動くような動画の作成は困難で主に風景などの動画化になります

1)Gen-2

ネットでバズったAIで作ったアルプスの少女ハイジの動画(Gen-2を使った動画)

Gen-2無料版を使ってWebBigdataが作成した動画(イーローン・マスク vs マーク・ザッカーバーグ)

Gen-2無料版で作れる動画は4秒までです。

時間制限の影響もあるのか、写真を立体化しているような動かし方になってしまい、かろうじて目は動いていますが動きのある動画の作成は試行錯誤が必要です。ハイジの動画は結構な試行錯誤と手間をかけていると思います。バズったのは明らかに感じる違和感から「AIもまだできない事はあるんだね」と安心感があったからではないかと思いますが、これらの動画は技術的に難しいtext to videoで作成されたものだからです。

後述のVideo to videoやImage to Videoは相当違和感のないレベルになってきています。

また、Gen-2も一枚の絵を入力に与えてそれを動画化する事が出来るようになった事が発表されています。

(2)オリジナルの動画は別にあって、その動画の一部やスタイルを差し替えた動画

・いわゆるVideo to videoといわれる技術です。
・古くはDeepFakeから直近ではroopやEbsyncというソフトウェアが有名です。
・個々のフレーム(画像)を書き換える形で動作し、最終的な動画化は別のツールを使う事が多いです
・書き換え箇所(顔など)の認識に失敗するフレームが出来てしまってチラついてしまう事があります。
・オリジナルの動画は、既存の映画の一部を拝借したりBlender等の3DCGアニメーションツールで作成する事が多いです。

ネットでバズったAIで作ったイーローン・マスク vs マーク・ザッカーバーグの動画(roopを使った動画)

改変元はコメディ映画『ホット・ショット2』、ランボー怒りのアフガンのパロディシーンです。上記の動画は途中でカットしてありますが、画面内の3人の顔を同時に違和感なく差し替えている部分などもあり、驚嘆する出来栄えです。

roopは独立したソフトウェアで、元のソフトウェアはたった一枚の顔画像があれば動画内の顔を自在に差し替える事ができます。AUTOMATIC1111の拡張機能も提供されており、こちらは画像内の顔を差し替えできます(動画は扱えない)。また、公式実装ではNSFW(職場閲覧注意)な動画に対して実行する事はできなくなっており、かつてのDeepFakeのような問題を避けようとしているようです。

roopを使ってWebBigdataが作成した動画(イーローン・マスク化)

元動画(アベンジャーズ 2012年)

改変動画(アベンジャーズ 2012年のアイロンマンの顔をイーロン・マスクに差し替え)

roopは現時点では操作がとてもシンプルでどの顔を誰に差し替える等の操作は出来ません。そのため、バズった動画のように一場面に2人以上の差し替え対象が存在する場合、それぞれ違う顔に差し替えた複数の動画を作成後、高機能な動画編集ソフトを使って顔部分だけマスクして別々に合成する等の工夫が必要になります。

また、TensorFlowを使っているのでインストールはWindowでもLinuxでもやや手間がかかります。ご自分で挑戦する場合は以下の記事なども参考にしつつ適宜読み替えつつやってみてください。

GeForce RTX 3060搭載のWindows10のPCでTensorFlowとCUDAを有効にする
GeForce RTX 3060搭載のLinuxのPCでTensorFlowとCUDAを有効にする

元のソフトウェアはLinuxでも動きますが動画のコーデックがWindowsでないと扱いにくい形式なので、編集まで考慮するとWindowsのvenv環境が楽かもしれません。

また、元々、顔認識等の実世界向けアプリケーションの流れから来ているので、リアル系の動画は上手に変換できますが、アニメ系の動画は顔の認識できなかったり変に歪んでしまう事があります。

以下、ゲド戦記の主人公(アレン)の顔をヤックル繋がりでもののけ姫の主人公(アシタカ)に差し替える実験です。本当はナウシカにしたかったのですが、ジブリのヒロイン同士を差し替えてもナウシカ要素検出能力検定レベル4くらいの人でないとわからないので比較的わかりやすい男性で実験です。


ゲド戦記の主人公(アレン)


もののけ姫の主人公(アシタカ)

roop(AUTOMATIC1111拡張)を使った差し替え

Denoising 0.3ぐらいでいい感じに差し替え出来ててますかね?まゆげに注目です。

そして、ゲド戦記のPVをアシタカに差し替えた動画

AUTOMATIC1111拡張版と異なり、本家版は現時点では細かいパラメーター設定などが出来ないため、あまり綺麗な顔にならないのと、動きの速い場面などでは顔の認識に失敗して差し替え出来てない場面が多々でてきてしまいます。

(3)連続する画像を作成し、それをつなぎ合わせた動画

・いわゆるImage to Videoといわれる技術です。(ここでは、一枚絵を動画のように動かす3d-photo-inpaintingのような技術ではなく、一貫性を持った複数の画像を連続して作成して動画化する事について説明しています)
・Stable Diffusion等の拡張機能(TemporalNetやDeforum)などを使って実現する事が多いです。顔面だけであればSadTalkerなどもあります。
・キャラクターが動く動画も作成可能ですが、一貫性を保つ事が難しくチラついてしまう事があります。
・個々のフレーム(画像)を書き換える形で動作し、最終的な動画化はFILMでフレーム間補完をしたり別のツールを使う事が多いです

ネットでバズったAIで作ったハリーポッターのハーマイオニーとロンの動画(ControlNetとTemporalNetを使用)

元はハリーポッターの映画ですが、動画のフレームを画像として抽出し、それらの各画像のイラスト風に変換して、それを再び動画にしています。実写をとても綺麗にイラスト風の動画に変換できていますね。

手法その1TemporalNet

TemporalNetの実体は一貫性を保ちつつIMG2IMGできるように工夫したControlNetの一種です。一貫性を確保する(チラつきを抑える)工夫があります。

元々の仕組みは

1)AUTOMATIC1111にControlNetのモデルとしてTemporalNetを設定し、APIサーバーとして動かす
2)pythonスクリプトを使って、あらかじめ用意した画像をIMG2IMGで変換するリクエストを連続で発行する

と言うものでした。

現在はpythonスクリプトを使わなくてもAUTOMATIC1111上でImg2ImgのBatchを選択する事で動かす事が出来るようになっています。更に改良したTemporalNet2という新しい実装も出ていますが、AUTOMATIC1111上で動かすのは少し煩雑(特定のブランチを持ってくる必要がある)ので、現時点では別実装のTemporalKitを使った方が楽かもしれません(未検証)。

TemporalNetそのものは画像を一貫性を維持しつつ他の画像に変換する機能しかないため、画像の抽出や変換した画像の動画化は別のツール/アプリを使ってやります。そのためTemporalNet利用とされる綺麗な動画はAIで全て完結しているわけではなく、別のツール/アプリ内で手修正等の工夫をやっているケースがあります。バズった動画も複数のツール+手作業を組み合わせて品質を上げているそうです。

雑感
・IMG2IMGでスタイルを変換しているので、対象が上手い事スタイル変換できるものでないと綺麗な動画化は難しい
・ダンス動画のスタイルを変換しているデモが多いのは、人体は比較的綺麗に変換しやすいためと思っています

TemporalNetを使ってWebBigdataが作成した動画(もののけ姫)

改良の余地は多分にありますが、「巨大な狼に乗った仮面をかぶった少女」という題材がそもそもイラスト生成AIで一貫性をもって描くのが難しく、動画の品質も落ちてしまいます。

手法その2 Deforum

StableDiffusionで連続した画像を作成してなるべくスムーズに動画化する拡張機能です。今回紹介する手法の中で一番昔からある手法と思います。

Deforumを使ってWebBigdataが作成した動画(確か「雨の喫茶店で本を読んでいたら虹がでました」と言う感じのプロンプトで作成したもの)

雑感
・パラパラ漫画のようにチラついてしまう事が多いです
・使用するモデルによって絵柄を変える事は可能です。
・一貫性を保つのが難しく、あまりチラツキがないようにプロンプト側を工夫する必要を感じます。

手法その3 animatediff

直近(2023年7末)でチラツキが少なくスムーズに動画化できると注目を集めている動画化ツールがanimatediffです。

元々は独立したプロジェクトでしたが、sd-webui-animatediffというAUTOMATIC1111用の拡張が出ており、AUTOMATIC1111を既に使っている人は比較的楽に導入できますが、メモリ要件が少し厳しいです。本家版のAnimateDiffのColabが公開されており、気軽に試したい方はそちらを使う方が良いかもしれません。末尾にリンクを張っておきます。無料版Colabで動かせる事を確認済です。


animatediffの公式サンプルプロンプト+シード指定で作った動画

animatediffの公式サンプルを参考にWebbigdataが作った動画

雑感
・チラツキは非常に少ないですが、意図した通りに物体を動かすというより、動きのある静止画を作れる感じに思えます
・メモリ要件が結構厳しく、Version 1.1以前はRTX 3060(12G)では動かす事が出来ませんでした
・Version 1.2以降は「Move motion module to CPU (default if lowvram)」を設定する事でメモリ12Gでも動かす事ができます
・しかし、Version 1.2はかなりの確率で動画内に「Shutterstock」の透かしが出ます。これはデータセットの問題のようです
・公式サンプルは非常にスムーズな動画ですが同等なレベルの動画を作成する事はまだ出来ていません。相当厳選してる気がします

(4)既存の動画をつなぎ合わせてストーリーに沿って編集した動画

・主にchatGPTのプラグイン機能(Visla)等などを使うやり方です
・動画の内容をおおまかに伝えるとchatGPTが上手い感じに台本とセリフを作ってくれて且つ動画も作ってくれるので確かに手間いらずです
・作成された動画は既存のイメージ動画的なものをつなぎ合わせたものになるのでオリジナル動画とは言い難いです。
・直近でベータリリースされたCode Interpreterでも一枚絵を動かして動画化したり複数画像を繋げて動画化する事ができます。

前述のTemporalNetを使ったもののけ姫動画は作成した画像をCode Interpreterに依頼してつなぎ合わせて動画化して貰ったものです。

 

3.最新AIで動画を作成する方法:話題の動画はこうして作られた!関連リンク

1)huggingface.co
TemporalNet
TemporalNet2

2)twitter.com
@karpi (アルプスの少女ハイジのオープニングをAIで動画化)

3)github.com
s0md3v/roop (オリジナルの実装 動画のみ)
s0md3v/sd-webui-roop (AUTOMATIC1111実装 画像のみ)
deforum-art / sd-webui-deforum
guoyww / AnimateDiff (オリジナルのAnimateDiff実装)
continue-revolution / sd-webui-animatediff (AnimateDiffのAUTOMATIC1111拡張)
camenduru / AnimateDiff-colab (AnimateDiffのColab)

4)www.reddit.com
Harry Potter Anime (u/Inner-Reflections)
Musk vs Zuckerberg. The fight of the Century !!! (u/Akumetsu_971)

タイトルとURLをコピーしました