「ABG_extension」を使って人物画像と背景画像を自然に合成する方法

How to use "ABG_extension" to naturally combine a person image with a background image

人物の切り抜き機能と背景を自然に組み合わせるための方法を紹介するにゃ。
折角良いキャラが出来たのに背景のイメージが合わないとか、初めから狙った背景にキャラを描きたいといった場合に使えるにゃ。

これを理解すれば自然に背景に溶け込んだキャラが作れそうなのにゃ。
糞コラみたいなのは嫌なのにゃ。

汚い言葉を使うんじゃないのにゃ!
手間を掛けても自然な仕上がりになるやり方を紹介するにゃ。 このガイドではABG_extensionを使うにゃ。
導入がまだの人は入れとくのにゃ。



ABG_extensionの導入

ABG_extensionの導入

生成した画像の背景を自動的に削除して、透明な画像に変換することができます。これは、画像を別の背景に合成したり、画像編集ツールで加工したりする際に便利です。

How-To Guides

Step 1: キャラクタの切り抜き

切り抜きたい画像を用意します。
今回は次の画像を利用します。
プロンプトで背景をsimple backgroundやwhite backgroundで作成しても次のようにグラデーションの背景になってしまった場合でも使えます。

切り抜くベース画像

img2imgタブに移動して該当の画像をアップしてimg2imgの設定を行っていきます。

img2imgの設定1

初めに三角定規のアイコンをクリックしてアップした画像サイズを読み込みます。
次に切り抜く画像の内容を変えたくないのでDenoisingの数値を0.01にします。

img2imgの設定2

そしたら一番したのScriptからABG Removerを選択します。
設定項目の説明を以下に記載するので必要に応じてチェックして下さい。

・Only save background free pictures: 背景が削除された画像のみを保存するかどうかを選択します。
   - チェックすると背景が削除された画像のみが保存されます。チェックしないと元の画像と背景が削除された画像の両方が保存されます。
・Do not auto save: 画像を自動的に保存するかどうかを選択します。
   - チェックすると画像は自動的に保存されません。チェックしないと自動的に保存されます。
・Custom Background:背景が削除された画像にカスタムの背景を追加するかどうかを選択します。
   - チェックするとカスタムの背景が追加されます。チェックしないとカスタムの背景は追加されません。
・Random Custom Background:カスタムの背景をランダムに選択するかどうかを選択します。
   - チェックするとカスタムの背景がランダムに選択されます。チェックしないとカスタムの背景は手動で選択しなければなりません。

設定が終わったらGenerateを押します。するとimg2imgのフォルダに切り抜かれたキャラの画像と深層マップファイルが作られます。
キャラを切り抜く作業としてはこれで完了です。
ここから先の合成に関しては切り抜かれたキャラの画像だけ利用します。

Step 2: 画像の合成

画像ソフトを用いた画像の結合



切り抜いた画像のサイズと同等サイズの背景画像を用意して、先ほど作成した切り抜き画像と結合します。
今回はプロンプトでビーチとヤシの木で適用に作製した背景画像を使います。
ここの結合作業は普段使っている好きな画像ソフト等で単純に結合して下さい。
レイヤー管理ができるペイントツールなどでも出来ます。
好きな背景画像に先ほど作成したキャラ画像を乗せて保存すればおしまいです。

Step 3: 境界線の調整

img2imgのインペイント設定

Taggerに合成するバックグランド画像を入れてタグを取得します。
この作業の目的は背景のタグを取得するためだけになります。

タグが取得できたらsend to img2imgボタンを押して移動して、そこからInpaint画面に遷移して下さい。
先ほど何らかのツールで合成した画像をimg2imgのインペイントのイメージ部分にアップします。
この時点で合成した画像は如何にも合成しましたという状態でキャラが浮いてるように見えると思います。
この浮いている部分をInpaintで選択して馴染ませて行きます。
境界線部分を鉛筆ツールで選択して行きます。

Sorce Modelの設定画面

境界線の選択が出来たら設定値を入れます。

Sorce Modelの設定画面

Inpaint maskedにチェック。
Only maskedにチェック。
Denoising Strengthは0.4前後の値を設定します。
設定が完了したらGenerateを押します。
出来上がった画像の境界線が馴染んだら完成です。
もし1度で上手くいかなかったらこの作業を繰り返します



img2imgの設定画面

ぱんぱかぱーん!どうでしょうか。
今回は事例ということで適当な背景画像でやってみましたが、本番でもやることは一緒です。
合成が出来ると良い絵が出来るまでガチャを回すより効率的に絵が作れるようになると思います。

いい感じに馴染んだのにゃ。
これならOpenPoseでキャラを作って好きな背景と合成出来るから自由自在に使えるようになる気がするにゃ。

ひょっとしたらこれまでの応用で漫画が描けるかも知れないにゃ。
作ってみようかにゃ~。

確かに時間を掛ければ漫画も掛けそうな気がするにゃね。