ローカル環境で、画像生成してみた。

今回はローカル環境で、棒人間からアニメ調の女性キャラクターを生成できるかに挑戦してみます。

今回使用した環境

項目使用したもの
OSWindows 11
GPUNVIDIA GeForce RTX 3050 Laptop GPU
VRAM4GB
アプリStable Diffusion WebUI Forge
モデルStable Diffusion 1.5

Stable Diffusion WebUI Forge とは

画像生成をブラウザ上で簡単に操作できるツールです。
高速化・省メモリ化されており、低スペック環境でも使いやすいのが特徴です。

作業の流れ

今回の作業は、次の順番で進めました。

  1. 必要なものをダウンロード、インストールする
  2. Stable Diffusion 1.5のモデルを配置する
  3. Stable Diffusion WebUI Forgeを起動する
  4. 画像を生成する
  5. MeinaMixとControlNetで画像のクオリティを改善する

必要なものをダウンロード、インストールする

今回用意したのは、PythonとStable Diffusion WebUI Forgeです。

Python 3.10.11

Pythonは公式サイトから、64-bit版のPython 3.10.11をダウンロードしました。

インストールするときは、「Add Python to PATH」にチェックを入れておきます。

インストール後、PowerShellでバージョンが表示されれば、Pythonの準備は完了です。

python --version
Python 3.10.11

Stable Diffusion WebUI Forge

次に、Stable Diffusionをブラウザから操作するためのStable Diffusion WebUI Forgeを用意します。

今回はForge本体をダウンロードし、次の場所に展開しました。

C:\AI\stable-diffusion-webui-forge

展開したフォルダを開き、webui-user.bat があることを確認します。

Stable Diffusion 1.5のモデルを配置する

Forgeを用意しただけでは、まだ画像を生成できません。次に、画像生成で使用するモデルを配置します。

最初に使ったのは、Stable Diffusion 1.5の次のファイルです。

v1-5-pruned-emaonly.safetensors

モデルはこちらのページからダウンロードしました。

https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5

ダウンロードしたファイルを、Forgeの次のフォルダへ移動します。

C:\AI\stable-diffusion-webui-forge\models\Stable-diffusion\

エクスプローラーで見ると、次のような配置になります。

C:\AI\stable-diffusion-webui-forge
└─ models
└─ Stable-diffusion
└─ v1-5-pruned-emaonly.safetensors

Stable Diffusion WebUI Forgeを起動する

モデルを配置したら、Forgeを起動します。

PowerShellでForgeのフォルダへ移動し、webui-user.bat を実行します。

Set-Location C:\AI\stable-diffusion-webui-forge
.\webui-user.bat

※初回起動は準備に時間がかかりました(3時間程度)。

Python の依存関係問題で何度かアンインストール作業などを行なったためです。

黒い画面に処理が流れている間は、そのまま待ちます。

起動が終わると、次の画面が表示されます。

画像を生成する

Forgeが起動したので、実際に画像を生成してみます。

今回の元となる棒人間はこちらです。

1回目の生成

まずはStable Diffusion 1.5を選び、「画像2画像」に棒人間を入れて生成しました。

最初は次の設定で試しています。

設定
Steps20
Sampling methodEuler a
CFG Scale7
Width512
Height512〜640
Batch size1

プロンプトには、女の子のイラストであることや、髪・目・背景などの要素を英語で入力しました。

masterpiece, best quality, anime illustration,
1girl, blue hair, blue eyes, simple white background

否定プロンプトには、ぼやけや手の崩れなど、出てほしくない要素を入れます。

worst quality, low quality, blurry, bad anatomy,
bad hands, extra fingers, text, watermark

生成結果はこちらです。

想定していたクオリティのものではなく困惑…。

顔のパーツが一部潰れていて怖いです…。

2回目の生成

棒人間だけでは厳しいかと思い、髪、肌、服、スカートの色を塗った画像も用意しました。

上記の画像を元にした生成結果がこちらです(プロンプトを少しずつ変えつつ2枚ほど生成)。

理想に近づいてきてはいますが、各箇所が消えていたりとおかしな感じに…。

MeinaMixとControlNetで画像のクオリティを改善する

MeinaMix → アニメ・イラストの生成に向いた画像生成モデル(チェックポイント)です。比較的短いプロンプトでも、アニメらしい顔立ちや色使いのイラストを生成しやすい特徴があります。

ControlNet → 参考画像のポーズや輪郭、奥行きなどの情報を利用して、生成する画像の構図や形を調整する仕組みです。今回は、元画像から抽出した線画を使い、棒人間のポーズや輪郭を保ちながら画像を生成します。

MeinaMix V11を追加する

今回使ったファイルはこちらです。

meinamix_meinaV11.safetensors

Stable Diffusion 1.5と同じフォルダに配置します。

C:\AI\stable-diffusion-webui-forge\models\Stable-diffusion\

配置後、Forge上部のモデル一覧を更新し、meinamix_meinaV11 を選択しました。

ControlNetを追加する

使用したのは、アニメ線画向けの次のモデルです。

control_v11p_sd15s2_lineart_anime.pth

モデルはこちらのページからダウンロードしました。

https://huggingface.co/lllyasviel/ControlNet-v1-1/blob/main/control_v11p_sd15s2_lineart_anime.pth

ダウンロードしたファイルを、次の場所へ配置します。

C:\AI\stable-diffusion-webui-forge\models\ControlNet\

Forgeの「画像2画像」からControlNetを開き、元画像を設定します。

プリプロセッサには lineart_anime、モデルには control_v11p_sd15s2_lineart_anime を選びました。

以下が生成結果です。

最終的に使った設定はこちらです。

画像2画像の設定

設定
Checkpointmeinamix_meinaV11
Size1024×1024
Steps34
SamplerDPM++ 2M SDE
SchedulerKarras
CFG Scale6
Denoising strength0.57
Seed1639163286

ControlNetの設定

設定
Preprocessorlineart_anime
Modelcontrol_v11p_sd15s2_lineart_anime
Pixel PerfectOn
Control Weight0.35
Control ModeBalanced
Guidance Start0.6
Guidance End1.0

使用したプロンプトはこちらです。

masterpiece, best quality, high quality anime illustration,
1girl, solo, blue twin tails, blue eyes,
black long sleeve blouse, light blue skirt,
hands on hips, looking at viewer,
clean precise lines, crisp outlines, consistent line weight,
detailed face, detailed eyes, detailed hands,
five fingers, cel shading

否定プロンプトはこちらです。

worst quality, low quality, blurry, rough sketch,
messy lines, broken outlines, jagged lines,
deformed face, asymmetrical eyes,
bad hands, malformed hands, extra fingers, missing fingers,
extra arms, extra legs, duplicate, text, watermark

まとめ

今回はローカル環境で、棒人間からアニメ調の女性キャラクターを生成できるかに挑戦してみました。

ChatGPTなど、Web上で動く画像生成に慣れていると、もっと簡単に高クオリティな画像が出るものだと思ってしまいがちですが、実際にローカルで動かしてみると、モデル選びや細かい設定が必要で思っていた以上に複雑でした。

コメントを残す

メールアドレスが公開されることはありません。*がついている欄は必須項目です。

日本語が含まれない投稿は無視されますのでご注意ください。

求ム!人財!意欲ある方、お問い合わせください!募集要項はコチラ