見出し画像

Stable Diffusionを使ったイラスト作成の記録(12) ~ ポジティブSPレイヤーで画風を調整する ~

前回の記事

シリーズ一覧

Layered Diffusion Pipelineを使うためのリンク集

ポジティブ画質タグ

前回の記事の後半で、ポジティブ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段目は加算モードで適用して生成した画像です。

イラスト風 1.0から適用
スケッチ風 1.0から適用
イラスト風 0.7から適用
スケッチ風 0.7から適用

これらの設定で混合モードと加算モードを比較すると、混合モードの画像は、2段目の画像と比べて一部の特徴が1段目の画像に戻っている様子が見て取れます。しかし、加算モードの方ではそういう様子は見られません。

まとめ

ポジティブ画質タグは画風に合わせる

ポジティブ画質タグは望みの画風に合わせて選択するのがよいと考えられます。今回はカラー挿絵イラスト風(イラスト風)とカラー手書きスケッチ風(スケッチ風)の2種類の画風に合わせてポジティブ画質タグを選択しました。

ポジティブSPレイヤーには加算モードを使う

ポジティブSPレイヤーを使う場合は、デフォルトの混合モードではなく加算モードを使う方がよいと思われます。混合モードの場合、これまでの調整で改善した特徴が巻き戻ってしまう可能性があるためです。

この記事が気に入ったらサポートをしてみませんか?