【Diffusers】ControlNet + Inpainting が実装されていたので使ってみました

最終更新日:2023年7月4日


github.com

これで何ができる?

使い道はいろいろありますが今回は以下のような画像をたくさん作ってみました。

ポイントは2点です。

  • 背景が統一されている(多少は異なります)
  • 女性の姿勢が統一されている








元画像


元画像はぱくたそから使わせて頂きました。
こちらの画像です。

下準備

元画像からこちらを用意します。




スケッチ画像はこちらのスクリプトを使って作成しました。

マスク画像はこちらのスクリプトを使って作成しました。

実行

ControlNet + Inpaintingを実行するためのスクリプトを書きました。
こちらです→「inpaint.py

このように使います。

python inpaint.py ^
  --controlnet basemodel\sd-controlnet-scribble ^
  --image original.jpg ^
  --mask mask.png ^
  --hint sketch.png ^
  --W 512 --H 512 ^
  --prompt prompt.txt ^
  --n_samples 20



以下を記入した「prompt.txt」というテキストファイルを用意してスクリプトから読み込んでいます。

photo of a beautiful girl

追記①

この方法を使うと背景を変えずに車の色を変えることも可能です。



車の画像はぱくたそから使わせて頂きました。
こちらの画像です。

追記②

SDXL 1.0版の記事を書きました。
touch-sp.hatenablog.com