先日試したControlNetの学習を「いらすとや」のデータセットで学習させてみた。
データセット
以前にStable Diffusionの追加学習を試したときに収集したいらすとやの22891枚の画像を使用した。
いらすとやの画像説明文に加えて、wd-v1-4-vit-taggerを使用して、確率が0.5以上のタグを付与した。
スケッチ画像は、データローダでOpenCV2のCannyを使用して動的に生成した。
ベースモデル
ベースモデルには、Stable Diffusion 1.5と、Waifu Diffusion 1.3の2パターンを使用した。
Stable Diffusionベースの結果
Stable Diffusion 1.5をベースモデルとして学習した結果を示す。
データセットにない画像
書き込みが細かいスケッチの場合、違う雰囲気になる。
生成例の左上はそれなりに自然に着色できているが、それ以外は破綻している。
足の爪の線はいらすとやの特徴がでていそうである。
人物
口の描き方や、生成例の左下の目の描き方は少し特徴が表れているが、全体的に破綻が目立つ。
手のあたりの着色は完全に誤っている。これは、いらすとやに手の塗り方の例がないためと思われる。
データセットから離れた画像に対する着色は難しいようである。
損失
なお、14エポック学習した際の損失は以下の通りであった。
Waifu Diffusionベースの結果
Waifu Diffusion 1.3をベースモデルとして学習した結果を示す。
データセットにある画像
Stable Diffusionベースの場合と同様に、いらすとや風に着色できている。
生成例によっては頭と胴体がちぐはぐなところはある。
人物
Stable Diffusionベースよりクオリティは上がっているように見える。
元がアニメ調のイラストなので、Waifu Diffusionの方がうまくいくようだ。
DeepBooruタグ
プロンプトをInterrogate DeepBooruで生成した場合も試してみた。
プロンプト:1girl, bangs, bare_shoulders, black_hair, blush, bookshelf, brown_eyes, brown_hair, curtains, frills, from_side, hair_ribbon, holding, long_hair, looking_at_viewer, red_ribbon, ribbon, sleeveless, smile, solo, two_side_up, upper_body
ところどころ破綻しているが、塗り方は上手くなっているように思える。
損失
なお、12エポック学習した際の損失は以下の通りであった。
まとめ
ControlNetをいらすとやのデータセットで学習させてみた。
結果、いらすとやのスケッチに対しては、いらすとや風に着色することができた。
いらすとや以外については、着色の特徴は表れているが、いらすとやの画風から離れるほど破綻が目立つようになった。
ベースにするモデルをStable Diffusionにした場合とWaifu Diffusionにした場合では、比較的Waifu Diffusionをベースにした方が質が高くなった。
これは、Waifu Diffusionがイラストを多く学習しており、いらすとやの画像により近い特性があるためと思われる。
ControlNetを学習する際は、元のモデルが着色したい画像に近い画像を生成できるモデルをベースにした方が良いと言える。
次は、イラストのデータセットでイラストの着色モデルを学習してみたい。