Stable Diffusionを使ったイラスト作成の記録(12) ~ ポジティブSPレイヤーで画風を調整する ~
前回の記事
シリーズ一覧
Layered Diffusion Pipelineを使うためのリンク集
ライブラリの入手先と使用法(英語) : Githubリポジトリ
日本語での使用方法の解説 : Noteの記事
ポジティブ画質タグ
前回の記事の後半で、ポジティブSPレイヤーを試してみましたが、前回はほとんど動作確認をしただけにとどまっていたので、今回からしばらく、より突っ込んだ分析を行っていきます。
まず、第8回でネガティブ画質タグを集めた時のように、プロンプトによく使われる画質に関わるタグを集めてみます。今回は、元素法典第1巻とISIDテックブログの記事に掲載されていたプロンプトを分析しました。
集めたタグは、次のようなタイプ別に分類しています。
画材/画風
色/質感
解像度/画質
雰囲気
ブランド/アーティスト
カメラ設定
陰影/光の効果
人物
カメラアングル
背景効果
画材/画風
anime screeshot
classic
game cg
illustration
ink
masterpiece
official art
painting
photorealistic
posing sketch
ray tracing
retro artstyle
sketch
super fine illustration
ukiyoe style
watercolor
pencil drawing
crayon painting
acrylic painting
watercolor painting
oil painting
ukiyo-e painting
airbrush caricature
low poly illustration
japanese anime
色/質感
colorful
crystals texture
darkness
extremely gorgeous metal style
gelatinous texture
glass tint
解像度/画質
4k
8k wallpaper
best quality
extremely delicate and beautiful
extremely detailed
extremely detailed cg
extremely detailed cg unity 8k
extremely detailed wallpaper
finely detailed
highres
huge filesize
ultra detailed
very fine 8K cg wallpaper
雰囲気
amazing
authentic
christmas
dream
everything flowing and melt
fairyland
floating
misty
outdoors
rainy days
science fiction
spring
unexposed
wind
blue hour
award-winning
ブランド/アーティスト
azur lane
dark soul
girls front
hiten 1
world masterpiece theater
pixiv
unreal engine
カメラ設定
character focus
depth of field
focus on face
hdr
long focus
overexposure
sharp focus
soft focus
SIGMA 85 mm F/1.4
SIGMA 24 mm F/1.4
SIGMA 300 mm F/2.8
SIGMA 105 mm F/5.6
1/1000 sec shutter
1/20 sec shutter
1/10 sec speed
5 sec shutter
ISO 400
陰影/光の効果
ambient light
beautiful deatailed shadow
beautiful detailed glow
beautiful detailed lighting
best shadow
bloom
brilliant light
caustics
cinematic lighting
detailed light
dramatic shadow
fine lighting
halo
Holy Light
lens flare
light leaks
light shafts
lightning effect
shine
sunlight
very delicate light
very detailed light
人物
anime face
cute anime face
detailed clothes
detailed cute anime face
full body
upper body
カメラアングル
close up
dramatic angle
dynamic angle
face to face
far from viewer
looking at viewer
panning shot
stare
straight on
very close to viewers
view straight on
背景効果
beautiful detailed gemstone sky
complex pattern
glinting stars
glowworm
meteor
particle
scenery
starfall
使用するポジティブ画質タグ
以上の分析を元に、今回使用する画質タグを選びます。ネガティブ画質タグとは異なり、通常プロンプトに配置するタグは生成画像の方向性を決定づけるものなので、自分が求める画風に合わせて取捨選択が必要になると思います。
そこで、今回は下のような2種類の異なる画風を想定したタグ選択をしてみようと思います。
カラー挿絵イラスト風
カラー手書きスケッチ風
共通部分
まずは、2つの画風で共通になる部分のタグを選びます。
outdoors,
sunny,
spring,
wind,
hdr,
ambient light,
sunlight,
full body,
looking at viewer,
まず、outdoors, sunny, spring, windは、画像の状況を示しています。それに合わせて、ambient light, sunlightというように光の様子を指定します。hdrは近景と遠景の間の輝度の差を少なくして、より平面的にします。
full body, looking at viewerは人物に対する指定です。なくてもよいかもしれませんが、試しに入れてみました。
カラー挿絵イラスト風
カラー挿絵イラスト風の独自部分のタグです。
novel illustration,
official art,
8k wallpaper,
extremely detailed
highres,
SIGMA 85 mm F/1.4,
bloom effect,
novel illustration, official artで画風を指定します。どちらもDanbooruに存在するタグです。さらに8k wallpaper, extremely detailed, highresで高精細な画質を要求してみます。
SIGMA 85 mm F/1.4はスタンダードなカメラの画角と被写界深度を指定しています。bloom effectは明るい部分の光が周囲に広がる効果で、太陽の光が当たったところが輝いているような雰囲気にならないかと思って入れたものです。
カラー手書きスケッチ風
カラー手書きスケッチ風の独自部分のタグです。
colored pencil,
watercolor,
sketch,
millipen,
colorful,
SIGMA 24 mm F/1.4,
beautiful glow,
dramatic shadow,
light particles,
colored pencil, watercolor, sketch, millipenで、手書きスケッチの雰囲気を求めています。数種類の画材が混ざっていますが、手書き風であればよいという気持ちです。また、colorfulと指定して、より色彩を強調してみました。
SIGMA 24 mm F/1.4は広角レンズで、背景までボケの少ない画像を意識してみました。beautiful glow, dramatic shadowはよりくっきりした陰影を求めたものです。
light particlesは思い付きで入れたもので、光の粒子が飛んでいるような効果を意図したものです。どういう結果になるかはやってみないと分かりません。
SPレイヤーの適用方法の選択
まず初めに、前回説明して試してみたものの、結論が出ていなかったSPレイヤーの適用方法の選択について、分析を進めます。適用方法には「混合」と「加算」の二種類がありました。
「混合」モードは、SPレイヤー適用前のプロンプトのCFGスケールが適用後に全体として変わらないように、SPレイヤーのプロンプトに対して加重平均を取るように混合する方法で、「加算」モードは、SPレイヤー適用前のプロンプトに対するCFGスケールが適用後に維持されるように、SPレイヤーのプロンプトを加算する方法です。
ネガティブSPレイヤーの場合は、デフォルトの混合モードで問題ありませんでしたが、ポジティブSPレイヤーではどうでしょうか。
実験方法
上で選んだカラー挿絵イラスト風(以下、イラスト風)かカラー手書きスケッチ風(以下、スケッチ風)のどちらかのポジティブ画質タグを含むポジティブSPレイヤーを、前回のスクリプト(11-1)に追加します。レイヤーの強さは0.3で、適用開始は1.0と0.7の二種類を試しました。
前回の記事の後、Layered Diffusion Pipelineを更新して、スクリプトの書き方が少し変わりました。変更の詳細はGithubのコミットログを参照してください。
# スクリプト(12-1)
seed, img_strength, cfg_scale, cfg_after = 123456, using(0.5, until=0.75), 20, 0.8
add_mode = True # または False
pos_after = 1.0 # または 0.7
positive_quality_tags = "" # ポジティブ画質タグを設定
images = pipe(
initialize=ByImage(
image="schoolgirl.png",
strength=img_strength,
),
iterate=[
Layer(
prompt=("high school, school ground, school building, cherry tree, "
"blue sky"),
negative_prompt="1girl",
cfg_scale=using(cfg_scale, after=cfg_after),
),
Layer(
prompt="1girl, solo, high school, school uniform",
negative_prompt="",
mask_by="schoolgirl_mask.png",
cfg_scale=using(cfg_scale, after=cfg_after),
),
SPLayer(
prompt=negative_quality_tags,
for_negative=True,
strength=using(0.2, after=cfg_after),
),
SPLayer(
prompt=positive_quality_tags,
for_add=add_mode,
strength=using(0.3, after=pos_after),
),
],
num_steps=30,
size=(512, 512),
rand_seed=seed,
)
1行目のパラメータは乱数シードごとに指定で、2行目から4行目のadd_mode、pos_afterとpositive_quality_tagsを変えて画像生成を実行します。
生成画像
最上段の行はSPレイヤーなしでcfgスケール一定の画像、2段目はポジティブSPレイヤーなしで途中からcfgスケールを増やしてネガティブSPレイヤーを適用した画像です。
3段目は2段目の設定に加えて、ポジティブSPレイヤーを混合モードにして適用したもので、4段目は加算モードで適用して生成した画像です。
これらの設定で混合モードと加算モードを比較すると、混合モードの画像は、2段目の画像と比べて一部の特徴が1段目の画像に戻っている様子が見て取れます。しかし、加算モードの方ではそういう様子は見られません。
まとめ
ポジティブ画質タグは画風に合わせる
ポジティブ画質タグは望みの画風に合わせて選択するのがよいと考えられます。今回はカラー挿絵イラスト風(イラスト風)とカラー手書きスケッチ風(スケッチ風)の2種類の画風に合わせてポジティブ画質タグを選択しました。
ポジティブSPレイヤーには加算モードを使う
ポジティブSPレイヤーを使う場合は、デフォルトの混合モードではなく加算モードを使う方がよいと思われます。混合モードの場合、これまでの調整で改善した特徴が巻き戻ってしまう可能性があるためです。