先日の年賀状クイズより。
さて問題です。ウサギとドラゴン、異なる性質をもったキャラクターを一度に生成するにはどのような技術を使えばよいでしょうか?
問題「キーになる技術 WebUIの Extensions の名前を当ててみてください」
ヒント:
・この技術は幅広い応用があります(たとえば某マッチングアプリの広告のような…)
・画像にプロンプトは埋め込まれていますがそれだけだとわからないかも
・ヒントは AICU 社の公開リポジトリにあるかもしれません
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}と上げていき、どのような影響が現れるか観察してみます。
さらに人物によってLoRAを使い分けることもできます。
なおこの機能拡張には新機能「差分生成・差分アニメ」が追加されています。
https://github.com/hako-mikan/sd-webui-regional-prompter/blob/main/differential_ja.md
デモのGIFアニメは圧巻です!
scirptの中にあるDifferential Regional Prompterを選択します。Regional Prompterはインストールされていれば他に設定する必要はありません。
#smile and blink
0*30
smile;face;1.2;13-6
smile;face;1.2*10
smile;face;1.2;6-13
0*20
closed eyes;eyes;1.4*3
0*20
txt2imgで画像のプロンプトを
> best quality, 1girl, upper body, looking at viewer, brown hair, red glasses, tennis wear, in tennis court
ネガティブプロンプトを
> worst quality, ball, racket
#smile and blink
0*1
lookng_away;face;20
looking_at_viewer;face;1.2;13-6
smile;face;1.2*10
laugh_out_loud;face;1.2;6-13
0*20
closed eyes;eyes;1.4*3
0*20
#tennis girl
0*20
lookng_away;face;20
looking_at_viewer;face;1.2;13-6
smile;face;1.2*10
laugh_out_loud;face;1.2;6-13
0*20
closed eyes;eyes;1.4*3
lookng_away;face;20
0*20
0*20
lookng_away;face;1.2*20
looking_at_viewer;face;1.2;13-6
smile;face;1.2*10
laugh_out_loud;face;1.2;20-6
closed eyes;eyes;1.4*3
lookng_away;face;1.4;20-13
wink;face;1.2;20-13(2)
0*20
なかなか制御するのは難しいですが、簡単にGIF動画が作れるのはいいですね。
AICU(アイキュー)は「つくる人をつくる・わかるAIを届ける」をビジョンとしている、デジタルハリウッド大学発の米国スタートアップ企業です。生成AIに関する国際的なニュース・調査・社会理解のための情報発信、生成AIのクリエイティブな使い方TIPS、優しい用語集や書籍開発、エンターテイメント分野や、Stability AI社などの生成AIにおける世界トップ企業とのコラボレーションによる、プロフェッショナルビジネスへの応用ツール開発、社内展開ワークショップ、AI活用ハッカソンなどを展開しております。共同研究・受託開発・インターンなどお問い合わせやご相談はお気軽に X@AICUai までどうぞ。