ControlNet 1.1の新機能LineartとAnime Lineartについて解説します。本記事を読むと次のような疑問が解決できます。
- LineartとAnime Lineartでどうやったら使えるか知りたい。
- LineartとAnime Lineartってどう使い分けるの?
- LineartとAnime Lineartの性能ってどうなの?
ControlNet Lineartとは
ControlNet Lineart&Anime Lineartでできること
ControlNet LineArtを利用することで、以下のようなことが可能になります:
- 質感やテクスチャの変更
- 実写画像のイラスト化、イラストの実写化
- 色塗り
質感やテクスチャの変更
ControlNet Lineartは、建物、壁紙、人の肌など表層的な質感やテクスチャを変更することができます。
実写画像のイラスト化、イラストの実写化
ControlNet Lineartは実写画像から線画を抜き出して、イラストを生成することができます。
逆にControlNet Anime Lineartは、イラストやデッサンから写真のようなリアルな画像を生成することができます。イラストから線画を抽出してリアルな画像にしたりできたり、デッサンから写真を生成したりできます。
色塗り
ControlNet Anime Lineartでは、線画の色塗りはもちろんのこと、アニメ塗り、ギャルゲ塗り、厚塗りなど、お気に入りの着色画に変更できます。また、モデルを切り替えることで、より自由度の高い色塗りを実現できます。
ControlNet Lineart&Anime Lineartの使い方
ControlNetをインストール
ControlNet ReferenceはStable Diffusion Web UIの拡張機能、ControlNetの機能の1つです。そのため、ControlNet Referenceを利用するためには、ControlNetがインストールされている必要があります。もし、インストールしていない場合は以下の記事を参考にControlNetをインストールしましょう。
Controlnet Lineart&Anime Lineart モデルをダウンロード
Controlnet Lineart&Anime Lineartの利用にはそれぞれにControlNet Modelが必要となります。以下のリンクから次の2つのファイルをダウンロードしてstable-diffusion-webui/models/ControlNet
へ配置してください。
Controlnet Lineartを使う場合。
- control_v11p_sd15_lineart.pth
- control_v11p_sd15_lineart.yaml
Anime Lineartを使う場合。
- control_v11p_sd15s2_lineart_anime.pth
- control_v11p_sd15s2_lineart_anime.yaml
WEB UIでのControlnet Lineartの利用手順
まずはControlNetのメニューを開きます。
ControlNetのメニューを次の手順にしたがって設定します。
- 画像をControlNetのメニュー画面にドラッグ&ドロップします。
- “Enable”にチェックを入れます。
- Control Typeで”Lineart”を選択します。
- 特徴抽出ボタン「💥」をクリックして特徴抽出。
後は生成する画像の呪文(プロンプト)を入力します。もし画像サイズなど他にも画像生成の設定したい事項があれば変更してください。”Generate”をクリックしたら線画に沿った画像が生成されます。
WEB UIでのControlnet anime Lineartの利用手順
まずはControlNetのメニューを開きます。
ControlNetのメニューを次の手順にしたがって設定します。
- 画像をセット
- Enableにチェック
- Control TypeのLineartを選択
- Preprocessorを”lineart_anime_denoise”を選択
- Modelを”control_v11_p_sd15s_lineart_anime“に切り替える
- 特徴を抽出
- 画像を生成
後は生成する画像の呪文(プロンプト)を入力します。もし画像サイズなど他にも画像生成の設定したい事項があれば変更してください。
ControlNet LineartとLineart animeどちら?
細くて細かい線を認識させたい場合はanimeのほうがおすすめ
一般論だと参照画像が実写画像のときはLineart、イラストや線画などはanime Lineartを使うことになります。この使い方も間違ってはないですが、個人的には細かい線を認識させたいときはanime Lineart、そうでない場合はLineartをおすすめします。
質感、テクスチャの変更
肌を日焼けさせてみる
呪文(プロンプト): (brown skin, tanned skin: 2), 1girl, a 20 years old pretty Japanese girl in classroom.school uniform,blackboardと入力して、次のようにControlNetの設定を行います。
- 画像をセット
- Enableにチェック
- Lineartを選択
- 特徴抽出
紅葉に変更
呪文(プロンプト): forest,autumn leaves
と入力して、次のように画像をセットして特徴を抽出します。それ以外の設定は直前の「肌を日焼けさせてみる」の例と同じです。”Enable”にチェックが入っていることを確認してください。
画像を生成すると新緑だったのが紅葉に変更されていることを確認できます。
実写画像のイラスト化、イラストの実写化
実写画像をイラストに変換
呪文(プロンプト): 1girl, a 20 years old pretty Japanese girl in classroom.school uniform,blackboardと入力して、次のようにControlNetの設定を行います。
- 画像をセット
- Enableにチェック
- Lineartを選択
- 特徴抽出
次にモデルをアニメ系モデルに切り替えます。今回はモデルをAnythingV5Ink_ink.safetensorsに変更します。
これで実写画像をイラストに変換することができました。
イラストから実写画像を生成
イラストから実写画像を生成してみます。呪文(プロンプト): 1girl, a 20 years old pretty Japanese girl in classroom.school uniform,blackboardと入力して、画像をセットして次のように設定します。
- イラスト画像をセットします。
- “Enable”にチェックを入れます。
- Lineartを選択します。
- “control_v11p_sd15s2_lineart_anime”にModelを変更します。これはイラストが参照画像のためanime Lineartモデルを選択します。
- 特徴抽出ボタン「💥」をクリックして特徴抽出。
- My Prompt is more importantを選択。これはアニメの線画を保持したまま画像を生成すると目が大きくなり画像が崩壊するため、線画よりも呪文(プロンプト)を重視するように変更することで、画像が崩壊することを回避します。
画像を生成する前に実写系モデルに切り替えて画像を生成します。今回はBeautiful Realistic Asians v5に変更します。
次のようにイラストを実写画像に変換することができました。
線画から実写画像を生成
線画から実写画像を生成してみます。呪文(プロンプト): shopping cartと入力して、ControlNetのメニューを次のように設定します。
- 画像をセットします。
- “Enable”にチェック
- Lineartを選択します。
- “lineart_anime_denoise”にPreprocessorを変更します。線画が参照画像のためanime LineartのPreprocessorを選択します。
- “control_v11p_sd15s2_lineart_anime”にModelを変更します。線画が参照画像のためanime Lineartモデルを選択します。
- 特徴抽出ボタン「💥」をクリックして特徴抽出。
画像を生成する前に実写系モデルに切り替えて画像を生成します。今回はBeautiful Realistic Asians v5に変更します。
次のように線画を実写画像に変換することができました。
画像を変えて検証してみました。安定して線画が高品質な画像になっています。
色塗り
線画の色塗り
- 線画の画像をセットします。
- “Enable”にチェックを入れます
- Lineartを選択します。
- “control_v11p_sd15s2_lineart_anime”にModelを変更します。線画が参照画像のためanime Lineartモデルを選択します。
- 特徴抽出ボタン「💥」をクリックして特徴抽出。
次にモデルをアニメ系モデルに切り替えます。今回はモデルをAnythingV5Ink_ink.safetensorsに変更します。
呪文(プロンプト)を線画に合うように1boy,jacket,suits,board
と入力して画像を生成します。
Lineart Preprocessorの紹介
Lineartには以下のようなPreprocessorが用意されています。
- Lineart
- プリプロセッサ「lineart_coarse」: 太くて荒い線が引かれます。
- プリプロセッサ「lineart_realistic」: 細い線が引かれます。
- プリプロセッサ「lineart_standard」: lineart_coarseとlineart_realisticの中間です。
- Anime Lineart
- プリプロセッサ「lineart_anime」: ちょっと太めの線が引かれます。
- プリプロセッサ「lineart_anime_denoise」: lineart_animeからノイズが取り除かれます。
コメント