見出し画像

WindowsでPaints-Undoを試す(VRAM 12GB以上)

Last update 7-14-2024
※(7-14) Paints-Undoをベースに、線画とスケッチの生成に特化したSketch-Genの記事を書きました。
※利用前に、リポジトリの最後に書いてある免責事項を必ず確認してください。




▼ 0. 本記事について

0-1. 概要

 本記事では、Paints-UNDOをインストールして実行する手順を紹介します。こちらの作者は、ControlNetFooocusを手がけられたlllyasviel氏です。

 名前のとおり、工程を戻していくかのように完成から白紙までの流れを生成することができます。出力される動画が逆順(完成が最後)になっているため、タイムラプス動画が生成されたかのような印象を受けますが、この技術の核心は「工程を戻す(ように見える)」部分にあります。

 詳細はリポジトリの説明を確認してください。GoogleのNotebookLMにリポジトリのURLを入力して、チャット欄で質問するのがおすすめです。

0-2. 動作環境

 筆者はGeforce RTX 3060(VRAM 12GB)で動作確認を行いました。CUDA Toolkitは12.1以上とします(筆者は12.5にて確認、11.xは未検証)。Pythonのバージョンは3.10です。

0-3. 公式リポジトリ等

https://github.com/lllyasviel/Paints-UNDO 
https://lllyasviel.github.io/pages/paints_undo/ (作成例)

https://huggingface.co/spaces/MohamedRashad/PaintsUndo (動作デモ)

0-4. 派生ツール

0-5. 関連記事等

 ハイメモリのGoogle Colabで動作するNotebookもありました(下記)。



▼ 1. インストール

 説明はある程度省きます。また、作業ディレクトリを「C:\aiwork」としていますので、適宜読み替えてください。

1-1. 本体のダウンロード

 コマンドプロンプトを開いて、ディレクトリ「C:\aiwork\Paints-UNDO」が無い状態で下記のコマンドを順に実行してください。

cd \aiwork
git clone https://github.com/lllyasviel/Paints-UNDO
cd Paints-UNDO

 Gitを導入していない方は、リポジトリにアクセスすると緑色の「Code」というボタンがありますので、クリックして「Download ZIP」を選択し、ファイルを適当なディレクトリに解凍してください。

1-2. 環境の構築

 下記のコマンドを順に実行してください。仮想環境を作って入ります。

python -m venv venv
venv\Scripts\activate

 次に、下記のコマンドを順に実行してください。1行目と3行目は少々時間がかかります。念のため、PyTorchとxFormersのバージョンを決め打ちしています(執筆時点の最新版)。

pip install torch==2.3.1 torchvision --index-url https://download.pytorch.org/whl/cu121
pip install xformers==0.0.27
pip install -r requirements.txt



▼ 2. 起動

2-1. 起動方法

 下記のコマンドを実行してください。モデルのダウンロードが発生するため、初回のみしばらく時間を要します。

python gradio_app.py

 もし、下記のようなメッセージが表示されて停止した場合は、先ほどのコマンドを再度実行してください。

OSError: [WinError 1314] クライアントは要求された特権を保有していません。

 起動が完了すると、下記のメッセージが表示されます。Webブラウザで http://127.0.0.1:7860/ へアクセスしてください。

Running on local URL:  http://0.0.0.0:7860

To create a public link, set `share=True` in `launch()`.

2-2. 2回目以降の起動

 新規にコマンドプロンプトを開いた場合は、下記のコマンドを順に実行してください。バッチファイルを作る場合は「call venv\Scripts\activate.bat」に変更します。

cd \aiwork\Paints-UNDO
venv\Scripts\activate
python gradio_app.py



▼ 3. 操作手順

3-1. Step 1

 任意の画像をドラッグ&ドロップします。また、最下部にあるExamplesの画像をクリックすると、それを入力することができます。

Examplesの画像も入力可

 右側の「Generate Prompt」をクリックして少し待つと、画像を解析して得られたプロンプトが表示されます。

画像を元にしたプロンプトが表示された

3-2. Step 2

 次に「Generate Key Frames」をクリックして少し待つと、右側に生成されたキーフレームが表示されます。設定は基本的にそのままとしますが、使用した画像が正方形なので解像度を512x512に変更しました。

 設定にある「Operation Steps」は、生成するキーフレーム画像の設定です。完成から白紙までの行程を1000分割して、完成から指定した回数アンドゥした状態に相当する画像を生成します。デフォルトの設定は400から999まで6個あり(変更可)、両端に完成と白紙が入るので8枚あります。

キーフレームが生成された

3-3. Step 3

 最後に「Generate Video」をクリックします。この工程は少々時間がかかります(筆者の環境では10分以上)。キーフレーム間の複数の画像が生成され、連続した動画ファイルとして出力されます。

 処理が完了すると、出力された動画が表示されます。ファイルは「Paints-UNDO\results」に自動的に保存されます。

動画を再生しているところ

 また、生成された各フレームの確認や個別のダウンロードもできます。

各フレームの表示

3-4. 終了

 開いているページを閉じ、コマンドプロンプトのウインドウを閉じるか、Ctrl+Cで停止してください。

3-5. アンインストールの方法

 必要なファイルがあれば移動してから、起動していない状態でPaints-UNDOのディレクトリを削除してください。



▼ 4. 生成された動画

 Xに投稿しておいたので、よろしければご覧ください。



▼ 5. 使用した画像

 こちらはPaints-Undoのテストに使用していただいても構いません。モデルはCiELXcocoamixXLの単純マージで、SDXL Flash LoRAを用いて6 Stepsで生成しています。

view from above, child 1girl, embrassed smile, close mouth, light blue hair, long wavy hair, pastel skyblue dress, lace, long widening sleeves, tiny waist belt, shiny purple eyes, socks, sitting beige sofa, kneeing, v-sign, living room, flare, heart effect, window, <lora:sdxl-flash-lora:1>
Steps: 6, Sampler: DPM++ 2M SDE SGMUniform, CFG scale: 2, Seed: 113195582, Size: 512x512, Model hash: bcc2232f80, Model: 0.5(cielx_v10) + 0.5(cocoamixxl_v2Quality), VAE hash: 235745af8d, VAE: sdxl_vae_fix.safetensors, Denoising strength: 0.55, Clip skip: 2, Hires upscale: 2, Hires upscaler: R-ESRGAN 4x+ Anime6B, Lora hashes: "sdxl-flash-lora: c270e6d5998c", Version: f0.0.17v1.8.0rc-latest-276-g29be1da7



▼ 6. その他

 私が書いた他の記事は、メニューよりたどってください。

 noteのアカウントはメインの@Mayu_Hiraizumiに紐付けていますが、記事に関することはサブアカウントの@riddi0908までお願いします。

この記事が気に入ったらサポートをしてみませんか?