【AIお絵かき】Stable Diffusion―この子「Pixiv」知ってるの？できること、できないこと

:::note warn
この記事は、Stable Diffusionを利用して生成した画像を含みます。
実際の作品のタイトル、キャラクター名を入れてその作品の再現ができるかどうかを試していますが、あくまで検証用です。
:::

:::note warn
2023年になってこの記事を振り返ると、生成AIをとりまく状況はだんだんと変わりつつありますね。
:::



# Stable Diffusion、上陸

オープンソースのお絵かきAI、Stable Diffusionが2022年8月22日（現地時間）ついに一般公開されました。

https://stability.ai/blog/stable-diffusion-public-release

これの良いところは、GPU付きのそれなりに良いパソコンがあればローカルで永遠に画像を生成できることです。

## 早速、描いてみた

![20220908013800_2809745983.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/663038/f030429a-faf7-a062-8869-b05b22ccb724.png)
![20220904010302_3854090512.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/663038/f90db4d7-f436-0f2c-9533-7f64bb4c1bc7.png)

**ええやん……。**

好ましい絵を出すためのプロンプト（呪文）には一定のコツがあり、さまざまなコツが行き交っています。
特に参考となったのが以下の記事でした。

『魔術として理解するお絵描きAI講座』深津 貴之 (fladdict)氏
https://note.com/fladdict/n/n0f0be20e3e23

ところで、Stable Diffusion界隈で俗に「おまじない」とされているワードですが……。
*kawaii*とか、*Pixiv*、*4ｋ*、*8ｋ*、*high quality*、とか*high contrasthigh detail*とかです。

# どんな呪文に効果があるの？　どうして効果があるの？
え！？　*high contrasthigh detail*みたいな言葉が通じるの！？
いいえ、AIちゃんは、人間が「ちゃんとしっかり描いてね！」って言ったから「ハイ！」ってやってくれているわけではありません。
おそらく、Stable Diffusionのデータセットの中にあって、タグと傾向が強く結びついているのが「おまじない」です。

### Pixivは知ってる、SKIMAは知らない

「laion」で、このStable Diffusionのもとになったデータセットの一部が公開されています。
https://laion-aesthetic.datasette.io/laion-aesthetic-6pls/images

ここで見られるのはわずか0.5パーセントほどではありますが、ここで検索してひっかけることで、どんな画像が含まれているか分かります。

### 例：kawaii

kawaiiは1159件ヒットし、その中には一般的な「可愛い」アイシングクッキーなんかの画像の他に、まあまあの割合できらびやかなデジタルイラストが含まれていることが分かります。
というわけで（おんなじタグで学習しているかは分からないのですが、）Stable Diffusionはおそらくは「kawaii」って言われたら「ああ～ハイハイこういう系の画像ね～」と学習しているわけです。
kawaii！と思ってるからじゃなくて人間から「ごらん、これがkawaiiなんだよ」、って教えられてるから知ってます。

### pixiv
同じようにpixivで引っかけてみると、pixivを元にしているとおぼしき画像が901件ヒットします。
（イラスト投稿サイトから無造作に画像を収集し、データセットに含んでしまうことについての是非はおいておきます。）

ちなみに、pixivと並列してよく使われるArtstationというのは、海外のポートフォリオを載せるためのサイトのようです。やっぱり煌びやかなイラストに強いです。

### イラスト依頼サービス、「SKIMA」はどうか？
イラストの依頼サービスである[SKIMA](https://skima.jp/)であれば有償の依頼で請けているような人ばっかりだから良い絵ができるんでは？

**いいえ、データがヒットしません。**
そもそもSKIMAから画像が収集されている気配がなく、タグがありません。たまたま0.5パーセントのなかに含まれていない可能性はありますが、Stable Diffusionがデータセットに含めて学習するまでは意味のない呪文である可能性が高いです。

## Stable Diffusionだって、教えてられないもんは知らん
4kとか、high contrasthigh detailもそう。検索してみると画像がヒットしますね。
「おまじない」と言われている呪文とはだいたい画像につけられたタグで共通した傾向を引き当てられるワードと言ってさしつかえないと思います。
「おまじない」を思いついたらいったん検索してみると良いでしょう。

**いいかい、Stable Diffusionに「knee socks（ニーソックス）」って言って「knee socks（ニーソックス）」の画像が出てくれるのは画面の向こうに詳細なタグをつけて教えてあげたひとがいるからなんだ。**

ですから、いわゆる「タグ」で表すことのできない性癖（誤用）をお持ちの方は（例：『やたら色気のある未亡人の男』）似た属性のキャラクターから探っていくか、上手いこと近傍のついてそうなタグを思いつく必要があります。『たばこを吸ってるアンニュイな男』とか、某キャラクター某だとかに言い換える必要がありそうです。

### さがそう、おまじない
というわけで、おまじないは発明する……というより、「探す」ことができます。
つらつら眺めてみたなかでは、ほか、WallPaper（壁紙）などリッチで豪華な絵を寄せるのに相性がいいのではないかな、と思いました。

（そして、検索結果として新しくどっと流入が来そうな「おまじない」は、いずれデータセットが新しくなれば、効力を失うかもしれません。タグ戦争です）

**おい、メガネを外したメガネっ娘にメガネっ娘タグをつけやがったのはだれだ？**

# 何でもは知らないわよ。知ってることだけ――作品名・キャラクター名の偏り

呪文に具体的な作品名、作者名、キャラクター名を含めることの是非はさておいて……。
この学習データセット、だいぶだいぶ偏っています。
StableDiffusionhは物知りですが、Googleとかとは違います。そもそも、海外の人が知ってそうなことしか知りません。

まず「効果がある」のかどうかは調べてみる必要があります。

## ケース１：（たぶん）ほとんど知らない・全く知らない
タイトルで検索しても画像がゼロ、あるいは数枚という感じのものです。


### Zill O'll
コーエーの色あせない名作Zill O'llはゲームの象徴的なアイコンセットが6枚ひっかかったのみでした。

こうなると、（データセットに200倍あったとしても）、たぶん、出したい絵はない可能性が高いでしょう。
また、「ネメア」とか、「オルファウス」とかはいないので、直接に引いてくるのはあきらめるほかないわけです。

Stable Diffusionのモデルはおそらく「Zill O'll」を知らないので、「ジルオール風に描いて」って言ったとしても、効果が見込めない可能性が高いということです。
「やったあ！　AIに何でも描いて貰えるから、あのゲーム風に描いてもらおう！」ってすることはできない。
AIちゃんが、そうは教えてもらってないからです。

ただし、
・200倍のデータセットの中にはしっかり含まれていて、実は知っている
・パラメーターがなんかよくわからない方向に作用して偶然に似た要素が生成される
なんて可能性はあります。

私の趣味は察してくれよ、しょっぱなジルオール検索するあたりでよ。

1/200のサンプリングですから、ある可能性はあります。
実際に動かしてみるとなんとなく知っているんだな、と察しが付く時もありますね。

### 吸血鬼すぐ死ぬ（The Vampire dies in no time）
TwitterのTLにいると10人に一人は強烈にはまってるか、10人に一人が10倍呟いている気がするし私もこのまえ全巻買ってしまったこちらのマンガ作品ですが、（類語：ハイパーインフレーション、忍者と極道）1件もヒットしません。
英語名が長すぎて検索性が悪いのかと思ったのですが、名前が特徴的なキャラクターである「ヒナイチ（hinaiti・hinaichi）などでもまったくヒットしませんでした。
まだ知らない、と言っても差し支えなさそうです。

### 聖★お兄さん(Saint young men)
吸血鬼すぐ死ぬは比較的新しい漫画だからかしら？
と思って探してみましたが、画像が6件、5つは関係がなくて、そのうちの1つはThe Movieでした。

あら～～、日本の漫画には弱いのか？

ほか、呪術廻戦(Jujutsu Kaisen)で40件、Hunter×Hunter(Hunter×Hunter)で14件。
200倍あると思えば、このくらいはまあまあ「ある」といってもいいんですが、思った以上に少ないです。

日本の漫画には弱いのか～？
**そんなことはありません。**
僕のヒーローアカデミア(My Hero Academia)となると、354件ヒットします。ワンパンマン（One Punch Man）で851件。NARUTO(NARUTO)に至っては3,736件ヒットします。
このあたり、英語圏でもリーチしやすいかどうかのようです。

**StableDiffusionは、（いまのところ）海外でリーチできるものしか（ほぼ）知らない。**

### MEGIDO72
悪魔となら変えられる未来があるソーシャルゲームですが、1件もヒットしませんでした。
Stable Diffusionは（まだ）MEGIDO72知らないのかよ。知らないのか、そうか～。

## ケース２：タイトルはなんとなく知っているが、いろんなキャラクターまでは詳しく知らない……かも
### Persona5

Persona5は32件ヒットします。
200倍と考えると、件数としてはおそらく申し分なさそうなのですが、なんとなくアニメが多いからか、キャラクター名のタグが付いていないことが多そうです。
タグがしっかりついていても、集合絵だったりしてあんまり検索性がよろしくないです。
調べてみると、それなりに出て、また、いくつかキャラ名を指すことはできますが、多様なキャラクターを出すには頻度が足りないように思われます。

![20220901113114_2076304239.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/663038/f89e851c-1bbc-be1f-a515-0e0169fabdd8.png)
（いろいろ混ぜてる）はっきりと「そう」ではないけれど、ちょっと寄りすぎて癖のあるパラメーターです。

### Phantasy Star Online
29件ヒットします。ほぼPhantasy Star Online2ですね。
こちらも件数的には申し分ない気がするのですが、集合絵のようなコンセプトアートが多めです。
結構いい感じに「お、レイキャストだ」っていうニュアンスがかかったりもするんですが、傾向からだいぶ癖がありそうな予感がします。PSOはわりとMMOとして発展してたイメージなので、もっとたくさんあるかと思ったんですが……。

### Rune Factory 4
10件ヒットします。こちらも同様、集合絵のようなコンセプトアートとレビューのタイトル多めです。

作品名はそれっぽいんだけど、「（たぶん）パッケージや象徴的なイラストだけを知っていそう」ということもよくあります。これは学習データの元が通販サイトだからかもしれません。
コンセプトアートとして質の高い画像であることも多く、有用な場合もありますが、同じキャラばっかりしか出てきてくれない、守護霊が生える、なんてことがありがちで使いづらい時があります。

### ちょっと例外：Skyrim
これは数じゃないです。データの中身です。605件。わーお。さすが、洋ゲーです。
おお、Skyrimの壁紙って風景ばっかなんだね。
それじゃあ、「Skyrim wallpapers」と唱えると、風景主体の画像に寄りそうだね！

![20220906201038_2927060700.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/663038/c0085c81-1c9f-b2c1-8f11-3d68dff5d878.png)

これもいろいろと他を混ぜてますが、雰囲気は分かりますね。

じゃあ、じゃあその、えと、えっと、ウィンターホールドにお住いの、あの、ネラカーさんは、Skyrim Nelacar……0件か。うん、わかっていたよ……。ちょっとマイナーすぎたね。Ancano！ だめ？ 0件か……。
じゃあ、はは、Ciceroは？ これは知ってるでしょ？
あんまり関係ない画像が1件……かあ。

たくさんあるからってキャラクターのイラストが出せるってわけじゃない。
むしろ他の画像が強烈に結びついて出ない。
（タイトルパッケージのあの特徴的なTHE・ノルドは出ることがあります）。

ただ、風景は得意です。
こうやってワードの傾向をちょっとでも観察しておくとなんとなくわかります。

## ケース３：個別のキャラクター単体
検索性が良い名前の場合、それ単体で調べてみるとほぼそのキャラクターということがあります。
丁寧にタグ付けされた画像がヒットするくらい母数に恵まれている、または検索性が良いやつですね。

Fire emblem: three houses(ファイアーエムブレム風花雪月)を例にとりましょう。

### edelgard（エーテルガルド）
ほぼ現状のところは単体で作品名なしで指名可能です。33件あります。

![20220909110502_3024020870.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/663038/51214d33-9e71-05e6-07c4-1912a1609eaa.png)

いろいろ混ぜていますが、だいぶ「強い」呪文らしくて、見る人が見れば「ああ、皇帝陛下」と分かりますね。
長い銀髪……。赤い瞳。なかなかに強い呪文です。

![20220909110257_4021452434.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/663038/7e054266-cbd5-f5af-68e1-7bd5ec473bca.png)

呪文の順番を変え、プロンプトを下げて、まあ「概念」だけになったかな、と思うとこんな感じです。

![20220830204550_3393994167.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/663038/b589c059-653d-9086-8947-2df2f5c56133.png)
この子は「ファイアーエムブレム」その他いろいろな作品名で生成した女の子で、エーテルガルドとは言っていないのですが、それでも、とくに耳の近くの編み込みなどに「片鱗」を感じる一枚でした。
風花雪月の看板キャラクターなだけありますね。

### Byleth（ベレト/ベレス）
21件出ますね。可能性はありそう……。
ざーっと画像を眺めていると、男女入り混じっていますね。
試してみました。

![20220909111353_2348151463.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/663038/ff8f7e53-ceda-b852-004a-5c751a62161c.png)

影響度が0ではない……格好がちょっと似ている。
エーテルガルドちゃんと比べてあまりに何事もなかったので、呪文を強めたり、いろいろとやってみたのですが、あまり「ああ～」という感じのは出ませんでした。これは、少し弱い呪文ですね。

### Manuela（マヌエラ）・Rhea（レア）・Hanneman（ハンネマン）
一般名詞に近いManuela（マヌエラ）先生は難しいかな、と思ったのですが、ちゃんと作品タイトルを入れると6件ヒットします。Rhea（レア）も3件あります。ただ、このくらいの件数だとちょっと心許ないかな。
一方でHanneman（ハンネマン）は気配がありませんでした。これだけ少しだとたまたまなのかもしれません。

こちらも、あまり「ああ～」という感じのは出ませんでした。
乱数のお導きも大いにあるので、一概には言えませんが、ポーズとか顔立ちにちょっと面影を感じるくらいでした。
 
## ケース４：タイトルもわかる、たくさんキャラクターが出る

### Fire Emblem Heroes
「Fire Emblem Heroes」は、70件、かつ、（メインキャラクターがやはり多くはありますが）かなり広範なキャラクターが出ます。ファンアートも結構引っかかるので「この絵柄で」、といえるかはちょっと微妙かもしれませんが、キャラデザの引き出しを持ってきてほしいな、ってときに「Fire Emblem Heroes」を指定することはおそらく有効でしょう。全身絵があるのもいいですね。

### ほか、効果がありそうなソシャゲタイトル
Arknights（アークナイツ）は264件、Granblue Fantasy（グランブルーファンタジー）も189件ヒットします。Genshin（原神）もいける。153件。Fate/Grand Orderはさすがの1,313件ですが、こちらは作品の性質上キャラ名が偉人と被るので具体的なキャラクターを指定しづらいですね。

画像から作品名やキャラクターが分かるというなら、やっぱり、AIちゃんへの教え方がよかった。もとい、タグを適切に振ってもらっているからです。ポニーテールって指定してポニーテールが出てくるのは画像にタグを打ってくれるひとがポニーテールだって分類してくれるからです。

海の向こうのコンテンツの画像のキャラクターにどんくらい正確なタグが振れるのよ、って考えると、相当好きでもないとサブキャラまで手が回らないのも分かると思います。私だとしても知らないジャンルのキャラクターに正確なタグを振ろうとしたらだいぶきついぞ！

:::note
追記：
現在(2023/6/13)では、LoRaなどの手法で、追加学習は比較的容易となりました。
:::

# 余談：生成AIのクリーンさ
生成AIは世の中の画像を収集したデータセットをもとに、画像を生成しています。

- StableDiffusionの学習データにはすでに「人のデータ」が含まれている
- 以上のように、学習元に含まれるデータの量によっては、プロンプトによってかなりそのキャラクターそのものを出すことができる

というのは押さえておきたい点です。

Adobeなんかは、豊富な画像を武器にクリーンな（あるいは、何か問題があったときに、きちんとした保障のある）AIを作りましたね。

まあなんだ……クリーンさを指向しないにしろ、「唱えても無駄（っぽい）呪文」については知っておくと、余計な反発を招かなくて済むはずです。推進するにしろ、反対するにしろ、できることとできないことを知っておいたら、見当違いな反対をしなくてもすみそうです。

![20220901154516_2271211411.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/663038/862182f9-4c9c-f9dc-e095-11b4fe5749e2.png)
    
これについて、どこで折り合いをつけていくかは生成AIの永い課題となりそうです。

## 宣伝

[技術書典13でStableDiffusion本（電子書籍）](https://techbookfest.org/organization/5727621010685952)出す予定です！
もしご縁がありましたらよろしくお願いします。

## 参考リンクなど

[Stable Diffusion パブリックリリース](https://stability.ai/blog/stable-diffusion-public-release)

[『魔術として理解するお絵描きAI講座』深津 貴之 (fladdict)氏](https://note.com/fladdict/n/n0f0be20e3e23)

[Gigazine『23億枚もの画像で構成された画像生成AI「Stable Diffusion」のデータセットのうち1200万枚がどこから入手した画像かを調査した結果が公開される』](https://gigazine.net/news/20220831-exploring-stable-diffusions/)