mov2movでTiktokの動画を生成する:Stable Diffusion WebUI拡張機能

スポンサーリンク
Stable Diffusion
スポンサーリンク

mov2movでAI美女に踊らせてみました。元動画は私(おっさん)ですが、Stable Diffusionのmov2movにかかると、そんな私でも美女の踊ってみた動画が作れます。おっさんを美女に変換するという少し無茶なことをやっていますので、ちらつきが大きいです。

2023/5/5更新:バージョンアップでModNetが使えるようになっていたので、使用法を追記しました。

2023/7/18にControlNetのReference onlyを使ったアップグレード記事を作成しました。Reference Onlyを使った方が動画が断然安定するので、おすすめです。こちらの記事を読み終わったら、是非こちらのアップグレード記事をお読みくださいmov2movでTiktok動画作成最新版

mov2movの導入

mov2movはStable Diffusion WebUIの拡張機能として導入します。前提として、ControlNetの技術を使っていますので、ControlNotも拡張機能として入れておきましょう。それぞれ、ExtensionsのInstall from URLからURLを指定するのが簡単です。URLを入れてInstallボタンを押しましょう。Install後、WebUIを再起動した方が良いです。
ControlNet
https://github.com/Mikubill/sd-webui-controlnet
Mov2Mov
https://github.com/Scholar01/sd-webui-mov2mov

インストールに成功すると、再起動するとmov2movのタグが追加されています。

ModNetの準備

ModNetがバージョンアップで使えるようになっていたので、追記します。(5/5)

ModNetは生成した画像から人物を切り取り、背景と合成する技術です。Stable Diffusionでは、ControlNetで生成すると、画像ごとに少し違った背景などが生成してしまいますので、mov2movで動画にしたときに、背景がちらついてしまうことがあり、安定した動画を作れません。ModNetは人の部分を切り取り、好きな背景と合成する技術です。mov2movにはデフォルトでModNetが実装されています。ここでは、準備として、ModNetの学習済みモデルをインストールします。

ModNetのモデルはModNetのGitHubの開発ページからリンクしているので、そこからダウンロードします。モデルは、このgoogle driveのページで配布されています。以下の2つのファイルをダウンロードして、「\stable-diffusion-webui\extensions\sd-webui-mov2mov\models」に置きます。
・modnet_photographic_portrait_matting.ckpt
・modnet_webcam_portrait_matting.ckpt

元の動画を準備する

mov2movなので元の動画を準備します。他人の動画を勝手に使うことは著作権侵害になりますので、注意しましょう。使用許可された動画か、ご自分で撮影した動画を使いましょう。今回は、Tiktokの上げる動画を作りたかったので、自分で練習して元動画を作成しました。ここでは、ダンス素人のおっさんができそうな流行り動画を練習し、スマホで作成して、PCに転送しました。

まず、撮影した動画の一場面を切り取って、img2imgでちゃんとした画像が出るように調整します。シードは好みの絵が出る値で固定します。サイズは動画のサイズに合わせます。ControlNetはチェックを入れて有効にします。今回はMultiControlNetでOpenpose fullとScribble hedを併用します。MultiControlNetはSettingsのControlNetから設定可能です。今回は2つのControlNetを使います。

動画の安定性を考えれば、もう少し輪郭を反映できるControlNetのモデルを使いたかったのですが、今回、おっさんを美女に変えるということをしているので、なるべく細かい部分を反映しないモデルにしました。例えば、原画を忠実に変換するのであれば、もっとよいControlNetのモデルはあると思います。(Canny、Depth、HedあたりをOpenposeと併用するのがとよいと思います。)

自分の出したい画像がでることを確認します。

mov2movで動画の生成

mov2movで動画を生成します。さきほど、img2imgで設定した値を参考にします。若干、プロンプトの効き方が違うので注意が必要です。ControlNetは同じものを使います。準備ができたらGenerateボタンを押して使用を開始します。本当はModNetを使って背景を固定にしたかったのですが、ModNetのサイトを参考にモデル等もちゃんと起きましたが、うまく使えなかったので、今回は割愛します。誰かわかる方教えてください。。。(5/5更新:ModNetがバージョンアップで使えるようになっていたので、使用方法のみを追記します。)

生成が進むとmov2mov-imgのフォルダに各コマの画像が生成します。動画ができたら、mov2mov-videosのフォルダに保存されます。今回、540×960で比較的小さな動画を作っていますが、それでも生成するのに数時間かかりました。

Tiktokに投稿した動画

完成動画は以下の通りです。ちらつきは元動画と近ければ緩和されると思うのですが、今回、おっさん2美女ということで、その分ちらつきが大きいです。

@yutaktjtk98#AI美女#中身はおっさん#流行りのダンス#stablediffusion#mov2mov♬ オリジナル楽曲 – ローカルカンピオーネ🗾👑

鷹の目週末プログラマー on TikTok
#AI美女#中身はおっさん#流行りのダンス#stablediffusion #mov2mov ブログでSDのことを発信しています。 鷹の目週末プログラマー

5/5追記:ModNetの設定

ModNetを使う場合は、「enable」に設定し、モデルを選択します。(2つのモデルの差についてはよく分からないので、うまくいく方を使ってください。)
Backgroundモードは背景画像を選択したい場合はImageを選んで、背景画像をアップロードします。(下の画像は上の動画用ではないので、サイズが違いますが、生成する動画とサイズをさせた方が良いです。)他にもClear(背景削除)、Origin(元の背景)、Green(緑バック)、Movie(動画を合成?)を選択できます。

あとは、上記と同じように画像を生成すると、画像から動画を作成する時に自動的に合成し、動画の背景として設定してくれます。

以上、mov2movのご紹介でした。

2023/7/18にReference onlyを使ったアップグレード記事を作成しましたので、引き続きこちらをご参照ください。Reference onlyを使った方が動画が断然安定します。

Stable Diffusion
スポンサーリンク
鷹の目週末プログラマー

コメント

  1. サク より:

    初めまして。こちらの内容についてですが、mov2movの表示まではできたのですが、上手く動かせず。。費用をお支払いしますので、ビデオ会議などでやり方を教えていただけないでしょうか?ご検討を宜しくお願い致します。

    • タカ より:

      サクさん
      ご質問ありがとうございます。
      mov2movで動画がうまくできないとのこと、原因として思いつくことをあげました。

      ・確認していませんが、ひょっとしたらffmpegが必要かも知れません。下記のページからffmpegのセットアップの方法がありますので、インストールとPATHを通して、ffmpegが使える状態で試してみていただけないでしょうか。
      ・ControlNetがうまくに働いていないかもしれません。念のため、以下の確認してみてください。
       ・WebUIが最新版になっていること
       ・ControlNetが最新版になっていること
       ・ControlNetがenableになっていること
       ・ControlNetの画像欄には何も貼っていないこと

      以上、ご参考ください。