Stable Diffusion 3.0 性能検証
はじめに
今回はつい先日リリースされたばかりのStable Diffusion 3.0を課金してつかってみたので、簡易的なレポートができればと思います!
使ってみたいけど課金するのはちょっと…と思っている方はぜひ一度参考にしていただければと!
SD3の紹介
Stable Diffusion 3 APIが利用可能に — Stability AI
Stability AI - Developer Platform
Stability AIの最新モデル、現在はAPI経由でのみ利用が可能。
モデルアーキテクチャが一新され、Diffusion Transformerを採用したのと、T5とCLIP2つの計3つをText Embedderに使っている。
T5をEmbedderに使っているので文字生成も可能となっている。
(出展: https://stability.ai/news/stable-diffusion-3-research-paper)
パフォーマンスは視覚的に美しいか、プロンプトへの忠実度が高いか、文字がプロンプト通りに生成されるか、の3つの観点で評価。
結果、Stable Diffusion 3.0が主要のモデルすべてに対し、すべての評価基準で上回った
(グラフはStable Diffusion 3.0を基準とし、各項目での勝率を記載している)
(出展: https://stability.ai/news/stable-diffusion-3-research-paper)
値段表
SD3よりSD3 Turboの方が安いのは謎(SD3を使う場合は6.5クレジット消費される)
10$で1000クレジット購入可能なため、一枚生成するのにおおよそ1.5円
使用方法
- 以下のページの右上からLogin
- loginしたら、API KeysからAPIキーを取得する
- API Referenceからサンプルコードをコピーし、Pythonで実行
import requests
response = requests.post(
f"https://api.stability.ai/v2beta/stable-image/generate/sd3",
headers={
"authorization": "ここに取得したAPIキーを入力",
"accept": "image/*"
},
files={"none": ''},
data={
"prompt": "dog wearing black glasses",
"output_format": "jpeg",
},
)
if response.status_code == 200:
with open("./dog-wearing-glasses.jpeg", 'wb') as file:
file.write(response.content)
else:
raise Exception(str(response.json()))
デフォルトのプロンプト設定だと以下のような画像が出てくる。
評価
評価対象は、Stability AI内でAPI形式の利用が可能な「Stable Image Core」と「Stable Diffusion 3.0」
アニメ風イラスト生成
タグ形式のプロンプト
以下のプロンプトでテスト(ぷろんぷとはちちぷいを参考に作成)
"prompt":
"""
anime, Kawaii, (masterpiece:1.3),(best quality:1.1),(highres:1.1),(very aesthetic:1.1),1girl,(black hair:1.2), (messy hair:0.3), (medium hair:1.1), (swept bangs:1.1),(blue eyes:1.2), (upturned eyes:1.1),eyelashes, (pantyhose:1.1), light smile, upper body,
""",
"negative_prompt":
"""
lowres, bad anatomy, bad hands, text, error, missing fingers, cropped, worst quality, low quality,normal quality, blurry, lowres,
""",
-
Stable Image Core
-
Stable Diffusion 3.0
-
感想
- いわゆるAIイラストっぽい感じの画像が生成されるStable Image Coreに対して、SD 3.0はかなりリアルな写真寄りに生成される様子
- 生成される絵柄の幅もSD 3.0の方がかなり幅広く、同一プロンプトでもシード値が違うだけで、かなり色々な画像が出てくる。(言葉を選ばず表すのであれば、SD3.0の方がよりガチャ要素が強い印象)
自然言語形式のプロンプト(英語)
先ほど生成した画像をGPT4に渡し「英語」でプロンプトを作ってもらい結果を比較
(日本語による生成は現時点では行えない模様で、日本語でプロンプトを入力すると出力を拒否される)
"""
This image is a digital art piece depicting a young woman with striking features that are commonly found in anime or manga illustrations. She has large, expressive blue eyes and shoulder-length black hair with a slight wave, framing her delicate face. Her complexion is fair, and she wears light makeup, enhancing her natural beauty. She is adorned with a simple yet elegant white off-shoulder dress with lace details, giving her a soft, ethereal appearance. Two thin silver chains with subtle pendants grace her neck, adding a touch of sophistication. The background is a soft, pastel blue that complements her overall serene and gentle aesthetic.
"""
-
Stable Image Core
-
Stable Diffusion 3.0
- 感想
- 自然言語形式でも問題なく出力結果を制御が可能
- むしろ、タグ形式よりもある程度文脈を理解して出力してくれるので安定感が増した(特にStable Diffusion 3.0)
- 感想
実写風画像生成
アニメ風画像生成で使った自然言語プロンプトから、アニメ・漫画要素を取り除いてプロンプトを作成。
使用したプロンプトは以下
"""
This image is a young woman. She has large, expressive blue eyes and shoulder-length black hair with a slight wave, framing her delicate face. Her complexion is fair, and she wears light makeup, enhancing her natural beauty. She is adorned with a simple yet elegant white off-shoulder dress with lace details, giving her a soft, ethereal appearance. Two thin silver chains with subtle pendants grace her neck, adding a touch of sophistication. The background is a soft, pastel blue that complements her overall serene and gentle aesthetic.
"""
-
Stable Image Core
-
Stable Diffusion 3.0
-
感想
- Stable Diffusion 3.0は実写が強いのではと当初思ったものの、結果をみるとStable Image Coreの方が品質が良い?(ただしプロンプトを全然詰めていない点に注意)
- Stable Diffusion 3.0の方が宣材写真っぽく、Stable Image Coreの方がより自然な画像が生成されるように見える
- これはStable Diffusion 3.0, Stable Image Core両方に言える事だが、実写系の画像を生成するとデノイズ途中のようなぼやけた画像が生成される頻度が非常に高かった
- そのため、ネガティブに”Blur”などは常時入れておいてもよいかもしれない
文字画像の出力(日本語)
生成される画像の内部に、日本語の文字が含まれるような画像を生成できるかを確認
作る画像は以下
- この画像は、赤地に白い文字で「止まれ」と書かれた日本の交通標識です。形状は逆三角形で、周囲に白い縁取りがあります。標識のデザインはシンプルで、主に車両に停止を指示するために使われていることを示しています。
- つまり「止まれ」の標識
プロンプトはGPT4で生成
This image features a Japanese traffic sign with the word "止まれ" (tomare), meaning "stop," written in white kanji characters against a red background. The sign is in the shape of an inverted triangle, outlined with a white border, signifying a regulatory sign that commands drivers to come to a complete stop.
-
Stable Image Core
-
Stable Diffusion 3.0
-
感想
- Stable Image CoreもStable Diffusion 3.0も日本語を生成することは難しそうに見える
- これは恐らくEmbedderとして使っているT5が日本語を学習していないためと思われる
- Stable Image CoreもStable Diffusion 3.0も日本語を生成することは難しそうに見える
文字画像の出力(英語)
生成される画像の内部に英語の文字が含まれるような画像を生成できるかを確認
プロンプトはGPT4で生成
This image features a Japanese traffic sign with the word "STOP", meaning "stop," written in white kanji characters against a red background. The sign is in the shape of an inverted triangle, outlined with a white border, signifying a regulatory sign that commands drivers to come to a complete stop.
-
Stable Image Core
-
Stable Diffusion 3.0
-
感想
- Stable Image CoreもStable Diffusion 3.0も文字を認識して記載してくれた。
- よりプロンプトに忠実なのはStable Diffusion 3.0のような気はする
- Stable Image CoreもStable Diffusion 3.0も文字を認識して記載してくれた。
終わりに
今回は公開されたばかりのSD3を触ってみた所感と、以前のモデルとの比較をしてみました!
個人的には、リアル寄りのイラスト生成が非常に強そうだなという手応えがありました。
今回は性能検証がメインのため、あまりプロンプトなどは追及しませんでしたが、色々いじりがいがあるモデルだとおもいます!
興味が出たら是非触ってみてください!
Discussion