【Stable Diffusion】画像から画像を生成するimg2img

  • URLをコピーしました!
目次

Stable Diffusion

前回、Stable DiffusionのBatch count、Batch sizeをいじってみました。

今回、Stable Diffusionで画像から画像を生成するimg2imgを試してみます。

img2imgでは画像を入れて、その画像をもとにStable Diffusionがチェックポイントを使って画像を生成するという機能です。

txt2imgのようにプロンプトで内容を指定したり、パラメータで条件を変えたりすることもできるので、これまでの記事も参考になると思いますので、よかったらそちらの記事もご覧ください。

それでは始めていきましょう。

img2imgの画面の確認

まずimg2imgの画面を見てみましょう。

img2imgの機能を使うには上の方にあるタブ「img2img」をクリックします。

クリックするとその下の画面がimg2imgの画面に切り替わります。

下に行くとパラメータの設定項目があります。

パラメータのほとんどは「txt2img」で出てきたものがほとんどですので、前の記事を参考にしてもらえると幸いです。

違うものに関してはまた詳細をアップしていく予定です。

とりあえず使ってみる

基本的には元となる画像をアップロードして、パラメータを設定して、「Generate」のボタンを押すという流れです。

画像は左側にある「ここに画像をドロップ – または – クリックしてアップロード」と書かれている枠でアップロードします。

こんな感じで画像が表示されたらアップロード完了です。

パラメータはデフォルトの値やこれまでのtxt2imgを参考にこんな感じにしてみました。

Checkpoint: blue_pencil-XL
Resize mode: Just resize
Sampling method: DPM++ 2M SDE
Schedule type: Karras
Sampling steps: 30
Width: 1024
Height: 1024

CFG Scale: 7
Denoising strength: 0.75

ちなみにUpscalerがないようなので、最初から1024 x 1024で出力しています。

生成されたがこちら。

まるで写真かのような画像が出力されました。

でもせっかく「blue_pencil-XL」を使っているのでアニメ風の画像が欲しいです。

「txt2img」の時ではプロンプトにどれだけ忠実に従うかというパラメータは「CFG scale」でした。

そして「CFG Scaleを低くするとプロンプトによる影響度が下がり、ある程度従いはするものの、無理なところは無視したり、自由な解釈をして画像を生成」し、「逆にCFG Scaleを高くするとプロンプトの影響度が上がり、何がなんでもプロンプトに従おうとする」というものでした。

つまりCFG Scaleを下げてやればblue_pencil-XLの画風に近くなるのではないかなと考えられます。

ということで試してみましょう。

Checkpoint: blue_pencil-XL
Resize mode: Just resize
Sampling method: DPM++ 2M SDE
Schedule type: Karras
Sampling steps: 30
Width: 1024
Height: 1024

CFG Scale: 1
Denoising strength: 0.75

今回はCFG Scaleを最低の1まで下げてみることにします。

ほぼ変わらず、写真風の画像のままになってしまいました。

う〜ん。。。と考えていたのですが、ここではたと思い付きます。

もしかしたらCFG Scaleは「プロンプト」への忠実度じゃないかと。

そうなるとプロンプトを入れない限りは「CFG Scale」は働きません。

ということで今度はプロンプトも入れて試してみました。

Checkpoint: blue_pencil-XL
Prompt: Church, brickwork, blue sky, mountain with snow, blue lake, grass
Resize mode: Just resize
Sampling method: DPM++ 2M SDE
Schedule type: Karras
Sampling steps: 30
Width: 1024
Height: 1024

CFG Scale: 1
Denoising strength: 0.75

次は人物が入ってないとダメなのかと思い、私の昔の写真を引っ張り出してきて、元画像として使ってみました。

実写系のアニメくらいの画像にはなりましたが、まだまだ写真感が強い感じです。

ここら辺は色々と試していく必要があるようです。

アップロードする画像の注意点

アップロードする画像が大きすぎると、メモリが足りないよとエラーを出すことがあります。

そんな時は画像を縮小してからアップロードすると意外とすんなりする場合も多々ありましたので、試してみてください。

次回はmatplotlibで表(テーブル)を表示するtable関数の使い方を紹介します。

ではでは今回はこんな感じで。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次