こんにちは、スタジオ真榊です。7月最初の投稿は「AIイラストができるまで」ということで、先日Twitterに投稿したスレッタ&ミオリネイラストの作例紹介から始めていきたいと思います。
このイラストのようにキャンバス上に複数のキャラクターがいる場合、プロンプトだけではうまく「描き分け」ができないのがAIイラストの弱点の一つ。特にキャラ再現LoRAをそれぞれに適用するとなると、指示が混線しまくってしまうので、何度ガチャを繰り返してもなかなか意図したイラストにはなりません。
こうした弱点を解決すべく、LatentCoupleやRegionalPrompter、SDwebUI CutOffといったさまざまなアプローチが行われてきたわけですが、生成塗りつぶし(generative fill)とInpaintOnlyが登場したことで、まったく違う方向から解決してしまいました。

こんばんは、スタジオ真榊です。このところ「ジェネレーティブ塗りつぶし」関連の記事が続いていますが、今回はControlnetに実装された新プリプロセッサ「InpaintOnly」で、疑似的にジェネレーティブ塗りつぶしができるのか?という検証記事です。 そもそもInpaintOnlyはこれまでのControlnet「Inpaint」と何が変わった...
別々に作ったイラストを合成するやり方はこちらの記事(▲)で既にご紹介していますが、今回の作例では、「イラストの着想→下絵生成→構図決定→修正→アップスケール→(✕2)→合体→完成」という流れを細かく解説していきたいと思います。
まずはこちらの2枚のイラストをそれぞれ完成させ、最終的に一つのキャンバスに落とし込んでいくことになります。今回の作例では、InpaintOnlyのほかにもLamaCleanerやOpenpose Editor、アップスケールなどの技術がふんだんに使われているので、きっと普段の生成でも役に立つと思います。
それでは、さっそく見ていきましょう!
まずはスレッタさんのイラスト作りからです。白状してしまうと、はじめからスレミオの2ショットイラストを作るつもりではなかったんですよね。水星の魔女 第23話「譲れない優しさ」のミオリネさんの例のセリフを見た直後、「スレッタさんのウェディングドレス姿が見たい!」となってしまい、大して構図も考えずに猛然とイラストを生成し始めたのがきっかけでした。
こちらの最初の下絵は、このようなプロンプトで得られたものです。作っていくうちにアイデアが出てくるだろうということで、さほど細かく構図も指示せず、ウェディングスレッタさんを作ってくれ!というだけのプロンプトになっています。
プロンプト:, 1girl, solo, upper body, jewel-like eyes, extremely detailed eyes,nice hands,perfect hand,standing,suletta mercury,wedding dress, bridal veil, ring,soft smile, beautiful blue sky,outdoor,looking at viewer, open mouth,sunshine,tree,on grass, masterpiece,extremely detailed CG,official art,high resolusion,breasts, portrait
ネガティブ: (worst quality, low quality:1.4), (greyscale, monochrome:1.0), text, title, logo, signature
Steps: 25、Sampler: DPM++ SDE Karras、CFG scale: 7
▼使用LoRA
いろいろと試している中で、「大きなブーケを抱いて本当に幸せそうな表情(happy smile with closed eyes)をしているスレッタさんを見たい!」「アニメタッチから離れすぎない感じにしたい!」という着想に至り、こうした欲望に素直になりつつプロンプトを整えていきます。
この段階ではあくまで下絵段階なので、スピード重視で512x768pixを量産しています。
プロンプト:, 1girl, suletta mercury,thick eyebrows,red short hair,wind,(detailed silk wedding dress, white bridal veil:1.3),a lot of flowers,(holding white large bouquet:1.3), solo, upper body, nice hands,perfect hand,(happy smile with closed eyes:1.3),standing,beautiful blue sky,looking at viewer, open mouth,sunshine,masterpiece,extremely detailed CG,official art,high resolusion,breasts, portrait,
次に、ポーズがありきたりでポートレート風すぎることが気になり、ウェディング姿の素材写真を見学することに。「ウェディングドレス」などで画像検索すると、横向きでブーケを持ち、ボリュームのあるスカートの立体感や背中を見せる「見返り構図」の写真が特に際立って見えることに気づきました。
さっそく何度かプロンプト生成し、うまくできた1枚をOpenposeFullに掛けます。
Openpose Editorでうまく抽出できなかった手や顔の情報を削除したり、さらにプロンプトを調整したりします。おおむね構図が決まったので、ここから高負荷のアニメ向きアップスケーラー「R-ESRGAN 4x+ Anime6B」を2倍で掛け、ステップ数も30に増やします。Openposeは全く同じポーズにしようとすると絵柄が低劣化するので、「Balance」モードで適用しました。
何度か繰り返す中で、こちらの左上の画像が理想通りの生成結果になりました。
ただ、ブーケが宙に浮いてしまっているのと、左手が不自然なところ、お胸がイメージ以上に…!だったので、それぞれ修正することにします。
小さな修正ならLamaCleanerですが、今回はブーケと胸周辺を大きく描きなおしたいので、Controlnetを使った通称「ジェネリック塗りつぶし」を使います。photoshopのジェネレーティブ塗りつぶしのように、選択範囲を違和感なくinpaint生成してもらう方法ですね。
元画像をControlnet画面に取り込んで、InpaintOnlyを設定。ブーケと胸、左腕周辺をマスクし、プロンプト「(holding colorful bouquet:1.3), nice hands,perfect hand,」で生成します。これは、前回紹介した手修正LoConですね。
思ったよりヒット率が低かったのですが、下段左から二番目がうまくいきましたね。こちらを今度はLamaCleanerにかけて、背中や脇の描き込みが多すぎるところを直しました。修正前後はこんな感じです。
ここからは通常のアップスケールです。私はいったんリアリスティックなモデルで作ってから、アニメタッチなモデルでアップスケールすることで「細部はほどよくリアルで、肌はフラットなアニメ調」にする手法が好きなので、いくつかパターンを変えながら完成形を探しました。
既に768x512の2倍がけで1024x1536サイズになっているので、これを1360x2048サイズにアップスケールしたのがこちら。
これはアップスケールしたそのままではなく、アニメタッチで生成した画像とリアルタッチで生成した画像をレイヤーで重ねて、採用したい部分を合成する「人力マージ」を使っています。体部分はおおむねアニメタッチの画像を採用していますが、スカートやレース部分には極力リアルタッチの描写を残すことで、それぞれの良さを採用しつつ粗密を出す工夫をしています。白いドレスが単調にならないよう、ブーケのプロンプトを「Colorful bouquet」にしたのがよく効いているかなと思います。
こちらがTwitterに投稿したもの。
放送当日の午後10時に投稿しているあたり、アツアツ感が出ていていいですね!
ちなみに、スレッタさんは実際はくせっ毛気味なロングヘアで、本編ではドレス回まであり、ヘアアレンジをいろいろと披露してくれています。このイラストでもスレッタさんの髪型をどうするか非常に迷ったのですが、ヘアバンドをつけているバージョンやロングヘアバージョンなどいろいろ試したものの、ショートヘアのお婿さんスタイルになったーという経緯があります。
さて、思いのほか性癖に刺さるイラストができたので、翌日にはミオリネさんのイラストを作ることを決心しました。2期決定が早い。
ミオリネさんのイラストを作り始めた時点で、最終的に二枚のイラストを合体させて、ツーショットの結婚式イラストにすることも決めていました。となれば当然、お互いが対になる「向かい合わせポーズ」がいいでしょう…!
ということで、構図も秒で決定。気づいたときにはさきほどのイラストを左右反転して、Openposeに掛けていました。
あとはOpenpose Editorで微調整すればOK。スレッタさんイラストはOpenposeだけしか使いませんでしたが、今回はもう一つControlnetを使います。2つ目のControlnetの定番と言えば…そう、ReferenceOnlyです。
ReferenceOnlyでこのように、首から上をトリミングしたスレッタさんのイラストを読み込ませました。これはなんのためかと言いますと、スレッタさんとミオリネさんのイラストで「対」感を出すために、塗りのタッチや全体の色合い、ウェディングドレスの規模感などを揃えたかったのが理由です。 Controlモードは「ControlNet is more important」にしておきましょう。
構図はほぼ決まっているので、いきなり下絵段階を飛ばして高解像度補助ONで生成していきます。768x512サイズに「R-ESRGAN 4x+ Anime6B」を2倍で掛け、ステップ数も30に。プロンプトは、「対」になりつつも二人の個性の違いや関係性が際立つようにしました。スレッタさんは無邪気に目を閉じて口を開けて笑っているので、ミオリネさんは逆に目を開いて口を閉じて、ほんのり笑顔だけれども頬を赤くしている(照れている)感じにしようと決定。
プロンプト:, miorine1, 1girl, miorine rembran, solo, long hair, grey eyes, grey hair, ahoge, bangs, flat chest,blush,closed mouth,hair between eyes, floating hair, wedding dress, bridal veil, white gloves, wind,(detailed silk wedding dress, white bridal veil:1.3),(holding colorful bouquet:1.3), bare neck,back, solo, upper body, nice hands,perfect hand,(happy smile:1.3),standing,beautiful blue sky,looking at viewer, sunshine,masterpiece,extremely detailed CG,official art,high resolusion,portrait,skirt,
Steps: 30、 Sampler: DPM++ 2M Karras、CFG scale: 7
▼使用LoRA
こちらが生成結果。実際はもう少しありますが、設定が決まったら、4枚生成を2~3回ですぐに候補は決めてしまいます。ガチャしないとうまく出ない難しい構図のときを除き、何十枚も生成を繰り返すことはほとんどありません。
こちらの左上をベースに、LamaCleanerで余計なものを排除していきます。
GIFにすると一目瞭然ですね。余計なものが映り込んでいると、アップスケールしたときに謎のオブジェクトに変形してしまったり、別なものと合体してしまったりするので、アップスケール前に修正するのがベターです。LamaCleanerのインストール方法や使い方はこちらから。

こんばんは、スタジオ真榊です。世間がAdobeの画像生成AI機能「ジェネレーティブ塗りつぶし」に揺れている中、今夜は「消し」に特化したインペイントツール「LamaCleaner」についての検証記事をお伝えします。というのも、ジェネレーティブ塗りつぶしについて検証を行っていくに当たって、その前にどうしても触れておか...
これでアップスケールできる素材ができましたので、スレッタさんのときと同様にアニメタッチでアップスケールします。アップスケールするときは、基本的にimage2imageでノイズ除去強度0.35~0.45くらいに設定し、サイズを1.5~2倍程度に大きくすることが多いです。細部を細かくしたいときはTileをガンガン掛けていきますが、今回のようにアニメからあまり離れたくないときはTileを使わないこともあります。
こちらがアップスケール前後の絵柄の変化。
ゴリゴリにアップスケールしすぎて部分部分では別のものに変容してしまっているのですが、顔立ちがだいぶミオリネさんらしくなりました。
ここからさらに「人力マージ」をしたり、加筆を施したりしてリッチにしていきます。この工程はかなり複雑かつ再現性がないので端折りますが、さきほどのゴリゴリアニメタッチとリアルタッチをいいとこどりで人力マージし、それでもおかしい部分はLamaCleanerで直す感じです。キャラクターの同一性に関わる目の周辺や髪のハネは、手描きでできるだけ直しました。
【参考資料:https://g-witch.net/character/2/ よりスクリーンショットで引用】
特に目のハイライトや瞳孔、下まつげのデザインは公式のキャラ設定のイラストをじっくり見て、できるだけ再現したつもりです。その上でアップスケールして、手描きっぽすぎる部分を馴染ませます。
こちらが完成図。一夜明けてみると、公式ミオリネさんの髪のハネ方は「アホ毛」のレベルを超えてもはやトサカといっていいレベルに大きいので、もっと勝負すべきだったなと気づくわけですが、後悔先に立たず。
ただ、bouquetのデザインや色合いは、ビビッドでカラフルなスレッタさんに比べて儚い少女感が出せましたし、元気なスレッタさんに比べて高貴な感じにするために足した「white gloves」もいい感じで仕事をしてくれました。
ここまでも楽しくてしょうがないフェイズなわけですが、ここからはもう楽しいどころではないご褒美作業の始まりです。
まずは2人のイラストを一つのキャンバスに載せましょう。ただ並べるのではなく、身長差を出したいので、このように画像編集ソフトで合成します。どうせ生成によって塗りつぶされるので、余白部分は透過していても白抜きにしても関係ありません。
あとはこのようにInpaintOnlyに入れて、干渉しそうな部分を塗りつぶすだけです。
サイズは768x512を高画質補助「ESRGAN 4x+ Anime6B」で2倍に。プロンプトはマスク部分に映り込むものだけでいいので、このようになります。
プロンプト:beautiful blue sky,hair,white skirt,wind,sunshine,masterpiece,extremely detailed CG,official art,high resolusion
これはひさびさに試行回数の多いガチャになりました。背景が空だけだと宙に浮いているように見えますし、勝手にプロンプトにない海が映り込んだり、その海面が一定でなかったりと、なかなか良いものができません。
そこで、こうした数々のイラストをいくつも重ねて、良い部分を人力マージすることにしました。それがこちら。
1枚めは空が足元まで続いていて宙に浮いているように見えるので、スカートがうまく重なっているイラストからこの部分を採用。そのほか、並べると不自然に見える部分を「人力マージ」で整えていきます。
さらに、LamaCleanerで余計なものを除去。
最後に、GIFアニメではちょっと画質が悪くてよく伝わらないかもしれませんが、Clipstudioを使って「グロー効果」(光り輝いているようなエフェクト)を掛けます。逆光構図ですので、キャラの輪郭が輝いて見えるように調整しつつ、幸せそうな「ハレ感」を出してみました。
あとで見て、青空の青さに差を出しすぎてしまった…と反省したのですが、レタッチ技術が赤ちゃんだからしょうがない!失敗を繰り返して人は上達してゆくのです…
そんなわけで、ようやく完成となりました。2日間に分かれた作業ですが、作業時間は最初のスレッタさんに2時間、ミオリネさんに1時間、合成に1時間といった感じです。ただ、生成時間はここに含まれていないので、待ち時間も含めるとさらに伸び、8時間くらいになってしまうかもしれません。放置してスプラトゥーンをやったりNetfilxを見たりしている時間もかなりあるので、「PCの前に座っていた時間でいうと4時間」という感じでしょうか。
お婿さんのスレッタは腕が大きく露出して、力強い背中も肌の色も元気に見える感じ。お嫁さんのミオリネさんはリボンやレース感がふんだんに使われて、肌は白く腕は細く、ちょっと恥ずかしそうに笑っている感じ。身長差やブーケの色合いも含めて外観的には「守る存在」「守られる存在」を強調しているわけですが、本編を見てきた方には、そうした一方的な関係ではないことがちゃんと伝わってくる表情にできたのではないかなと思います。この二人、慌ただしい本編では2人で安らいでいるシーンがあまりないので、安心感の伝わってくる表情になるように工夫しました。
二人はこちらを振り向いている構図ですが、これはチュチュさんが「お前ら写真撮るぞー!」と声を掛けた場面で、キャンバスのこっち側には地球寮のみんなを始め、たくさんの友達が楽しそうに笑っている…という設定です。
これは微妙に見切れてる演出にしようかな?と思って作ったチュチュさん。あんまりうまく活かせなかったのでお蔵入りしました。
そんなわけで、【作例紹介】完成まで何時間? AIイラストができるまででした。最近はControlnetを多用する記事が多く、書いてあることがぱっと分かりにくくなってきたというコメントも頂いたので、できるだけわかりやすく書いてみましたが、ちゃんと伝わったでしょうか。
7月はControlnetだけでなく、プロンプトの掘り下げや漫画作り、nsfw方面の研究もやっていきたいと考えています。特に、いきなり多数ページの作品を作る前に、ここまで積み重ねてきたControlnet技術を踏まえた短ページのTwitter向け漫画を練習してみたいんですね。nsfwな内容も含めて、研究から創作方面にシフトする7月にできたらと思います。
そんなわけで、今月もよろしくお願いします!スタジオ真榊でした。