LWのサイゼリヤ

ミラノ風ドリア300円

22/12/23 AI挿絵付きWeb小説を投稿し始めて2ヶ月経った話

kivantium.hateblo.jp

adventar.org

創作+機械学習 Advent Calendar 2022の18日目、及び画像生成AI Advent Calendar 2022の23日目です。

~お詫び~
当初は上記二つのAdvent Calendarに

・実際にWeb小説にAIで挿絵を付けてみた話
・イラストAIを用いた作品制作についてプランナーとして思うこと

をそれぞれ分けて投稿する予定だったのですが、内容的にまとめた方が見通しが良かったので一つの記事にまとめてしまいました。禁止されていないとはいえ、結果的にあまり推奨されない重複投稿の形になってしまったことをお詫びします。

一記事に二記事分のコンテンツがあるということで勘弁してもらえれば幸いです。

 

AI挿絵付きWeb小説を投稿し始めて2ヶ月経った話

10月末から趣味の長編Web小説にNovelAIで挿絵を付けながら毎日投稿し続けており、考えていることとか知見について書きます(22/12/18現在75話)。

www.alphapolis.co.jp

ゲームと現実を区別してない最悪ゲーマー女子高生がゲーム気分で異世界を滅ぼして回る終末系百合ライトノベルです。めちゃ面白いのでよろしくお願いします。

表紙のみイラストレーターのえすけー様(@sk_kun)とロゴデザイナーのコタツラボ様(@musical_0327)に発注しており、イラストAIを用いているのは挿絵だけです。表紙イラストは学習や生成には使用しておらず、表紙の発注と挿絵の作成は完全に独立しています(この立て付けになっている理由は後で説明します)。

発注した表紙は以下です。

AI生成した挿絵は以下です。

白髪赤目の女子高生(上側二枚)が表紙にもなっている主人公で、挿絵間でのキャラの同一性を保った状態でコンピュータルームと武器庫での異なるロケーションを描写できています。
下側二枚はもっとシチュエーションが強い挿絵です。燃える森の中で炎の魔法ルーンを発動したり、氷の中でナイフを構えたりする小道具込みでのイラストを文章に合わせて正確に出せています。

自分で考えたシーンに思い通りに挿絵を付けられるのは非常に楽しいですし、一気に華やかになってめちゃめちゃテンションが上がります。創作クラスタオリキャラを持っているタイプのオタクにも参考になれば嬉しいです。

 

イラストAIと創作に対して思うこと

今までにもイラストAIと創作に関する長めの記事をいくつか書いており、挿絵イラスト生成での考え方にも直結しているので軽く要約します。

 

問題意識:素材と作品の間には溝がある

AIイラストと創作について一貫して考えているのは「『イラストAIで一枚絵を出力できる』と『イラストAIで作品を制作できる』の間には深い溝がある」ということです。

2022年12月の現時点はAIイラストが単独で研究されて注目を浴びているフェイズで、AIイラストのコンテストや展覧会が開かれたりしています。しかしそれは黎明期特有のボーナスタイムに過ぎず、中長期的には作品への利用がメインになるはずです。イラストAIがあろうとなかろうと、漫画やアニメより画集を優先して購入するのは相当コアなオタクだけです。
実際にはゲームも漫画もアニメもラノベもイラスト単独で成立しているわけではなく、文章やプログラムや世界観設定などの異なる成果物との融合が前提になります。それを遂行できるイラスト素材を提供できないようであれば、イラストAIは「面白いが実用的ではない趣味の技術」の域を出ることはないでしょう。

よって「実際のところ、AIで制作したイラスト素材は本当に作品に活用できるのか」という問題意識の下で、「イラストAIを作品に用いる上でのボトルネック」や「AIイラストの弱点をディレクションで解決する方法」についての記事を書きました。

 

10月『何故AIにはイラストを発注できないのか?』

saize-lw.hatenablog.com

人間とAIのイラストを比較するチューリングテストが流行った頃に書いた記事です。

冷静に考えれば当たり前のことですが、AIイラストがチューリングテストをパスして「人間と見分けの付かないAIイラストがいくつか出力できる」ことが示されたとして、それは「人間と見分けの付かないAIイラストが任意に出力できる」ことを全く意味しません(単称命題と全称命題の取り違い!)。

そして実際の作品制作においてイラストAIを発注先として扱うためには、企画からのトップダウンで要件に適合する任意のイラストを出力してもらう必要があります。
そのためには(作画技能とは別に)「デザイン技能」というスキルが要求されますが、少なくとも現状のイラストAIはそのスキルを備えていません。よってイラストAIの作品活用には依然としてスキルを持つデザイナーが必要か、デザイン技能を要しない限定的な局面に留まることを指摘しています。

 

11月『プランナー目線の生成AI妥協論』

saize-lw.hatenablog.com

創作+機械学習LT会に参加したときに書いた記事です。実際にAIイラストを作品に用いる際に必ず生じる、「AIイラストは整合性を保てない」という問題へのプランナーポジションからの解決策を論じています。

エンジニアやクリエイターであれば生成モデルを改善したり出力イラストを加筆修正したりすることでその問題を解決できますが、企画側のディレクションでもそれなりの対応が可能です。具体的な方法論としては「AIイラストの不整合が混乱を招かない立て付けや利用法を考える」「AIイラストの弱点を補えるように企画側を曲げる」という考え方のポイントについて紹介しています。

 

12月『君はAI創作の最前線にして最底辺「AI拓也」を知っているか』

saize-lw.hatenablog.com

いわゆる淫夢界隈でのAI利用を紹介した記事です。イラストAIではなく文章AIが主ですが、かなり早い段階からAIを用いた活発な作品制作が行われているコミュニティ模様について論じています。

僕が品位の低下を押してあえてこのネットカルチャーを取り上げたのは、「AIを用いてきちんと完結した一つの作品を仕上げる」という強い作品志向が存在していることが魅力的だったからです。
TwitterやイラストコンテストでのAI利用は一枚絵や短文の素材を作るものだったり、断片の提示に留まっていたりと必ずしも完成した大きな作品を目指しているわけではありません。一方、ニコニコ動画への投稿においては必ず「動画=ページ=作品」であり、始まりから終わりまでの尺を作品単位として完成させることが前提になっていると共に、コメント機能によってそれを作品として鑑賞するフィードバック環境も整っています。

実際、AI拓也界隈においては生成AIのエンタメ活用法が無数に発掘され続けており、それはAIで素材を出して遊ぶだけでは生まれなかった作品志向の成果でもあります。

 

AIで挿絵を付けるまでの経緯

Web小説に生成AIで挿絵を付けるタスクの具体的な内容を説明するため、少しだけその経緯について自分語りします。

小説の本文は2020年4月頃から書き始めて2年ちょっとくらいで30万字くらいのものが完成していました。
せっかく趣味で書いたのできちんとした表紙イラストを付けたいと思い、30ページくらいの企画資料を作って予算10万円でイラストレーターへのメール交渉を開始したのが2022年6月頃です。
ただ1枚で10万円クラスのイラストを描ける高い画力とデザイン力を持ち、個人依頼可能かつ高々1~2ヶ月待ちくらいで仕事を受けられる方は極めて超希少です。Twitterやpixivを1日探して1人見つかるかどうかという世界で、依頼が通らないたびに貴重な残機が減っていく感触は就活を思い出してやや精神が削られる思いでした。少し時間がかかりましたが、最終的には当初の予算で引き受けて頂けるイラストレーターの方に依頼でき、本当に心から感謝しています。

2022年6月時点ではまだ絶望的な性能だったイラストAIに依頼するという選択肢は存在しませんでしたが、もしこの2022年12月の段階で表紙を制作するとしても間違いなくイラストAIではなくプロのイラストレーターに発注します。
理由は10月の記事に詳しく書いた通りで、イラストAIはデザイン技能を持っていないために表紙のようなウェイトの重いイラストを任せるには力不足だからです。イラストAIに描けるのは挿絵までで、表紙を任せるのは荷が重いという認識は今も変わっていません。

2022年10月に発注した表紙イラストを滞りなく納品して頂いて、これで素材は全て揃ったし投稿するぞと思ったタイミングでNovelAIのサービスが始まりました。
ちょうどプランナーの仕事を辞めて時間が余っていたこともあり、新技術と親しむ良い機会だと思ってNovelAIで挿絵を付けていくことにしました。挿絵は表紙とは違って単独で消費されるというよりは文章の補足を行う役割なので、デザイン能力の劣るAIイラストでも問題ないだろうという判断です。

ということで、作業タスクは「人力で書いて完成している30万字程度の文章素材が既にあり、それを1話3000~5000字程度で全90話に分割した各シーンにAIで挿絵を付けていく」です。
AIの利用を前提として制作したのではなくAI出現前から既に完成していた文章素材にAIを合わせることになり、イラストAIを主ではなく副として用いることは「AIイラストを作品に貢献するパーツとして利用できるのか」という問題意識とも噛み合っています。

なおイラスト生成AIとしてはNovelAI以外は使っていません。
他のコード上で動かすモデルも友人に見せてもらったのですが、GPUを使ってもNovelAIより生成がかなり遅かったのと、NovelAIと違ってキャラクターイラストに特化していないためにチューニングが手間そうだったからです。
NovelAIでダメだったら他のモデルを試そうと思っていましたが、現状では特に大きな不満を感じたことはありません。むしろやり込めばやり込むほど表現の幅が広がるという印象です。

 

AI挿絵生成作業

実際の生成作業における方針や流れやテクニックについて共有します。

なお、NovelAIの導入方法や基本的な使い方は省略します。既に優れたガイドがnote等に多くあるのでそちらを参照してください。

 

2ヶ月での上達

まず掲載当初に生成した冒頭3話くらいの挿絵はこんな感じです。

この段階ではとりあえず狙ったビジュアルのキャラが出せれば満足していましたが、表情や背景や動きには乏しく、挿絵というよりは立ち絵に近いものになっています。全体的に塗りが平坦で情報量も少ないです。

対して、しばらく投稿を続けてから生成した挿絵が以下です。

ただキャラを出すだけではなく、戦闘中での表情、動き、背景、使用している武器や魔法等まで含められるようになり表現力が大きく改善されています。

 

全体方針

11月の記事でも触れた通り、AIイラストの「整合を取りにくい」という弱点をカバーして強みを活かすためには妥協的な方針を立てておくことが有効です。具体的には以下のようなことを意識していました。

  • キャラのビジュアルを差別化する
    AIイラストに多少の不整合があっても一発でキャラを弁別できるように、キャラのビジュアルを可能な限り差別化します。具体的には、同時に登場するキャラはなるべく髪色が被らないようにしたり、キャラを象徴する特徴的なアクセサリを付与したりします。
  • 挿絵で新情報を出さない
    不整合を起こしやすいAIイラストは情報としての信頼度が低いため、新情報は必ず挿絵ではなく文章の方で出すことにします。挿絵を見なくても問題なく読めることが望ましく、特に挿絵で伏線を張るのは厳禁です。例えば挿絵で指が6本あったとして、それがAIの不整合なのか伏線なのかは読者には判別できず、仮に伏線だったとしても納得感よりモヤモヤ感が勝るからです。
  • 整合性より見栄えを重視する
    「ちょっとだけ内容と整合しないけどとても綺麗なイラスト」と「内容と完全に整合しているがやや見栄えの悪いイラスト」の二択になった場合は前者を取ります(内容を大きく逸脱して混乱を生まない範囲で)。AIイラストに期待しているのは補足的なビジュアルの賑やかしであり、高い説明能力ではありません。
  • 加筆修正はしない
    スキル的には少しだけなら加筆修正が出来ないこともなくもないですが、今回はイラストAIだけでどこまで戦えるのかを体験する実験的な意味合いも大きいので加筆修正は無しにしています。ただし加筆の上でのimage to imageは行います。
  • 工数の節約も意識する
    「もっと良いのが出せるはず」というガチャ連打沼にハマって工数をかけすぎないように「まあこれでいいかな」という妥協判断を大切にします。そもそも生成AIの強みは質より量であり、100点のイラストを追求するよりも70~80点くらいのイラストを高速で出力するのが発注先としての優位性だからです。

実際の作業手順は以下の通りです。

  1. text to image
  2. 必要ならimage to image
  3. 必要なら文章を書き換えて合わせる

それぞれ順に説明します。

 

1.text to image

NovelAIにはtext to imageとimage to imageがありますが、まずはtext to imageで済ませることを目標にします。text to imageだけで済むならそれに越したことなく、それでは無理そうな場合にようやく重い腰を上げてimage to imageの利用を検討するということです。
理由は手間とクオリティです。text to imageの方が基本的にクオリティが高い上に早い、つまりimage to imageを使うと手間がかかる割にはクオリティが上がるわけでもありません。

 

3D人体モデルはイマイチ

「image to imageが見た目ほど有能ではない」ということが最初に発覚したのは3D人体モデリングソフトの利用を検討したときです。

3D人体モデルのキャプをimage to imageに食わせれば狙ったポーズが出せることを発見して「これで全部済むじゃん」と盛り上がっていたのですが、結局のところ実用レベルではないことが判明して挿絵にも一度も使っていません。

例えば、これは主人公が崖からの投身を試みるシーンの挿絵案です。

左から順に

  1. image to imageの元にする3D人体モデル
  2. 3D人体モデルからimage to imageで作成した挿絵
  3. text to imageのみで作成した挿絵(実際に使用)

です。

真ん中のイラストが何だか動きに乏しくてもんにょりしている一方、右側のAIに任せたイラストの方が下からのあおりになっていて立体感と動きがあり、女の子も可愛いです。よく見ればそもそもそこまでポーズを正確にトレースしてくれているわけでもなく、物理的に正確なだけの3Dモデルを提示したことによって却ってイラストらしい遠近を考慮した外連味が出なくなる悪影響の方が大きいことが伺えます。

AI活用派のイラストレーターがよくやっているように最初から完成形に近いイラストを自作してimage to imageの素材にできる場合は別として、雑な素材でポーズやアイテムを伝えるためだけにimage to imageを用いるのは基本的に上手くいかないことの方が多く、素材を用意する工数も考えるとあまり有望なやり方ではありません。

 

基本プロンプト

text to imageではだいたい以下のような構成のプロンプトを使っています。

{{masterpiece}},{{best quality}},illustration,{{1girl}},beautiful detailed girl,beautiful detailed eyes,Depth of field,8k wallpaper,white hair,long hair,red eyes, {{black_sailor_collar}},{{black_serafuku}},{{white_trench_coat}},{{short_shorts}},shoes,{{{{{{thinking}}}}}},dirty room,dark room,sword,gun,bullet,weapon,scorch mark,clutter,dust,armoury,very close to viewer,squatting

  1. クオリティ絡みの単語
    元素法典とかでよく頭についてるやつです。もっとワードを増やして"ultra-detailed"や"beautiful detailed effect"や"extremely detailed CG unity 8k wallpaper"を入れている人も多いですが、目的が挿絵につきリッチさより正確さや自由度の方が欲しいため、このくらいまで削ったところに落ち着きました。「そもそも根本的に何か方向性が違う気がする」みたいなときはだいたいこの辺のワードを弄ると解決します。
  2. キャラ情報の単語
    出すキャラごとの特徴を指定します。基本的にキャラごとに固定ですが、上半身だけのイラストや顔アップを出す場合は不要な下半身の情報を削ったりします。
  3. その他表情やシーンを指定する単語
    背景、表情、ポーズ、構図などを指定します。一番弄る枠です。danbooruタグに無い単語でも大元の言語モデルが割と何でも解釈していい感じに出してくれるっぽいので、とにかく思い付いたものを書きまくってから上手くいってなさそうな単語を削るというやり方が上手くいきやすいです。

ネガティブプロンプトは元素法典からの流用です。

longbody, lowres, bad anatomy, bad hands, missing fingers, pubic hair,extra digit, fewer digits, cropped, worst quality, low quality

あまり弄らないですが、「黒い帽子だが魔女ではない」というとき"witch hat"を加えたり、「セクシーな印象にしたくないので口紅は要らない」というとき"lips"を加えたり適宜調整します。

Stepsは28、Scaleは6がベースです。Scaleは5~8くらいの範囲で弄り、デフォの11はダイナミックなイラストが出にくいので滅多に使いません。

あとはいい感じのイラストが出るプロンプトになるまで微調整しながら回します。体感的にはだいたい5クリック、粘っても10クリック以内にワンチャンありそうなイラストが出なければたぶん無理なのでプロンプトを書き換えた方がいいです。

 

使う挿絵の選別

いい感じのイラストを出してくれるプロンプトが出来たら、それを何度も回したりVariationsを使ったり出たイラストをそのままimage to imageにかけたりして候補を10個くらい出します。

この挿絵だと以下のような案を複数出してこの中から選んでいます。

ここは主人公がラリって嘔吐寸前になってるシーンで、一番余裕がなさそうで限界感のある右下を採用しました。

 

2.必要ならimage to image

どうやってもtext to imageでは生成できない要素が欲しい場合や、特定の場所に細かい要素を加えたい場合などはimage to imageを行います。

左から順に

  1. text to imageで作った元素材イラスト
  2. 元素材イラストに適当な花の素材を載せたもの
  3. 花の素材ごとimage to imageしてならしたもの

です。このキャラは左目から直接花が生えているのですが、「目に花が生えている」に一番近いタグ"flower over eye"はtext to imageでは機能しなかったのでimage to imageを使っています。
この手の要素を追加するimage to imageにはかなり再現性があり、上手く出ずに困ることはあまりありません。Strenghは0.1~0.4、Noiseは0.05~0.2程度で適宜調整します。

またimage to imageで面白かったのが、人体を損壊する挿絵ではネガティブプロンプトにデフォルトのbad anatomyが入っていると上手くいかないケースです。
この主人公が四肢切断されるシーンでは、まず血まみれで倒れているイラストをtext to imageで生成し(←)、人力の加筆修正で腕を削ったあとにimage to imageして四肢切断された挿絵を出しています(→)。

この際にbad anatomyをネガティブに指定しているとAIが腕を生やそうとして綺麗に出ないので、事前に削除しておく必要があります。

 

3.必要なら文章を書き換えて合わせる

AIイラストをFIXしたあと、大抵はそれに合わせて地の文を書き換えます。理由は11月の記事に書いた通りで、AIイラストは文章描写と整合するイラストを出すことが難しいために逆に文章側を寄せるのが有効だからです。

ざっくり分けて、AIイラストに近付けるための文章を追加するパターンと、AIイラストに合わせて文章を改変するパターンがあります。

 

文章を追加する

 彼方は持ってきた木刀をイツキに投げてよこした。中身が詰まった木材を彼方が削り出したもので、それなりの重量があるがイツキは片手で軽くキャッチする。

元はこの文章に対して生成した画像をイラストに使っているのが以下の箇所です。

木刀を受け取っただけではなく、イラストに合わせて構えている描写を追加することで挿絵への誘導がスムーズになります。

 

文章を改変する

 確かに死体は畑の隅の方に無造作に積み上げられていた。刻まれた腕や足や目玉が、収穫された果実のように堆積している。いくら目立たない場所とはいえ、これだけのものを見逃すことは普段の彼方なら有り得ない。
 しかし死体は始めからそう運命づけられていたかのように、そのくらい自然に茶色い土の上で鎮座していた

元はこの文章に対して生成した画像をイラストに使っているのが以下の箇所です。

当初の想定では刻まれた死体が地面に積まれていたのですが、AIイラストを受けて死体は地中に埋められていることにしています。
「畑の上に積み上がったバラバラ死体」というイラストはAIには難易度が高く、どうしてもゾンビや負傷しているだけの人間が出てしまうので、代わりにそこそこ綺麗に出る血痕に文章を合わせる方向に修正しました。

AIイラストに合わせて軽く書き換えるだけというと簡単そうですが、実際の作業としてはそれなりにコツが必要です。
生成の傾向を見て頑張れば出そうなものと頑張っても出なさそうなものを予測し、目当てのイラストが出るまで生成を粘るのと文章を書き換えるのはどちらが早そうか、妥協するとして対応箇所は妥協してもよいテキストか、というような許容ラインと作業対象を動的に都度都度判断する必要があるからです。
どうしても望むシーンが出ないのであれば、挿絵は少し違うシーンにするという判断もアリです。

 

複数キャラが出ない問題

どうしても出来なかったこととして「特定の複数キャラを出す挿絵」があります。
text to imageでもimage to imageでもすぐに複数の特徴が混ざってしまって上手くいきません。何度もガチャし続ければ出ないことは無いと思いますが、工数的に現実的ではないと判断して概ね諦めています。

最近プロンプト内の単語が作用している領域を可視化するやつ(アテンション機構みたいなやつ)をたまに見るので、その逆でプロンプトの作用領域を指定できるモデルとかあれば何とかできそうな気がします。もうあったら教えてください。

一応、唯一安定出力できる裏技ケースを一つだけ発見しました。

「双子とかで外見が著しく似ているキャラ」なら出ます。

 

さいごに

挿絵生成のススメ

オリキャラをAI生成するのは本当に楽しいです。

やる前は作業量が膨大過ぎて無理だろと思っていたのですが、いざ始めて見ると自分のキャラクターたちが自由に動き回っているのは楽しくて全く苦になりません。慣れ次第でキャラのビジュアルを保ったままで色々な背景や表情やポーズをかなり自由に指定できるようになります。

生成AIが登場する前にキャラメーカーを使って作っていたオリキャラたちとNovelAIで作ったキャラクターの比較が以下です。ビジュアルを引き継いで綺麗にアクションさせることが出来ています。

既にキャラクター小説を書いている方はもちろん、Twitterでよく見る「AIでオリキャラ(うちの子)の立ち絵や一枚絵を作っているが小説を書く気はない」という方も「挿絵」を作ってみるのはとてもオススメです。具体的で尖ったシチュエーションを細かく想定して挿絵を出力してみると、今まで見えなかったキャラの一面が見えてくるからです。

例えば「夜に暗い教室で魔法が通じない敵に追い詰められて泣きそうになってる」とか「仲間が殺されて血の海の中で決意を新たにしている」とか、それっぽいエモそうなシーンだけ考えれば十分です(イラストを出すだけなのでその状況に至る物語は考えなくてもいいです)。納得いく挿絵まで調整しているうちに「このキャラってこんな表情するんだ!」とか「この子は魔法使うときこういう感じかも」とか「このキレ方はしないな」とかどんどん理解が深まっていきます。

 

コンテスト優勝だけが正義じゃない

今のAIイラスト界は「コンテストで優勝する」「pixivで評価される」「TwitterでRTされる」タイプのイラストがやや過大に評価される傾向があるように感じます。そうしたイラストは「一目で注目を引ける」ことが評価基準となるため、インパクトの強い色彩や構図が採用されたり、エフェクトや小物の情報量が多い華美なイラストが志向されたりする傾向にあります。

しかし、「一目で注目を引ける」は無数にあるイラストの評価基準の一つに過ぎません。イラストには様々な用途が存在し、使い道次第で評価基準も変わってきます。
確かにパッケージや広告等でコンバージョンを稼ぐために使うイラストなら「一目で注目を引く」が最優先要件になりますが、既に購入・閲覧されている作品内で用いるイラストが「一目で注目を引く」必要はそれほどありません。例えば2Dアクションゲームで背景に置いておくだけのイラストに目を引き付ける凝ったエフェクトが施されていたらユーザーが混乱しますし、ノベルゲームの立ち絵が目を引き付けるべきかどうかはキャラ設定や物語に応じて判断すべき部分でしょう。

身も蓋もないことを言ってしまえば、少なくとも現状で本当に「一目で注目を引くイラスト」が欲しいなら時間と工数が許す限り普通にプロのデザイナー・イラストレーターに依頼すべきです。実際、僕は「表紙のように一目でのインパクトが要求されるイラストはAIには荷が重いのでプロのイラストレーターに発注する」「挿絵のようにインパクトが不要で大量に欲しいイラストはAIで作成する」という使い分けが最も妥当だと判断してそうしています。

もちろん今は「人間が強い分野でこそAIがバリューを出せたら凄いよね」というモチベーションでチャレンジされているフェイズであることは理解していますし、コンテストで優勝するAIイラストにも大きな価値と関心があります。
ただコンテストでの評価基準はイラストの用途全てをカバーする要件では全くないし、イラストAIを作品に用いるにあたっては異なる要件が生じる方が普通であることや、イラストAIの最も素朴な強みはむしろ逆で「そこそこ程度のイラストの大量生産」であることは留意しておいても良いと思います。

 

 

最後に改めてかなり面白い全話AI挿絵付きWeb小説『ゲーミング自殺、16連射アルマゲドン』をよろしくお願いします。

www.alphapolis.co.jp