「Shuffle」機能をわかりやすく解説ー2つの画像から新画像を生成【ControlNet講座#1】|Stable diffusion
「Stable diffusion」に様々な追加機能をあたえる「ControlNet」。その使い方を学ぶ「ControlNet講座」の第1回目です。「Shuffle」機能を、わかりやすくさくっと解説します。
元画像(上の画像では「少女」)に対して、追加画像(パステル調の猫の画像)をあたえることで、追加画像の特徴を読み取って新たな画像(パステル調の猫耳少女)を作り出すことができます。
「Shuffle」機能の使い方
すでに「ControlNetv1.1」以上をインストールした状態であることを前提に話を進めます。
まだの方、もしくはバージョンがわからんという方は以下の記事でインストール/アップデートをおこなってください。
モデルのインストール
まだモデルをダウンロードしていなければ、
https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main
から、1.45Gある「control_v11e_sd15_shuffle.pth」をダウンロードします(赤い箱マークに「LFS」と書いているボタンをクリックするとダウンロード)。
ダウンロードしたものは、「Stable Diffusion」をインストールしたフォルダ内の「stable-diffusion-webui」>「models」>「ControlNet」のフォルダに入れておきます。
「img2img」での使い方
「img2img」タブで、まず元になる画像を選択します。今回は適当に生成した女の子の画像を使います。
次に下のほうにある「ControlNet v1.1.(数字)」の項目を開き、imgのところに要素をプラスさせたい画像をドラッグ&ドロップします。今回は適当に生成した猫の画像を使います。
それから「Enable」(ControlNetの実行)と「Pixel Perfect」(画像の大きさを自動調整)にチェックを入れておきます。
「Preprocessor」は「Shuffle」を選択し、「Model」は「control_v11e_sd15_shuffle」を選択します。
あとはいつものごとく「Generate」ボタンをクリックすれば、少女にパステル調の猫の画像の要素が合わさった、新たな画像が作成されます。しばらく自分でいろいろ画像をつかって遊んでみるといいでしょう。人物が上手く出ないときは、プロンプトに「1 girl」とか書いておけば確実性は上がると思います。
「txt2img」での使い方
「img2img」と基本的におなじです。
プロンプトを入れて、それから「ControlNet v1.1.(数字)」を開いて、あとは「img2img」のときとおなじようにやるだけです。
先程の猫の画像を「ControlNet」のほうにセットし、プロンプトには「a dog」と書いただけのものです。猫画像のパステル調の絵柄やアングルに近い感じで、犬の画像が生成されました。
先程の少女の画像を利用し、プロンプトには「Superman」と書くと、スーパーマンっぽい少女が出てきました。なんか「ジョジョ」に登場しそうなキャラですね。
まとめ
そんなわけで、手軽に絵柄や特徴を利用できる「Shuffle」機能。
「プロンプト打つのが面倒だけど、この画風を利用したい」みたいなときには、「Shuffle」をつかって似たような画風を作り出すことができます。
いじっているだけでけっこう楽しいので、いろいろ試して遊んでみるといいかと思います。
次回は画像の一部を命令で変更する「instruct pix2pix(ip2p)」機能です。普通の学生をスライム娘にしたり、背景だけを変更したりできます。以下のリンクから。