AIで部屋の模様替え、ControlNetのSegの使い方
とみます(@20tomimasu)です。
構造や配置のレイアウトを変えないで、部屋の内装を変えれないか。
Stable DiffusionのControlNetのSeg(セグメント)を使って、検証してみました。
レイアウトを変えずに、洋風→和風の画像を生成できたので、メモしておきます。
AIで部屋の模様替え
元の画像↓
この画像のレイアウトを変更しないで、内装を変更してみよう。
プロンプトと併せて、出力画像を載せておく↓
Japanese room
↑それっぽい、和風の部屋を生成できた。(畳や障子の一部に、おかしい箇所はあるもののw)
部屋の構成は変わっていないので、プロンプト次第で、ナントカなりそうだ。
検証環境
ハード/ソフト
- NVIDIA GeForce RTX 3070 Ti (←SDXLには力不足ということが判明…)
- python3.10.6
- https://github.com/AUTOMATIC1111/stable-diffusion-webui
- v1.5.1
- chilled_remix_v2
ControlNet
- v1.1.224
- Preprocessor: seg_ofade20k
- Model: control_seg-fp16
ControlNetのSegの使い方
- txt2imgで元画像を生成する。
- img2imgに元画像をアップロードして、Segを有効化して生成する。
- レイアウトに対し、色で識別された画像ができる。
- この画像を基に、img2imgでプロンプトで内装を指示して生成する。このとき、PreprocessorはNone。
以下、画像を用いて↓
↑tet2imgで適当にリビングルームを生成した画像を、img2imgで操作していく。
↑ControlNetをEnableして、Segにチェックマークを付ける。
- Preprocessor: seg_ofade20k
- Model: control_seg-fp16
を選択して、生成すると…
↑レイアウトに対し、色で識別したような画像が出来上がった。
ちなみに、時間は少し掛かって、3分34秒。
なるほど、この画像を用いて、内装を指定すればいいのか。
↑この時、PreprocessorはNoneとしている。
試しに、japanese room, animeと入力すると、中華風の画像が出来上がった。w
(animeが中華風になる要因だったみたい。)
注目すべきは、ソファや棚などのレイアウトは変更されていないこと。
ControlNetのSeg(セグメント)が正しく機能しているね。
これは使えそうだ。
適当に、プロンプトを変更した出力を載せておこう↓
プロンプトを変更して模様替え
Dragon Ball room
↑うーんw
ドラゴンボール風になったのか?
色はそれっぽいが。w
背後の絵画で、誤魔化している感が否めない。w
Cyber punk room
↑サイバーパンク。
ピンクやネオン色で表現され。
窓の外がビルなのも、それっぽい。
cafe room
↑これも、それっぽくなった。w
テーブルの上にコーヒー、コーヒーショップの棚のようなものが。
背景は、木に建物と、都内のカフェの雰囲気だ。
結論、改良の余地はあるものの、このSeg機能、使えるぞ。
ちなみに、このセグメントの機械学習について、参考になった記事はこちら。
>>セマンティックセグメンテーション (Semantic Segmentation)
おわりに
以上「AIで部屋の模様替え、ControlNetのSegの使い方」でした。
不動産や賃貸募集の時に、イメージ画像として、使えるかもですね。
ぜひ、お試しくださいませ。
私への依頼もOKなので、ご相談はお気兼ねなく。
それでは、また。