こんにちは、つぐっと(@tsugutto)です。
今更感ありありですがワードを基にしたイラストを自動で生成してくれるAI「Stable Diffusion(ステーブルディフュージョン)」を遊んでみたので記事にしてみたいと思います。
いやほんと凄い世界ですね。
使い方次第ですが良くも悪くも色々な可能性が広がったと感じました。
Stable Diffusion導入環境(PC性能等)
まずは私が導入したPC性能や導入したバージョンなどについて記載します。
PCやプログラムに詳しい訳ではないのでおかしな表記の所があるかもしれません。
ローカル環境でStable Diffusionを動作させるべく調べて構築しました。
「PC性能」
・OS:Windows11 64bit
・CPU:インテル Core i7-12700
・メモリ:32GB
・ビデオカード:Geforce RTX3070Ti
「Stable Diffusion」
・python3.10.6
・git
・Stable Diffusion web UI(AUTOMATIC1111版)
って感じで、モデルは「Stable Diffusion v2-1」やら「Anything-v4.0」やら色々。
VAEは凡庸的な「vae-ft-mse-840000」を入れています。
大体はこちらの動画のやり方を参考にさせて頂きました。
本当にわかりやすかったです。
感謝、感謝です。
Stable Diffusionとは?
Stable Diffusionとは、凄く簡単に言うと、もの凄い数の画像を学習したAIに「こんな絵を描いて」と言葉を投げかけるとその言葉に対応した絵を学習した画像を基に自動で生成してくれるAI(と認識しています)です。
2022年8月頃に公開され、2022年9月頃からSNSを中心に話題となっていた(ようですが私が認識したのは最近という2周遅れくらいの遅さ)ため、知っている方も多いかもしれませんね。
現状は無料で使えますが、ローカル環境で動かすにはそれなりのマシンスペックが要求されます。
マシンスペックが足らない方はネット上でお試し版も使えるようです。
画像を生成するAIには、モデルと呼ばれる学習方針が違ういくつものAIが存在しており、実写が得意だったり、アニメ絵が得意だったり、風景が得意だったり、モデルごとに特徴があるので自分が作りたいイラストに合わせてモデルを切り替えることもできます。
Stable Diffusionを動かしてみる
では実際にStable Diffusionを動かしてみます。
まずはなんでもいいので言葉を入れてみます。
ゲームブログなので「ゲーム」にしてみましょう。
使うモデルはアニメ絵が得意なモデル「Anything-v3.0」を使用してみます。
でました。
ゲーム要素が皆無ですが…美少女が生成されました。
まぁ、モデルが得意なジャンルでの出力という感じです。
指示する言葉は複数でもいいですし、文章でもいいそうです。
「ゲーム」「対戦」「小学生」「夏休み」とすると?
ゲームはかろうじてタブレットっぽいものを持っていますが…小学生?
「夏休みにゲームで対戦している小学生」とすると?
対戦っぽい雰囲気にはなりましたね。色々とおかしいですけど。
こんな感じで指示する言葉で自分好みの絵を作れるのが楽しいです。
まぁ、使用しているモデルがモデルなんで美少女の絵ばかり出てきますが。
ここは使用モデルを変えると色々なタイプの画像が作れます。
さらに同じ言葉でも作成を押す度に違う絵が出てくるのでお気に入りの絵が出るまで延々と作成を続けてしまいます。
まさに沼です。
ただ、出来た絵をみてもわかるように特に指など細部でおかしな状態になっている部分は多々見られます。
細かい所まで完全な絵はまだまだ難しいようですね。
とはいえ、細かく言葉を足したり、設定を変えれば、ある程度完成された自分好みの絵が簡単に作れるという…凄い世界です。
Stable Diffusionと遊ぼう
さて、自分好みの画像を延々と作り続けてもいいのですが、何か面白い遊び方はないかなーと考えました。
そうだ、自分のアイコンを変化させてみよう。
これは自分のTwitterアイコンですが、エクセルを使って自作したというローテクの結晶です。
「Stable Diffusion」は画像を基にした画像生成も出来ますので、とりあえずは単語なしで、使用モデルは変えて作ってみましょう。
またまたアニメ絵が得意な「7th_anime_v3_C」のモデルを使用してみると・・・
ふむ。言葉を入れないと、人としては認知されなかったようです。
でも機械系なのである意味正解?
SDチックな可愛いデフォルメキャラにならないものか…「かわいい(cute)」を追加して生成してみましょう。
うん、かわいい感じになりました。
使用するモデルや設定をいじれば、アイコンの制作もできそうですね。
Stable Diffusionでスライムを生成してみよう
次に、あるイメージを基にStable Diffusionに伝達ゲームをしてみようと思います。
使える単語は10個まで。直接的な説明文はなしで。
どこまでイメージ通りの絵が出てくるか。
単語を1つ加えるごとに変化を見てみましょう。
お題は…「ドラゴンクエストのスライム」でいってみましょう。
今回の使用モデルは「Counterfeit-V2.5」にしてみます。
個人的に好きなモデルです。
さてと、まずはスライムと言ったら「青いゼリー状(blue jelly)」ですかね。
うんうん、スライム的な塊が生成されました。
次は「水滴の形(water drop shape)」を入れてみましょう。
丸くなりましたかねぇ。でも顔がないですね。
では顔が入るような単語を入れてみましょう。「笑顔(smile)」と。
女の子になってしまいました。でもそれっぽいキャラクターは傍にいます。
「丸みのある体(rounded body)」ではどうでしょう。
おぉ、近づいてきましたよ。ちょっとホイミスライムチックですね。
「飛び跳ねる(jump up)」とか入れてみます。
女の子再登場。スライムっぽいキャラも楽しそうです。
「草原にいる(in the meadow)」ことにしましょう。
あら、楽しそう。
うーん、かわいい女の子は名残り惜しいですが「人間ではない(not human)」と。
あ、ケモノ耳!そっちできたかぁ…確かに人間ではなくなりましたが。
あとスライムといえば…「素早い(quick)」でしょうか。
もうスライム状の何かと合体してしまいました。浮き輪に入った女の子みたいになってます。
えーと9番目は…「弱い(weak)」とか?
もう普通にウォータークッションに腰かけている女の子になっちゃいましたね。
最後…これは直接過ぎると思いましたが使いましょう。
「モンスター(monster)」
はい、最終的にスライム的モンスターと猫耳少女が戯れている画像になりました。
本当にありがとうございました。
ほのぼの…。
うん、思い通りの絵を生成するのは難しいですね。
ちなみに一文で出してみると…
「草原にいる青いゼリー状の水滴の形をした丸い体で素早く飛び跳ねる人間ではない笑顔の弱いモンスター」
(A non-human smiley weak monster that jumps quickly with a round body in the shape of a blue jelly-like water drop in a meadow.)
やべぇ奴でてきた。
最初にこんなモンスター登場したら逃げます。
もうちょっと違う感じにならないか…
うん。
ポケ〇ンマスターかな?
といった感じで色々遊べます。(スライムに全然なってないじゃんというのはナイショ)
中々、面白いですよね。
他にどんな画像がつくれるの?
で、結局はアニメ美少女しかできないの?
男の子は?
できます。
おじさんは?
できます。
実写みたいなのは?
できます。
風景とか?
できます。
とまぁ、言葉と設定をうまくすればなんでもできるんじゃないかなぁと思います。
自分なりに「エモい絵」を作成しようとしてみた結果はこちら
そして、同じ設定でも生成する度に違う画像ができるので、まさしく無限ガチャが楽しめます。
究極の1枚を目指して…あと一枚…あと一枚…楽しすぎです。
まだまだ触り始めたばかりなので全然うまく画像作成はできませんが、使い方次第では本当になんでも自由につくれそうな夢があると思いました。
プロンプトを上手く生成するには?
また、今回私が遊んだように自分で好きな言葉を紡いでいってもよいのですが、現状(2023年5月末)では色々なサイトでプロンプトを生成するコツなどを公開していたります。
こちらのサイト 「PROMPTY」 では、様々な生成AIに関する専門的な記事や、生成AIに質の高い返答をして貰うためのノウハウなどを掲載している記事が集まっています。
今回の「Stable Diffusion」のみならず、「ChatGPT」や「Midjourney」など様々な生成AIを使用する際のプロンプト作成のヒントが得られるかもしれません。
色々なサイトを調べて、自分にベストなプロント生成方法を探していきたいですね。
それでは、また。
コメント