Stable Diffusion で自作線画に色を塗る【AI塗り】

2024年10月15日

copainter というAI彩色サービスがリリースされたら、もう私は自力で Stable Diffusion を使った色塗りはしないだろうなと思っています(面倒なので)。ですが、めっちゃいい ControlNet のモデルがリリースされたので紹介します。

この記事で想定している環境

webUI:a1111 か forge

モデル:SDXL 系(後で出てくる生成例では Animagine XL 3.1 を使いました)

すでに環境を構築している方向けの、あっさりめの説明です。

使用する ControlNet モデル

冒頭で「めっちゃいい ControlNet のモデルがリリースされた」というのがこちらです。

Katarag_lineartXL-fp16.safetensors

かたらぎさんの lineart です。SDXL 系の lineart では現在このモデルが一番精度がいいと思われます。

ControlNet モデルのダウンロード方法や保存場所については各自検索してください。

Stable Diffusion で自作線画に色を塗る方法

i2i で ControlNet lineart を使います。

i2i の設定

i2i タブを選択し、「ここに画像をドロップ -または- クリックしてアップロード」というところに画像を入力します。

例として、この画像を入れました。i2i 元に画像を指定したあと「Interrogate CLIP」や「Interrogate DeepBooru」でプロンプトを入力します。(面倒じゃない人は、もちろん自分で入力してもいいです。)

余計なプロンプトが入っていたら削除し、追加したいものがあれば追加します。

生成画像サイズのところで三角定規のアイコンを押して、元画像のサイズを取得しておきます。(元画像と同じサイズで生成する場合。)

Denoising Strength を任意の値に設定します。0.5 ~ 0.75 くらいかなと思います。

ControlNet の設定

lineart 用の画像を指定します。

今回はこの線画を入れました。何も入れなくても preprocesser で i2i 元画像から線画を生成できますが、自作線画がある場合は自作線画を入れた方が、線画に忠実に塗れます。

preprocesser は invert(from white bg & black line) を選びます。

モデルは Katarag_lineartXL-fp16.safetensors を選びます。

他の数値等は触らなくて大丈夫です。

これで生成してみてください。

生成結果

線画重ね

生成物に線画を重ねたものです。線画は70%の赤色で重ねています。

正直 SDXL 系の ControlNet でこんなに精度のいいものができると思ってなかったので驚きました。「みんなに見て欲しい、この精度の高さを!」という気持ちだけでこの記事を書き始めました。

Denoising Strength 0.5

SD1.5 系だと 0.5 でももっと影がついてたと思うんですが、少ししか描かれませんでした。

Denoising Strength 0.65

個人的には今回試した中では、この 0.65 くらいがいいかなと思いました。影や光も描かれつつ、絵も上手くなりつつ、元の色もまあまあ残ってる。

Denoising Strength 0.75

0.75 が一番(絵が)上手いのは上手いんですけど、色がけっこう変わってしまうんですよね。下塗りを作るときにパーツでレイヤーを分けてるので、生成後にそれを使って色を調整すればいいかもしれないです。

試せなかったこと

実は SD1.5 系で色を塗る時は lineart と tile を併用していました。tile を一緒に使うと、色の維持度が上がるので Denoising Strength の数値を上げられていい感じになるんですが、今回それをやろうとするとエラーが出てできませんでした。

最近私の環境ではエラーが頻発していて、何が悪いのかわからないのです。もし tile も一緒に使えた方は結果がどうだったか教えてくれると嬉しいです。

すごい lineart だ~

開発してくれている方には悪いのですが、SDXL 系は ControlNet の精度がいまいち出ない状況が続いていました。絵を描く人間としては、自分の絵に AI を合わせにいきたいのに、それができない状況ということです。ところが突然このモデルのテスト版がリリースされ、あれよあれよという間に Katarag_lineartXL がリリースされました。「色塗りはもう copainter の一人勝ちだ!」と思っていたのですが、こんなに精度が出るモデルをオープンに出してくださるとは…。画像生成AIは絵描きにこそ使って欲しいと思っているので、こういう絵描きに便利なモデルが公開されることはとても嬉しいです。ありがとうございます。

おわり