4通り比較、イラストの手を整えるための奮闘記 最強は?
皆さん、こんるるー!
せっかくいい感じのイラストができたのに、手が・・・手が・・・こんな経験ありませんか?
私はこれまで冒頭のイラストのように手を後ろにして出さないという小技ばかり使ってました。この度、真剣に向き合うことにしましたのでその奮闘記を記します。
筆者環境
ローカル stable diffusion (forge版) AnimagineXL V3.1
作成時に手の形を整える
lora:Fixhands_anime_bdsqlsz_V1
かなり評判がいいこのローラ
これを強度1で使っても、冒頭の画像ができてしまいます。
でも全体的にかなり整う確率が高いので、まずはこれで手ガチャを突破します
これでなお修正したいイラストができた・・・というとき
これが今回の本題です
①部分修正できる「Inpaint」
何を使うか。となったときに、使っている人が多いInpaint
初めてこれを使ってみようと思います。
stable diffusion forgeで内蔵しているため、特に別途用意する必要なない模様
修正したい画像を放りこんで
こんな感じで修正したいとこ塗ってみます
プロンプトは生成したときと同じのを入力
これで右上の生成!なんだ簡単じゃん!
タブ変えて画像入れて塗って生成押すだけの簡単作業。
あれ?だめだ。ガチャ?再チャレンジしてみる
うーん、ごまかした感じにしかならない。
自分が求めるのはこのレベルじゃない・・・。うん。
せっかくなのでオマケ
寄り道したけど、目的は手を整えて満足するイラストにすること!
なので手の単体ではダメという結論。
②ADetailerを使う
forge標準機能になってるのでちょっと試してみる
画像入れて
ADetailer modelだけhandとついたのを選択して後の設定は変えずに生成
めっちゃ簡単。
おお!お手軽に、いい感じにはなりましたね
hand_yolov9c.ptという上位modelもありますがそこまで変化なかった
結論:妥協するならこれくらいが楽
けど、せっかくならもっとこだわりたい
なのでもうちょっと勉強してみます
③拡張機能「Depth Library」+「Inpaint」
準備として、ControlNetとDepthモデルの2つが必要
もう面倒なので脱落ポイントかもしれませんが、はじめての私がゼロからやってみます
Forge版にControlNetは内臓されてるので前者は問題なし
拡張機能を追加
ExtensionsタブからInstall from URLを押す
URL for extension’s git repository ここに下を入力
Installボタンを押してDepth Libraryをインストールすると、
InstalledのReload UIを押して再起動
タブが追加されて開くとこんな感じ!
おお、良さそう。なんかいけそうな気がするー
タブに追加されたDepth Libraryを使う
Add background imageから、画像を入れる
手のイメージを選び「Add」ボタンを押す
大きさや回転させてイメージを合わせる
イメージは全部左手だが、右手にしたい場合は、大きさを変えるときのフチをつかんで逆にもっていけばOK
もう片方の手も整えて、Save PNG
この黒背景に手が浮いた素材を元に、次の作業で合成します
オマケ
手の形これしかないの?
いいえ、900種類以上を用意できます
多すぎ問題
ダウンロード後は以下に中身を放り込みます
forge\webui\extensions\sd-webui-depth-lib\maps
こだわりたい場合はこれに限る。
けど、これを簡単にする方法も実はあるけどまたあとで
いよいよ手の整形!の前に
ControlNetを使うには対応したモデルが必要
なので、入れてない場合は以下の操作が必要
ストレートにダウンロードしたい人は
ここで注意。素人だからめっちゃハマった。 当然だからか誰も書いてないし説明ないけど、SDモデル使ってる人はControlnetも通常SDのモデル、自分みたくXLのモデルを使用してる場合はこれもXLに対応させないとエラーになる
上はXLのリンクなので通常SDの人はこっちからどうぞ↓
とりあえずdepthとついたものを一通りダウンロードして全部ぶちこみでもOK
全部入れて試した後に使わないのを消してもOK
製作者様がいっぱいいますよくらいの感じです
いよいよ合成
こんな感じでセットしして合成
このDenoising strengthだけ0.6前後くらいまで下げます
うん、まぁまぁいい感じだけど欲を言えばもうちょっとこだわりたい。
今度は判りやすいようピースで合成試します。
sai_xl_depth_256lora
をセットして合成
おぉ、オマケのピースになった?
あとは数値を微調整すれば理想へ近づけそう
結論:この方法では理想の手の形にするのは容易いのでこだわる人はこの方法がベスト
④自動抽出「depth」+「Inpaint」を組み合わせてお手軽に手の修正をする
具体的には、img2imgからControlnetへ入って修正したい元の画像を放り込むだけ
修正したいとこをぬりぬりして、
もう一回Controlnetに画像を放り込んで、
Preprocessorをdepth_hand_refinerに、
Modelをsai_xl_depth_256loraに、
真ん中の爆発ボタンを押します
あら簡単、ものの数秒で手の位置と標本を抽出してくれました
このまま生成!だけど3つ重要なポイントがあります
Mask blurを調整にする。
Mask blur:0~64
数字が大きいほど接合する箇所をぼやかしてなめらかにする機能
0だと雑なつぎはぎで線が出ることも多々あるから基本高めでいいけど、違和感あるなら減らして調整
Denoising strengthこれも0.6前後にする
あとはプロンプトに画風やillustration, beautiful hands, a girl handsと入れて生成押すだけ
結論:めちゃめちゃお手軽に、しかもちゃんと修正できてる
まとめ
手の形までこだわりたいイラストが出来たとき:
拡張機能「Depth Library」+「Inpaint」
自分で手のイメージと形を作って合成
いいイラストができたけど、
手だけ残念って場合の普段使い
自動抽出「depth」+「Inpaint」
ケースバイケースでこれを使い分ければクオリティは上がる!
以上、るるでした。またね!