キャラの背景の透過する方法/背景を単色で塗りつぶす方法
Added 2023-09-23 01:03:41 +0000 UTCキャラを背景から分離する方法のメモです。

rembg?絵柄次第で髪の毛や指の隙間を透過させてくれないことが多いのでメインで使うのは難しい(隙間を透過させる別手段が結局必要になる)と判断して使っていません。
前提になる設定
キャラクターオンリーフラグが有効になっている。

もし画像の合成を外部でやるならメインウィンドウのこちら

- 方法1 Lora
Green Screenを使わせていただく方法です。素晴らしいLoraを公開してくださったtoyxyz氏に感謝。
Lora以外のプロンプトは一応背景色の指定と、その背景色が滲むことを防ぐためにBREAKを入れています。
BREAK, <lora:GreenScreen_N:1.5>, green background,

この方法の打率はかなり高いです。ただ、モデルとCNの相性次第で時々うまくいかないことがあります。特にCNのnormalを入れていると背景とキャラをうまく分離できないパターンがあります。なんかうまくいかないな、となったら試しにCNを切ってみてください。


- 方法2 i2i+マスク+プロンプト
キャラクターオンリ―と背景色を使い、キャラクター以外の部分が単色で塗りつぶされた画像が得られるので、それを使ってi2iを行います。
前提になる設定
塗りつぶしたい色がシーンの背景色に設定されている。

キャラクターオンリ―と背景色を使うとキャラクター以外の部分が単色で塗りつぶされた画像が得られるので、それを使ってi2iを行います。背景の部分を変化させないためにマスクも使います。
プロンプトは green background や simple background などを指定します。
(モデル次第でうまくいかないことがありますが)この方法もほぼ成功します。



- トラブルシュート(1) 背景にグラデーションが出る
(モデルと)ControlNetの影響で出るようです。可能なら全部でなくともいいのでControlNetをOFFにしてみてください。

- トラブルシュート(2) 背景色に侵食される
LoraとCNの影響で発生することが多いようです。Loraの重みを調整するかLoraを切るか、やはりCNをOFFにしてみてください。
