StableDiffusionでの遊びを続けているが、生成画像のアスペクト比によって構図が結構変わり得ることを知って改めて生成画像のサイズについて試行錯誤をしている。
アスペクト比変更例。512pixel四方では「wide angle」などと入れてもなかなか広角っぽい絵は出てこないが、アスペクト比を変更するとあっさりそれらしい構図が出てくる。
生成画像のサイズには縛りがある
*これ以降、上のGIGAZINEさんの記事内にあるStableDiffusionGUI、初期設定で試した内容を前提で記述する。
StableDiffusion(以下、SD)で生成できるサイズは「64の倍数」という縛りがあり、その中で自分が生成したいアスペクト比に最適な組み合わせを考える必要がある。なお、SDのデモ版(ブラウザから出来るもの)ではこの画像生成サイズは固定(512pixel四方)なので特に関係ない。DreamStudioは変更可能だが正方形のみだったような・・・?下の表はサイズの組み合わせ。適当に作ったので縦横で被りがあるのはご勘弁。
16:9比率の最適解
一般的なFullHD(1,920×1,080、16:9)のアスペクト比に対応した組み合わせは以下の通り。総ピクセル数が少ない順、多少の誤差あり。
- 448×256
- 576×320
- 704×384
- 832×448
- 896×512
- 1,024×576
これらが大体、アスペクト比的にFullHDに近くなるはず。ただし、VRAMが少ないと生成できる画像の大きさに制限が出てくる。私のPCで試した限り、VRAM 8GBでは生成できて総ドット数360,448が限界。残念ながら下3つは厳しい。次にグラボを買う時はもう少しVRAMが多いものを選ぶとしよう・・・。
VRAM 8GBでオススメのサイズは704×384。総ドット数が性能限界から約9万ドットも少ない、かつアスペクト比がほぼ完璧に16:9。計算上は違うがPhotoshopで拡大してみればほぼぴったり。
CPUでも出来ないことはない様だが・・・
GIGAZINEさんの記事ではほかに、GPU(グラボ)ではなくCPUを使用してSDを使用する方法も紹介されている。
ただし、「512pixel四方1枚の画像生成に18分30秒かかった」との事なので実用上はなかなか厳しいものがある。GPUを使用すれば上記のようなアスペクト比で5枚生成するのに5分とかからないし、画像生成は良いものが出てくるまでのある種のガチャ的な要素もあるので、1枚の生成にそこまで時間がかかるのは厳しいものがある。というかそこまで待ってられん。
生成した画像の活用方法
生成できる画像の最大サイズは1,024pixel四方なので、最大サイズで生成できてもその大きさはFullHDに満たない。なのでそうした画像はGigapixelやWaifu2xといったソフト、サービスで拡大して使用する予定。主に絵の背景として。あるいは絵を描く際に構図の参考にしても良い。風景画がどうも苦手なので、代わりに構図などを考えてもらうのもいいかなと思っている。それにしても、SDで遊び初めてからリアルで油絵の風景画を描きたくなった。技術がまず追いつかないだろうが楽しそうではある。画像は画像なので現実の絵画にする際に特殊な絵の具を使い、鑑賞した時の効果で差を付けるのもいいだろう。
余談:苦手なもののパターン
AIが苦手とするもののパターンがだんだん分かって来た。それは「形が変わりやすいもの」。たとえば蝶を指定しても、妙に溶けた蝶が生成される場合がある。これは蝶がひらひら羽ばたくがゆえに画像としての形状にバラつきが出るためだろう。
同様に花火なんかも苦手のようでイラストの背景画像を生成できないかといろいろ試行錯誤していたが、私にはどうあがいてもキレイな花火の画像を生成させることが出来なかった。これも花火と一口に言っても炸裂する大きさや色、風に流された場合の火花の落ちる方向などのバラつきが多く、「花火とは何か」を真に理解していないAIにはそれらしい絵が出しづらいようだ。
結局、花火はCLIP STUDIOで有志によって配布されている専用のブラシの方がずっと手軽かつキレイにイラストを描けるのだった。思えば人間の顔だって崩れがちだが、たしかにパーツの描き方は千差万別。表情によってもころころ形が変わる。風景はある種、不変に近いので得意なのだろう。やはりモノによってAIに任せるか自分で描くかを考える必要がある。