まずは以下の動画をご覧ください。
いかがでしょう?
AIにありがちなチラつきもほぼ見られない、かなりリアルなアニメーションですよね。これはWarpFusionというツールを使用して製作しています。
こういう動画、作れたら面白いと思いませんか?
SNSとの相性も良く集客のネタにもなりますし、アイデア次第でマネタイズも出来るでしょう。
ちょっとアレンジすればこんなアニメションも簡単に作れます。
AIを使った動画生成というとStableDiffusionのmov2movを思い浮かべる方、実際に試したことがある方も多いのではないでしょうか。
しかしmov2movではなかなかこういったアニメーションは作れません。絶対に無理とは言いませんがどうしてもクオリティが微妙になりますよね。
私自身あれこれ設定を弄り、mov2movでかなりの数の動画を作りましたが納得できるレベルのものは作れませんでした。
例えば以下は実際に私がmov2movで制作した動画になります(左が元動画・右がmov2movで生成したもの)。
ちなみにプロンプトとしては「大理石の石像」になるように設定をしています。つまり石像がダンスをする動画に置き換えられないか?と思って生成したのですが・・・
見てもらうと分かる通り元動画とほとんど変化がありません。髭や髪形が若干変わった程度ですね。
いろいろ設定を弄りましたがこの程度にしかなりませんでした。
ハッキリ言って動画制作に関して専門的な知識を持たない私ではこれが限界。
しかしWarpFusionだと同じような設定でこれくらいの変化が出せます。
明らかな違いが出ていることが分かりますよね。
このようにWarpFusionを利用するとクオリティの高いアニメーションが比較的簡単に作れます。専門的な知識がなくてもこのクオリティの動画が作れるなら作ってみたいと思いませんか?
ただ問題がありまして、WarpFusionの使い方に関しては日本語で解説されたものが皆無と言っていいレベルで存在しません。そのため私自身海外の情報を参考にかなり試行錯誤をしながら使い方を覚えました。
その過程で結構無駄な出費もしています(汗
そのため今回はそんな経験も踏まえ、これからWarpFusionを使ってみたいという方向けにWarpFusionを使ったアニメーション制作の手順をまとめることにしました。
このTipsは無料部分と有料部分に分かれます。
無料部分で基本的な生成の手順を、そして有料部分ではよりクオリティの高いアニメーションを生成するためのポイント・注意点をまとめましたので、興味を持たれた方は是非参考にしてください。
WarpFusionを用いたアニメーション制作に必要なもの
このTipsで解説するアニメーション製作に必要なものは以下の3点です。
- StableDiffusionの画像生成知識(基本的なレベルでOK)
- Warpfusion
- GoogleColab有料プラン
まず最初にStableDiffusionを使用した画像生成の基本的な知識が必要です。
WarpFusionを使用したアニメーション制作の基本部分はStableDiffusionで画像・動画を生成するのと変わらないからですね。要するにプロンプトの基本的な知識が欠かせません。
とはいえこの点はある程度StableDiffusionを使ったことがあればOK。
次に必要なのがWarpfusionのファイルですね。
こちらに関しては製作者であるSxela氏のPatreon会員になる必要があります。
月額10ドルのプランに申し込めばWarpFusionのファイルがダウンロード可能です。
ちなみにPatreonに申し込むとDiscordにも参加でき、WarpFusionの様々な情報も手に入ります。
そして最後にGoogleColabの有料プラン契約ですね。
WarpFusionはGoogleColab有料版での使用が前提となるため契約が必須です。(ローカルにインストールして利用することは可能なので、そこそこ高性能のPCをお持ちの方はローカルでも使用可)。
というわけで上記3点の準備をあらかじめ済ませておきましょう。
アニメーション制作の手順
それではここからWarpFusionを使用したアニメーション制作の手順を解説していきます。最初にざっくり手順をまとめると流れは以下の通り。
- WarpFusionのファイルをダウンロード
- GoogleColab契約
- 素材動画の用意
- モデルファイルの用意
- プロンプトの用意
- GooglecolabにWarpFusionファイルをアップロード
- 素材動画のアップロード
- WarpFusionの各種設定
- 動画生成
解説もこの手順で進めます。
そして例があった方が分かりやすいと思いますので、今回は以下の動画を生成した際の流れをそのまま解説していきますね。
それではさっそく手順を解説していきますね。
WarpFusionのファイルをダウンロード
Sxela氏のPatreonに申し込むとWarpFusionのファイルがダウンロードできるページにアクセスできるようになります。ファイルに関しては随時アップデートされているのでその時最新のファイルをダウンロードするようにしてください。
Tips執筆時はV16_10が最新でしたので、解説はこちらをダウンロードして進めていきます。
GoogleColabの契約
GoogleColabはProプランで契約すればOKです。
上記のリンクからアクセスし、画面を最下部までスクロールすると有料プランのリンクがあります。
真ん中のColab Proを契約しておきましょう。
素材動画の用意
アニメーションの元となる素材動画はまず5秒程度の短いものを用意してください。
あまり長い動画を用意してしまうと生成にも時間がかかりますし、一気にColabのコンピューティングユニットを使い切ってしまいます。
今回例として用意した素材動画も約5秒のものになります。
ちなみにこの動画はpexelsでダウンロードしたもの。
長さとサイズを編集しています。
動画素材は他のフリー素材サイトでも手に入りますので、著作権に問題のない素材を使用するようにしてください(ご自身で動画を撮影して使うのも一つの手段です)。
動画のリサイズ・長さの編集はAdobeExpressが便利です。
モデルファイルの用意
次にアニメーションを制作するためのモデルファイルを用意しておきましょう。
ここでいう「モデル」はStableDiffusionで画像を生成する際のモデル(CheckPoint)と同じものを指します。なのでCivitAIかHugging FaceからダウンロードすればOK。
今回は例としてDreamshaperというモデルをCivitAIからダウンロードして使用します。
※もちろんここで選んだモデルによって生成されるアニメーションの印象は大きく変わります。
モデルファイルをダウンロードしたらGoogleドライブにフォルダを作成し、アップロードしておきましょう。GoogleドライブはもちろんGoogleColabを契約しているアカウントのドライブになります。
フォルダ名は何でもよいのですが、私はマイドライブ直下に「AImodels」というフォルダを作成し、その中にファイルをアップロードしました。
プロンプトの用意
モデルファイルを用意したら次に動画用のプロンプトも用意しておきましょう。
WarpFusionを使ったアニメーション制作は基本的にStableDiffusionのmov2movと仕組みは変わりません。1枚1枚img2imgした画像をつなぎ合わせてアニメーションにしています。
なので生成する画像のベースとなるプロンプトが必要なわけですね。
そして当然のことながら適当なプロンプトだと生成されるアニメーションの質も下がります。なのでアニメーション制作に取り掛かる前に画像生成を行い、プロンプトを作っておいてください。
今回はモデルにDreamshaperを使いますので、Dreamsheperで実際に画像を生成するということですね。
実際に私が生成した画像とプロンプトが以下になります。
prompt:
((white statue)), (masterpiece, ultra quality, high resolution, intricate: 1.2), (detailed face:1.2), handsome, Young Greek male, white skin, double eyelids, detailed skin, 1boy, ((realistic)), abs, good lighting quality, muscle veins, ((pale skin)), lust face, 8k
negative prompt:
simple background, low quality, medium quality, normal quality, low res, missing hand, extra limbs, extra body parts, bad anatomy, (extra fingers:1.5), missing fingers, bad quality, bad image, ugly, monster, armpit hair, (crossed eyes, bad iris, bad eyes:1.5), bad quality facial features, bad face, ((extra nipples:1.5)), fused body parts, missing limbs, missing body parts, uneven legs, 1girl, woman, girl, facial markings, monochrome, solo, extra nipples, disfigured, kitsch, ugly, oversaturated, grain, low-res, Deformed, bad anatomy, disfigured, poorly drawn face, mutation, mutated, extra limb, poorly drawn hands, missing limb, floating limbs, disconnected limbs, malformed hands, blur, out of focus, long neck, long body, disgusting, poorly drawn, childish, mutilated, mangled, old, (extra nipples:1.5), (mustache:1.5), blurry
もちろんここで生成した画像とまったく同じ画像が生成されるわけではありませんが、おおよそのイメージをここで作っておいてください。
後述しますがプロンプトの設定は非常に重要です。適当なプロンプトで動画を生成するとクオリティも微妙になりますので、ここでしっかりプロンプトを作っておくことをおすすめします。
ちなみに画像生成に関してはStableDiffusionWebUI環境があればそちらを使用してください。
webUI環境がない、またモデルのダウンロードがめんどくさい方はSeaartを使えばよいでしょう。その都度モデルをダウンロードする手間も省けて便利です。
GooglecolabにWarpFusionファイルをアップロード
次にGoogleColabにアクセスし、WarpFusionのファイルをアップロードします。
「ファイル」→「ノートブックをアップロード」をクリック。
ファイルをアップロードするウィンドウが表示されますので、先ほどダウンロードしておいたWarpfusionのファイルをアップロードしましょう。
ファイルをアップロードしたらコピーを作成して保存します。
「ファイル」→「ドライブにコピーを保存」をクリック。
コピーが作成されるのでコピーの方を使用してください。
ちなみにコピーファイルの名前は分かりやすいものに変更しておくと良いでしょう(そのままでも特に問題はありません)。
ファイルのコピーが完了したらGPUへ接続します。
「接続」をクリック。
以下の表示が出たら「OK」をクリック。
しばらく待つと接続が完了して以下の表示になります。
この表示になったらもう一度上記の赤枠部分をクリックしてください。
次に「ランタイムのタイプを変更」をクリック。
表示されたノートブックの設定が以下のようになっていればOKです。
もし表示されたハードウェアアクセラレータのタイプ、GPUのタイプが異なっている場合は上記の設定に変更し、保存をクリックしましょう。
この設定になっていないと動画の生成が正常に完了しません。
これでGPUの接続・設定は完了です。
素材動画のアップロード
次に素材動画をアップロードします。
以下のフォルダアイコンをクリック。
次に以下のアイコンをクリック。
以下の表示が出たら「OK」をクリック。
用意してある素材動画を選択してアップロードしてください。
Warpfusion設定①:Settings
ここからはWarpFusionの設定になります。
- 今回は細かな設定は省略し、最も基本的な設定のみ解説をしていきます。これだけでかなりのクオリティの動画が生成可能なので、まずこの設定で進めてください。
まずは「2.Settings」を編集します。
編集するのは「batch_name」と「width_height」の2つ。
「batch_name」は生成される画像や動画を収めるフォルダ名。なので何でもよいですが分かりやすい名前を付けておいてください。
「width_height」は動画のアスペクト比の設定です。名称の通り横幅・高さの順番になってますので元動画のサイズを確認し、同じサイズを入力するようにしてください。
この設定が間違っているとうまく動画が生成できません。
ちなみにサイズの大きな画像の場合は比率さえ合っていればサイズを小さくしてもかまいません。例えば1080×1920の動画を720×1280に設定するとかですね。
動画のサイズが大きすぎると生成にも時間がかかるため、せいぜい720×1280程度(あるいはそれ以下)に収める方が良いでしょう。
Warpfusion設定②:video_init_path
次にVideo Input Settingsの「video_init_path」を変更します。
こちらは先ほどアップロードした素材動画のファイル名の上で右クリック⇒「パスをコピー」をクリック。
video_init_pathに貼り付けてください。
こちらも間違っているとエラーが出ますので注意。
コピペで正しいパスを入力するようにしてください。
Warpfusion設定③:VideoMasking
VideoMaskingの「extract_background_mask」にチェックを入れます。
Warpfusion設定④:Optical map settings
Optical map settingsの「Force_flow_generation」にチェックを入れます。
Warpfusion設定⑤:define SD + K functions, load models
ここは「mdel_path」に使用するモデルのパスを入力します。
ここで一旦画面を上に戻り、「1.SetUp」の「1.1 Prepare Folders」を実行してください。
実行すると以下の表示が出るので「Googleドライブに接続」をクリック。
するとGoogleアカウントが表示されるのでクリック。
ウィンドウを下にスクロールして「許可」をクリック。
あとは実行完了を待ってください。
以下のようにチェックマークが表示されれば完了です。
完了したら次に以下のアイコンをクリック。
Googleドライブ内のフォルダ・ファイルが表示されるので、あらかじめアップしておいたモデルのパスをコピーしてください。
コピーしたパスを「model_path」に貼り付けます。
これでモデルの設定は完了です。
Warpfusion設定⑤:Non-gui(Prompts)
次に「Non-gui」の横の三角アイコンをクリックします。
すると様々な項目が表示されますが、その中から「Prompts」を探してください。
ここでプロンプトを設定します。
あらかじめ用意しておいたプロンプトを貼り付けてください。
プロンプトの前後に記載されている記号を消さないよう、用意したプロンプトを記載しましょう。
- ちなみにプロンプトは改行を入れないように注意。改行が入っているとエラーになります。
Warpfusion設定⑥:Diffuse!
次にDiffuse!の「frame_range」を動画に長さに合わせて設定しておきます。フレーム数=画像の枚数ですね。
大体の動画は1秒間に30枚の画像を使ってますので、5秒の動画であれば150と設定しておけばOK。10秒なら300ですね。
ちなみに敢えて60などで設定すれば60フレーム目までしか生成されないため、2秒程度の動画となります。なのでちょっとしたテスト程度の生成であれば敢えて少ないフレーム数に設定しても良いでしょう。
元動画をしっかり最後まで生成したいなら必要なフレーム数を設定してください。
Warpfusion設定⑦:Create video
Create videoの「use_background_mask_video」にチェックを入れます。
動画生成(すべてのセルを実行)
以上の設定が完了したら「ランタイム」→「すべてのセルを実行」をクリックします。
これで設定が読み込まれて動画生成が開始されます。
生成には結構時間がかかるのでゆっくり待ちましょう。5秒の動画を作るのでも30~40分くらいはかかります。
【補足】Create videoを実行
「すべてのセルを実行」をクリックすれば自動で動画生成は完了するのですが、場合によって「Create video」が実行されないケースがあります。
もし「Create video」が以下の表示で止まっているようであれば手動で実行ボタンをクリックし、動画の生成を行ってください。
以下の表示になっていれば自動で動画生成も完了しています。
動画ファイルのダウンロード
生成された画像はGoogleドライブに自動的に作られる「AI」フォルダに保存されています。
「AIフォルダ」→「StableWarpFusion」→「images_out」を選択。
先ほど動画生成の際「batch_name」で設定した名前のフォルダが表示されるので該当のフォルダをクリック。その中の「video」フォルダを選択してください。
このフォルダ内に画像ファイル・動画ファイルがまとめられています。
ランタイムの終了(GPU接続の解除)
動画の生成が完了したあとは忘れずGPUの接続を解除しておきましょう。
この作業は必ず、忘れず行ってください。
接続されたままブラウザを閉じてしまうとその後もコンピューティングユニットが消費されてしまうので注意です。
解除の手順はまず以下の三角アイコンをクリック。
表示されたメニューの中から「ランタイムを接続解除して削除」をクリック。
以下の表示が出るので「はい」をクリック。
これで接続が解除されます。
以下のように「再接続」と表示された状態になればこれ以上コンピューティングユニットが消費されることはありません。
必ずこの状態に戻してからブラウザを閉じ、作業を終了するようにしてください。
というわけで基本的なアニメーション生成の手順は以上となります。
ちなみにここまでの手順は動画でも解説をしてますので以下を併せて参考にしてください。
あとは設定を細かく調整していくことで動画のクオリティを上げていくことが可能ですので、使い方が分かってきたら設定をアレンジしてみてください。
以降は有料となりますが私の経験を踏まえて動画制作のポイント、おすすめの設定、注意点などを細かくまとめていきます。無駄な出費を省き、よりクオリティの高い動画を生成したい方は有料部分もぜひ参考にしてください。