Stable Diffusionの公式API、1,800枚の画像を生成して比較検証してみた(動画あり) #StableDiffusionAPI
Stable Diffusion 3 Mediumがリリースされ、画像生成AIの最先端である「Stable Diffusion」にも新しい時代がやってきました。
Stability AIのご協力のもと1,800枚の画像を生成して検証実験を行いました。
このレポートがみなさまのお役に立てれば幸いです。
Google Photo https://j.aicu.ai/SD3GP
実験前の注目点
実験前の注目点を整理すると、新しいアルゴリズム、公開されたweightsの特性、オープンソース開発者による取り組みなど、しばらく話題が絶えないAICU media編集部ですが、最近のAICU AIDX Labリサーチ担当が注目しているのは「公式API」、「Stability AI提供の開発者プラットフォームがなかなかすごい!」という点です。
https://platform.stability.ai/
Generate APIに新モデル「Ultra」登場
Stable Image Ultra [New!]
Stable Image Core
Stable Diffusion 3 Large
Stable Diffusion 3 Large Turbo
Stable Diffusion 3 Medium
SDXL 1.0, SD 1.6
正直、たくさんあって、どれがどう違うのか、良くわかりませんよね!
✨️編集部ではアドボケイターやコミュニティのご協力で、すでに2つの記事でユーザーレビューを紹介させていただいております。
❏全世界最高峰・最上位の画像生成AI (Stable Diffusion 3 8B+) が凄すぎた件
https://note.com/aicu/n/n56ae423b222a
❏2024年6月現在、世界最高峰の画像生成AI「Stable Diffusion 3 8B+」を試す https://note.com/aicu/n/n21db0870eb40
実験方法
今回は、ユーザーさんの印象的なアートの評価とは別に、最新の3つのモデルの性能や特性を定性的に評価するアプローチを取ってみたいと思います。
各モデルの公称特性
Stable Image Ultra 1メガピクセル生成(以下、Ultra)
Stable Image Core 1.5メガピクセル生成(以下、Core)
Stable Diffusion 3 Large 80億パラメータモデル(以下SD3L)
Stable Diffusion 3 Medium 20億パラメータモデル(以下、SD3M)
Stability Image Coreの入力パラメータはスタイルを受け付けます。他のAPIにくらべて柔軟性や制御性が高いインタフェースを有しているといえます。
比較的難度が高い、指や視線、文字描画などを含む共通プロンプトを使って、各モデルで各スタイルを横断的に生成させることで、どのような特徴があるか、評価していきます。
生成画像の公開
上記のAPI{Ultra, Core, SD3L, SD3M}の4種+SD3Mのスタイル指定方式の違いでモデルとしては5モデル、各18スタイル、各20セットで画像生成を合計1800枚ほど行いましたのでまずは共有します。
https://j.aicu.ai/SD3GP
与えたプロンプト
それぞれの画像のファイル名を見ることで生成する際に使用した情報を知ることができます。
スタイルには以下の17スタイル+無属性(normal/指定せず)を加えています。
スタイルについて
この「17スタイル」とは、SDXLにおいてAPIで指定できる画風のことです。
Clipdropでは画像生成時にプロンプトとともにオプションとして設定できます。
https://clipdrop.co/text-to-image
SD3系でもプロンプトによるスタイルの指定は有効なケースと、そうではなく、シード依存になるケースがあることが予備調査によってわかりましたので、今回の調査ではスタイルの制御性についても評価対象にしておきます。
APIエンドポイント
使用したAPI Endpointsは以下のとおりです。
https://api.stability.ai/v2beta/stable-image/generate/ultra
https://api.stability.ai/v2beta/stable-image/generate/core
https://api.stability.ai/v2beta/stable-image/generate/sd3
生成コスト
生成コストは以下のようになります。高価な順に
Ultra(8credits) x 18 styles x 20 sets = 360 pieces, 2880credits = $28.8
SD3L(6.5credits) x 18 styles x 20 sets = 360 pieces, 2340credits = $23.4
SD3M(3.5credits) x 18 styles x 20 sets = 360 pieces, 1260credits = $12.6
Core(3credits) x 18 styles x 20 sets x 2 types = 720 pieces 2160 credits = $21.6
合計 $86.40 USD = 13,632円
✨️Stability AI, Jerry Chiさま、実験へのご協力ありがとうございます✨️
いずれも失敗した結果に対して課金されることはありません。
生成方法
Windows上でバッチファイルを作ることで生成できます。
サンプルはこちらで公開・解説しています。
#10分で学べるAI
❏バッチファイルでバリエーション広告を生成しよう(2)解説編
https://ja.aicu.ai/saiimgbat-detail/
今回は最終的に動画を作ることになりましたので、もし同じ実験を追従される方がいらっしゃいましたら、生成時間の測定、連番ファイルでの生成やデータベースとの連動なんかも考えてみるとその後の活用がしやすいのかなと思いました。特に生成時間はローカルGPUや Google Colabでの生成と比較しても非常に高速で、数秒です。これ自身が価値あると考えます。
映像制作目的では、Google Apps Script + Google Slidesでのバリエーション広告での活用事例などもご参考にいただければ幸いです。AICU AIDX Labとしては、カスタマイズ依頼も歓迎です。
❏Google Slidesでバリエーション広告を大量生成
https://ja.aicu.ai/aicu-saiad/
結果の確認方法
All shots available on Google Photo https://j.aicu.ai/SD3GP
詳細はファイル名に埋め込まれています。
シード値(APIで指定、乱数はバッチファイルで生成したもの): 1-32768
モデル(ファイル名の末尾):"U"=Ultra, "Ca"=Core(プロンプトで指定), "Cb"=Core(APIで指定), "3L"=3-Large, "3M"=3-Medium
Core のみAPI側で指定できるので
[Ca]プロンプトで指定した場合
[Cb]APIで指定した場合
この画像の場合には、ファイル名が
analog-film style, best quality, trending on art station, looking at viewer, 1girl has a panel which is written [AICU], V-sign , in Shibuya crossroad_14117_1_Ca.png となっています。
つまり、CoreAPIに対して、APIではなく「analog-film style」というプロンプトを設定して共通プロンプトを設定しています。シードは14117。
Vサインはしていないのですが、指は5本、渋谷らしく日本人的な女性で、非常に自然な絵になっているという評価ができます(CoreAPIには文字を描く能力はない)。
Google Photoは同じ顔についても検索することができます。
例えばこちらの画像、
modeling-compound style, best quality, trending on art station, looking at viewer, 1girl has a panel which is written [AICU], V-sign , in Shibuya crossroad_9240_5_Ca.png
こちらもCa、つまりCoreAPIでプロンプト指定によって生成されています。CoreAPIには文字を描く能力はないはずですが、胸には「ACU」の文字が確認できます。指は本数は5本できちんとVサインをしていますが、掌と親指がちょっと怪しげな結果です。しかしこのぐらいであればPhotoshopや image to image で修正できる可能性は高いと考えます。
気に入った画像は気軽に★や♥、コメントなど頂ければ幸いです。
興味深い結果が多くありますので継続的な評価結果の共有、それから X@AICUai でもフォトコンテストを開催してみたいと思います。
動画版
Stable Image Ultra API - Quality Testing
https://youtu.be/4Z0gtKPA1Jk
Stable Diffusion 3 Large API - Quality Testing
https://youtu.be/5XIvuQq2W0I
Stable Diffusion 3 Medium API - Quality Testing
https://youtu.be/ajjG52YKego
やってみてわかったこと・今後について
APIを使って多様な絵を作る技術
広告やマーケティング、Eコマース、プロダクトデザインといった分野において、従来のMidJourneyやNijiJourneyによる画像の探求をAPIやバッチファイル、Google Apps Script+Google Slidesを使った大量画像生成を使って比較検討、従来手法では不可能なレベルの人間+AIの革新的なワークフローを構築することができる可能性があります。
例えば今回の実験も1800枚という人間には処理しがたい量の画像を生成して分類処理していますが、スクリプトによる制御がされている状態なので、動画生成や検討する上では見積もり可能な時間で作業ができています。今回の実験も、2回目以降であれば、より自動化が進むと考えます。
定性的な評価に向けたアプローチ
今回の実験方法で、プロンプト、ネガティブプロンプトを固定し、スタイルを制御する複数の方法、アナトミーの破綻、NSFW率、プロンプトとAPIによるスタイル指定の制御率、シード値の優位性、構図、ポーズ、指の制御性、StepやSeed、サンプラーについても調査可能と考えます。
例えばこの動画や静止画データセットを使って、統計的な手法でのプロンプト制御性や、スタイル指定、手・指・掌、文字の描画能力といった評価が可能になると考えます。AICU AIDX Labでも、この画像データセットをChatGPT-4VやGoogle Vision AIによって評価判定する定量的手法についても取り組んでみております。今のところ、評価結果が安定しないので、いったん人間による判定を中心に実施しています。
モデル間の評価(作業者の印象ベース)
Coreのよいところ
・APIでのスタイル指定(プロンプトでの指定は無視される)
・構図やポーズはプロンプトで指定
・生成が速い
・コストが最も安い(3credit)
SD3Mのよいところ
・文字が描ける
・応答速度が速い
・クラシックなSD1.x系クオリティプロンプトが有効(素の状態では画質の劣化感がある)
・構図やポーズはプロンプトの指定を強くききがち(CFGが高い印象)
・コストが安い(3.5credit)
SD3Lの良いところ
・空間文字か描ける
・プロンプトでのスタイル指定が有効
・コストはフラッグシップモデルとして理解(6.5credit)
Ultraのよいところ
・光や影の品質、肌の質感などの品質が高い
・プロンプトでのスタイル指定が有効
・構図やポーズはプロンプトで指定できる(シードによって無視されることもある)
・得意なスタイルがある
・SD3LとUltraの比較結果がほしい
SD3LとUlta、SD3Mの比較動画
左上がSD3L、右上がUlta、左下がSD3LとUltraの合成、右下が3Mです。
https://www.youtube.com/watch?v=vk0iTE52RcQ
シードとプロンプトが同じ場合、SD3LとUltraは非常に近い結果を出すようです。Ultraのほうが描写力特に、空間、肌、ホクロなどの描きこみが増す傾向にあります。スタイルはNeon-Punkが比較的良い印象ですが、他のスタイルも魅力的です。
✨️このデータセットを使った評価に興味がある方は X@AICUai までご連絡ください。
✨️Stability AI のソリューションについてのご相談は sai@aicu.ai まで頂ければ幸いです。