スポンサーリンク

好きなポーズを指定できる!?画像生成の革命児ControlNetを解説【WebUI】

画像生成AI
スポンサーリンク

ControlNetとは?

「プロンプトだけでキャラに好きなポーズを取らせるのは難しい…」それはもう昔の話。

ポーズを自由に指定できる革命的新技術ControlNet(コントロールネット)が登場したからです!

AIの進歩は目まぐるしく「あと1年は無理だろうな…」と思っていたことが次の日には解決したりします。この技術が登場してから、巷ではゲームエンドと大きな話題になりました。

このようにControlNetではボーン(棒人間)画像など、キャラクターのポーズを誘導するための画像を作り、それを読み込ませることで生成結果に反映させられます。ControlNetで構図を指定する方法はボーン以外にも、輪郭線・深度情報・簡単なデッサンなどいろんな種類があります。

公式ページ

GitHub - Mikubill/sd-webui-controlnet: WebUI extension for ControlNet
WebUI extension for ControlNet. Contribute to Mikubill/sd-webui-controlnet development by creating an account on GitHub.

ControlNetのインストール方法

「拡張機能」⇒「URLからインストール」⇒「拡張機能のリポジトリのURL」の欄に公式ページのURL

https://github.com/Mikubill/sd-webui-controlnet

を入力してから「インストール」ボタンをクリックするだけです。WebUIを再読み込みすると、拡張機能のインストールが完了します。「ControlNet」が追加されていたら成功です。

ControlNetに必要なモデルのダウンロード

ControlNetでは変換のためのモデルが8種類用意されています。

モデルを使うことでStableDiffusionの構図を誘導するためのデータが作れます。

webui/ControlNet-modules-safetensors at main
We’re on a journey to advance and democratize artificial intelligence through open source and open science.

上記から必要なモデルをダウンロードして以下のフォルダに格納します。

stable-diffusion-webui/extensions/sd-webui-controlnet/models

すべてのモデルをダウンロードすることをオススメしますが、容量が大きいので用途に応じて使いたいモデルだけをダウンロードしてもOKです。

接頭語に「t2iadapter」が付いているモデルは、実験的なモデルで完全なモデルと比べて容量が少ないです。「t2iadapter」が付いていない方の「.safetensors」ファイルをダウンロードしてください。

それぞれのモデルの特徴を簡単に説明します。

モデル名特徴ファイル名
canny絵の輪郭線を抽出control_canny-fp16.safetensors
depth絵の深度マップを抽出control_depth-fp16.safetensors
hed絵の滑らかな輪郭を抽出control_hed-fp16.safetensors
mlsd絵の直線部分を抽出control_mlsd-fp16.safetensors
normal絵の法線マップを作成control_normal-fp16.safetensors
openposeボーン(棒人間)を作成control_openpose-fp16.safetensors
scribble手描きイラストを元に作成control_scribble-fp16.safetensors
segmentationセグメントを作成control_seg-fp16.safetensors

各モデルの特徴をより詳しく知りたい方はこちらの記事をご覧ください。

利用方法

簡単に利用方法を説明します。

まず「ここに画像をドロップ-または-クリックしてアップロード」の箇所に構図を参考にしたい画像を貼り付けます。

次に「Enable」にチェックを入れControlNetを有効化します。

使用するプリプロセッサとモデルを選択します。例えばcannyを使用したい場合はPreprocessorに「canny」を選択し、モデルは「control_canny-fp16」を選択します。

Canvas WidthとCanvas Heightは取り込んだ画像の幅と高さに合わせます。

あとは「生成」をクリックすれば、ControlNetで指定した構図で画像が生成されます。

項目の詳細な解説

項目やパラメータ設定について詳細に解説します。

項目①

画像をアップロードするフィールドです

項目②

📷:PCのカメラから画像を取得します

項目③
  • Enable:ControlNetを有効化します。ここをチェックし忘れないよう注意してください。
  • Invert Input Color:入力色を反転します。背景色が白の場合はチェックを推奨します。
  • RGB to BGR:自前のnormal(法線マップ)を別ソフトで作成した場合、ここにチェックする必要がある場合があります。
  • Low VRAM:グラフィックボードのVRAM容量が少ない場合にチェックします。画像の生成速度が遅くなるデメリットがあります。
  • Guess Mode:実験的なモードで、ControlNet エンコーダのすべての能力を開放します。このモードではサンプリングステップ数50と3~5の間のガイダンススケールを推奨します。
項目④
  • Preprocessor:プリプロセッサを選択します。モデルと種類を合わせる必要があります。
  • モデル:モデルを選択します。プリプロセッサと種類を合わせる必要があります。
項目⑤

ControlNetの影響を調整できるパラメータです。

  • Weight:ControlNetの「影響力」の重みを設定します。高いほどControlNetの影響力が増し、低いほどControlNetの影響力が減ります。
  • Guidance Start:ControlNetの「影響」を反映させるための開始位置を指定します。
  • Guidance End:ControlNetの「影響」の終了位置を指定します。
  • Resize Mode:拡大縮小の種類を指定します。
  • Canvas Width:取り込んだ画像の幅を指定します。
  • Canvas Height:取り込んだ画像の高さを指定します。

項目➅
  • Create Blank Canvas:手描き用キャンバスを作成します。scribbleで使用します。
  • Preview annotator result:指定したモデルで変換された、構図を誘導するための画像データをプレビューします。
  • Hide annotator result:上記のプレビューを非表示にします。

ControlNetで使用するポーズの作り方

Openpose Editor

Openpose EditorはOpenposeで使用するボーン(棒人間)をWebUI上で簡単に作れる拡張機能です。同様の方法でインストールできます。以下URLを指定してインストールしてください。

GitHub - fkunn1326/openpose-editor: Openpose Editor for AUTOMATIC1111's stable-diffusion-webui
Openpose Editor for AUTOMATIC1111's stable-diffusion-webui - fkunn1326/openpose-editor

ControlNetのエラーについて

RuntimeError: mat1 and mat2 shapes cannot be multiplied (154×1024 and 768×320)

ControlNetは現在Stable Diffusion1.5をベースにしたモデルのみ利用可能です。

対応していないモデルでは上記のエラーが発生します。

Stable Diffusion1.5以外のモデルでControlNetを利用する方法についてはまたの機会に記事にするのでお待ちください。

この記事を書いた人

アニメとゲームと先端技術が大好きな”ちるあうとガールズ”です。リアルな美少女画像を投稿するTwitterを運営しています。画像生成AIなどのジェネレーティブAIを学び、その魅力をもっと世に広めるためにブログを始めました。AIを駆使して実際に使えるツールや応用例などを解説しています!

ちるあうとガールズをフォローする
画像生成AI
スポンサーリンク
ちるあうとガールズをフォローする
Code Wizardry

コメント

タイトルとURLをコピーしました