見出し画像

【AIアップスケーラー】 カクダイV1の使い方解説 (Part 2/3)

Google Colabを使用したカクダイV1の動かし方について解説します。ローカルで動かしたい方は、第二章のローカルで実行する、をお読みください

カクダイV1そのものに関しては、以下の2つの記事にまとめています。


1. Google Colabで実行する

準備1: Google Driveのストレージ拡張

モデルやコード等のデータをGoogle Driveにダウンロードするにあたって、無料枠である15GBを超える20-30GBのストレージ容量が必要になります。月額わずか60円で、100GBまでストレージを増やせるので、こちらのリンクから拡張しておきましょう(期間限定での割引価格)。

準備2: Google Colab Proへの加入

Google ColabでカクダイV1を動かすためには、有料プランへの加入が必要です。月額1,179円のProプランでも十分に動かすことができます。一枚の画像生成にかかるおおよその時間は以下の通りです。

  • T4 High RAM: 5分

  • V100 High RAM: 3分

Colabプランの詳細についてはこちらの記事が詳しいです。

コード実行1: 環境構築

以下のGoogle Colab Notebookを開いてください。

はじめに一つ目のセルを実行します。直後に警告が出ますが、実行を許可していただいて構いません。

次にGoogle Driveとの接続について聞かれるので、これも許可します。さらに数ステップ進むと、以下のような画面が表示されます。「すべて選択」を押して進むことで、Driveとの連携が完了します。

セルの実行が完了したら、以下のURLにアクセスしてCCSRの重みファイルをダウンロードします。

https://drive.google.com/drive/folders/163x-ynZ2fYPxvo_DkTzhZy5W2jeSBM9S

その後、Google Driveを開き、マイドライブ -> ComfyUI -> models -> checkpoints フォルダにダウンロードした重みをアップロードします。
ファイルの容量が大きいため警告が出ますが、特に気にする必要はありません。

あとは、Colab画面の上部にあるメニューの「ランタイム」から「すべてのセルを実行」を押すことで、環境構築が進んでいきます。途中、赤文字のエラー文が出てくることがありますが、セルの実行が止まっていなければ基本的に問題ありません。

10-15分すると、最後から2番目のOpenAI API Keyの設定を行うセルが実行中になっているかと思います。

コード実行2: OpenAI API Keyの設定

このセルで入力したOpenAI API Keyは、GPT-4Vによる画像のキャプション生成に使われます。キャプションは、GPT-4Vを用いなくても手動で設定できるので、使用は任意です。

(1) OpenAI API Keyを使用しない場合
テキストボックスをクリックし、何も入力せずEnterを押して次に進んでください。

(2) OpenAI API Keyを使用する場合 
sk-で始まるAPI Keyを入力してください。なお、APIを呼び出す度に追加料金がかかることに注意してください。

コード実行3: ComfyUIの起動

API Keyの設定が終わると、最後のセルが実行され、2-5分程度で、

ComfyUI finished loading, trying to launch cloudflared (if it gets stuck here cloudflared is having issues)
This is the URL to access ComfyUI: https://xxx-yyy-zzz-www.trycloudflare.com

といったログが表示されます。「https://xxx-yyy-zzz-www.trycloudflare.com」のURLをクリックすることで、別タブでComfyUIが立ち上がります。

タブに移動した後1分程度待ち、デフォルトのワークフローが表示されたら、以下のjsonを、右にあるメニューから「Load」を押下してアップロードします。

アップロードが完了すると、以下のようなワークフローが表示されるはずです!

(備考)
カクダイV1 ワークフローは使用しているモデルの兼ね合いから、CC-BY-NC-SA ライセンスでの公開となります。生成物については、その限りではありません。

【補足】ComfyUIについて

ComfyUIは、GUIベースのワークフローツールで、ノードの入出力を連結していくことで、画像・動画生成のワークフローを組むことができます。以下のサイトが、概要・できること・基本的な操作について日本語で詳しくまとめてくれています。ComfyUIでの操作に慣れていない方は目を通すと良いでしょう。

ComfyUIによる画像生成

それでは、実際にワークフローをもとにアップスケールを行なっていきましょう。左端にある緑、黄、赤のノードから画像のアップロードや各種設定が行えます。

まず、緑のノードから画像をアップロードします。推奨画像サイズは、600×600あるいはそれ以下です(4倍にアップスケールされます)。

次に、赤のノードからプロンプトの設定をします。

(1) OpenAI API Keyを使用しない場合
・「GPT-4 Switch」の (select, sel_mode) が2つとも (2, select_on_prompt) であることを確認
・「Manual Prompt」に画像のキャプションを入力(例:juicy steak, prefectly-grilled)。2つのノードがありますが、上のノードに入力された文章の方がより強く効きます。

(2) OpenAI API Keyを使用する場合 
・「GPT-4 Switch」のselectを2つとも「1」に変更
・「What You Want GPT-4 to Describe」にGPT-4に説明してもらいたい対象を簡潔に入力(例: steak)

最後に、右にあるメニューから「Queue Prompt」を押下すれば、アップスケールが開始され、5分程度で完了します!ただし、初回のアップスケール時は、CCSRモデルのダウンロードが走るため、もう少し長い時間がかかります。生成された画像は途中経過も含めて、マイドライブ -> ComfyUI -> output に保存されます。

なお、黄色のノードのパラメータを変えることで、生成画像の特徴を制御することが可能です:

  1. Denoise (推奨値: 0.1-0.5)
    小さい値であれば、元画像に忠実なアップスケールとなり、大きくするにつれてプロンプトに依存する形で改変量が大きくなる代わりに、よりクリアな画像になります。感覚値として、0.2だと改変はかなり少なく、0.3-0.5になると、やや盛られるイメージです。

  2. ControlNet Strength (推奨値: 0.0-0.4)
    画像をタイルに分割した後、各タイルを拡大して繋ぎ合わせるというアップスケール手法がありますが、その際にプロンプトの効き具合はタイルによって異なるべきです。例えば「1 girl」というプロンプトを入れた時、少女が含まれるタイルと比較して、背景のみのタイルに対しては、プロンプトの効果を弱める必要があります。
    ControlNet Strengthを大きくすればするほど、プロンプトとの関連性が低いタイルに対して、プロンプトの効果が弱まります。ただし、大きく設定しすぎると元画像に引っ張られて画質が向上しないので、トレードオフを意識して使用する必要があります。

より詳細な説明については、以下の記事の「カクダイV1について」という章をご覧ください。

2. ローカルで実行する

ComfyUIがすでにローカルにインストールされている前提でお話を進めさせていただきます。ComfyUI Managerを使用していない場合は、以下のリンクに従ってインストールしてください。

ライブラリのインストール

以下のライブラリをインストールしてください。cuda12を前提としています。

!pip3 install accelerate
!pip3 install einops transformers>=4.25.1 safetensors>=0.3.0 aiohttp pyyaml Pillow scipy tqdm psutil
!pip3 install xformers!=0.0.18 torch==2.1.0 torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
!pip3 install torchsde

拡張機能のインストール

次に、ComfyUI Managerを用いて、カスタムノードをインストールします。ComfyUI Manager Menuの Install Custom Node から以下の拡張機能を順に検索して、インストールしてください。
複数ヒットする場合は、一番上にヒットしたカスタムノードをインストールすれば、問題ありません。
また、ノードがすでに元々インストールされていた場合でもバージョンを最新にするために同様に検索して、Try Update を実行してください。

was-node-suite-comfyui
FreeU_Advanced
rgthree-comfy
ComfyUI-TiledDiffusion
comfyui-prompt-composer
ComfyUI-post-processing-nodes
ComfyUI-Logic
ComfyUI-KJNodes
ComfyUI-KepOpenAI
ComfyUI-Impact-Pack
ComfyUI-Custom-Scripts
ComfyUI-CCSR
ComfyUI-Advanced-ControlNet

重みのインストール

まず、CCSRノードをインストールします。以下のGoogle driveのリンクからComfyUI -> models -> checkpoints フォルダに重みをダウンロードしてください。

https://drive.google.com/drive/folders/163x-ynZ2fYPxvo_DkTzhZy5W2jeSBM9S

ファイルの容量が大きいため警告が出ますが、特に気にする必要はありません。

また、checkpointモデルやLoRA、ControlNetの重みに関しては、それぞれ以下からインストールして、ComfyUI -> models 以下の適切なディレクトリ内に重みを格納してください。

また、オプショナルですが、GPT4Vの機能を用いてプロンプトを生成したい場合には、Open AI API Keyを環境変数に設定する必要があります。ComfyUIの実行環境から呼び出せるように、以下のように環境変数に設定してください。

OPEN_AI_API_KEY=xxxxxxxxxxxxxxxxxxxx

以降は、前章「Google Colabで実行する」の「コード実行3: ComUIの起動」に則ってカクダイV1を実行できます!

今後について

本記事では、生成AIアップスケーラー「カクダイV1」のワークフローの使い方について説明を行いました!

今後、カクダイワークフローの改良を随時行なっていき、無料で公開していく予定です。
これらの開発過程やアップデート情報などは無料ニュースレターで配信していきます。

こちらの我々が運営するAIメディア sayhi2.ai の無料登録時に同時にニュースレターに登録することが可能です!ぜひ登録よろしくお願い致します。