Home About Contact
Stable Diffusion , AI Image Generation

Llamafile で気軽に Stable Diffusion する / ControlNet 編

Llamafile で気軽に Stable Diffusion するの続きです。 sdfile-0.8.4 のコマンドオプションを調べると control-net オプションがあります。 今回はこれを使ってみました。

A cup of coffee by Cezanne , ControlNet Line art

前回 Stable Diffusion で生成したセザンヌ風のコーヒーカップ画像を線画(line art)に変換しました。 左の画像が入力画像で、右が変換後の出力です。

ControlNet Line art

#!/bin/bash

m=v1-5-pruned-emaonly.safetensors
cm=control_v11p_sd15_lineart_fp16.safetensors
inputimg=a-coffee-cup-cezanne.png
prompt="a cup of coffee, simple line art"

outfile=a-coffee-cup.png
steps=50

./sdfile-0.8.14 \
    --mode txt2img \
    --model $m \
    --control-net $cm \
    --control-image $inputimg \
    --prompt "$prompt" \
    --output $outfile \
    --steps $steps

肝心のコントロールネット用モデル control_v11p_sd15_lineart_fp16.safetensors は、こちら https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/tree/main からダウンロードしました。

このモデルの説明はこちらを参照:
https://github.com/Mikubill/sd-webui-controlnet/wiki/Model-download Stable Diffusion 1.5/2.0 用のControlNetモデルは LARGE/MEDIUM/SMALL がありますが、ここでは MEDIUM を使っています。

sdfile には...

以上の5つを少なくとも入力として与える必要があります。

ControlNet Scribble

今度は先ほどコントロールネットで線画にした画像を元に、そこにプロンプトを追加して新たな画像を生成してみます。

#!/bin/bash

m=v1-5-pruned-emaonly.safetensors
cm=control_v11p_sd15_scribble_fp16.safetensors
inputimg=a-coffee-cup-cezanne_line-art.png
prompt="A cup of coffee, plain background, by pencil drawing."

outfile=a-coffee-cup.png
steps=50

./sdfile-0.8.14 \
	--mode txt2img \
	--model $m \
	--control-net $cm \
	--control-image $inputimg \
	--output $outfile \
	--prompt "$prompt" \
	--steps $steps

今回新たに必要になった ControlNet のモデル: control_v11p_sd15_scribble_fp16.safetensors は、先ほど同様にこちら https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/tree/main からダウンロードしました。

生成された画像:

A cup of coffee by pencil drawing

まとめ

このように ControlNet の Line art と Scribble を組み合わせて使うことで、ある画像をベースにそこに描かれている内容は維持しつつ何かを変更した画像・・・ここでは雰囲気を変更した画像を作り出すことができる。

A cup of coffee image transfer

この最後の画像に出現した鉛筆を消したければ inpaint のモデル ( control_v11p_sd15_inpaint_fp16.safetensors ) を使えばできるんだろうな、たぶん。

一方で、 このようにとても便利な sdfile ですが、そのうちに 画像生成AI機能搭載のiOS 18.2/iPadOS 18.2/macOS 15.2 がリリースされるので、 それが出てしまうと、sdfile の便利さがもはや時代遅れになってしまうのかもしれない。