Controlnet Tileの使い方と具体的な事例(アニメと実写の相互変換、補正、アップスケールなど): ControlNet 1.1新機能

本記事ではControlNet Tileの使い方を解説します。ControlNetは便利な機能ですがControlNetの1機能であるtileはOpenPoseやcannyなどに比べると地味な機能なので、イマイチ使い方がわからない方も多いと思います。

本記事を読むと次のような疑問を解消するができます。

  • Controlnet Tileって何?
  • ControlNet Tileの使いどころがわからない。
  • 色々な使い方を網羅的に知りたい。

Controlnet Tileとは

Controlnet Tileとは、画像をタイル状に分割し、その特徴をControlNetを用いて保持しながら微調整ができる革新的な手法です。このツールのインストールと使い方を理解すると、画像生成の幅が広がります。それでは、Controlnet Tileの様々な機能とその使い方を見ていきましょう。

ControlNet Tileでできること

Controlnet Tileの利用で、以下のようなことが可能になります:

  • 画像の細部の補正
  • 質感、テクスチャの変更
  • 画像のアップスケール

画像細部の補正

Stable Diffusionは細部の調整が苦手です。全身画像を作成したら顔が崩れたり、よく見たら手が変だったりするのはそれが原因です。

対策方法としては大枠を描かせた後に細部を修正することです。ControlNet Tileを使うことで、まずは画像を生成して、その後に細部の修正をすることができます。

左が元画像、右がControlNet Tileで補正した画像

質感、テクスチャの変更

Controlnet Tileは質感やテクスチャの変更にも優れています。肌の質感を調整したり、アニメ風にしたり自由度の高い変更ができます。呪文(プロンプト)だけではなく、モデルを切り替えることもできるので、高い自由度で画像のテクスチャや質感を変更できます。

左が元画像、右がControlNet Tileで日焼けした肌に変換した画像

左が元画像、右がControlNet Tileで実写に変換した画像

画像のアップスケール

ControlNetでは画像のアップスケールを行うことができます。これによって解像度の調整や画像の補正が可能となります。

画像のアップスケールが単にtxt2imgで高解像度で画像を生成するのと比べて次のようなメリットがあります。

  • 高解像度の画像を生成するよりも構図の調整がしやすい
  • 低解像度の画像で繰り返し試行錯誤できるので時間の節約ができる

Stable Diffusionは学習データに利用されている画像データの解像度によって得意な解像度とそうでない解像度が存在します。Stable Diffusion 1.5や2の場合は512✕512が最も得意とする解像度です。

はじめにこの解像度で基本的な構図を生成し、後からアップスケールすることで、高品質な画像の生成ができます。

この方法は画像の品質の向上だけではなく、小さな解像度で試行錯誤を繰り返せるので、時間の節約にもなります。

Controlnet Tile アップスケールとHires. fixの違い

Stable Diffusion Web UIではControlnet Tileを導入せずともHires. fixによるアップスケール機能も用意されています。このアップスケール機能と比べると、ControlNet Tileによるアップスケールは、元画像の状態を保持したまま細部を修正してくれるので使い勝手が良いです。

ControlNet Tileの使い方

それではControlNet Tileの使い方を見ていきましょう。

ControlNetをインストール

ControlNet TileはStable Diffusion Web UIの拡張機能、ControlNetの機能の1つです。そのため、ControlNet Tileを利用するためには、ControlNetがインストールされている必要があります。もし、インストールしていない場合は以下の記事を参考にControlNetをインストールしましょう。

ControlNet Tile モデルをダウンロード

ControlNet Tileの利用にはControlNet TileのControlNet Tile Modelが必要となります。以下のリンクから次の2つのファイルをダウンロードしてstable-diffusion-webui/models/ControlNetへ配置してください。

  • control_v11f1e_sd15_tile.pth
  • control_v11f1e_sd15_tile.yaml
lllyasviel/ControlNet-v1-1 at main
We’re on a journey to advance and democratize artificial intelligence through open source and open science.

WEB UIでの利用手順 txt2img(t2i)

txt2imgで呪文(プロンプト)から画像を生成した後に、ControlNet Tileで画像を修正する方法について解説します。細かい設定値については後ほど解説するとして、今はデフォルト値のまま実行できることを確認します。

  1. 画像をControlNetのメニュー画面にドラッグ&ドロップします。(ドラッグ&ドロップ時は下記画像と見た目の違いは気にしないでください)
  2. “Enable”にチェックを入れます
  3. Control Typeは”Tile”を選択。
  4. 特徴抽出ボタン「💥」をクリックして特徴抽出。
  5. 再度画像を生成するとControl Net Tileが適用されています。

WEB UIでの利用手順 img2img(i2i)

  1. 変換元の画像をセット
  2. ControlNetのメニュー画面に画像をセット。(下記画像との見た目の違いは気にしないでください)
  3. “Enable”にチェックを入れます
  4. Control Typeは”Tile”を選択。
  5. 特徴抽出ボタン「💥」をクリックして特徴抽出。
  6. 再度画像を生成するとControl Net Tileが適用されています。

ControlNet tile upscale (画像のアップスケールと画像細部の補正)

ControlNet tileによる、画像のアップスケールと画像細部の補正について解説します。

  1. 呪文(プロンプト)を入力
  2. 解像度を変更
  3. アップスケールしたい画像をセットします。
  4. “Enable”にチェック
  5. “Tile”を選択
  6. クリックで特徴抽出
  7. “Generate”をクリックして画像を生成するとアップスケールした画像が生成されます。

ControlNet tile upscaleの結果

左が元画像で右が修正後の画像です。左の画像は少し質感がもっさりとしていましたが、書き込まれることでなめらかになっていることがわかります。解像度の変更だけではなく、細部が補正されて画像の品質も向上していることが確認できます。

若干、ネクタイなどの細部のデザインなどが変わっていますが、これは設定値の調整で元画像のデザインなどを保持することも可能です。詳細については記事後半の設定値のセクションを参考にしてください。

画像の細部の補正効果について

画像のアップスケールをすることで、画像を分割して生成して細部を詳細に描くことでの細部の補正を実現することができます。画像の細部の補正ですが解像度を変えずに補正することもできますが、ぼやけた感じになってしまいます。小さな解像度を大きくするところで大きな効果が発揮されるので、画像の補正を目的とする場合でも解像度を大きくするように設定するのをおすすめします。

使い方2: 質感、テクスチャの変更

使い方2-1: 肌の質感の変更(日焼けさせてみる)

ControlNet Tileを使うことで後から質感を変更することができます。例えば、生成した画像で肌が汚いケースでは美肌に修正したり、肌の色を変えてみたり、汗をかかせたりすることができます。

今回は日焼けさせた肌の色にしてみます。ControlNetのメニューに変換元の画像をセットして呪文(プロンプト)を次のように変更します。(txt2img、img2imgどちらでも可)

Prompt: (brown skin, tanned skin: 2),1girl, a 20 years old pretty Japanese girl in classroom.school uniform, blackboard

ControlNetの設定のControl Modeを”my prompt is more important”に変更することで呪文(プロンプト)の影響を強くします。

これで”Generate”をクリックすることで画像が生成できます。

左が元画像で右が変更後の画像です。日焼けしていることが確認できます。

使い方2-2: 実写画像をアニメに変換

テクスチャの変更時にモデルを変更することで、より自由度の高い変換が可能になります。ここでは実写画像をアニメ系モデルを使うことでアニメに変換する方法について解説します。逆にアニメ画像から実写画像への変換についても紹介します。

  1. アニメ系モデルを選択
  2. 呪文(プロンプト)を入力
  3. 実写画像をセット
  4. “Enable”にチェック
  5. “Tile”を選択
  6. “画像生成”

実写画像からアニメ画像への変換結果

左は変換前で右が変換後の画像です。アニメ画像になっていることがわかります。

不自然に感じる場合はControl Modeを”My prompt is more important”に変更

すこし不自然な気がするので設定を調整してみます。Control Modeを”My prompt is more important”に変更して試してみます。

変更を許容する代わりに、自然なアニメ画像になりました。

使い方2-3: アニメ画像を実写画像に変換

逆にアニメ画像を実写画像に変換してみます。

  1. 実写モデルを選択
  2. 呪文(プロンプト)を入力
  3. アニメ画像をセット
  4. “Enable”にチェック
  5. “Tile”を選択
  6. “My prompt is more important”を選択
  7. 画像を生成

アニメ画像から実写画像への変換結果

ControlNet Tileの各種設定の解説

Preprocessor

resample

画像からサンプルする標準となるPreprocessorです。

colorfix

colorfixは元画像の色を固定したまま変換することができます。resampleの場合だと細部の服装のデザインが変更されることがありますが、colorfixを使うことで変更されにくくなります。

tile_colorfix+sharp

colorfixにすると画像の輪郭がぼんやりしやすいので、それを補正するためにシャープにすることができます。colorfixよりも基本的には高品質な画像が生成されます。

Control Mode

Control Modeは次の3つの選択肢があります。Control Netで特徴を保持する強度を調整します。

基本的にはBalancedを利用しますが、元の情報を維持すると画像が不自然になる際に調整すると良いでしょう。実写画像からアニメ風に変換する例で見たとおり、Promptを優先させることで不自然さが解決できることもあります。一方で元の画像の細部のデザインなどを保持したいときは”ControlNet is more important”を選択しましょう。

  • Balanced
  • My prompt is more important
  • ControlNet is more important

ControlNet variation sharpnessの設定

Preprocessorをcolorfixもしくはtile_colorfix+sharpに設定すると、variation,sharpnessの設定値が表示されます。

variation

variationを大きくすることで、ControlNetによる画像の変更を大きくすることができます。

sharpness

sharpnessを大きくするすることで、画像をシャープにすることができます。

コメント