Stable Difussionを使って、画像AIを実装した。
今回は美しい人物の描画に特化したモデルを選ぶことにした。
Stable Diffusionの実装には、diffuserというStable Diffusionをラップしたライブラリを使用するのが便利なのでそれを利用することに。
提供されていたモデルは、safetensorという形式で配布されており、そのままではdiffuserでは利用できないため、利用できる形式に変換するためのスクリプトを利用。
さらに、Samplerという画像を生成する処理を担っている部分に、DPM-Solver++というものを選択。
このSamplerは他のものと比べ、少ないステップ数で同クオリティの画像を生成することができ、その結果、効率的に画像を生成していくことができる。
加えて、xformersなどのライブラリを利用して生成時のメモリの使用量を減らし、より少ないリソースで実装できるように調整した。
最後に、生成される画像は512×512のサイズとなるため、upscalerを利用して1024×1024で生成されるように変更。
こうして画像生成AIが実装できた。
せっかくなので、CG画像と写実的な画像の両方を作って比較してみた。
確かに写実的な画像は、CGに見劣りしないぐらい美しく、また、現実に存在するぐらいリアルなものになった。
↑写実的な画像
↓CG画像
