あけましておめでとうございます。
昨年の後半に登場したStable Diffusion そしてその数ヶ月後に登場したNovel AI により
「AIによって美少女イラストを描く」
ということが可能になりました。
今まではいつかコミケで本を出そうとイラストの書き方の本を買っては本棚の肥やしに、ペンタブを買ってはOSU専用機に、最後に買った液タブは無惨な姿に…
そんな絵を描けない大半のオタクがテクノロジーの力で神イラストレーターになれる時代がやってきました。
でもプログラムの知識とかいるんでしょ。
→必要ないです。プログラム要素はコマンドプロンプトにコピペするくらい。PCゲームでMODを導入するくらいの難しさです。
流出したグレーなモデルを使ってるんでしょ。
→最近、商用利用可能で高性能な学習モデルが登場しました。最近ではNovelAIを使わないのがトレンドです。
イラストレーターさんのお気持ちは?
→それに関しては解決できてません。一応権利的に問題ない学習元であることを謳っているモデルもありますが、最先端のモデルに比べると弱いです。大原則として無断転載されたイラストを1枚も学習していないAIモデルは(この世に存在しません)存在しますがまともに使えません。無断転載されたイラストを“学習”することは問題ないのか、それとも法に触れるのかは結論がでていませんし、おそらく今後も解決することはないです。
とこんな感じでたった3ヶ月で劇的に進化したイラストAIですが、今回はめぐるましく進化するイラストAI業界の最先端環境の作り方とワンクリックでぶっ通しで色々なイラストを生成し続ける方法を説明します。
プログラムわからない人でもAIイラストはじめられるようにわかりやすく書いたので、AIイラスト興味あるけど難しそうという人も是非読んでください。
目次
必要なもの
・必要最低限
Chromeが問題なく動くPC(スマホでもできます)
・あったらいいもの
GTX10XX以上のGPU
できればRTX3060を推奨
これだけです。最近のstable diffusionはcolabというGoogleのクラウドGPUでも動くのでハイエンドGPUすらいりません。それでもGPUはあったほうがいいです。無課金のクラウドGPUでは一日数時間しか遊べません。あとクラウドGPUだとNSFW(not safe for work:えっちなやつ)が規約的に厳しいので自前のGPUによるローカル環境を作ってしまうほうが自由度は高いです。
colabがスマホでも動作するため理論上はスマホのみでも遊べますが、スマホでやる場合はもうすぐ出るはずのそういうサービス待ったほうが良いかと思います。
まずは試してみる (colabで環境構築)
いぬごやさんという方が紹介している環境構築方法がとてもわかりやすかったのでこちらを元に解説します。
①上のURLをクリックして Open in colabをクリック。
②操作画面ランタイムタブよりランタイムのタイプを変更をクリック。
ハードウェアアクセラレータをGPUに変更して保存
③ランタイムタブよりすべてのセルを実行を選択
④5分ほどクラウド上で環境構築を待つと
こういった画面文字列が出るので http://bore.pub:XXXXXの部分をクリック。IDとパスは上で入力したやつです
⑥なんかイラストAIの人が使ってる画面がでます。
この状態でプロンプトに単語を並べて生成を押してみましょう。
test sample
プロンプト
masterpiece, best quality, 1girl, green hair, sweater, looking at viewer, upper body, beanie, outdoors, watercolor, night, turtleneck
ネガティブプロンプト
lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry,artist name
「Welcome to 1girl ground」これであなたもAI絵師です。今回導入された環境ではプロンプトの予測変換機能も付属してくれているので、AIイラスト初めてという人でも簡単に遊べるはずです。
生成ボタンを右クリックして generate foreverを選択すればGoogleのクラウドGPUをぶん回してガンガンイラスト生成ができます。
⑦最後に生成したイラストを保存します。動作中のLaunch the webUIの▷ボタンを押して一度止めます。
すると次のセルが実行され、最終的に「Googleクラウドをマウントしますか?」という警告に許可。
最終的にGoogle Driveにoutput.zipというファイルが生成されるので解凍します。
パスワードはデフォルトで pass で解凍できるはずです。
プロンプトは5ch wikiやTwitterを参考にしてください。上記のモデルはダンボールタグで学習されているため比較的NovelAIのプロンプトが流用出来ます。NovelAI初期の頃だとALT(代替えメッセージ)にプロンプトを公開してくれている方が多かったと記憶しています。コツとかは下の方で解説するので合わせて見てください。
環境構築
ローカル版 導入
いろいろな方がもう既にローカル版の導入方法を解説しているかと思います。
Pythonをいれて、GITをいれて、CUDAをいれて、最後にAUTOMATIC1111を入れるという順番です。難しそうですがひとつひとつこなしていけばちゃんと動きます。一応全部ひとまとめにワンクリックでインストールしてくれるツールがあるみたいです。
ぶっちゃけこれでいい 公式全部入りインストーラー
sd.webui.zipをダンロードし「run.bat」を実行するだけです。
最後に
“\webui\models\Stable-diffusion”
のフォルダにダウンロードしてきたモデルと.vaeを入れると完了です。なんのモデル使えばいいかわからないという人は
上のリンクから「Anything-V3.0.ckpt」と「Anything-V3.0.vae.pt」をダンロードして上のフォルダに入れてください。※VRAM少なめのGPUの方は容量小さいやつでも大丈夫です。
最後に
こんな感じの画面が出るはずなのでお好きなブラウザにhttp://127.0.0.1:XXXXの部分をコピペしてエンター。WebUIが起動します。
アップデートは「update.bat」を実行すれば可能です。おそらくUSBからもブートできるので128gbのUSBメモリを買ってきて大学の研究用のハイエンドPCで実行なんてこともできるはずです。
通称:赤ちゃんインストーラー
上を右クリックして「名前をつけてリンク先を保存を選択」
後は保存した.batファイルを実行すると同じ場所にPythonとGit、WebUIがインストールされます。
※保存場所のパスに一箇所でもスペースや日本語があると動かないみたいです。わからなければドライブ直下に保存して実行してください。
2回目以降は同じ場所に生成されるstart.batを実行すると動きます。
最後に
“\stable-diffusion-webui\models\Stable-diffusion”
のフォルダにダウンロードしてきたモデルと.vaeを入れると完了です。なんのモデル使えばいいかわからないという人は
上のリンクから「Anything-V3.0.ckpt」と「Anything-V3.0.vae.pt」をダンロードして上のフォルダに入れてください。※VRAM少なめのGPUの方は容量小さいやつでも大丈夫です。
最後に
こんな感じの画面が出るはずなのでお好きなブラウザにhttp://127.0.0.1:XXXXの部分をコピペしてエンター。WebUIが起動します。
私も試して見ましたがすごく簡単でおすすめの方法です。
この場合でもCUDA(GPUを映像出力だけでなく汎用的に使うためのドライバみたいなやつ)は別で入れる必要があるっぽいので
最初にここからいれておきましょう。
この方法を応用すれば複数GPUによる2重起動も可能です。
A1111 WebUI Easy Installer and Launcher
インストーラーもあるみたいです。こっちは試してません。
上がうまくいかない場合は下の記事を参考にするか、他のブログを参考にしてください。
つまづきやすいエラーとして最新版のPythonだとエラー吐きます。1つ古い安定版を入れてください。
環境導入済みの人向け
AUTOMATIC1111を導入しているなら
@echo off
set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=
git pull
call webui.bat
上の.batファイルをWebUIのファルダ上に作成して最新版にアップデートしてください。
最近AUTOMATIC1111氏がGitからBANされて色々締め出されたそうなのでgit pullで上手くアップデートできないかもしれませんがその時は調べてアップデートしてください。→復活しました。
拡張機能を入れる
ExtensionタブからAvailableタブを選択。Load fromで最初から入っているURLから拡張機能一覧を読み込みます。今回の方法でいれてほしいのが
・a1111-sd-webui-tagcomplete
・sd-dynamic-prompts
・stable-diffusion-webui-wildcards
この3つです。
Generate forever
拡張機能ではないですが、ハイエンドGPUで夜通しイラスト生成を行うための必須機能です。
webUIの右上Generateを右クリック。
これでエラーのでない限り永久に画像を生成し続けることができます。私の経験では2日ほどは余裕ですがそれ以上は試していません。おそらくは問題なく回せませます。
a1111-sd-webui-tagcomplete
こんな感じでタグ入力補助をしてくれる拡張機能です。promptなれてる人なら簡単に入力できますが、つづりがわからないこともあるので一応いれておきましょう。これだけは上記の方法でインストールできません。
Install from URLのタブに下のURLを貼り付けInstallを押してください。
詳しい機能は上のソースを確認してください。
stable-diffusion-webui-wildcards
“stable-diffusion-webui\extensions\sd-dynamic-prompts\wildcards.txt”
SD内の上記の場所にテキストファイルを配置して使用します。あとはファイル名と同名のpromptを配置します。
__XXX__
で適用されます。詳しくは下の方で解説してます。
私の使っているワイルドカードを配布しますので良ければ使ってください。
sd-dynamic-prompts
複数のpromptの内から1つを選択するというpromptを追加できます。上のwildcardより手軽に使える拡張機能です。
例えば連続生成でいろいろなタイプのイラストを生成する場合
1girl,{large breasts|medium breasts|small breasts},{long hair|medium hair|short hair},school uniform,
こんな感じで|で区切って配置することでランダムな制服美少女を作ることができます。
本当はもっと多機能な拡張機能なのですが今回使う機能はこれだけです。
その他の便利機能の使い方はここを日本語訳するのがわかりやすいです。参考にしてください。
Amazon photo使って無限の保存領域を手に入れる
ローカルで画像を生成していると毎分10枚という速度で画像ファイルが貯まっていきます。私もローカル環境を初めて数ヶ月立ちましたがイラストAI製の画像ファイルが80GBを超えました。別に毎日生成していたわけではないですが、これくらいはたまります。
RTX4090なんかのハイエンドGPUで生成するともっと速い速度で生成できるのですぐにストレージはいっぱいに、そこで役に立つのは無制限のクラウドストレージ。一昔前はGoogle photoが画像も動画も無制限だったのですがもうなくなってしましました。そこで白羽の矢が立ったのがAmazon photo。こちらは画像だけですがプライム会員限定で無制限の利用が可能です。
設定から適当なフォルダに出力するようにして、そのフォルダを自動アップロードする設定にします。
デスクトップ版Amazon photoをダウンロード。ログインしてバックアップのタブからSDの出力先を追加します。
こんな感じで一覧にできます。iosとAndroidともにアプリ版もあるのでデスクトップで生成→スマホで検品という作業がはかどります。
NSFW(えっちなやつ)もアップロードしていますが今のところ削除やBANはありません。
※実写系のロリはまずいかもしれないので気をつけてください。
SDモデル紹介
別記事を作成したのでこちらを見てください。
とりあえず始めようという人はorangemixと7thシリーズ、waifudiffusion1.4をいれましょう・
Qualityタグと絵柄変更プロンプトの話
以前からnovelAIを触っている人は読む必要はないと思いますが、SDはpromptに「best quality,masterpiece」などの品質を向上させるようなタグを組み込むと品質が向上します。
Quality向上プロンプト
基本は
best quality,masterpiece
で問題ないです。
あとは元素法典というハイグラフィックなプロンプト時点を参考に
masterpiece,best quality, illustration,beautiful detailed girl,beautiful detailed glow,detailed ice,beautiful detailed water,beautiful detailed eyes,expressionless,
などを追加していきます。
モデルによっては絶大な効果を発揮します。例えばWD1.4で現代的なイラストを出力するには 「best quality,masterpiece 」は必須です。NAIでもクオリティ向上が見込めますが顔が似たりよったりになってしまいます。
逆にAnythingを始めとするマージモデルではあってもなくてもそんなに変わりません。
ネガティブプロンプト
SDは生成したくない要素をネガティブプロンプトに書き込むことで、精度を上げることができます。「低品質、間違った手、モザイクなどを出力しない」命令を出すことで生成物の品質を向上させます。
lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name,
上はハローアスカテストのネガティブプロンプトです。とりあえず上記をネガティブプロンプトの欄に入れて保存しておきましょう。noveAIの派生モデルを使っている場合劇的にクオリティが上がります。
絵柄変更プロンプト
3d
Anything-V3.0で検証 シード固定
ネガティブ側に入れて使います。上みたいに強調をかけることでより平面の画像が生成出来ます。
sketch
Anything-V3.0で検証 シード固定
ラフ画の絵柄になります。これも強調で絵柄が変わります。
monochrome
Anything-V3.0で検証 シード固定
白黒になります。塗り絵にも使えます。
chibi
Anything-V3.0で検証 シードはいい感じのが出るまでガチャ。サイズは正方形に
いわゆるSDキャラが出力出来ます。
プロンプトがわからない?DeepBooru機能を使ってみる
とはいっても、イラストAI初めてだからどんなプロンプトを使えばわからない。英語も難しい。
そんなときに便利なのがInterrogate DeepBooru機能。これは画像から要素を抽出しDanbooruタグに変換してくれる機能です。
img2imgタブの右上の Interrogate DeepBooru というボタンがあるのが見えると思います。
使い方は簡単。下のここに画像をドロップの欄から画像を読み込んでボタンを押すだけ。
試しに私の作ったVroidのキャラでやってみます。
1girl, ahoge, bangs, bare_shoulders, blush, collarbone, grey_background, hair_between_eyes, long_hair, looking_at_viewer, nude, portrait, purple_eyes, red_hair, simple_background, solo
1girl, ahoge, black_footwear, denim, denim_shorts, full_body, grey_background, hood, hooded_jacket, hoodie, jacket, looking_at_viewer, purple_eyes, red_hair, shoes, short_hair, shorts, simple_background, sneakers, solo, standing
こんな感じでプロンプトが抽出出来たのでここからいらない要素を削って足りない要素を少し足して調整します。
1girl,ahoge, bangs, bare_shoulders, blush, collarbone, hair_between_eyes, long_hair, looking_at_viewer, nude, portrait, purple_eyes, red_hair, solo
,ahoge, black_footwear, denim, denim_shorts, full_body, hood, hooded_jacket, hoodie,deep blue jacket, purple_eyes, red_hair, shoes, short_hair, shorts, sneakers, solo, standing,red sports bra, medium breasts,
Negative prompt: lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name,nipples,
Steps: 48, Sampler: Euler a, CFG scale: 9, Seed: 変数, Size: 512×784, Model hash: 6569e224, Clip skip: 2,
ネガティブと設定をいい感じに調節して出力。モデルはAnythingを使います。
どうですか?それっぽいキャラクター出来たと思いませんか、特に2枚目なんかはイメージもピッタリ。WD(3枚目)の方はだいぶ再現度が上がった感じがします。
この方法あまり紹介している方いなかったのですがだいぶ革命な気がします。こういうキャラ出したけどプロンプトわからないって方は使ってみてください。
プロンプトがわからない? 他の人のイラストを参考にする
pixivやimgurを始めとするイラスト投稿サイトは投稿時に画像に埋め込まれたプロンプトなどの情報が消えるのでそのイラストがどんなプロンプトで生成されたのかわかりません。TwitterでもALTにプロンプト公開してくれている方がいますが、最近だとイラストだけ上げる人も多いです。そんなときに役に立つのがAIイラスト専門の投稿サイト。色々ありますが
ここがおすすめです。プロンプトが公開されているので非常に参考になります。
プロンプトを丸パクリすることのモラルなんてAIイラストの出自からしたら些細な事です。多分だれも文句言いません。気楽に参考にしましょう。
ちなみにたまに出てくる(XXX:1.5)みたいなのはそのpromptを強調する手法です。例えば複数のpromptを並べてこの要素を特に出力したいといった場合に使います。
私もprompt付きでイラスト投稿しているので良かったら参考にしてください。ブラウザの人は→のほうに追尾ブロックがでてるはずです。スマホの方はこちら(Twitter)
本題:ローカル環境でいろんなイラストを生成しよう
ここまでは前置きです。ここからは仕事/学校に行ってる間にGPUをぶん回して色々なキャラを生成し、帰ってきたら厳選して楽しむという遊び方を紹介していきます。
wildcardでいろんなバリエーションのイラストを生成しよう
上でも紹介したwildcardの拡張機能で服、髪色、髪型なんかをランダムで生成しお気に入りの子が出るまでぶん回します。 拡張機能の解説で配布したwildcardを使用してください。
1girl, __haircolor__,__hairstyle__,__hairstyle__,__viewfrom__,__eyecolor__,__breasts__,_jaket_,__tops__,__pants__,__when__,__season__,
上のwildcardマシマシのプロンプトを貼り付けてGenerate foreverするだけ、あとはほっとくだけで大量のイラストが生成されます。
おとなの人はこっちも試してみてください。
1girl, __haircolor__, __hairstyle__, __hairstyle__, __sexstyle__,__eyecolor__,nsfw,sex, __breasts__,bed room, __viewfrom__,__sexwear__
bed roomの部分は__sexwhere__というwildcardを作ってあるので差し替えてみてください。ただの文字列です。この時点で不健全な要素はありませんが未成年の方は止めといてください。
キャラを固定したい場合はキャラのwildcardを固定し好きなキャラで回してください。逆にシュチュエーションを固定していろんなキャラで回すのもありです。
よりランダムな生成を行うために、XYプロット機能を使いScaleを変数にしてもいいです。
WebUIの設定の下の部分、ScriptからX/Y plotを選択。X typeの部分に
4,6,8,10,12,14,16,18,20
と入力します。コレでGenerate foreverすればScaleを変えながら同じプロンプトで回せます。プロンプトが毎回切り替わるのでシードは固定でもいいですが、ランダムにしたければ下の「Keep -1 for seeds」にチェックをいれます。
Y typeを設定すれば更にランダムに生成出来ます。おすすめはcheckpoint name。これで生成モデルを切り替えることが出来ます。modelフォルダからファイル名をコピペしてきて「,」で区切って打ち込んでいきます。これで生成モデルとScaleをランダムに切り替えながら生成出来ます。
試しにやってみたのがこれ。もちろんこの表だけでなくそれぞれの画像が個別に保存されます。正方形で回してますが、スマホで検品するなら縦長のほうがいいです。私はいつも512×768で回してます。
2023年1月15日追記 最近使ってるやつ
{(sketch:1.5)|(monochrome:1.5)|best Quality||(sketch:1.5)},1girl,ahoge, bangs, bare_shoulders, blush, collarbone, hair_between_eyes, __eyecolor__, __haircolor__,
, {hood, hooded_jacket, hoodie,deep blue jacket|nude}, short_hair,, {sports bra|hand bra|,|nude} medium breasts,(nsfw:1.5),(__sexstyle__:1.5),open clothes, sex,1boy,bedroom, {cum|cum,penis|penis|sweat|wet}
(worst quality:1.4), (low quality:1.4) ,{(3d:1.2)|(3d:1.5)|sketch}
※上のwildcardを導入してください。
prompt file or textbook でシュチュエーションCG集を自動生成する。
執筆中
AIイラストを始めるためのおすすめGPU
ここまで色々書いてきましたが今からAIイラストを行うためにどのGPUを買うのがおすすめかを語ります。イラストAI用にGPUを買うならRTX3060かRTX3090の二択です。その理由を解説していきます。
RTX3060
ミドルスペックモデルにして驚異のVRAM12GB。ひとつ上のRTX3060tiと3070が8gb、RTX3080でも10GBなのに対して大容量のVRAMはdreamboothやモデルのマージ(モデルを混ぜて新しいモデルを作成すること)にもバッチリです。もちろんほとんどのPCゲームも満足に遊べます。ハッシュパワーは他のものに比べて弱いですが、VRAM8gbのGPUは「出来ないこと」がRTX3060は「時間がかかるができる」というのが最大の特徴です。
メルカリで相場3.5ー4万円くらい、今からAIイラストやってみようという方にはおすすめのGPUです。
RTX3090
2023年1月現在、個人が無理なく所有できるGPUで最もAIイラストに適したGPUです。すべてを受け入れるVRAM24GBと圧倒的なハッシュパワー。どんなに重いモデルを読み込んでもまだVRAMが余ります。上の表からも512×512の画像が4秒で生成できるとのこと、プロンプトの読み込みに1秒かかるとして1枚5秒。検品の速度より画像生成のほうが速いなんてこともありえます。RTX3090ならWEBIUの表向きの上限である2048×2048も余裕で生成出来ます。
ちなみにわたしは持っていないので想像で記事書いています。これから本格的にAIイラスト始めようという人は是非買ってください。
メルカリだと中古が10万円を切るくらいで今は時期が良いです。現状新品は高すぎます。マイニング落ちの中古を狙いましょう。
まとめ
なかなか長い記事になりましたが、これで自前のGPUさえ用意すればAIイラストをはじめられると思います。わからない事があれば私のTwitterにDM飛ばしてもらえれば答えます。
stable diffusionという技術は間違いなく今年も話題になりますし、技術特異点の一つであると思っています。我々は今日本のオタク文化の転換期に立ち会っているわけです。わくわくしますね。
今はまだグレーな部分が多く企業・個人が表立ってマネタイズというわけにも行きません。去年のコミケ(C101)に行きましたが表紙にAIイラストを採用しているサークルは3つくらいしか見つけられませんでした。権利関係が決着すればもっと広がるとおもいます。
少し語弊はありますが、今まではイラストがかける人だけがコミケなんかで創作物を頒布できたわけです。これからはアイデアがあるけど絵がかけない人、絵がかけないけどAIを扱える人がどんどん自分の創作物を世に送り出せる時代がくるかもしれません。私もそんな時代の到来に少しでも貢献すべくこの記事を書きました。
で、本音は?
創作する人が増えたら僕の性癖にドハマリする同人誌がでるかもしれないだろ!!
おわり
コメント