「mov2mov」を使った動画作成をわかりやすく解説【ControlNet講座#15】|Stable Diffusion

m2m title

Stable diffusionの「ControlNET&拡張機能講座」第15回目。今回は「mov2mov」を使った動画作成です。


なんか時間がかかりそうな感じニャ。

動画は分解すればたくさんの画像の集まりなので、それだけ多くの画像を生成する必要がありますね。時間とPCパワーが必要になってくるジャンルです。

そんなわけで細かい話は抜きで、やり方をさくっと説明していきましょう。前回の「ControlNET版「Inpaint」機能をわかりやすく解説ー画像の一部を修正」は以下のリンクから。

ControlNET版「Inpaint」機能をわかりやすく解説ー画像の一部を修正|Stable diffusion
Stable diffusionの「ControlNET&拡張機能講座」第14回目。画像の一部を修正するControlNET版「Inpaint」機能についてです。 「Img2img」に最初からある「Inpaint」と何が違うのニャ? 原理は...

 

スポンサーリンク

「mov2mov」の導入

「Stable diffusion」を起動し、「Extensions」タブ→「Install from URL」タブに移動し、「URL for extension’s git repository」に、

https://github.com/Scholar01/sd-webui-mov2mov

を貼り付けて、「Install」ボタンをクリックします。しばらく待つと「Install」ボタンの下の方にいろいろ文字が出てきてインストール終了。【追記】次回行う方の動画作成拡張機能のアドレスを貼っていました。修正しました。

つぎに「Extensions」タブ→「Installed」タブ「Apply and restart UI」 ボタンをクリックして再起動します。これでインストール完了です。

(注意)「mov2mov」を導入すると「Img2img」で「ControlNET」を使うときにエラーが出る可能性があります。その場合、「Installed」タブの一覧からチェックを外して再起動してください。「mov2mov」を使うときにまた戻せばよいでしょう。

 

「mov2mov」の使い方

m2m

「mov2mov」タブが追加されているので、そこに移動し、動画を放り込みます。今回はPixabayのフリー素材のダンスアニメを利用します。

著作権の問題があるので、動画サイトなどで公開するばあいはフリー素材か自分で適当に踊ってスマホで録画するのがいいでしょう。


自分で踊るのが一番安全なのニャ。

最初は動画を5秒ぐらいに編集しておくといいかもしれません。5秒でも出力にけっこう時間がかかります。理由はあとで述べます。

プロンプトは「1girl,standing,school uniform,fullbody,long hair」など動画にあった内容を適当に書いておきます。

Resize mode」ですが、「Just resize」(元動画をリサイズする)、「Crop and resize」(元動画を一部切り取ってリサイズする)のどっちかで。初期設定でいいとは思います。

Sampling method」は自分の好きなもので、「Generate Movie Mode」は出力動画の形式なのでMP4がよければ「MP4V」にでもしておけばよいでしょう。

あとは動画に合わせて「Width」「Height」を設定してください。今回は「768X512」で。

Denoising strength」も自分の好きなようにいじってください。最初は0.4~0.5ぐらいでやるといいかと。増やすとプロンプトの内容が優先されますが、描画がうまくいかなくなる場合もあります。

その下の「Movie Frames」ですが、1秒に何コマ使うかです。デフォルトは30になっていますが、30はけっこう多くて時間がかかるので、とりあえず10ぐらいに減らしておくといいでしょう。10でも5秒だと50枚生成しなくてはなりません。


時間のかかる作業なのニャ。

ただ10と30だと、動画の質がだいぶ違いますね。10はパラパラ漫画レベルです。時間に余裕があったら30でやったほうがいいでしょう。

あとはいつものように「Generate」ボタンを押すだけですね。長すぎて待ちきれなくなったら「Interrupt」を押して中断してしまってください。途中まででも動画を作成してくれます。

kansei

出来上がったのはこちら。


ポリゴン画像が人間っぽい質感になったのニャ。

red hair

プロンプトに「red hair」を入れて、赤い髪に変更することもできます。

それと前述したようにDenoising strengthを0.4とかに落とすと動画に近くはなりますが、そのかわり画像がぼけます。

しかし0.75にするとプロンプトを優先するので画像ははっきりしますが、元動画から外れたものができあがります。

これを解消するため、Denoising strengthを高く保ったまま、元動画に近い形にするため、「ControlNET」を使います。

 

「ControlNET」で動画の質を上げる

「ControlNET」をまだ導入していない方は以下のリンクから。

「ControlNet」のインストール/アップデート方法をわかりやすく解説ーマルチにする方法も【Stable diffusion】
AIお絵描き「Stable diffusion」の「ControlNet」をインストール、もしくはアップデートする方法をさくっと手短に解説します。「ControlNet」は「Stable diffusion」に様々な追加機能をあたえるので、...

導入している方は「mov2mov」にすでに「ControlNET」があるとは思います。基本的にはなにもする必要はありません

もし「ControlNET」がなければ、「Setting」タブの「ControlNET」から「Allow other script to control this extension」にチェックを入れてください。そののちに上の「Apply Settingsボタン→「Reload」ボタンを押します。(注意)「Stable Diffusion」のバージョンによっては、この作業をすることで「mov2mov」の出力がボケボケになることがあります。その場合、チェックを外して「Apply Settings」ボタン→「Reload」ボタンでもとに戻してください。

あとはこの講座で学んできた「ControlNET」の知識を総動員すればよいでしょう。

(設定例1)「lineart」を利用。

・ControlNETを使用するので「Enable」にチェック
・「Single image」は何も入れなくていい。
・Preprocessorは「lineart_realistic」、Modelは「control_v11p_sd15_lineart」。
・Control Weightは0.4
・「mov2mov」側のDenoising strengthは0.75(高いほうが画像がはっきりするから)

以上の設定で生成します。

apple

フリー素材の動画を利用しましたが、こんな感じで「lineart」がトレースしてくれます。


けっこう近い感じで再現してくれるのニャ。

kami

プロンプトで髪の色を変えたり、絵柄を変えたりもできます。

「lineart」自体については以下の記事を参照してください。

「lineart」「lineart anime」機能をわかりやすく解説ー線画から画像を作成【ControlNet講座#9】|Stable diffusion
「ControlNET&拡張機能講座」第9回目。画像を線画に変換したり、線画から画像をつくりだす「lineart」「lineart anime」機能についてです。これと似た機能に「scribble」「canny」「soft edge」があり...

「lineart」以外にも、これまで学んできた「Scribble」「Softedge」「Canny」もありますので、いろいろ試してみるとよいでしょう。

「scribble」機能をわかりやすく解説ー落書きから画像を作成【ControlNet講座#10】|Stable diffusion
Stable diffusionの「ControlNET&拡張機能講座」第10回目。ラフ画(落書き)から画像をつくりだす「scribble」機能についてです。 前回の「Lineart」は線画から画像を作り出したのニャ。 「Lineart」は...
「canny」機能をわかりやすく解説ー写真からイラストを作成【ControlNet講座#11】|Stable diffusion
Stable diffusionの「ControlNET&拡張機能講座」第11回目。画像から輪郭を抽出し、それを元に着色・画像をつくりだす「canny」機能についてです。 「lineart」と「scribble」の違いは前回でわかったけど、...
「soft edge」機能をわかりやすく解説ーイラストから画像作成【ControlNet講座#12】|Stable diffusion
Stable diffusionの「ControlNET&拡張機能講座」第12回目。前回の「canny」よりもソフトな感じの輪郭を抽出し、それを元に着色・画像をつくりだす「soft edge」機能についてです。「lineart」「scrib...

それと、動画を作ってみるとわかりますが、コマによって人物が違うばあいもあります(というかそういうのがほとんどです)。


これも以前習ったニャ。人物を統一するには「reference_only」ニャ。

そうですね。「ControlNET」を複数にして、1番目を「reference_only」(参照にする顔画像を「Single image」に入れる)、2番目をさきほどの「lineart」の設定にすればよいでしょう。「reference_only」については以下の記事を参照してください。

「reference_only」機能をわかりやすく解説ー人物そのままで衣装変更【ControlNET講座#5】|Stable Diffusion
「Stable Diffusion」のControlNET講座第5回。「reference_only」を使って、同じ人物のまま服装などを変更する方法です。というのも、「Stable Diffusion」はスクリプトを変えてしまうと、人物も変...

コツとしては、まず「lineart」だけで動画をつくり、その中でつかえそうな画像を「reference_only」に放り込んで、「reference_only」+「lineart」で再度動画をつくることによって人物の同一性を保持しやすくなります。

ただ「reference_only」でも同一性を保つのは難しいので、現状はそういうものだと思ったほうがいいでしょう。

動画の動きを保つために、「Openpose」を使うこともできますね。

「OpenPose」「OpenPose Editor」機能をわかりやすく解説ー自由にポーズ変更【ControlNET講座#6】|Stable Diffusion
「Stable Diffusion」のControlNET講座第6回。「OpenPose」「OpenPose Editor」機能を使って、自由にポーズを変更する方法です。 これ第1回目にやるやつじゃないのかニャ? ポーズを変えると人物も変わ...

なんにしろ、現状はそこそこなものができれば十分といった感じです。完璧なものをつくろうと思わず、気楽遊ぶぐらいでいいですね。

「Openpose」「reference_only」をがんばっても、背景のある動画だと背景は統一されませんし、現状は「lineart」だけで十分とは思います。動画処理にも時間がかかりますしね。


まだまだ発展途上の技術なのニャ。

 

「sd-dynamic-thresholding」で質を上げる

拡張機能「sd-dynamic-thresholding」を使って、質を上げることも可能です。

「mov2mov」を導入したのと同じ手順で、

https://github.com/mcmonkeyprojects/sd-dynamic-thresholding

を張り付けて導入してください(再起動を忘れずに)。

これをするとCFG Scaleを7以上にしても破綻しにくくなります。

thread

使用するときはControlNETの上あたりにある「Enable Dynamic Thresholding (CFG Scale Fix)」にチェックを入れます。あとは上のCFG Scaleをいじるなり、チェックマークのすぐしたのMimic CFG Scaleをいじるなりしてください。

CFG Scaleを12~15、Mimic CFG Scaleを5~7にすると改善するらしいです(あくまで可能性の問題です)。

ちなみに筆者の環境だとあまり変わらないかなという感じでした。むしろデフォルトの7が一番きれいでした。これはつかうモデル(チェックポイント)に左右される部分とは思います。

 

まとめ

とにかく生成に時間がかかるので、最初は短い動画でやったほうがいいですね。

30フレームだと、1秒で30枚ですし、とんでもなく時間がかかります。


ハイスペックなグラボが必要になるのニャ。

ただ30フレームないとパラパラ漫画感が強くなりますね。

次回の講座は「EBsynth」を利用した動画作成を予定していたのですが、けっこう複雑で逆に混乱させる可能性があるので次回は「Image Browser」の講座にして、「EBsynth」は後日作ることにしました。【追記】「「EBsynth」と「Stable diffusion」で動画を作る方法をわかりやすく解説ー背景変更についても」できました。以下のリンクから。

「EBsynth」と「Stable diffusion」で動画を作る方法をわかりやすく解説ー背景変更についても|ControlNET&拡張機能講座18回目
Stable diffusionの「ControlNET&拡張機能講座」第18回目。以前に「mov2mov」を使った動画作成をやりましたが、今回は「EBsynth」を使った動画作成です。以前の「mov2mov」は以下のリンクを参照してくださ...

次回は画像作成の生産性を上げる「「Image Browser」で画像管理する方法をわかりやすく解説」です。以下のリンクから。

「Image Browser」で画像管理する方法をわかりやすく解説【ControlNet&拡張講座#16】|Stable Diffusion
Stable diffusionの「ControlNET&拡張機能講座」第16回目。「Stable Diffusion」を使っていると画像が多すぎて、どこになにがあるのかわからなくなることが多いと思います。今回はそれらの画像を整理できる便利...
「Shuffle」機能をわかりやすく解説ー2つの画像から新画像を生成【ControlNet講座#1】|Stable diffusion
「Stable diffusion」に様々な追加機能をあたえる「ControlNet」。その使い方を学ぶ「ControlNet講座」の第1回目です。「Shuffle」機能を、わかりやすくさくっと解説します。元画像(上の画像では「少女」)に対...
「Stable difussion」のプロンプト(呪文)用語一覧【AIイラスト】
いま流行りのAI画像作成「Stable difussion」。画像を出すにはプロンプトに英単語を打ち込まなければなりませんが、いちいち調べるのも面倒という方のために、1ページにまとめた単語帳を作成しました。 ほぼ自分用ニャ。 画質、アートス...
保存したプロンプト(Styles)を編集・削除する方法をわかりやすく解説ー保存方法も【Stable difussion】|Styles編集
「Stable difussion」でプロンプトを保存(Styles)・呼び出しする方法と、保存したのはいいけれど、どうやって削除・編集するのかわからないという場合の解決方法を手短にわかりやすく説明します。保存方法についても述べていきます。...
タイトルとURLをコピーしました