この記事では、「Stable Diffusion」の機能の1つである「img2img」についてご紹介していきたいと思います。
これまでの「txt2img」は、「checkpoint」を画家に例えると、画家に真っ白なキャンパスと仕様書(プロンプト)を私、一から絵を描いてもらう機能です。
一方、「img2img」は、ベースとなる絵(写真)を私、「これをベースにして描き直してほしい」という機能と言えるでしょうか。
ともかく、この機能を利用するにあたって、元となる画像を1枚用意します。
まずは、「txt2img」により、プロンプトのみでゼロから画像を生成します。

プロンプト
(best quality:1.3), (highly detailed:1.3), white background, 1girl, (furry:1.2), (fluffy body fur:1.2), (anthro cat:1.2), (detailed long tail:1.1), (detailed paws:1.1), solo, sitting on bench, cute, (loli:0.7), detailed beautiful eyes, (sleeveless shirt:1.1), (skirt:1.1), (lower ponytail hair:1.1), sideburns, parted bangs
ネガティブプロンプト
(nsfw:1.1), (worst quality:1.3), (low quality:1.3), ugly, duplicate, mutilated, poorly drawn hands, (extra fingers:1.2), (too many fingers:1.2), poorly drawn paws, poorly drawn face, poorly drawn eyes, poorly drawn tail, blurry, bad anatomy, bad proportions, extra limbs, long neck, text
設定

それでは、元となる画像を生成します。

それでは、この中から左下の子を今回のベースとします。

よろしくおねがいします。

左上の「img2img」のタブを左クリックします。

画面が切り替わりました。

画面を下にスクロールし、「ここに画像をドロップ -または- クリックしてアップロード」の文章をを左クリックします。

使用する画像を左クリックし、右下の「開く(O)」ボタンを左クリックします。

とりあえず、設定を一切変更せずに生成したらどうなるかを検証してみます。
複数の画像を生成して検証するため、「Batch count」のみ「1」→「4」に変更しておきます。

生成の際は、「txt2img」と同様で、右上の「Generate」ボタンを左クリックします。

設定を変えずに生成してみたところ、

元の画像とは似ても似つかぬ画像が生成されました。
というわけで、ここから設定をいじっていきます。

まずは、生成された画像の解像度が低すぎるので、「Resize to」の設定項目をいじっていきます。
右下に三角定規📐のボタンがあるので左クリックすると、自動的に元の画像と同じサイズになります。
とりあえず今回は、画像のサイズは変更せず、元の画像と同じサイズ「1536×1536」とし、生成します。

画質は良くなりました。が、これでは原型を留めていません。
まずケモノ娘ではなく、ケモ耳コスプレ少女と化しており、頭の上に謎の輪っかが鎮座しています。
ここからさらに設定をいじってみましょう。

「img2img」を利用する上で超重要な設定項目が「Denoising strength」です。
「txt2img」でも出現した項目です。
「img2img」における「Denoising strength」の意味は、「ベースとなる元の画像をどれくらい変えるか(残すか)」と言えるでしょうか。
この項目は「0」~「1」の範囲内で設定できます。
「0」に近いほど、元の画像をそのまま残します。
「1」に近いほど、元の画像を変化させ、オリジナリティのある画像を生成します。
というわけで、まずは「0」にして画像を生成します。


元の画像と寸分違わぬ画像が生成されました。「Denoising strength」の数値を最も小さい「0」にすると、このように元の画像と同じ画像が生成されます。

では、今度は逆に「Denoising strength」の数値を最も大きい「1」にして画像を生成してみます。

今度は、元の画像を完全に無視したオリジナリティ溢れるイラストが生成されました。

次に、「Denoising strength」の数値を中間の「0.5」にして画像を生成してみます。

顔がケモノっぽかったり、手足が毛皮だったり長袖シャツだったり、髪型や表情が変わっていたりと、色々不安定な状態です。

それではここで、プロンプトを入力してみます。「txt2img」と同様、「img2img」でもプロンプトとネガティブプロンプトを入力することができます。
ここでは、元の画像を生成した時と同じプロンプトを使用しています。

「Denoising strength」の数値は「0.5」のままですが、ちゃんと元画像の要素は復活しました。
そして、ぱっと見は同じ画像のようですが、よく見ると細部が少し変化しています。
ではここから、「プロンプト」と「Denoising strength」を修正し、元の画像を色々と変化させていきます。

ここで、プロンプトに次の単語を追加しました。
- realistic
実写風の - beautiful scenery
美しい景色 - nostalgic atomosphere
ノスタルジックな雰囲気 - outdoors
屋外 - night
夜 - smile
笑顔

さらに、元画像からの変化を大きくするため、「Denoising strength」を「0.5」から「0.75」とします。


背景が夜っぽくなり、ちょっとリアル風になりました。

さらに、「Denoising strength」を「0.75」から「0.9」とします。つまり、「もっと大胆に書き直してOK」という指示を出すわけです。
ただ、元画像と同じプロンプトをしっかりと入力しているので、ここを変えても、元画像から大きく逸脱はしないはずです。


プロンプトを元の画像と同じにして入力しているので、元の画像から大きく逸脱はしていませんが、背景の街並みや街灯が追加されるなど、一定の変化は見られます。


では次に、「Denoising strength」を「0.9」から「1」とし、プロンプトを追加してみます。ちなみに追加した単語は以下の通りです。
- tail wagging
しっぽをフリフリする - big breast
おっきなバスト - detailed fangs
詳細に描かれた牙


元の画像をそこまで崩さず、修正したプロンプトの内容もある程度反映させることができました。

最後に、「Refiner」についてご紹介します。「txt2img」と同様、「img2img」でも「Refiner」の機能を利用することができます。
参考:「Refiner」の使い方について
というわけで、実写っぽさを少し出すために、「kftRequiemFurADream」を「0.6」で導入。


実写っぽさが出ました。
というわけで、「img2img」は、「元の画像」「プロンプト」「Denoising strength」等の要素を組み合わせることで、ベースとなる画像を様々に変化させることができます。
以上をもちまして今回の記事を終了とします。最後まで読んでいただき、ありがとうございました。


コメント