横浜国立大学理工学部建築都市環境系学科卒
一級鉄筋技能士
「AnimateDiff」の登場により、Stable Diffusionで生成した画像をアニメーション化することが可能になりました。
この記事では、AnimateDiffを使用して静止画を鮮やかなアニメーションに変えるプロセスについて解説します。
目次
Stable Diffusionのインストール
このセクションでは、stable diffusion webuiとAnimateDiffをセットアップする方法について解説します。
手順は下記のとおりです。
1 2 3 |
・Pythonのインストール ・Gitのインストール ・Stable Diffusion WebUI(AUTOMATIC1111)のインストール |
詳しく見ていきましょう!
pythonのインストール
AnimateDiffを実行するためには、Pythonがシステムにインストールされている必要があります。
Pythonの公式ウェブサイトから最新バージョンをダウンロードしてインストールします。
gitのインストール
gitのインストールに関してはこちらの記事を参照してください。
stable diffusion webuiのインストール
Automatic1111は、Stable Diffusionをブラウザ上で簡単に操作できるアプリケーションです。
Stable Diffusionをインストールするフォルダは、Cドライブにするのがおすすめです。
1 2 3 4 |
※Cドライブに保存 C:\Users\itoiy コマンドを打つ際は、cd C:\Users\itoiy として、フォルダ移動をする |
保存するフォルダを指定出来たら、gitコマンドでstable-diffuison-webuiのフォルダをコピーしましょう。
1 |
C:\Users\お好みのフォルダ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git |
インストールが出来たら、「webui-user.bat」ファイルを開きます。
stable-diffuisonが開くのを確認しましょう。
prompt
これは、画像を生成するためにユーザーが入力するテキストです。
例えば、「1boy」などの具体的な記述を入力すると、それに相応しい画像が生成されます。
negative prompt
ネガティブプロンプトは、生成される画像に含まれてほしくない要素を指定するために使われます。
例えば、「(worst quality, low quality:1.4)」などと指定することで、これらの要素を排除した画像が生成されます。
()かっこは、強調の意味で使用されます。
Sampling steps
サンプリングステップは、ノイズを消去する回数です。
ステップ数が多いほど、通常はより詳細で精度の高い画像が生成されますが、生成時間も長くなります。
Batch count
バッチカウントは、一度の操作で生成される画像群(バッチ)の数を指します。
これにより、複数の画像を一括で生成することが可能になります。
Batch size
バッチサイズは、各バッチ内で生成される画像の数を表します。
これを調整することで、一度に生成される画像の総数をコントロールできます。
例えば、Batch count=5、Batch size=4であれば、5×4で20枚の画像が一度に生成されます。
Seed
シード値は、画像生成の際のランダム性をコントロールするために使用されます。
-1がデフォルトの値です。
civitaiでCheckpoint(モデル)を選ぶ
Stable Diffusionを使用するためには、Checkpointモデルが必要です。
これは、AIが画像を生成する際の基準となる重要なデータセットであり、画像生成の品質やスタイルを決定づける役割を持ちます。
Checkpointモデルを選択できる有名なサイトの一つが「civitai」です。
このサイトでは多数のモデルが公開されており、ユーザーは自分のニーズに合ったものを選ぶことができます。
また、AnimateDiffでは、「mistoonAnime」という特定のモデルを使用することで、安定したアニメーションスタイルの画像が生成されます。
ダウンロードしたmodelは、以下のフォルダに保存します。
1 |
C:\Users\stable-diffusion-webui\models\Stable-diffusion |
AnimateDiffのインストール
AnimateDiffは、Stable Diffusionのアニメーション機能を拡張するためのツールです。
Stable Diffusionで生成した静止画をアニメーション化させる機能を追加していきましょう。
AnimateDiff
Stable Diffusionで生成した静止画をアニメーション化させる
静止画を動画化するMotion moduleのモデルを追加する
アニメーション機能を活用するためには、Motion moduleのモデルを導入する必要があります。
これにより、静止画像に動きを付加することが可能になります。
モーションのモデルは、「mm_sd_v14.ckpt」もしくは、「mm_sd_v15.ckpt」を選択します。
「AnimateDiff」を使ってアニメーションを作成する
ここでは、AnimateDiffを使用して実際にアニメーションを作成する方法について詳しく説明します。
Motion module
Motion moduleは、画像に動きを追加するための主要な機能です。
異なる動きやアニメーション効果を適用できます。
ここでは、Motion moduleは「mm_sd_v14.ckpt」を採用します。
Prompt travel
Positive Promptの部分に「フレーム数:プロンプト」を指定することで動きを指定することができます。
1 2 3 4 |
1boy, 0: closed mouth #0フレーム目で口を閉じている 8: open mouth #8フレーム目で口を開ける smile #最終フレームで笑う |
Closed loop
始まりのフレームと終わりのフレームが同一の画像になります。
Closed loopでは、複数のアニメーションパラメータ(N,R-P,R+P,A)を使用して、よりリアルな動きを生成します。
N
完全にclosed loopを適用しない。
R-P
Prompt Travelが適用されない。
R+P
Prompt Travelが適用される。
A
積極的に最後のフレームを最初のフレームと同じにしようとします。
Frame Interpolation
Frame Interpolationは、フレーム間の滑らかな遷移を作成し、アニメーションの品質を高めます。
Interp X 一枚の画像を何枚に分割したいのか
Interp X機能を使うと、一枚の画像を任意の枚数に分割してアニメーションを作成できます。
これにより、より細かく制御されたアニメーションが可能になります。
posemyartで動きをダウンロードし、video sourceに追加する
posemyartは、特定のポーズや動きのプリセットをダウンロードできるプラットフォームです。
これにより、アニメーションに必要なポーズを簡単に取り入れることができます。
実際に動かしてみる
わずかですが、確かに動いています。
Prompt travel を追加して再度生成してみます。
1 2 3 4 |
1boy, 0: closed mouth #0フレーム目で口を閉じている 8: open mouth #8フレーム目で口を開ける smile #最終フレームで笑う |
posemyartを追加するとこんな感じになりました。
まとめ
この記事では、Stable DiffusionとAnimateDiffを用いて高品質なアニメーションを作成する方法を紹介しました。
これらのツールを利用することで、誰でも簡単にプロフェッショナルなアニメーションを制作できるようになります。
AnimateDiffを駆使して、自分だけの独創的なアニメーション作品を創り出しましょう。
この機能を利用すれば中小企業が自社開発した商品をアニメーション化し、それをSNSで販促することも容易になることでしょう!
これを機に、てつまぐもYoutubeやtiktok投稿を始めてみようと思います!