【FreeU】web UI拡張機能による画質の大幅UP

【FreeU】web UI拡張機能による画質の大幅UP ツール

「FreeUをweb UIで利用したい」
「とにかく、画像の品質をUPさせたい」

このような場合には、この記事の内容が参考になります。
この記事では、web UIでFreeUを利用する方法を解説しています。

本記事の内容

  • sd-webui-freeuとは?
  • sd-webui-freeuのインストール
  • sd-webui-freeuの動作確認

それでは、上記に沿って解説していきます。

sd-webui-freeuとは?

sd-webui-freeuとは、web UIでFreeUに対応するための拡張機能です。
FreeUについては、以下がGitHub上の公式ページになります。
https://github.com/ChenyangSi/FreeU

FreeUは、Free Lunch in Diffusion U-Netの略称です。

「Free Lunch」とは、「努力、支払いまたは義務なしに得られる物」という意味になります。
「Diffusion U-Net」とは、「Stable DiffusionにおけるU-Net」を表しています。

この場合に得られる物とは、画質の大幅UPということです。
それも、大した労力をかけずにそれが実現できると説明されています。

具体的には、以下のパラメータを調整するだけです。

    :param b1: backbone factor of the first stage block of decoder.
    :param b2: backbone factor of the second stage block of decoder.
    :param s1: skip factor of the first stage block of decoder.
    :param s2: skip factor of the second stage block of decoder.

そのためのコードが、GitHub上でも公開されています。
そして、そのコードをweb UIに適用できるのがsd-webui-freeuになります。

パラメータ調整するためのインターフェースも用意されています。

調整すべき対象は、以下の4つです。

b1Backbone 1 Scale
b2Backbone 2 Scale
s1Skip 1 Scale
s2Skip 2 Scale

これらの値は、モデルのバージョン毎に参考となる値が異なります。
次のボタンを押すことにより、推奨される値が自動的に設定されます。

SDXLにおける検証結果が、次のページで公開されています。
推奨値の算出根拠となるものです。

nasirk24
Weights & Biases, developer tools for machine learning

このような機能であれば、web UI自体に標準で組み込まれる可能性がありますね。
修正も「Free Lunch」なほどに単純なモノですから。

とりあえず、当面はsd-webui-freeuを利用することになるでしょう。
なお、「Stable DiffusionにおけるU-Net」については以下の記事がとてもわかりやすいです。

誰でもわかるStable Diffusion その4:U-Net - 人工知能と親しくなるブログ
前の記事で、Stable Diffusionには「U-Net」と呼ばれる仕組みが使われると説明しました。 hoshikat.hatenablog.com 今回はそのU-Netについての概要です。 U-Netの構造 INパート MIDパート OUTパート スキップコネクション:データを遠くに渡す Stable Diffu...

以上、sd-webui-freeuについて説明しました。
次は、sd-webui-freeuのインストールを説明します。

sd-webui-freeuのインストール

sd-webui-freeuのインストールを説明します。
もちろん、AUTOMATIC1111版web UIのインストール済みであることは大前提となります。

他の拡張機能と同じ手順でsd-webui-freeuをインストールできます。
まずは、「Extensions」タブをクリック。

そして、「Extensions」内の「Install from URL」タブを開きます。

「URL for extension’s git repository」に次のURLを入力します。

 https://github.com/ljleb/sd-webui-freeu.git

入力できたら、「Install」ボタンをクリック。
処理が完了したら、「Extensions」内の「Installed」タブをクリック。

sd-webui-freeuがインストールされていることを確認できます。
確認できたら、「Apply and quit」ボタンをクリック。

web UIを起動し直したら、「txt2img」か「img2img」の画面内に次のUIを確認できます。

以上、sd-webui-freeuのインストールを説明しました。
次は、sd-webui-freeuの動作確認を説明します。

sd-webui-freeuの動作確認

sd-webui-freeuの動作確認を行います。
使い方は、簡単です。

FreeUを適用するには、「Enabled」にチェック入れます。
そして、利用するモデルに合ったバージョンを選択します。

今回は、SDXL 1.0のカスタムモデルを利用します。
したがって、「SDXL Recommendations」ボタンをクリック。

たった、これだけです。
あとは、普通に画像生成を行います。

まずは、Juggernaut XLで画像を生成します。

各SEED毎にFreeUの未適用と適用済みの両方で生成したのが、以下となります。

結構、構図が変わっていますね。
たまたまでしょうが、FreeU適用済みの場合は手がすべて完璧です。
ただ、手がオレンジになっているのは意味不明ですけど。

また、FreeUを適用すると背景がクリアになる傾向があります。
顔もFreeU適用済みの方が綺麗に見えますね。

これ以降では、モデル毎に結果を載せていきます。

サンプル数的には、全然少ないです。
しかし、その少ない結果をみる限りでも、モデルとFreeUとの相性はあるように感じます。

基本的には、構図は維持されると思われます。
そして、細部で画質がUPするという感じです。

ただ、中には全く違う画像に見える場合もあります。
でも、FreeUを使って損はないでしょうね。

以上、sd-webui-freeuの動作確認を説明しました。

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