メインコンテンツへスキップ
見出し画像

日本人が開発した「Regional Prompter」がなかなかすごい!

    先日の年賀状クイズより。

    さて問題です。ウサギとドラゴン、異なる性質をもったキャラクターを一度に生成するにはどのような技術を使えばよいでしょうか?
    問題「キーになる技術 WebUIの Extensions の名前を当ててみてください」
    ヒント:
    ・この技術は幅広い応用があります(たとえば某マッチングアプリの広告のような…)
    ・画像にプロンプトは埋め込まれていますがそれだけだとわからないかも
    ・ヒントは AICU 社の公開リポジトリにあるかもしれません

    答えは「Regional Prompter」!

    https://github.com/hako-mikan/sd-webui-regional-prompter

    複数人物や領域を個別にプロンプト指定できる拡張機能です。

    似たような目的では「Latent couple extention」がありましたが、その後継、日本人が開発した「Regional Prompter」がなかなかすごい!

    画像
    どこかで見たことある雰囲気の画像…!
    flower garden background
    AND a man, short brown hair, black suit, red tie, modelshoot style
    AND beautiful cute woman, long black hair, white wedding dress

    元々は「ashen-sensored/stable-diffusion-webui-two-shot」というプロジェクトからフォークしたプロジェクトで、ANDを使うことでプロンプトの有効範囲を区切ることができます。雰囲気を揃えながら異なる男女を同じ1枚の画像に収めることができています。

    さて、「Latent couple extention」はプロンプトごとにU-Netの計算を行っていますが、今回紹介する「Regional Prompter」はU-Netの内部でプロンプトごとの計算を行います。

    しかも作者が日本人で日本語マニュアルも完備されています。

    https://github.com/hako-mikan/sd-webui-regional-prompter/blob/main/README.JP.md

    使い方は簡単です。

    まずはインストールは「Extentions」の「Install from URL」にこちらのURLを入れて「Install」。

    https://github.com/hako-mikan/sd-webui-regional-prompter

    画像

    特にエラーが出なければ「Installed」のタブから「Apply and quit」で一旦WebUIを終了させ、Google ColabやStability Matrixを再起動します。


    画像


    例えば こんな画像のimage2imageを処理するとします。


    画像

    例えばこの画像の左右を描き分けしたいと思った場合…
    画像の下の方にある「Regional Prompter」を開いて
    ☑ Active
    🔘Columns(縦に割る)
    ☑Use Base Prompt
    さらに「Visualize and make template」として「Divide Ratio」(分割率)を確認します。この場合はちょうど 1:1 で中央から分割するイメージです。

    画像

    下の画像ドロップに参考画像を入れておくと、よりわかりやすくなります。



    プロンプトは以下の通りになります

    best quality, 2girls, white kimono, BREAK
    1girl, green hair, twintail, yellow eyes, BREAK
    1girl, pink hair, blue eyes

    1行目がベース、2行目が左半分、3行めが右半分となります。
    つまり「全体が2人の女性、白い着物」、左は「緑のツインテール、黄色い瞳」、右が「ピンクヘア、碧眼」ということになります。

    画像
    画像

    Base Ratioを 0.2, 0.5, 0.7と上げていきつつ、img2imgの denoisingパラメータを {0.4, 0.5, 0.6, 0.7}と上げていき、どのような影響が現れるか観察してみます。

    画像
    Base Ratio = 0.2
    画像
    Base Ratio = 0.5
    画像
    Base Ratio = 0.7


    画像
    parameters best quality, 2girls, white kimono, BREAK 1girl, green hair, twintail, yellow eyes, BREAK 1girl, pink hair, blue eyes Negative prompt: worst quality Steps: 20, Sampler: DPM++ 2M Karras, CFG scale: 7, Seed: 2049928098, Size: 960x540, Model hash: 77b1007aa5, Model: blue_pencil-XL-v3.1.0, Denoising strength: 0.5, RP Active: True, RP Divide mode: Matrix, RP Matrix submode: Columns, RP Mask submode: Mask, RP Prompt submode: Prompt, RP Calc Mode: Attention, RP Ratios: "1,1", RP Base Ratios: 0.5, RP Use Base: True, RP Use Common: False, RP Use Ncommon: False, RP Options: [False], RP LoRA Neg Te Ratios: 0, RP LoRA Neg U Ratios: 0, RP threshold: 0.4, RP LoRA Stop Step: 0, RP LoRA Hires Stop Step: 0, RP Flip: False, Version: v1.7.0

    さらに人物によってLoRAを使い分けることもできます。

    なおこの機能拡張には新機能「差分生成・差分アニメ」が追加されています。

    https://github.com/hako-mikan/sd-webui-regional-prompter/blob/main/differential_ja.md

    デモのGIFアニメは圧巻です!

    画像
    https://github.com/hako-mikan/sd-webui-regional-prompter/blob/main/differential_ja.md

    scirptの中にあるDifferential Regional Prompterを選択します。Regional Prompterはインストールされていれば他に設定する必要はありません。

    いつくか実験してみましょう

    画像
     
     

    AICU

     
     
    生成AI時代に「つくる人をつくる」をビジョンに活動する日本最大のクリエイティブAIコミュニティ。 AIクリエイターさんとともに、「わかるAI」を伝えていきます。

    あなたへのおすすめ