ControlNetのCannyは、線画をそのままに色塗りを自由に変更できる便利な機能です。
Cannyを使えば、入力画像から線画を抽出し、それをベースに新しい画像を簡単に生成できます。
この記事では、ControlNetのCannyを活用し、Stable Diffusionで線画の抽出から着色までの流れを分かりやすく解説します。
ControlNetのCannyとは
Canny(キャニー)とは、元の画像から線画を抽出し、新たに画像を生成できる機能です。
この機能は、Stable Diffusionの拡張機能であるControlNetから利用できます。
Cannyを使えば、プロンプトでは調整が難しいイラストの色のみを変えたり、特定のスタイルやテーマに合わせた画像を簡単に作成できます。
ControlNetのCanny導入方法
Cannyは、Stable DiffusionのControlNet内で利用できるため、まずStable DiffusionにControlNetをインストールします。
その手順をご紹介します。
まずSable Diffusion Web UIにControlNetをインストールします。
Sable Diffusion Web UIの拡張機能タブから「URLをインストールする」を選びます。
「拡張機能のリポジトリのURL」入力欄に次のアドレスを入力し、「インストール」ボタンをクリックします。
拡張機能のリポジトリのURL
https://github.com/Mikubill/sd-webui-controlnet
ControlNetのインストールが完了したら「インストール済」タブに移動し、「適用して再起動」ボタンをクリックしてStable Diffusion Web UIを再起動します。
Stable Diffusion Web UIを再起動し、シード値の下にControlNetタブが表示されていることを確認します。
これで、ControlNetのインストールは完了です。
Stable DiffusionのControlNetに関しては、次の記事で詳しく紹介していますので、是非ご覧ください。
Cannyのモデルデータを導入
ControlNetのインストールが完了したら、Cannyに使用するモデルデータをStable Diffusionに導入します。
次のHugging Faceページからダウンロードできます。
SD1.5用ControlNetモデルデータ
https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/tree/main
SD2.1用ControlNetモデルデータ
https://huggingface.co/thibaud/controlnet-sd21/tree/main
SDXL用ControlNetモデルデータ
https://huggingface.co/lllyasviel/sd_control_collection/tree/main
Stable Diffusionで使用するモデル(Checkpoint)に合わせて、対応するCannyのモデルデータをダウンロードする必要があります。
この記事では、SD1.5のCheckpointを使いますので「control_v11p_sd15_canny_fp16.safetensors」をダウンロードします。
ダウンロードしたデータは、Stable Diffusionの「
ControlNet」フォルダに移します。ControlNet Cannyの基本的な使い方
ControlNet Cannyの基本的な使い方を解説します。
線画作成から着色する方法
ここからは、実際に元画像から線画を作成して数パターン着色をしてみます。
Cannyの使い方とあわせてご紹介します。
ControlNetのインストールが完了すると、Stable DiffusionにControlNetのパネルが表示されます。
「◀マーク」をクリックしてControlNetパネルを開きます。
線画を抽出したい画像を左側にドラッグ&ドロップして読み込みます。
「有効化」、「Pixel Perfect」、「Allow Preview」、「Canny」にチェックを入れます。
プリプロセッサに「canny」、モデルに「control_v11p_sd15_canny_fp16.safetensors」を選択します。
選択が完了したら、真ん中の「💥ボタン」を押して線画抽出を開始します。
右側に作成された白黒の線画が表示されば抽出完了です。
Cannyによる線画抽出が完了したら、プロンプト入力欄に移動して変更したい内容を入力します。
今回は、この線画に対して髪色をパステルブルーに変更します。
[(masterpiece),((ultra-detailed)), (highly detailed CG illustration), (best quality:1.2), pastel blue hair]
しばらく待つと生成が完了します。体の線はしっかり固定されて髪色が変更できました。
指定していない部分は、髪色に合わせて自動的に変更されています。
維持したい部分は、プロンプトに元の内容を入力したり、シード値を固定したりしましょう。
シード値の詳しい使い方に関しては、下記の記事で紹介しているのでぜひご覧ください。
服装の色を変更する
同じように、維持したい部分だけプロンプトを残して服の色の指定を追加します。
目の色を変更する
同じように、維持したい部分だけプロンプトを残して目の色の指定を追加します。
実写をイラスト化・イラストを実写化する方法
通常、Stable Diffusionのプロンプトをそのままにしてモデルを変更すると、全く異なる構図の画像が生成されます。
しかし、Cannyを使用することで、同じ構図を保ちながら画風だけを変更できます。
ここでは、「実写をイラスト化」「イラストを実写化」する方法を紹介します。
構図を抽出したい素材画像を「PNG内の情報を表示」から読み込み「txt2img」に転送します。
Stable DiffusionでControlNetのパネルを開き、Cannyを選択します。
選択が完了したら、真ん中の「💥ボタン」を押して線画抽出を開始します。
Cannyで線画抽出が完了したら、ControlNetパネルとプロンプトはそのままにして、モデル(checkpoint)を変更します。
モデル(checkpoint)は、Cannyで線画を抽出したモデルのバージョンに合わせて選択しましょう。
その後、生成ボタンを押せば画像生成が完了です。
※今回はSDXL用の「kohya_controllllite_xl_canny」を使用したので、SDXLのモデルを使用しました。
Cannyと他の線画抽出系を比較
Stable DiffusionのControlNetの線画抽出機能には、Cannyの他にLineart、SoftEdge、Scribbleがあります。
どの機能も線画を抽出する機能ですが、抽出の特徴が異なります。実際に、同じ画像から各機能で線画抽出をしてみます。
それぞれの特徴
- Canny:輪郭を細かくはっきりと抽出します。
- Lineart:輪郭をペンで描いたような線画として抽出します。
- SoftEdge:Cannyより柔らかく自然な線を抽出します。
- Scribble:手早くスケッチしたような粗い線で抽出します。
抽出した線画を元に同じプロンプトで色塗りをした画像が下記になります。
Cannyで抽出して色塗りをした画像は、他に比べて線画がはっきりとしています。SoftEdgeも似たような結果を出しますが、線が全体的に柔らかく自然な印象になります。
各機能にはそれぞれに特徴があるので、用途や好みに合わせて使い分けることをおすすめします。
ControlNetのCannyを快適に使うならPICSOROBANがおすすめ
Stable Diffusionで効率的に画像を生成するには、16GB以上のVRAMが搭載されたパソコンが必要です。
しかし、VRAM 16GB以上のパソコンは高額で、相場は30万円以上となります。
そこでおすすめなのがWebブラウザでStable Diffusionが使える「PICSOROBAN(ピクソロ)」です。
コストを抑えたい方へ:今のパソコンのまま使える「PICSOROBAN」
ピクソロのメリット
- すぐ使える:高額PC不要で、ブラウザからすぐに利用可能。必要な分だけポイントを購入できます。
- リーズナブル:30分約60円で利用可能。さらに今なら約2時間分が無料。
- 無制限作成:時間内であれば、何枚でも画像生成可能。短時間でたくさんの作品を生成できます。
ブラウザで簡単!ピクソロ!
PICSOROBANは、インストールの必要なくブラウザで簡単にStable Diffusionを利用できます。
さらに、今ならリリースキャンペーンとして無料会員登録するだけで、2,000ポイント(約2時間分)貰えます!
詳しい使い方は下記の記事で紹介しています。
\今なら約2時間無料で使える!/
Stable Diffusionが快適に使えるおすすめのパソコンやグラボに関しては下記の記事で紹介しています。
ControlNetのCannyで線画に色塗りを楽しもう!
ControlNetのCannyは、Stable Diffusionの中でも人気がある拡張機能です。
自分で下絵を描いてStable Diffusionで色塗りすることもできるので、Cannyを使いこなすことで創作の幅が広がります。