💻

AI supported drawing - ワークフロー例

2022/10/19に公開

はじめに

何この記事


夕暮れのラボにて
こちらの1枚絵を画像生成AI(Stable Diffusion)を活用しつつ制作チャンレンジしたので、その工程を記した記事となります。
なお、描かれている人物については創薬ちゃんこと叢雲くすりさんをモチーフとさせていただきました。所謂ファンアートです。

主な対象読者

  • 画像生成AIの出力のままではなく、各種機能や画像編集ソフトなども活用し、自分で絵を仕上げたいという方
  • 可愛い女の子のイラストを眺めたい方
  • 暇つぶしに何か読みてーな、という方

内容としては、AI:画像編集 = 3:7 位の分量です。そのため、AIに関連した技術情報をガッツリ得たいのだ!という方には物足りないかもしれません。
また、具体的な使い方に関しては、もっと丁寧にまとまっている記事が沢山あるので、ぜひそちらをご参照ください。この記事では大したこと書いてないです。すまんな。
(この文章も前回記事のコピペです。すまんな。)

実行環境

  • グラフィックボードが積まれたマシン
    • 本記事ではVRAM: 3GBのヘナヘナPCを使っていますが、何とか動かせます。
  • AUTOMATIC1111版 WebUI
  • GIMP(バージョンは任意)
    • GIMPに限らず、使いやすいペイントソフトがあれば何でもOK
  • ペンタブ
    • あると何かと便利かも

ワークフロー

概要

今回は以下のような手順で制作を進めました。

  1. text2imgでよさげな人物画を生成
  2. outpaintingを使って見切れた部分を追加描画
  3. upscaleして画像サイズを拡大
  4. gimpを使って加筆
  5. text2imgでよさげな背景画を生成&upscale
  6. 加筆した人物画を切り出して合成(フォトバッシュ)
  7. 全体の色調やフォーカスなどを調整して完成

以下、各工程についてざっくりと説明していきます。

text2imgでよさげな人物画を生成


生成された直後のオリジナル画像

promptは以下の通り。

1girl, sitting, full body, leaning forward, expressionless, blush, black long hair, sidelocks, bangs, hair between eyes, white coat, collared shirt, necktie, miniskirt, stockings, collarbone, looking at viewer, masterpiece, highres, highly detailed

negative promptは以下の通り。

deformed, bad anatomy, disfigured, mutation, 2girls, poorly drawn face, poorly drawn asymmetrical eyes, big ears

その他の設定事項は以下の通り。

  • Model hash: e1de58a9 (wd-v1-3-full)
  • Steps: 20
  • Sampler: Euler a
  • CFG scale: 13
  • Seed: 1014206080
  • Size: 512x704

いい構図になってるものがざっくりと探せればいいので、とりあえずStep数を小さめにしてBatch countを多く設定し、大量にガチャを引きます。
このプロンプトを試す前にいくつか試行錯誤しましたが、これが一番イメージしていた画像を出力しやすかったかなと思います。この辺は方法論があるのかもしれませんが、上述の通りStep数を小さめにしてエイヤァとガチャるのがいいように思います。

オリジナルの造形とはだいぶ異なる(たとえば髪の毛のメッシュがない、ネクタイやスカートの色が違うなど)結果ですが、後からゴリゴリ加筆するので問題ありません。重要なのは『イメージしている構図になっていること』と『(加筆前提で)オリジナルの造形に近いこと』です。

なお、余談of余談ですが、このプロンプトで生成される画像、意図していなかったものの、何というか、その、お手洗いを我慢している感じの絵が出力されやすいようです……恐らくキーフレーズは leaning forward, blush, expressionless, looking at viewerあたりかなと。


これに似た画像が結構な頻度で出てくる

もし、こういった構図を探しているけどいいプロンプトが見つからん!という方がいらっしゃったら是非ご活用ください(いるのか…?)

outpaintingを使って見切れた部分を追加描画

残念ながら、出力された画像は頭頂部がバッチリ見切れてしまってます。
ちょっとくらいならバレへんやろ、と進めたくもなりますが、さすがに見切れすぎ。
ということで、outpaintingを使って補完することにしました。

outpaintingの使い方に関しては以下の記事を参考にしました。
https://gigazine.net/news/20220914-automatic1111-stable-diffusion-webui-img2img-outpainting/

今回は以下のような手順で実行しました。

  • まずはimg2imgタブ→img2imgタブと辿り、補完したい画像をドラッグ&ドロップして入力
  • PromptやSampling Stepsなど、補完画像出力時と同じパラメータを設定する
  • Scriptプルダウンで『Poor man's outpainting』を選択
  • Pixels to expandを128に設定
  • Mask blurはデフォルトの4のまま
  • Masked contentもデフォルトのfillのまま
  • Outpainting directionはupにのみチェックを入れる

設定後のUIは以下のような感じ。画像がつぶれてしまい申し訳ない。

今回の設定では、画像の上部=見切れた頭頂部のみ128px分だけ拡張してくれるようになります。
Outpainting directionの設定については、どういった補完が必要となるかで切り替えていきましょう。

で、実際に生成させた画像がこちら。


ディ・モールトベネ(非常に良しッ!!)

よーく見ると補完した境界線あたりで色が違ってたりと、うっすらoutpaintingの痕跡が見えますが、正直ぱっと見では気づけないレベルで精緻に補完してくれます。すごい。

upscaleして画像サイズを拡大

先ほどの出力結果についてSend to extrasボタンを押し、Extrasタブの入力画像として使えるようにします。そのあと、Upscaler 1について『Real-ESRGAN 4x plus』を選択し、それ以外のパラメータはそのままにしておいてGenerateをクリック。
これだけでupscaleは完了です。イージー。

ちなみに今回はResizeの値を2とし、2倍サイズの画像を生成させました。
もっと大きくすれば、この後の加筆の作業が行いやすくなるというメリットがあるものの、処理が重たくなってしまう可能性があったため、あえてこのサイズにしています。

gimpを使って加筆

以下の加筆を実施しました。

  • 自由選択ツールで背景と余計な髪の毛を切り出し

  • 髪の毛に赤いメッシュを追加

    • レイヤーモードを『ソフトライト』に設定し、赤色を重ねていく
    • 境界部分をにじみツールでぼかし、いい感じになじませる
  • 目の色、ネクタイの色、スカートの色を変更

    • 基本的に自由選択ツールで変更範囲を丁寧に指定したのち、色→着色で所望の色に変更する感じ
  • 白衣の襟にあるブルーのラインを加筆

    • レイヤーモードを『乗算』に設定し、青色を重ねていく
    • もっときれいに仕上げる方法がありそう……
  • 目にハイライトを追加

    • レイヤーモードを『標準』に設定し、白色で小さい円を描き、ガウスぼかしで少しだけぼやかす
    • これやるだけで急に表情が艶っぽくなる(重要)
  • 口元に熱気というか湯気を追加

    • スポンジっぽいブラシを選択し、不透明度を下げて白色でスタンプ
    • これやるだけでさらに表情が艶っぽくなる(重要:再)

自由選択ツールで範囲指定するのが面倒ですが、それさえできればあとはほとんど手間なく修正していけるかと思います。
目のハイライトや湯気の追加といった、本当にさりげない工夫で印象がガラっと変わるので、AIの出力に拘らず、こういうちょっとした加筆を行う方が完成形のイメージに近づきやすいですね。

text2imgでよさげな背景画を生成&upscale

promptは以下の通り。床が見えてほしかったので、looking downやfloorといったキーワードを追加しています。

Inside laboratory, looking down, floor, highres, highly detailed, octane render

negative promptは以下の通り。妙に色あせた画像ばかり出力されたので、この文言を追加して鮮やかになるよう調整しました。

desaturated

その他の設定事項は以下の通り。

  • Model hash: e1de58a9 (wd-v1-3-full)
  • Steps: 20
  • Sampler: Euler a
  • CFG scale: 11
  • Seed: 341371471
  • Size: 512x704

これも何パターンも生成して、よさげなものを見つけてやります。
使う画像を決めたら、前述の手順でupscaleしておきます。

加筆した人物画を切り出して合成(フォトバッシュ)

背景画像は上部しか使わないので、リサイズしたのち、創薬ちゃんさんをペースト。

すでにそこそこいい感じですが、人物の色調と背景の色調が一致しておらず、かなり浮いて見えてしまっています。
そこで、創薬ちゃんさんの画像に対し、描画されている範囲にオレンジ色を塗りつぶした乗算レイヤーを乗せることで色調補正をかけていきます。

まずはオレンジ色に塗りつぶしたレイヤーを作成し、次に創薬ちゃんさんレイヤーを選択した状態で、選択→色域を選択をクリックし、透明個所をクリック。
こうすることで、創薬ちゃんさん以外の部分を選択することができるので、その状態でオレンジ色のレイヤーを選択し、DELキーを押すと、ヒト型にオレンジ色の塗りつぶしが切り出されます。

かまいたちの夜みたい

不透明度などをうまく調整してやるとこんな感じに。

違和感なく馴染みましたね。

全体の色調やフォーカスなどを調整して完成

あとは細かい仕上げです。以下のようなことを実行しました。

  • 創薬ちゃんさんの位置調整
  • 焦点ぼかしで背景をいい具合にぼかす
  • 全体の色調を調整し、夕暮れ間を出す

これで冒頭に提示した画像の完成です!お疲れさまでした。

むすびに

この画像の制作にかかった時間は、暇を見てチマチマ進めた都合上、ちゃんと計ってはいないのですが、恐らく7~8時間くらいだったかと思います。本当は以下のような細かいこだわりを追求したかったのですが、まぁ最低限やりたいことはできたかなと思いペンディング。

  • 白衣の丈の調整
    • 本当はもっと長い inpaintingとかで伸ばしてやればよかった
  • 小物の追加
    • 脚に着けている薬ホルスター?的なやつとか
  • 背景の作りこみ
    • テキトーに選びすぎたかな…ぼかしてごまかさず、ちゃんと使えるレベルのやつを生成したい

個人的な意見ですが、AI画像生成しただけだと、どうしても「きれいに描けているけど何だか没個性感があるイラスト」というレベルを超えられないなと感じています。
そこにメッセージやストーリーなどを載せ、見た人がそれを汲み取って楽しめるような作品に仕上げることが、よい画像生成AIの活用方法なのかなと思っています。

今後もいろいろな制作を行い、AIとどのように協調していけるか模索していこう。
それでは。

Discussion