こんにちは。やまはろです。
今更ですが、AIによる自動イラスト作成が世間を騒がせていますよね。
最近SNSや画像投稿サイトなどでAIイラストを急激に目にするようになりました。
私はAIイラストについての知識はほぼゼロだったのですが、絵師ではないとはいえ私もクリエイターの端くれとしては、やはりある程度知識を入れておいた方がこの先良いだろうと思い、遅ればせながら調べて実際に作業してみました。
AIが氾濫している原因はどうやら「Stable Diffusion」 というオープンソースのAIプログラムが登場したことが事の発端のようです。
オープンソースなので誰でも無料でそのプログラムを利用でき、いろんな方法で世の中に提供され、誰でもAIイラストを作成できるようになりました。
ここでは別にAIイラストが善か悪かとかそういうお話ではなく、実際どのような工程で作業し、どれほどの能力があるのか、作り手の能力はどの程度必要なのか。
実際に試してみたことを、ただ単に私の体験談としてお話します。
AIイラストについて調べ始めてからまだ4日くらいしか経っていないので、大いに間違っている可能性はありますが、実際にそれなりの質のものはアウトプットできましたので、間違っていてもご勘弁ください。
実際の細かい作り方は長くなるので、アプリの使い方などは省略して、まずは大雑把に説明します。詳細は時間があればまた次回にでもご紹介します。
一般的にAIイラスト作成は「Google Colab」というWebサービスを利用してPythonというプログラム言語で書かれたコードを実行し、それをブラウザ上で使用したり、もしくは「Novel AI」などの月額制有料アプリを使用するのが一般的な様です。
ですが、私はコードが書けないうえGoogle Colabってなに?っていう状態だったので、Colabの使い方や有料ソフトの価格とか、そんなことはそっちのけで、初っ端から自分のローカル環境で作業できるGUIアプリはないんかい?と探しはじめ、そして見つけました。
しかもローカルなら無料でしかも無限に使えて最高です。
いちいち調べるのが面倒くさかったのでGUI版があって助かりました。
が、Google Colab上で動かすのも手順通りやればそこまで難しくはないようです。
(ですが私はよく知りません)
作業環境は以下の通り
PC
Intel Core i9 9900K
Nvidia RTX3080 (VRAM 10GB)
32GB RAM
Windows 10
使用アプリ
NMKD Stable Diffusion GUI v.1.8.1
https://nmkd.itch.io/t2i-gui
まずアプリですが、「Stable Diffusion」の「GUI」、つまり、GoogleColab上でプログラムのコードを実行させて作業するのではなく、普通にマウス操作で直感的に作業できるアプリケーションです。私はプログラムを書けないし Google Colabのことなんて1mmも知らないのでこれしか使ってません。
(GUI = Graphical User Interface)
ただこのアプリを使うにはそれなりの性能のゲーミングPCが必要です。
でも最近のゲーミングPCを持っているなら誰でも無料で使えます。
(※推奨スペックは VRAM 8GB以上のビデオカード を搭載したPC とのことですが、設定次第ではもう少し低いスペックでも動くことは動くみたいです。)
そして「モデル」についてですが、これは何かというと、簡単に言うと「学習結果」を詰め込んだ物です。
モデルによって何を学習したのかが違うため、同じStable Diffusionを利用したアプリを使っていてもモデルを変えると出力されるイラストが全く違ってきます。
合っているかはわかりませんが、例えると「Stable Diffusion」がプレステ本体で、「モデル」がゲームソフトみたいなものだと思ってます。
各モデル、中身も開発者も全然違いますが、すべてStable Diffusion のプログラムを利用して実行されています。
「画風」を選択する上ではかなり重要で、実写が得意なもの、水彩画が得意なもの、アニメ絵が得意なものなど、様々な特徴を持ったモデルがすでに数百種類出回っており、増え続けています。
今回はその中でもかなり有名なものだけを使用しました。
まだ発掘する段階までは踏み込んでいないので。
使用したモデル
Stable Diffusion 1.5(GUI版デフォルト、ある意味万能)
Waifu Diffusion 1.3 (2Dイラスト)
f222(実写系)
Basil Mix(実写系)
Anything V4(2Dイラスト、萌え系)
※ちなみに Waifu Diffusion は 1.4 が最新ですが、仕様が特殊でGUI版アプリでは動作しませんでした。
AIに言葉で伝える命令のことを「プロンプト」といいます。
Stable Diffusionでイラストを描かせるのは、Text to Image つまり、「言葉から絵にする」というのが基本です。
(画像を用意してそこから描き上げることもできますが、ここでは省略します)
「黒く長い髪の女の子が水着を着て浜辺で寝そべっている」
などの「描いて欲しい要素」の単語や文章を入力すると、その通りの絵を描いてくれます。
ただし実際は英語での入力が必要で、細かく区切ったほうが理解しやすいようなので
1 girl, black hair, bikini, on the beach,
などとカンマで区切って記述します。
プロンプトは細かく書けば書くほど、思った通りの絵が出やすくなります。
ネット界隈ではよく「呪文」などと言われており、AIイラストを作成する上で最も重要な部分です。
プロンプトとは逆で「描いて欲しくない(除外したい)要素」を書きます。
AI は実は人間を正しく描くのが苦手です。
腕が3本以上あったり、指の形が変だったり、足がめり込んでいたり、と意図しない状態で描かれることが、かなりよくあります。主にそういうったことを防止するために利用されることが多いです。
よく使われるのは bad hand, bad feet, mutated hands, ugly, など。
あと私がよく入れるのはアニメイラストを作るときによく出てくる Odd Eyes とかです。
このように、モデル、プロンプト、ネガティブプロンプト、などの要素をうまく組み合わせることで自分が望む絵を描いてもらうというのが作業内容になります。
では、実際に出力してみます。
上ではプロンプトは簡単に書きましたが実際はかなり細かく、下記のようになります。
ただすべてを反映してくれるわけではないので、絶対に外せない要素は()++ などと追記して、強調させることができます。
そして前に書いてあることほど、反映されやすい傾向があるようです。
(強調したり抑制したりする方法は使用するアプリにより異なります)
プロンプト
(masterpiece)++++, best quality, ultra detail, realistic photo, portrait, cute Japanese girl in playground, amazing cute face, (18 years old)++, blond hair, brown eyes, no make-up, clear skin, wearing a glossy high-leg swimsuit, large eyes, perfect propotion, 8K, (dynamic angle)++, sitting,
ネガティブプロンプト
bad hands, too many fingers, (bad anatomy)++, ugly, owres, (malformation)++++, (Missing limbs)++, too long arms, too long legs, (mutated hands)++, fewer digits, lowres, (missing fingers)++, missing arms, bad feet, (too many fingers)++, jpeg atrifact, cropped, text, watermark, signature, username, logo mark, (head out of angle,)++++, blur,
私もまだ始めたばかりなので、ネットで検索して、良いとされていたものを適当に入れています。効果がないものも含まれていると思うので、この辺はさらに磨き上げていく必要がありますね。
モデルは Basil Mix という実写系モデルを使用しています。
GUI版のデフォルトのモデル(Stable diffusion 1.5)より可愛い女の子が出やすいです。
(1枚目)
たった20秒ほどで出力完了しました。
うまくいったように見えますが、「blond hair」と指定したのに反映されていません。これでは brown hair ですね。
また、glossy high-leg swimsuit なのに glossy(光沢)じゃありません。
よく見たら腕も変です。
(2枚目)
今度は水着は光沢になりました。手や指も、パッと見は問題ないようです。
でも blond hair は無視されています。
どうやら、Japanese と blond hair は相性が良くないようです。
こういうことはよくあります。
なんでもやってくれるわけではなく、現実の世界でアンマッチな組み合わせは当然、学習もしておらず、反映されにくいです。
AI先生は、Japaneseというだけで黒系の髪だと理解してしまうようですね。
つーことでためしに Japanese を外してみます。
(3枚目)
ようやく明るめの茶色になりました。水着にも光沢があります。
よく見ると指はおかしいです。
人種の指定はしていませんが、日本人と言えなくもない女の子が出てきました。
私思うんですけど、プロンプトは削除とか変更した後も、なんとなく以前のまま引っ張られているんじゃないか、って思う時がよくあります。
一度ランタンを持たせた画像を作り、その後そのプロンプトを消しても続けて作業しているとたまにランタンを持った画像が出てきたりします。気のせいでしょうか?
まあ、うまく使えば良いテクニックになりそうですが。
ではここで、モデルだけを別のものに変更してみます。
プロンプト と ネガティブプロンプトは同じままです。
萌え萌えですねw
アニメ調のイラスト専門なので realistic photo と書いてあってもそんなことは完全無視です。
でもそれ以外はうまく出力できているようです。
Anything v4は、ひたすらこのようなアニメ調のイラストを作成します。
同じアニメ調でも、プロンプトを駆使すれば画風についてはいろいろ対応できるようです。
有名なアニメのタイトル等、AIが学習していそうなものを入れるとそのタイトルのような画風に近づきやすくなったりMIXさせたりできるようです。
ただAnythingV4は普通に何も考えずにプロンプトを描くと上のような萌え系に寄りになるので、毎回同じような絵風になりがちです。
なので周りの人と違う画風の作品を作るには結構工夫がいりそうですね。
さて、AI作業の手順を簡単にご紹介しましたが、いかがでしたしょうか。
このような感じで何回も何回も出力したり、プロンプトを少しずつ変えて自分が思い描いたものとフィットするまで作業を繰り返します。
なかなか自分好みの可愛い子がでないので、AIイラストの出力作業が「顔面ガチャ」とか言われているのはそのためです。
ただこのGUI版はいくら出力しても無料なので、私は寝てる間に1,000枚まとめて出力したり、お風呂とかご飯の時に100枚とか、まとめて出力しています。
とりあえず数を出しておいて、あとで厳選する感じです。
勘のいい方やある程度ご存じの方なら、この記事を読んだだけでもある程度作業をすることは可能だと思うので、時間があるときにでも一度触ってみるのもアリかと思います。
やってみると意外と楽しくて、時間を忘れてしまうと思いますよ!
最後におまけとして、私が今までに出力したものをいくつかご紹介します。
プロンプトはいちいち記録していないので、モデル名のみ記載しておきます。
Basil Mix
Waifu Diffusion 1.3
f222
Stable Diffusion 1.5
Anything v4