見出し画像

自分好みのUpscalerを探そう!非Build-In Upscalerを徹底解説!

はじめに

今回は、高解像度処理を行うUpscalerを取り上げます。
Upscalerと言っても、今回はBuild-In(WebUI初期装備)のUpscalerではなく、非Build-In(=外部Upscaler)に注視してみようと思います。

Upscalerとは

Upscalerを語る前に、どのように動作するかアルゴリズムを簡単に説明します。

Upscalers

A dropdown allows you to to select the kind of upscaler to use for resizing the image. In addition to all upscalers you have available on extras tab, there is an option to upscale a latent space image, which is what stable diffusion works with internally - for a 3x512x512 RGB image, its latent space representation would be 4x64x64. To see what each latent space upscaler does, you can set Denoising strength to 0 and Hires steps to 1 - you'll get a very good approximation of what stable diffusion would be working with on upscaled image.

Below are examples of how different latent upscale modes look.

出典元:AUTOMATIC1111 Github Features - Upscalers
https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Features#upscalers

In contrast, AI upscalers are models trained with massive amounts of data.

Good-quality images are first artificially corrupted to emulate real-world degradation. The degraded images are then reduced to a smaller size. A neural network model is then trained to recover the original images.

A massive amount of prior knowledge is embedded into the model. It is capable of filling in the missing information. It’s like humans don’t need to study a person’s face in great detail to remember it. We mainly pay attention to a few key features.

出典元:Stable Diffusion Art - How to use AI upscaler to improve image details
https://stable-diffusion-art.com/ai-upscaler/#How_does_AI_upscaler_work

と、毎度の事ながら、英語で書かれていて何のことかわからないと思います。
一言に要約が難しいので、一つずつ解説します。

Upscalerのカテゴライズとアルゴリズム

Upscalerには大きく分けて、以下2種類あります。

Traditional Upscalerは従来型のUpscalerです。
これは、画像の解像度(Pixel値)を元に、数式演算にて導き出して補間する考え方です。
この従来型は、画像が欠落・破損していたり、意図しないノイズがある場合、それも全て含めて演算してしまう為、正しいアップスケールが行われないという最大の欠点があります。

これに打って変わって登場したのが、AI Upscalerです。
その名の通り、モデル学習しているUpscalerで、現在WebUIで使用されている主流のUpscalerです。
AI Upscalerは、高画質なデータセットを一度劣化・破損させ、それらをさらに縮小した上で、元の画像に復元するように学習されています。

要するに、画像拡大などで発生するジャギーなど、様々な画像の劣化を、効率よく取り除くように学習されているモデルで高画質化しているわけですね。

Original / Traditional Upscaler / AI Upscalerの比較

Build-In Upscalerとは

Build-In Upscalerとは、その名の通り、WebUIに標準装備されているUpscaler群です。
現在、AUTOMATIC1111 WebUIには以下のUpscalerが内包されています。

Build-In Upscaler一覧
  • Latent

  • Latent(antialiased)

  • Latent(bicubic)

  • Latent(bicubic antialiased)

  • Latent(nearest)

  • Latent(nearest-exact)

  • none

  • Lanczos

  • Nearest

  • ESRGAN_4x

  • LDSR

  • R-ESRGAN 4x+

  • R-ESRGAN 4x+ Anime6B

  • R-ESRGAN General 4xV3

  • R-ESRGAN General WDN 4xV3

  • ScuNET GAN

  • scuNET PSNR

  • SwinlR_4x

今回は、非Build-In Upscalerの紹介が主題の為、Build-In Upscalerの紹介は省略させて頂きます。

非Build-In Upscalerとは

その名の通り、Build-InではないUpscalerです。
サードパーティ製Upscalerとでもいいましょうか。
知っている方もいると思いますが、実は、UpscalerはWebUIに追加することができるのです。

そのUpscalerは以下サイトから入手可能です。

上記のサイトには、様々なUpscalerが紹介されています。

1点注意があります。
それはライセンスについてです。
使用するにあたり、避けては通れないものですので、次章ではライセンス表記について紹介します。

ライセンス表記について

創作活動を行う上で必ず知っておきたいのがライセンスです。
もちろん、Upscalerも学習モデルですので、ライセンスが存在します。
上記サイトで表記されている、ライセンスを纏めてみました。

クリエイティブ・コモンズ・ライセンス(CCL)とは

クリエイティブ・コモンズは、クリエイティブ・コモンズ・ライセンス(CCライセンス)を提供している国際的非営利組織とそのプロジェクトの総称です。

CCライセンスとはインターネット時代のための新しい著作権ルールで、作品を公開する作者が「この条件を守れば私の作品を自由に使って構いません。」という意思表示をするためのツールです。

CCライセンスを利用することで、作者は著作権を保持したまま作品を自由に流通させることができ、受け手はライセンス条件の範囲内で再配布やリミックスなどをすることができます。

出典元:Creative Commons Japan - クリエイティブ・コモンズ・ライセンスとは
https://creativecommons.jp/licenses/
出典元:Creative Commons Japan - クリエイティブ・コモンズ・ライセンスとは
https://creativecommons.jp/licenses/

PD(権利放棄)

パブリックドメインなどといわれる、保護期間が終了したり、権利が放棄されている状態です。

出典元:Creative Commons Japan - クリエイティブ・コモンズ・ライセンスとは
https://creativecommons.jp/licenses/

CC0(権利放棄)

CC0 とは、科学者や教育関係者、アーティスト、その他の著作権保護コンテンツの作者・所有者が、著作権による利益を放棄し、作品を完全にパブリック・ドメインに置くことを可能にするものです。CC0によって、他の人たちは、著作権による制限を受けないで、自由に、作品に機能を追加し、拡張し、再利用することができるようになります。

出典元:Creative Commons Japan - CC0について ― “いかなる権利も保有しない”
https://creativecommons.jp/sciencecommons/aboutcc0/

CC-BY(表示)

原作者のクレジット(氏名、作品タイトルなど)を表示することを主な条件とし、改変はもちろん、営利目的での二次利用も許可される最も自由度の高いCCライセンス。

出典元:Creative Commons Japan - クリエイティブ・コモンズ・ライセンスとは
https://creativecommons.jp/licenses/

CC-BY-NC(表示-非営利)

原作者のクレジット(氏名、作品タイトルなど)を表示し、かつ非営利目的であることを主な条件に、改変したり再配布したりすることができるCCライセンス。

出典元:Creative Commons Japan - クリエイティブ・コモンズ・ライセンスとは
https://creativecommons.jp/licenses/

CC-BY-SA(表示-継承)

原作者のクレジット(氏名、作品タイトルなど)を表示し、改変した場合には元の作品と同じCCライセンス(このライセンス)で公開することを主な条件に、営利目的での二次利用も許可されるCCライセンス。

出典元:Creative Commons Japan - クリエイティブ・コモンズ・ライセンスとは
https://creativecommons.jp/licenses/

CC-BY-NC-SA(表示-非営利-継承)

原作者のクレジット(氏名、作品タイトルなど)を表示し、かつ非営利目的に限り、また改変を行った際には元の作品と同じ組み合わせのCCライセンスで公開することを主な条件に、改変したり再配布したりすることができるCCライセンス。

出典元:Creative Commons Japan - クリエイティブ・コモンズ・ライセンスとは
https://creativecommons.jp/licenses/

CC-BY-ND(表示-改変禁止)

原作者のクレジット(氏名、作品タイトルなど)を表示し、かつ元の作品を改変しないことを主な条件に、営利目的での利用(転載、コピー、共有)が行えるCCライセンス。

出典元:Creative Commons Japan - クリエイティブ・コモンズ・ライセンスとは
https://creativecommons.jp/licenses/

CC-BY-NC-ND(表示-非営利-改変禁止)

原作者のクレジット(氏名、作品タイトルなど)を表示し、かつ元の作品を改変しないことを主な条件に、営利目的での利用(転載、コピー、共有)が行えるCCライセンス。

出典元:Creative Commons Japan - クリエイティブ・コモンズ・ライセンスとは
https://creativecommons.jp/licenses/

C(全ての権利を主張)

いわゆる「All rights reserved」、著作権がある状態を表します。

出典元:Creative Commons Japan - クリエイティブ・コモンズ・ライセンスとは
https://creativecommons.jp/licenses/

その他のライセンス表記

上記のほかにも、ライセンス表記があります。

WTFPL(権利放棄)

WTFPL(Do What The Fuck You Want To Public License)とは、パブリックドメインへの供与と同等条件のライセンスである。

出典元:Wikipedia - WTFPL
https://ja.wikipedia.org/wiki/WTFPL

GNU GPLv3(一部の権利を主張)

GPLは、プログラム(日本国著作権法ではプログラムの著作物)の複製物を所持している者に対し、概ね以下のことを許諾するライセンスである。
1.プログラムの実行[注釈 2]
2.プログラムの動作を調べ、それを改変すること(ソースコードへのアクセスは、その前提になる)
3.複製物の再頒布
4.プログラムを改良し、改良を公衆にリリースする権利(ソースコードへのアクセスは、その前提になる)

出典元:Wikipedia - GNU General Public License
https://ja.wikipedia.org/wiki/GNU_General_Public_License

MIT(一部の権利を主張)

要約すると、MIT Licenseとは次のようなライセンスである。このソフトウェアを誰でも無償で無制限に扱って良い。ただし、著作権表示および本許諾表示をソフトウェアのすべての複製または重要な部分に記載しなければならない。
作者または著作権者は、ソフトウェアに関してなんら責任を負わない。

出典元:Wikipedia - MIT License
https://ja.wikipedia.org/wiki/MIT_License

前章で紹介したサイトにおいて、ライセンス表記なしの取り扱いは以下。

ライセンス表記なし(全ての権利を主張)

If a model has no license, that means all rights reserved. You will need a private license or explicit permission from the creator to use it commercially or with modifications. However you may use all model here on non-commercial projects, that may not in any way cost money. If you gain permission to use a model in another way including commercially, you should still credit the author and link to the original model source.

出典元:Upscale Wiki - Model Database
https://upscale.wiki/wiki/Model_Database

以上から、PD、CC0、WTFPLを選ぶと、安全に使用できると思います。

非Build-In Upscalerの導入方法

今回は、前章のサイトから以下Upscalerを入手しました。

入手したUpscaler

パブリックドメインのCountryRoadsを使用させて頂きました。

ダウンロードしたファイル

ダウンロードしたら、サイトの[Architecture]を確認してみましょう。
今回は[ESRGAN]なので、以下のフォルダに設置しましょう。

./stable-diffusion-webui/models/ESRGAN

設置例

これで完了です。
さて、これでWebUIを再起動すれば読み込まれているはずです。

追加後

無事追加されていますね!
さて、次は生成してみましょう!

Upscaler比較

今回は以下のUpscalerでSeed値を固定し、X/Y/Z Plotを使って比較してみました。
生成イラストは「Upscalerのカテゴライズとアルゴリズム」の項目で出力したイラストと同等です。

  • none

  • Lanczos

  • R-ESRGAN 4+

  • 4x_CountryRoads_377000_G

Seed:352836806

X/Y/Z Plot
Originalと各Upscaler比較

色合いと目の色彩が上がっていますね!
私的な意見ですが、R-ESRGAN 4x+よりもCountryRoadsの方が好きかもしれません!

おわりに

今回は、非Build-In Upscalerと付随してライセンスについてお伝えしました!
Build-In Upscalerでもかなり綺麗になりますが、様々なUpscalerがまだまだあります。

皆さんも是非自分好みのUpscalerを探してみてはいかがですか?


この記事が参加している募集

AIとやってみた

よろしければサポートお願いします!✨ 頂いたサポート費用は活動費(電気代や設備費用)に使わさせて頂きます!✨