こんにちは、スタジオ真榊です。今回はコピー機LoRA法を使って、ADetailer専用の画風LoRAを作る方法についての記事をお届けします。
ADetailerは皆さまご存じの通り、キャンバス内の顔面や手の部分をAIで自動検出して、範囲内をプロンプト指示通りにimage2imageして詳細化できる拡張機能。普通、画像生成では描写するもののサイズが小さいほど細部が潰れがちになるので、この機能によってより高精細なイラスト作りを目指すわけですが、ここで専用の画風調整LoRAを適用することで、瞳のデザインや顔立ち、手の細部などを任意のものに調整できるのではないか?というのが今回の試みです。
こちらが賢木瞳LoRAをADetailer適用した例。
左のお手本画像の瞳デザインが、ピンポイントで金髪キャラクターの瞳に適用できており、瞳以外のデザインを侵していないのが分かるかと思います。
専用LoRAを作るメリットは、キャラクターの印象を決める瞳をピンポイントで、かつ高強度で修正できることです。画風LoRAをキャンバス全体に高強度で効かせた場合、キャラクターを思い通りのデザインに寄せられたとしても、その分構図がおかしくなったり、背景がきれいに生成できなくなったりするもの。それを避けつつ、一貫した顔立ちや瞳を再現できるやり方ではないかと期待しています。
記事の前半ではADetailer用「瞳LoRA」の作り方と使い方を、後半ではより難しい、顔全体に統一感を与える「顔LoRA」についての研究結果をまとめています。
コピー機LoRA学習には、今回も「CoppyLoRA webUI v2」を使用します。導入法や基本的な使い方についてはこちらの記事を参照のこと。

こんにちは、スタジオ真榊です。今回は、2024年11月6日に公開されたコピー機LoRA簡単作成アプリ「CoppyLoRA webUI v2」についての検証記事です。前回の「v1」から大幅にできることが拡大しており、まさにこういう機能が欲しかった!という革新的なアップデートになっています。(※v1同様、開発者であるとりにくさんのFAN...
1.ADetailer専用「瞳LoRA」 - 作り方 -
2.ADetailer専用「瞳LoRA」 - 使い方 -
・角度によって片目が検出されないことがある
・目ではないところが誤検出される
・画質をもっと上げたい
・ふちがくっきりしてしまった
<実際の生成例>
3.実験:「顔立ちCoppyLoRA」は作れるか
<お手本に向いているのはどんな絵?>
4.お手本画像を作ろう
・逆光画像は避けた方が吉
・正方形がおすすめ
<加筆のポイント>
5.ベース画像を作ろう
6.学習開始
7.ADetailerで適用してみよう
<のっぺらぼう線画でAnytestしよう>
<ノイズ除去強度を強めると?>
8.実験で得られた知見
9.全体用LoRAとアップ用LoRAを作り分けよう
終わりに
まずは、さきほどのツイートの瞳LoRAの作り方をざっくり振り返ります。
こちらのお手本画像を最初に作りました。プロンプトは「1girl,close-up,detailed eyes,(ringed eyes:0.8),lens_eye,detailed eyelashes, masterpiece, best quality, newest, absurdres, highres, safe,, white pupils,general,detailed pupils,blue eyes」。生成したそのままではなく、破綻部分を手書きでレタッチしています。
上のお手本をimage2imageで「破壊」したのがこちら。描かれているものの位置はできるだけそのままにしておいて、画風を遠く引き離すことで、上の画風をしっかり覚えてもらいます。プロンプトは「1girl,close-up, masterpiece, best quality, newest, absurdres, highres, safe,, white pupils,general,detailed pupils,blue eyes, 」。過剰適用した二つの月須和LoRAによって、もとの繊細な塗り方をしっかり壊しています。(目の位置はそのままなため、変更されるのは塗りのみです)
あとは簡単ですね。CoppyLoRA v2を起動し、普段使いのモデルをベースモデルに選んだら、このように画像とキャプションをセットします。
「detaileyes_v1」と名付けたこのLoRAで普通に1girl生成すると、このように瞳に影響するLoRAになっています。しかし、アップで学習させただけに、目のバランスがおかしくなっていますし、close-upの効果で出た鼻の上の影なども影響してしまっていることがわかります。
では、さっそくADetailerを使って、このLoRAを目だけに効かせてみましょう。Adetailerの導入法や基本的な使い方はこちらの記事を参照のこと。

こんばんは、スタジオ真榊です。今回は「ハンドビューワー」を使った手の修正方法の記事で少し触れた、手や顔といった細部を自動修正してくれる拡張機能「ADetailer」の解説と研究をやっていきたいと思います。 ADetailer(After Detailer)は、通常の画像生成に引き続いてキャンバス内の顔や手といった部位を自動検出し...
デフォルトでは、顔を検出するモデルや手を検出するモデルしかありませんので、Civitaiから「瞳の位置を検出するモデル」をDLしてくる必要があります。記事執筆時点では、片目ずつ検出できるモデルと、両目をいっぺんに検出するモデルの二つがあるようです。
<片目ずつ>
<両目同時>
導入はごく簡単。DLしてきたzipファイルを解凍して、出てきたptファイル(下図)をStableDiffusionの「Models\AfterDetailer」フォルダに保存するだけです。
するとこのように、Adetailerのモデル一覧に同じptファイルが表示されるようになります。ちゃんと表示されない場合はwebUIを再起動しましょう。
あとはこのように、片目か両目のどちらがいいかでモデルを決めて、先ほど作った「detaileyes_v1」を強度1で掛けるだけです。detailed eyesやdetailed eyelashesを盛り込むとよさそう。
するとこのように、通常生成に引き続いて瞳が検出され…
その範囲内のみにLoRAが適用されてアップスケールされます。
こちらが生成結果。瞳だけがアップスケールされました。また、瞳以外には影響が出ておらず、もとのカラーリングや表情を維持しながら画風だけをコントロールできていますね。
駆け足で見てきましたが、これがADetailer専用部位LoRAの基本的な作り方/使い方です。ADetailerの設定はデフォルトのままでも良いですが、場合によって次のように操作するとよいでしょう。
・角度によって片目が検出されないことがある
下の画像のように、片目しか検出されない場合、ADetailer設定の「Detection model confidence threshold」(検出閾値)を引き下げることで、検出ハードルを低くできます。
例えば、検出モデルはいま、向かって右の目を「85%の確率で目」と判断していますが、もし「Detection model confidence threshold」を0.86(86%)に設定していた場合、これは無視されることになります。デフォルトは0.3(30%)なので、「30%以上の確率で目」と判断されたら検出される設定。これを下げることで検出される場合があります。
ただし、どんなに下げても片目が目と判断されない場合はどうしてもあるようですので、そこは検出モデルのアプデに期待しましょう。ちなみに、下げすぎるとすべてが目として認識されてしまい、大混乱します…。
片目検出モデルの方は、画風にもよりますがけっこう両目検出に失敗することが多いです。頻繁に失敗するようなら、両目検出モデルを使いましょう。
・目ではないところが誤検出される
あまりないとは思いますが、目ではないところが誤検出されてしまう場合は「Detection model confidence threshold」を高めるか、最大検出数(Mask only the top k (0 to disable))を2にするのがよいでしょう。これで、左右の瞳以外にもし瞳に見えるエリアがあっても無視されます。
・画質をもっと上げたい
ADetailer設定の「Inpainting」項目を変更します。
「Inpaint denoising strength」でインペイント強度を強めればよりLoRAの影響を強めることができますが、中身はimg2imgですので0.5より強めると崩壊しがち。
「Use separate width/height」にチェックを入れ、縦横のサイズをより大きくするのも効果的ですが、これもInpaint denoising strengthが強すぎると崩壊を招くので、それぞれバランスを取りましょう。
※「Inpaint only masked(マスクした範囲のみをインペイント)」をOFFにしていた場合、アスペクト比がキャンバスと一致していることにご注意。
・ふちがくっきりしてしまった
ノイズ除去強度が強すぎたり、あまり無理な変更を掛けようとすると、このようにADetailerが掛かった正方形のふちがはっきり見えてしまうことがあります。Inpaint mask blurを20px~64pxくらいまで上げると、ふちがぼやけて隠せますが、あまりぼけすぎるとADetailer前の画像が透けて変になるので、バランスが重要。
「Inpaint only masked」を外すと、マスク外が変更される恐れがありますが、ふちがより自然になります。
<実際の生成例>
こちらはInpaint denoising strength:0.5、ADetailerのサイズ:1024x1408(全体キャンバスサイズと同値)、Inpaint only masked:オフで生成したもの。範囲内外が切れずに、描写力が上がっていることが分かるかと思います。
さて、ここまでは瞳のみのLoRAの作り方を見てきましたが、今度は顔立ちを統一するLoRAを作ってみます。もし自作品らしい顔立ちを学習したLoRAを顔面にピンポイント適用し、毎回デザインを統一できるのならば、作風やキャラクターの一貫性保持に役立つはずですね。
まずは、自分の好みの顔立ちをどアップで学習したLoRAを作ってみます。キャンバスいっぱいに、顔の輪郭が見切れるくらいの大きさで高精細に描かれたお手本画像を用意しましょう。
これは、普段使いのモデルで大量生成した顔のアップの画像群。
こちらのプロンプトで、外出中になんとなく生成させていたものです。1280x1280pixから1.5倍に高解像度補助を掛けています。
PP:1girl,solo,detailed eyes,open mouth,close up,detailed eyelashes, masterpiece, best quality, newest, absurdres, highres, safe,, white pupils,general,straight-on, upper teeth,expressionless
よく見ると、それぞれ塗りは似ていますが、目の形や目鼻口の配置、年齢感のバランスはこまごまと違います。LoRAで画風を縛っているとはいえ、顔立ちにはこれくらい自然な振れ幅が出てきます。この中から瞳のバランスや年齢感などが理想に近いものをチョイスして、目や眉毛のデザインなどを自分好みにレタッチした上で、LoRAの「お手本画像」にしましょう。
<お手本に向いているのはどんな絵?>
お手本画像に向いているのは、真正面からの画像で、瞳や眉毛や鼻、口、まぶたの描写がはっきり大きく描写されているものです。
イラストの印象は「ともかく瞳が超重要」というのは皆さん異論のないところと思いますが、例えば鼻ひとつでも、ちょんと点を置くだけなのか、長く線を引くのか、影はどう描写するのかなどさまざまな選択肢があり、その画風の印象を左右する重要なパーツとなっています。また、左右の目と口の中心をつなぐ三角形がタテに平べったいほど、人は幼い・かわいい印象を受けますし、歯や舌がどうデフォルメされるかによっても画風は大きく変わります。ここに一貫性を持たせることで、ありふれたAI絵から離れ、自分らしいこだわりのある画風を作ることができると考えています。
常に笑顔になるLoRAになってしまうといけないので、表情はほどほどに無表情なほうがよいはず。口は閉じていても良いですが、口を開けている絵の方が歯や舌の情報量を多く覚えさせられると思います。
基本的には理想の顔立ちが出せるモデルを使い、「1girl,close-up,face,open mouth,...」などで生成すればOK。アップスケールしてできるだけきれいな画像にしましょう。「detailed eyes」や「detailed eyelashes」などのタグを使ってクォリティアップを図るとよいですが、あまり細部を盛りすぎても再現しきれず不自然になります。
さきほど左側をお手本にして作った瞳LoRAも、やりすぎると周囲の画風から細部が浮いてしまいます(画像右)
せっかくなのでものすごくハイクォリティなお手本画像に挑戦してみたのですが、ここまで細かすぎる部分にこだわるとAIも完璧には再現できませんし、普段のフラットな塗りと調和せず、汎用性の低いLoRAになってしまいます。そこで今度はシンプルめに、顔のパーツの大きさや配置、おおまかなまつげの本数などが分かりやすいお手本にしてみようと思います。
・逆光画像は避けた方が吉
「close-up」の概念に「カメラにぐっと顔を近づけて、顔に影が落ちている」という描写が学習されているため、そのまま生成するとこのような「顔に影が落ちていて、鼻にハイライトが入っているライティング」の画像がよく出てきます。
これはこれでカワイイのですが、これをこのまま学習させると毎回こういうライティングにしてくるLoRAになってしまうので、shaded faceやbacklightingをネガティブに入れるなどするか、close-upタグを使わずに顔のアップの画像をimage2imageするなどして「順光」のお手本を作った方が無難かと思います。
逆に、このように下から上に光が当たっている形になることもありますが、これもお手本画像としてはあまりよくありません。
これを避けるには、まずいったん好みの顔立ちの画像を見つけて、Controlnetのプリプロセッサ「lineart realistic」などで線画化します。(実際は黒背景に白線で出力されるので、色調反転しましょう)
この時点でおかしい部分があれば、線画上で直してしまいます。例えば、鼻の影のふちどりを指定したい場合、細いペンで縁取りを描けばOKです。
あとは、この画像をそのまま「anytest v3」あたりに掛けて、「close-up」タグなしで生成すればOK。プリプロセッサはnoneで構いません。
このように、Anytest v3によって線画部分は守られつつ、4枚とも「順光」の画像を作ることができました。
close-upを使っていなくても常に逆光になるモデルもあるので、そういう場合はCoppyLoRAで修正LoRAを作ってマージしてしまうのも手ですね。
・正方形がおすすめ
お手本画像は、基本的に1024x1024px~1280x1280pxくらいの正方形で保存するのがよいかなと思います。これは、adetailerでも正方形で切り出され、その大きさでLoRAを適用することが多いためです。
瞳のデザインのみの場合、片目のどアップを同じように正方形で取ってもよいですが、どちらかというと横長で取るほうがよいかと思います。このように、検出されるサイズも基本的に横長になることが多いからです。
<加筆のポイント>
生成結果をそのままお手本画像にしてもよいですが、より細部にこだわるならやはり加筆するのがオススメ。フリーハンドで絵が書けなくても、クリスタを使って瞳の情報量を増やすやり方をいくつか書いておきます。(※いずれも絵の素人の私が役立つと感じている初心者用の方法ですので、絵の初級~中級者以上の方は読み飛ばしてください…)
・色がぐらついているところをすっきりさせる
きれいなグラデーションになっていればよいですが、AI生成した瞳の中は基本的にぐちゃぐちゃに溶けがちです。ハイライトやリムライト、影などがごちゃついて、遠目に見ると一見ととのっていますが、アップにするとこういう溶けた瞳になっていることがほとんど。(ふた昔前の例ですが…)
こうした瞳をきれいにすることが今回の試みの一つの目的でもありますので、できるだけ手を掛けて綺麗に整えましょう。
上の画像の例では、情報量を落とすためにあえて完全なフラットに塗り分けてしまっていますが、グラデーションを掛けてももちろん構いません。目指す画風に合わせて自由に塗りましょう。自分できれいに塗れない場合は先ほどの線画をAnytestする手法で、きれいに出るまでガチャしてもOK。
・まぶたの線の本数に気を遣う
AI生成するたびに、二重をデフォルメ表現しているまぶたの線が妙に増えてしまうのが気になっていた方は多いのではないでしょうか。特に半分リアルタッチなイラストで、まぶたや脇の下などに走るラインが妙に多くなってしまう現象をよく見かけます。
あれは、学習データセットのイラストで複雑に書かれたまぶたの描写を誤って学習したために起こるケース。まぶたのラインは加筆してできるだけシンプルに整えたほうがよい結果になります。(クリスタでは、ペンの手ブレ補正を"100"にしてゆっくり引くと、素人でもきれいな線が引けます)
さて、今回使用するお手本画像はこちら(これ以降"緑目1girlちゃん"と呼びます)。生成したものと、加筆したものをGIFにしています。既に線画段階できれいに整えていたので、特に直しを入れるところはなく、このように好みに従って影やカラーなどの情報を足しただけです。
お手本画像ができたので、今度はそれと「ペア」にするベース画像を作ります。
こちらの記事でも触れましたが、「ありふれたマスピ顔」ではなく、これくらい「できるだけかけ離れた画風」を目指すとうまくいくようです。
フラットなアニメ調の画風にしたいなら、「realistic」や「3d」といったタグを使って、セミリアル調が得意なモデルでimage2imageするのが良いでしょう。
今回はこのように、緑目1girlちゃんの画像をSD1.5系の画風のモデルを使用して、Controlnet(anytest v3)を使ってimage2imageしました。(※これが失敗の原因だったことがのちに分かりますが、とりあえず読み進めてください)
プロンプトはimage2image画面の段ボールボタン(📦)で自動検出したものに、「 (3d,ai-generated:1.3), photorealistic」を加えて作りました。
PP:1girl, (3d,ai-generated:1.3), photorealistic,bangs,green eyes, close-up, eye focus, eyebrows visible through hair, face, grey hair, hair between eyes, looking at viewer, open mouth, silver hair, simple background, solo
flat LoRAで情報量を無駄に足して絵柄を突き放していますが、描かれているものは輪郭も含めてほぼ同じイラストになっているかと思います。瞳や髪の色などが変化していないことを確認してください。
ペアが準備できたら、あとはベースモデルを選び、学習させるだけです。タグについては自動検出のもので構いません。上下同じプロンプトにするのが基本です
(※もしかすると下段だけdetailed eyesやdetailed eyelashesなどを使うとよいのかもしれませんが、これまでの比較実験では効果があると言えるほどの確証が得られていません。上下のキャプションを変更して良い結果が出たという方がいらっしゃいましたら、ぜひコメント欄などで情報をお寄せください)
実験で用意したのはさきほどの2枚。これでadetailer専用フェイスLoRA「detailface_v1」を作ります。
キャプションは以下の通りです。上段の画像からAnalyzeボタンでタグ検出したところ、multicolored hairなどと誤認されたため、不要なものを削りました。
1girl, solo, looking at viewer, open mouth, short hair, simple background, white background, hair between eyes, green eyes, grey hair, , teeth, eyelashes,portrait, close-up, eye focus
50分ほどして、LoRAができました。ADetailer専用の顔LoRAなわけですが、効果のほどを確かめたいので、まずは普通に普段使いのモデルに適用して「1girl」生成してみましょう。
こちらが生成結果。(LoRA適用強度:0.5)
目尻のちょんちょんしたまつ毛や頬の赤みなど、学習させた画風が出ていますが、アップにすると細部はつぶれてしまっています。
Adetailerを使うことで、つぶれてしまったディティールを再現できるでしょうか。
それでは本番。ADetailerに適用してみましょう。ADetailerの導入や操作方法に関してはこちらを参照のこと。

こんばんは、スタジオ真榊です。今回は「ハンドビューワー」を使った手の修正方法の記事で少し触れた、手や顔といった細部を自動修正してくれる拡張機能「ADetailer」の解説と研究をやっていきたいと思います。 ADetailer(After Detailer)は、通常の画像生成に引き続いてキャンバス内の顔や手といった部位を自動検出し...
ADetailerはプロンプト指定しないと自動的にメインプロンプト(元の画像を生成したPP・NP)がそのまま範囲内に適用してimage2imageされますが、自分で指定することもできます。そこで、次のようにADetailer PP(ADetailerの1st画面のプロンプト欄)を指定してみましょう。
ADetailer PP:1girl,detailed eyes,detailed face,close-up + 感情表現、瞳の色など
LoRAは顔だけに適用するので、LoRAの適用強度は高めで構いません。
こちらが生成結果。
ぱっと見では分かりにくいですね、すみません。アップにしてみると、さきほどよりもちゃんと細かな描写が入っていることが分かります。(瞳のカラー指定をしていないので学習データと同じ緑になっていますが、指定すればちゃんとその色になります)
ただ、目の形は緑目1girlちゃんほど「タテ目」になりませんでした。
「wide-eyed」タグで無理やり目を見開かせると、このように確かに瞳の塗り方は学習できていることがわかりますが、肝心の「顔立ち」…つまり目鼻口の位置などは元のモデルの生成結果とあまり変わっていません。
どうも、さきほどのLoRAは「瞳周辺の塗り方」は覚えてくれたものの、目の形自体は覚えてくれなかったようです。原因は、お手本との差分を取るために作ったはずの右イラストも、同じ「タテ目」になってしまっていたから(線画で見ると目の配置が左右同じ)と考えられます。
画風の離れたベース画像を作るとき、そのままお手本画像にanytest v3を使ってしまったために、目の位置まで継承されてしまったのでした。これでは目の形や位置に差がないため、「塗り方を変えるLoRA」にはなっても「顔立ち=目の形や位置を変えるLoRA」になりません。
目の形も突き放せるよう、Controlnetを使わずに単純i2iすべきでしょうか。しかし、単なる高強度i2iだと、さまざまな線の位置がすべて変わってしまうため、適用したとき他の部位にさまざまな影響のあるLoRAになってしまいそうです。
<のっぺらぼう線画でAnytestしよう>
そこで、このようにしました。最初に使った線画の目鼻口の位置のみを消して、髪と輪郭だけの「のっぺらぼう」の線画を作り、これをAnytest v3に掛けてimage2imageするのです。
Controlnet画面はこのような感じ。こうすることで、モデルはこの線を守る一方、描かれていない部分は自由に生成することができます。
こちらが生成結果。
顔の輪郭や髪の毛の位置は保持されつつ、目鼻口の配置は変更されました。こうすることによって、目鼻口の位置を修正するLoRAではありながら、キャラクターの顔の位置や構図を動かさないLoRAにできることが期待できます。
こちらでLoRAを作り直しました。「detailface_v2」です。
1girl生成してみます。「detailface_v2」を強度0.8で適用すると、このようになりました。
顔の描写が大きく影響しており、特に左下を見ると、瞳の描き方がよくトレースできていることがわかります。影の斜線、目の下の二重線、まつげのハイライトなどですね。しかし、顔のアップで作ったADetailer専用LoRAだけに、画面全体への影響も大きく、目がデカすぎて普段使いは難しそう。
ではさっそく、ADetailerで適用してみましょう。
今度はメインプロンプトに「detailface_v2」を使わず、普段使いのモデルで普通に1girl生成します。そのため、ADetailerが掛かるまでは「タテ目」にはなりません。通常の生成に引き続き、ADetailerで「detailface_v2」をLoRA強度「1」、ノイズ除去強度「0.5」で掛け、顔面部分だけをimage2imageします。
結果がこちら。
アップでみると、覚えさせた画風がよく再現できていることが分かるかと思います。(瞳の色は指定していないとLoRAの緑色に寄ります)
が、これでもやはり「顔立ち変更LoRA」というには厳しいかもしれません。なぜなら、左右で線画はほぼ動いておらず、塗りだけが変化しているからです。
img2imgのノイズ除去強度が0.5までの場合、基本的に太い線画は動かないことがほとんどです。顔立ちを線画から変更するには、0.5より強めるか、さきほどやったように通常の生成段階からそのLoRAを効かせる必要があるようです。
<ノイズ除去強度を強めると?>
ADetailerによって顔立ちまで変更するため、さきほどADetailerのノイズ除去強度を「0.5」としていた部分を「0.75」まで強めるという手法を試してみました。
このように、線画部分も動いて顔立ちがLoRA寄り(目全体が縦に長い四白眼、頬の赤みや鼻の影など)になりました。
ただ、強度を高めるほどにマスク内外のズレは顕著になりますし、マスクブラーによってつなげるのも難しいレベルになってしまう可能性が高そうです。
こちらがノイズ除去強度をさらに強め「0.85」で掛けた場合。顔立ちや瞳のデザインはさらにぐっとLoRAよりになりましたが、よく見ると検出範囲のふちにそって描写があいまいになっているのが分かります。そもそも、顔と目の大きさのバランスが崩れてしまいますね。
さきほどの画像で「0.75」を試した場合。顔周辺がうっすら光っているように見えていますが、これは検出範囲内外でカラーの差が出てしまっているためです。左下の画像はふちがはっきりしてしまっています。(スクリーンの明度が高いとよく見えます)
ここまでの実験で分かったのは、
・瞳LoRAは簡単にできて効果も高い。瞳だけに掛けるので破綻が見えにくい
・顔面LoRAはより範囲が広くなる分、学習内容が分散してしまって効果が薄まる
・モデルが出した顔立ち(目鼻口の位置)から大きく変更させようとすると、ノイズ除去強度を0.5より強めざるを得ず、範囲内外の整合性が破綻する
★専用LoRAのADetailer適用では「塗り」と「ディティール」を変更しやすいが、「太い線画」は変更しにくい
ーということです。
瞳LoRAは、これだけの大きさでディティールを学習できるのがメリットでしたが、顔LoRAの場合もう少しカメラが引いてしまうため(下図)、そこまで詳細にディティールを学習できないことも感じられます。
目鼻口の配置までコントロールしたい場合は、ADetailerでコントロールするのではなく、やはり従来のバストアップの1girlちゃんで差分学習させ、通常の画風coppyloraとして作ったものを画面全体に効かせた方がよいかなと思います。同じ画風のアップの画像で作ったadetailer専用顔LoRA(もしくは瞳LoRA)でアップスケールすることで、「顔立ちのおおまかな位置は全体LoRAで」「瞳などの細部は専用LoRAで」と分担ができ、思ったものが再現できそうです。
というわけで、得られた知見からたどり着いたのは、ADetailer専用LoRAで通常の生成段階と異なる画風にするのは難しいという結論でした。そこで、通常の生成段階用の画風LoRAを、さきほどの緑目1girlちゃんから逆算して作ってしまおう!と考えました。
たとえばこのように、1408x1024pxのキャンバスに緑目1girlちゃんを小さく配置し、Anytest v3に掛けると「続き」を描いてくれます。(塗りは変更されてしまうので注意)
このようなものができます。今回は線画が重要なので、塗りはこのままでもOK。
重ねるとこう。塗りは大きく変わってしまっていますね。
重ねて目以外を消しゴムすれば、まあ許せる感じにできました。髪のハイライトなどちょちょいと足しています。
または、いつものNovelAIv3インペイントでこのようにしてもOK。
こちらの場合は顔部分の塗りが変更されませんが、インペイント部分はどうしてもNAI画風になってしまいますし、顔のサイズがまちまちになります。ガチャやプロンプトを工夫すればもう少しよくなると思いますが、まあ一長一短ですね。
<ベース画像を作る>
では、先ほどののっぺらぼう手法でコテコテ顔のベース画像を作ります。
Anytest v3に上の線画を掛けてSD1.5系の顔立ちに生成。
PP:(3d,ai-generated:1.3), photorealistic,1girl,solo, black shirt,t-shirt,short hair,newest, open mouth,expressionless,latest, masterpiece, best quality, ultra highres, original, absurdres, general, white hair,green eyes,medium breasts,collarbone, looking at viewer
こちらのペアで、今度はADetailer専用LoRAではなく、通常の画風LoRAを作ります。
適用するとこのような感じ。おおむねそれらしい感じになったのではないでしょうか。
一つ分かったのは、「破壊」するときにカラーまで遠くつき離すと、「色あせる」効果も引き起こしてしまいますね。どのキャラもとても色素が薄めです。色は大きく離さないほうがよさそう…というより、線画同士で学習した方がよさそうです。
思いついたらせっかくなので実行。
できたLoRAを人気モデルのObsession illustriousに適用して生成してみます。線画だけで学習したことで、このようにカラーはモデル由来のままで、顔立ちだけを変更することができました。
賢木画風モデルと併用するとこんな感じ。"タテ目"になりますね!
線画で作った画風LoRAで1girl生成し、ADetailer専用LoRA「detailface_v2」を顔面だけに適用してみます。
通常生成段階とADetailer段階、それぞれの専用LoRAによる相乗効果で、顔立ちをここまで縛ることができました。
普段使いのモデルだとこんな感じになりました。ここまではんこ絵にできるのは凄いですね。顔面のデザイン固定力が強すぎると逆にプロンプトによる汎用性が失われるので、強度を弱めて使うとよさそう。
大変長くなってしまいましたが、部位LoRAを簡単に作れるようになると、「このモデル、このクセだけ直したいんだよな…」という部分を自分で修正できるようになり、画像生成の幅が非常に広がってきたのを感じます。もともと絵を描く人ではないので、「好きな髪のハイライトはどういうの?」と言われても「考えたこともなかった」という感じでしたが、AI絵を始めてからは、だんだん「髪のハイライトはこんな感じ、目の瞳孔はこんな感じ、目じりはこう、眉はこう、頬赤はほどほどで鼻はドットで影は…」というような好みが固まってきたように思います。
特に瞳の好みはその人の画風そのものに直結するところですから、今回の手法でしっかり画風を縛れるようになると、このFANBOXの悲願だった一貫性を保った画像生成がようやくできるようになりそうですね。
ちなみに、今回作った二つのLoRAで男性を生成するとこのような感じになりました。これも、鼻はこう、目じりはこう…と男性LoRAを作っていけば、よりコントローラブルになると思います。
特に漫画を作る場合は、女性キャラだけでなく男性キャラにも一貫性が欲しいところ。これも、キャラLoRAと併用することでなんとかなりそうですね。
<一貫性=ハンコ絵?>
モデルの一貫性と多様性はトレードオフの関係にあるため、あまり画風を縛りすぎるとハンコ絵の美少女しか出てこないモデルになってしまい、そのへんのおっさんや美魔女、モブ顔などが生成できなくなります。かといって、生成するたびに画風もキャラクターデザインもブレるようでは作家性も作品性も失われてしまう。(このツリーで書いたこと)
今回の顔面LoRAは、全てのキャラクターに同じように掛けるのではなく、オリジナルキャラクターひとりひとりに固有の顔面LoRAを作っておくと、「画風に一貫性があるがキャラクターの多様性も保たれている状態」にできるのではないかと思います(つまり賢木画風顔面LoRAではなく、ミナちゃん顔面LoRA、ミオリネさん顔面LoRA…などを別々に作る)。これによって、キャラクター固有の顔立ちは強めに維持しつつ、通奏低音的に「自分の画風」がやんわり保たれている理想的な状態が表現できそうですね。
そろそろ年末が見えてきましたが、年末年始はFANBOXの過去記事を大型アップデートを掛けたいと思っています。llustriousモデル用のキャラLoRAの作り方についてはまだ研究中ですが、だいぶ固まってきたので、次回以降取り上げられればと思います。Anytest v3&v4特集もまだでしたね。引き続き、どうぞよろしくお願い致します。
AIイラストが理解る!【スタジオ真榊】
2024-12-09 12:31:58 +0000 UTCAIイラストが理解る!【スタジオ真榊】
2024-12-09 12:31:34 +0000 UTCディレグラ
2024-12-09 12:29:31 +0000 UTCz-kumagon
2024-12-09 05:23:55 +0000 UTC