inpaintを使って1枚のイラストに複数キャラLORAを適用してみる。
ハイ、タイトル通り。
一枚イラスト複数LORAは、Regional Prompterを使う手法がメジャーですが、イマイチ思うどおりに扱えず、めんどくさくなってi2iでやることにしました。
RP手法と比べたi2i方のメリットデメリットはこちら。
・メリット
LORA適用手順はオーソドックなので、高度な拡張機能にありがちなテクニカルトラブルが発生しにくい。
普通にLORAを適用しているだけなので通常使用と同じ効果・使用感。
マスクを使うのでLORAの適用範囲をかなり細かく指定可能。
キャラ毎にモデルを換えて出力できる。一人目Animagine、二人目はPonyなんて使い方も簡単。
・デメリット
t2iで元絵出して、i2iで仕上げて…と手順が多くて面倒。
大量生産ができない。ガチャれない。
ざっとまとめると、i2iは工程が全手動なのでLORAの適用はかなりキメこまかく行えるが、大量生産がムリ。
全自動のRegional Prompterはその逆で、LORAの適用範囲や効果にばらつきがあるものの、プロンプトと設定が決まればあとは大量に生成し続けられます。
1:1キャラにLORAを適用しつつ欲しい構図でイラストを生成
今回は「2キャラを並べて坐らせつつ、それぞれに別のLORAを適用する」イラストを生成します。
登場キャラはサイゲームズの『グランブルーファンタジー』からアニラさん、アリスソフトの『ランスシリーズ』のマリアさん。
(どちらも公式サイトに二次創作のガイドラインが公開されているので、しつらに沿うようにしつつ使わせていただきます)
まずはキャラLORAを一つだけ適用しつつ、2人のキャラクターが並んで坐っているイラストを作成します。
今回はアニラLORAを使用。イラストに描かれるキャラの全てがアニラっぽい見た目になります。
2人目はこのあとインペイントで別キャラに描き換えるのですが、インペイントには「書き換え元と書き換え先のキャラは、見た目が似ている方が描き換えやすい」という特徴があります。
なので、可能であればRegional Prompterの分割モードなどを使って、2人を書き分け、かつ2人目はLORAで出力したいキャラっぽい容姿にしておくと、最終イラスト生成時のガチャが捗ります。
今回は、マリアの特徴である「青い髪、ポニーテール、赤いリボン」と、着せたい衣装として「作業着」をプロンプトで指定して生成しました。
なお、RP使うのがめんどうなら、アニラ2人出力でもかまいません。最終仕上げでのガチャ難度が少し上がるだけです。
で、できあがったのがコチラ。
Regional Prompterで画面を二分割。ベースプロンプトで女の子2人を坐らせ、左に坐るアニラに着させたい衣装やキャラ的特徴を適用。
右はマリアっぽくなるように「青い髪、ポニーテール、赤いリボン」と着せたい衣装として「作業着」を指定、ついでに髪が長いと書き換え時に邪魔になりがちなので、NegPiP使って「長い髪」をネガティブ設定しました。
つぎに右の子に「マリアLORA」を適用します。
まず右の子をマスクします。タブでやった方が楽ですが、マウスでざっくりでも大丈夫です。ただ重なり部分はできるだけ丁寧にマスクしましょう。はみ出しや塗り抜けがあると、その部分がインペイント後に目立ちます。
(粗くなるの部分は小さいので、重なり部分はマスクやプロンプトを駆使して綺麗に出そうとするよりも、とりあえず生成してから目立つ部分を手描きでちょいちょいと直した方が圧倒的に楽だし早いです)
マスクをしたらインペイントで右の子にLORAを適用します。
LORAを適用してインペイントするには、普通にプロンプトを入力して生成すればOK。1枚目に使ったプロンプトから一人目のキャラにかんする記述を全削除するだけでも問題ありません。
以上のように、キャラをきっちりと分けてマスクできる場合はわりと簡単に作成できます。
ところが、密着していたり身体が被っていたりすると、とたんに面倒になります。とくに重なっている部分の切れ目は、インペイントで綺麗に処理するのが難しいです。
対処方としては、「手描きで修正」「顔だけ書き換える」「そもそも重ならない構図にする」あたりでしょうか。
顔だけ書き換えはけっこう効果的です。Adetailerを上手に活用すれば自動化できる…かもしれません。
おまけ1:インペイントのパラメータについて
インペイントのパラメータの意味を知っておくと自力での微調整が楽になるはずです。
・Mask Blur:マスクの端をぼかす度合い。数値が大きいほどぼかす。ぼかしてごまかせるときに効果的。
・Mask Mode:「Inpaint Masked」はマスクした部分を書き換える。「Inpaint not masked」はマスクしていない部分を書き換える。
・Masked content:マスク部分の処理方法。
「fill」マスク周辺の色にそって書き換える。マスク内パーツを消してマスク外となじませるときなどに使う。
「original」マスク内の画像を参照する。元画像を活かしたいときに。
「latent noise」マスク内を書き直す。
「latent nothing」マスク内の画像をある程度活かしつつ書き換える。
・inpaint area:
「Whole picture」イラスト全体を考慮しつつマスク部分を変更する
「Only masked」マスクした部分だけ書き換える。
・only masked padding,pixels:マスクを指定ピクセル分だけ拡張する。
・Denoising strength:ノイズの強度。大きいほど元絵から離れる。輪郭を残しつつ描写を換えたいときは0.7前後ぐらい。
他のパラメータはt2iと同じ感覚で設定すればOK。
自分は、元画像をある程度参照しつつ書き換えたい場合は、下記設定でやっています。
Mask Mode「inpaint mod」
Masked Content「original」
inpaint area「Whole Picture」
Denoising Strength:0.7
これが正解というわけではないので、この設定をベースにいろいろ試してみてください。
おまけ2:キャラが重なる場合
この記事が気に入ったらサポートをしてみませんか?