【Stable Diffusion】サンダーバード風の画像を生成する

【Stable Diffusion】サンダーバード風の画像を生成する 機械学習

「supermarionationモデルの利用方法がわからない・・・」
「サンダーバードの人形のような画像を生成したい」

このような場合には、この記事の内容が参考になります。
この記事では、supermarionationモデルをDiffusersで利用する方法を解説しています。

本記事の内容

  • supermarionationモデルとは?
  • supermarionationモデルの利用方法
  • supermarionationモデルの動作検証

それでは、上記に沿って解説していきます。

supermarionationモデルとは?

supermarionationモデルとは、ファインチューニングされたStable Diffusionの学習済みモデルになります。
このモデルを利用すると、次のような画像を生成できます。

ファインチューニングの際には、DreamBoothが利用されています。
DreamBoothについては、次の記事で解説しています。

supermarionationモデルでは、img2imgが開発者の一押しとなっています。
img2imgで生成した画像として、以下が公式ページで公開されています。

また、公式ページでtxt2imgの結果も公開されています。

しかし、txt2imgではこんなに上手く画像を生成することができません。
したがって、開発者の推し通り、img2imgでの利用を基本に考えた方がよいと言えます。

以上、supermarionationモデルについて説明しました。
次は、supermarionationモデルの利用方法を説明します。

supermarionationモデルの利用方法

Stable Diffusionを動かせる環境が、必要です。
Google Colabではなくローカル環境で動かす場合は、次の記事が参考になります。

Stable Diffusionが動くなら、公式に載っているコードでsupermarionationモデルを利用できます。

from diffusers import StableDiffusionPipeline
import torch

model_id = "tuwonga/supermarionation"
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipe = pipe.to("cuda")

prompt = "a girl in supermarionation style"
image = pipe(prompt).images[0]

image.save("./test.png")

ポイントは、「in supermarionation style」をプロンプトに含むことです。
公式ページでは、次のようなプロンプトを記述することが説明されています。

[person] in supermarionation style 

初めてsupermarionationモデルを利用する場合は、モデルのダウンロードが始まります。
そのファイル容量は、全部で5.1GBほどです。

上記コードを実行すると、test.pngが作成されます。

test.png

「girl」ですかね?
とにかく、サンダーバードのような画像が生成されればOKです。

以上、supermarionationモデルの利用方法を説明しました。
次は、supermarionationモデルの動作検証を説明します。

supermarionationモデルの動作検証

supermarionationモデルの動作検証を行います。
動作検証を説明する前に、一つ確認です。

次のようなエラーが出ていませんか?

AttributeError: module transformers has no attribute CLIPImageProcessor

もし、このエラーが出ているなら、次の記事をご覧ください。
エラーの解消方法を記載しています。

まず、txt2imgで我らがキアヌ・リーヴスの画像を生成してみましょう。

"Keanu Reeves in supermarionation style"

40枚作成した結果が、以下。

正直、誰かわかりません。
それに、サンダーバードのようにグループになります。
学習元の画像がそうだったからなのでしょう。

また、ネガティブプロンプトを工夫しても、ダメでした。
他のモデルのように、これだという画像を生成できません。

そのため、開発者のオススメするimg2imgを試してみましょう。
img2imgを試すなら、次のようなツールが便利です。

モデルをsupermarionationモデルにして、このツールで検証します。
このツールで試した結果は、以下。

確かに、txt2imgよりは画像の質がUPしていますね。
他の有名人を試した結果は、以下。

わかりますかね?
俳優2人、女優2人、政治家2人です。

以上、supermarionationモデルの動作検証を説明しました。

タイトルとURLをコピーしました