Stable diffusionのControlNetにreference-onlyが追加されました

2023年 5月13日、写真やイラストからポーズなどの情報を取得してくれるStable diffusionの拡張機能「ControlNet」に「reference-only」機能を追加、メジャーアップデートされましたので作業ログを残しておきます。

ControlNet + reference-only

目次

 

メジャーアップデート情報

詳細な機能や動作サンプルは下記の本家GitHubを参照してください。

追加された「reference-only」の説明には、画像を参照として使用するだけとあり、サンプルを見ると、画像の特徴を抽出して雰囲気が似た画像を生成する機能と思われます。

github.com

 

ControlNetの導入

まだ導入されていない方

「ControlNet」の導入については下記の備忘ログを参照してください。

hastaluegoblog.hatenablog.com

 

導入済みの方

「reference-only」は、ControlNet v1.1.153以上のバージョンが必要とのことですので、バージョンアップを行います。

ちなみに、私はControlNet v1.1.139でした。

 

バージョンアップは非常に簡単で、以下の手順で行います。

①「Extensions」タブをクリック

②「sd-webui-contorlnet」の「Update」が「unkown」になっているか確認

③「Check for updates」ボタンをクリック

④「Update」が「behind」(バージョンアップあり)に変化

⑤「Apply and restart UI」ボタンをクリック

画面に「Reloading....」と表示されたのち、web-uiがリスタートして「txt2img」タブの表示(初期画面)に変わります。これでアップデート作業は終了です。

 

次に、「Extensions」タブをクリックし「Update」が「Latest」になっていればアップデート成功です。


私の環境ではアップデートまでは成功したのですが、web-uiの表示が「ControlNet v1.1.139」のままでした。。 web-uiを再起動することで無事に表示も「ControlNet v1.1.166」となり、「reference-only」を動作させる環境が整いました。

 

reference-onlyを使用する

元画像は下記備忘ログで使用した「ぱくたそ」さんのフリー素材を再使用させて頂きました。

hastaluegoblog.hatenablog.com

「ぱくたそ」さんのフリー素材
設定手順

①「ControlNet」の▼マークをクリックしてメニューを開く

②元画像をドロップまたはアップロード

③「ControlNet」を有効にするため「Enable」にチェック

④「Preprocessor」に「reference_only」を選択

 
作画

簡単なプロンプトを使って作画してみましょう。

Prompt

masterpiece, best quality, 1girl, street corner, hyperrealistic, 8k,

Negative prompt

easynegative, nsfw, bad anatomy, long_neck, long_body, longbody, deformed mutated disfigured, missing arms, extra_arms, mutated hands, extra_legs, bad hands, poorly_drawn_hands, malformed_hands, missing_limb, floating_limbs, disconnected_limbs, extra_fingers, bad fingers, liquid fingers, poorly drawn fingers, missing fingers, extra digit, fewer digits, ugly face, deformed eyes, partial face, partial head, bad face, inaccurate limb, cropped

reference_onlyで作画

確かに、雰囲気が似た画像が生成されていますね。特に顔や髪の毛の雰囲気は複数生成しても統一感があります。

ちなみに、「ControlNet」の「Enable」チェックを外して無効化した場合は以下のような作画となりました。当然ですが元画像とは全然雰囲気が違いますね (^^;

ControlNet無効(reference_only未使用)

あとがき

「ControlNet」の「canny」や「depth」は元画像のポーズなども影響を受けていましたが、「reference-only」は雰囲気だけが似ているというのが絶妙だと感じました。

お手軽に雰囲気が似た画像を生成してくれるので、イメージ通りのプロンプトが書けずハマった時やなどにとても有効な機能と思います (^^)b