【OpenSea】nagiblog みてね!

【ControlNet】新機能tileの使い方。画像を拡大し高画質化!高解像度で生成する拡張機能タイル!画像生成AIイラストは4K8K時代にStableDiffusion WebUI / AUTOMATIC1111

StableDiffusionなどの画像生成は、学習元が512ピクセル×512ピクセルとなっているため、基本的にはこのサイズや、アスペクト比から離れれば離れるほど、画像は崩れやすくなります

その悩みを解決する手段として、StableDiffusion WebUIにはHires. fixという拡大機能が付いている解説をさせて頂きました

だけど、Hires. fixですと拡大率が限られてたり、余計な変化が起きてしまったり、いらないモノが映りこんだりしてくるんですよね…?

そこで、Hires. fixの様に大きな画像にしてくれる拡張機能が、幾つかあります。

どのアップスケーラーがいいの?

それぞれに特徴があるので、一概には言えませんが、良いアップスケーラーの1つかと思うControlNetのTileの使い方をご紹介していきますね

目次

画像を拡大し、高解像度画質で生成するメリット

それでは、ControlNet tileでの画像のアップスケールについて解説していきますね

その前に「どうして大きなサイズを出力することが必要になるか?」という話をしますと以下のような理由があります

  • シンプルな理由で、画像を美しくしたい
  • 生成する画像サイズが小さいと、ディテール部分のパーツが上手く描けない
  • たくさんの人・物が集まる緻密な状況や、群衆などを描くことが出来ない

最近は、実写系の画像も生成されることが多くなりましたので、512ピクセルでは画質が荒くなってしまうんですね…

目や鼻など、小さなパーツが崩れていることはよくあるよね

画質をあげるメリットは描く対象物が増えると、ドット数が足りなくて上手く描けなかったりするので、単に画質をあげるためだけにとどまりません

みけねこまる

4Kで見れる美しい画像の、AI美女がみたいのだ

【ControlNet】新機能tile!で高画質で生成 4K,8K時代へ

ControlNetの新機能のTileを使えば、上記した問題が、だいぶ解消できるようになりました

ControlNetの新機能のTileで解決

今回の話しているタイルって、なんでアップスケールするのにタイルなの?

画像生成AIで作られた元の画像を、下の画像の様にタイルの状に分割してアップスケールをするから、タイルにちなんだネーミングなのでしょう

ほかのアップスケーラー系の拡張機能よりも良いとされているポイントとしては、タイルごとに必要な情報のみを拡大してくれることです

従来の拡張機能のアップスケーラーでは、画像をタイルごとに分けて生成する方法もありました

ですが、全てのタイルに、プロンプトに書かれているものを考慮し描こうとしてたようなので、必要ない物出現や、重複してしまうなどのデメリットがありました

ControlNetの新機能のTileでは、元の画像をタイルごとに、そこに何を描いているのかを把握し、ディテールを再構築してくれます。

元の絵をタイル状に分割して、それぞれのタイルの特徴を把握して描いてくれるんだね!

Tileを使うためには、ControlNet ver1.1.107以降が必要

ControlNetのTileを使えるようにするためには、新しいコントロールネットのバーションに更新してください

最低でもバージョン 1.1.107で追加された機能なので、最低でもこれ以降のControlNet、できればバージョン1.1.117になっていれば使える様です。

その他に、StableDiffusion WebUI本体を実行できる環境と、ControlNetバージョン1.1.107に対応したモデルファイルが必要です

以上の3点が必要です

ver1.1.107以降のバージョンでも、ControlNetの目立った不具合はない様なので、最新版に更新して見ても大丈夫そうです

ControlNetのバージョンが、1.1以前のものと、以降のものでバージョンアップの方法に違いがありますので、コチラ記事を参考にしてくださいね

githubのコントロールネット

https://github.com/Mikubill/sd-webui-controlnet

Hugging Faceのコントロールネット

https://huggingface.co/lllyasviel/ControlNet-v1-1

「公式」コントロールネットのタイルの解説ページ

https://github.com/Mikubill/sd-webui-controlnet/discussions/1142

【画像を拡大】ControlNet Tileの使い方 要点の要約

使い方の注意点は、公式サイトに書いてありますので、詳しく知りたい方は見ておいてくださいね

https://github.com/Mikubill/sd-webui-controlnet/discussions/1142

要点を要約して軽く説明しますね

  • コントロールネットのアップデートのほかに、コントロールネットのモデルファイルも必要
  • 最大4倍、または8倍の解像度にアップスケールが出来ます
  • ぼやけや、画像の崩れを修正、調整し改善が見込めるます
  • タイル分けしてアップスケールした際に、余計な複製された対象物を作らない
  • 未完成のモノをアップスケールしながら作ることも可能
  • アップスケール前の元画像のサイズは、768ピクセルか1024ピクセルが望ましい

以上のことがかかれていますよ

1024ピクセル×1024ピクセルは、私の環境だと、既にエラーが出るレベルだよ

その時は、768ピクセルあたりで生成してみてね

Control NetのTileで、高画質・拡大 生成の設定手順

それでは使い方の手順を解説していきますね

Tileを使う元になる画像を用意する (txt2imgで画像生成)

Tileは一度の行程で、高解像度の画像は作ることが出来ないので、txt2imgで768ピクセルもしくは、1024ピクセルの画像を作るか、または画像を用意します

一度の行程でという点は、直接大きな画像を生成できるHires. fixを使うメリットはありそうですね

プロンプトを整えて、生成してみますね

最初の画像の生成は、Hires. fix も ControlNetも使わずに生成していきます

一発で大きな解像度は作れないの?

ControlNetのTileの機能ですと、そうなりますね。

基本的には、txt2imgで作った画像をimg2imgでアップスケールする感じです。

逆に言うと、その工程を踏む方がいいと思います。

と、いうのもこの後、高解像度の画像を生成しますが、1枚1枚の生成時間が長くなるので、気に入ったものだけをアップスケールしていく形にしないと、生成している時間も、電気代も、グラボの負担も大きくなりそうです


まずはこれで、元になる画像が生成されました

img2imgの設定 Script / SD upscale


そうしましたら、この元画像となる画像を、img2imgに送りますので、転送するボタンsend to img2imgを押してください

または、用意してある画像を、PNGinfoタブを開いて、この位置に画像をドロップしてください

そうしましたら、img2imgに転送するボタンを押します

img2imgのタブを開いて、設定をしていきますね

一番下にある Script のプルダウンメニューを開いてください

選択肢の中から、SD upscaleを選びます

こちらは、画像を拡大するスクリプトとなります

「SD upscale」は、元の画像をタイル状に分割し、それぞれの部分に対してアップスケールを行い、その後再び結合するという方法で、大きな画像を生成します。

これにより、通常ではVRAMの容量不足により生成できないサイズの画像を生成することが可能になります

標準的なグラボが付いているパソコンでも高価なパソコンになるので、容量の小さなグラボでも使えるのはありがたいですね

Tile overlap

「Tile overlap」は、細分化した画像のつなぎ目をスムーズにする機能で、このパラメータを調整することで、画像の境目が目立たなくなります。

この機能は、大きな画像を生成する際に、タイル状に分割した画像同士の境界が目立つ問題を解消してくれます

高画質になっても、つぎはぎだらけのAIのおねぇさんでは嫌なのだ

今回はデフォルトのままやってみようかと思います

Scale Factor

Scale Factorは倍率を指定することが出来ます。今回は、このまま2倍にしてみましょうか

Up scaler

「Upscaler」は、画像の拡大方法を指定するための機能で、様々なアップスケールの方法を選ぶことが出来ます。

実装された順に表記してあります。

違いについては、ちょっとマニアックな設定過ぎるので、とりあえず最新のSwinIRを選択してみましょう

軽くSwinIR説明しますと、低品質な画像から高品質な画像を再現するために使用され、画像高解像度や画像ノイズ除去などの技術を活用します。

VRAMの容量の小さなグラボでも高い性能を発揮し、効果的な画像の拡大を実現することができますよ

コントロールネットの設定

次に、コントロールネットの設定をします


コントロールネットControlNetを開いてください

Enableにチェックを入れ、コントロールネットを有効にします

そして、Pixel Perfectにチェックを入れます

Pixel Perfectをオンにすると、preprocessorの解像度を手動で設定する必要がなくなりますよ。

ControlNetが自動的に最適なアノテータの解像度を計算し、ピクセルが完璧に一致するように画像を整えてくれます

良く分からなかったけど、自動的にキレイにしてくれるチェック項目なんだね

つぎに、Control Typeでタイルtileを選びます

ここで選択すると、Preprocessor と Model も自動的に選択されると思います


もしならない人は、Preprocessorを tile_resampleを選択して

Model を tileに設定してください

モデルの表示さえされない人は、バージョンが違うか、モデルファイルが入ってない可能性がありますので、確認してください

ほかの項目は、いったんそのままで拡大して画像を確認してみますね

結果を見ながら必要であれば、調整してくださいね

最終的な img2img の調整 する場合


拡大画像に大きな影響を及ぼすのが、Denoising strengthです


これまでのアップスケーラーでは、拡大率が高いと画像が崩れたり、大きく変化してしまいましたが、コントロールネットのおかげで、ずいぶん安定して拡大をすることが出来る様になりました

それでも、100%は防げないので、Denoising strengthで調整していきますが、0に近いと、カクカクして、1に近いほど新しい書き込みが増える様です

Hires. fixの説明動画の時と、同じく、0.6くらいで、いったんやってみますね!


CFGスケールは、このままデフォルトの値でやってみます


こちらの画像サイズを選択する場所は、1つのタイルのサイズの設定になるようです


VRAMが小さなグラボの場合は、値を下げておくといいですよ

サンプリングステップスSampling stepsはもいったん、このままで生成してみましょう

Control NetのTileでアップスケールして、Generate!!

生成しますね

SD upscaleによりタイルに分けられ、それぞれに処理され拡大されていきます

先ほど指定指定した、768×768ピクセルのタイルごとに画像が処理され、最後に1枚の絵に合成されていきます

Control Net・tileで拡大した画像の検証

詳しく違いを見ていきましょうか

違いが分かりやすいように、4倍で生成しなおしてみました

左が原画の768pxの画像で、右が3072pxの画像です

なんか、スッキリしてキレイな感じがする気がする

web上での表示画像ですと、チョット分かりにくいかもしれませんが、確実に右の方がきめが細かく、スッキリしている印象があります。

拡大も、ほぼそのまま行われた感じがします

純粋な拡大という意味では、良いのか悪いのか判断が分かれるかもしれませんが、肌や洋服の立体感や、陰影がより詳細に表現されていますね

ガラスや、木目の表現も描写が増えています。

奥の方の掲示板や、ポスターの描写も書き加えられていますね

逆に、余計な描写や、人間の数が増えてしまったりなどの、副産物も現ていれません

特に残念に思う所はなさそうです

アップにしてみたいと思います

元画像のほうは、少しドットの粗さが見えてきましたね

やはり高解像度の方は、目や口の描写がハッキリと、そして繊細に描かれていますね

唇もぷっくりきれいに書かれているね

さらにアップにしてみます

ここまで来ると、一目瞭然ですね

これはかなり、おすすめの拡張機能ではないでしょうか

もう少し、元の画像を忠実に再現するためには、先ほど説明したDenoising strengthで調整することで、変化を抑えられます。

Denoising strengthを下げて何度か生成してみました

上手く調整すれば、変化を及ぼすことなくそのままの状態でアップスケールできそうだね

画質を上げるTile以外の方法

素晴らしい拡張機能ではありますが、やはり元の画像を美しく作らないと、いくらアップスケールしても美しい画像は作れません。

そのためには、いくつかの方法があります

その方法を軽く紹介しますね

AI系ソフトウエアによる高画質化

AI系ソフトウエアによる高画質化は、Stable Diffusionや拡張機能での高画質化ではなく、別のソフトウェアによる高画質化です

まずは結果から、実際の画像をお見せします

この様に、外部のソフトウェアを使う事で、原画からStable Diffusionでアップスケール(解像度を上げる)すると、想定外のモノが出現したりします

この問題を防ぎ、純粋に解像度上げようとすると、外部ツールを使うのもアリです

コチラのソフトを使えば、ご覧のようにほぼ純粋に高解像度化することができます

静止画を高解像度するソフトウェア HitPaw Photo AI公式サイト 

動画を高解像度するソフトウェア HitPaw Video Enhancer公式サイト

プロンプト

まずは、プロンプトを上手に作ることです

画質を上げるプロンプトの検証動画や、プロンプトの一覧表を作りましたので、下記のリンクから活用していただけると嬉しいです

VAE

次に、VAEを使う事ですね

VAEは、お手軽に画質を上げることも出来るし、VAEだけでも画質を変化させることが出来るので、このみのVAEを探すのもアリですね

因みにですが、今回説明したControlNetのタイルと相性が良くないVAEもある様なので、途中で生成が止まることがありましたら、VAEを変えてやってみてください

StableDiffusionの開発に関連しているStabilityAI社のvaeで、正しい読み方が分からないのですが、FT-mse-840000という物がありますが、こちらですと私の環境では不具合は感じられませんでした

EasyNegativeなどのネガティブエンベディングス

3つめに、EasyNegativeなどのネガティブエンベディングスの活用です

コチラは、ネガティブプロンプトをひとまとめにした機能で、長いネガティブプロンプトを書かないで済むようになります

Restore faces

Restore facesにチェックを入れるのもアリです。

ただし、Restore facesは実写系のみに効果を発揮し、イラスト系には、向いていないようです

こちらは、顔の描写を繊細にしてくれます

また、これらの要素を、少しずつ変化させて、検証したい場合には、XYZ Plotを使って検証結果を表にまとめてくれる機能もありますので、活用してみてくださいね

まとめ:動画版【ControlNet】新機能tile!高解像度画質で生成

StableDiffusion WebUI v1.6.0(随時更新リサーチ中)

StableDiffusion WebUI や拡張機能のダウングレード

StableDiffusion webUI基本設定

【学習モデル・checkpoint】

プロンプト

【ControlNet】

【その他 拡張機能について】

画像生成で収益化方法

StableDiffusion WebUIに必要なPythonやGitHubまわりのお悩み

【その他AI最新情報】

AIをとりまく社会問題

人気ブログランキング参加中 応援してね

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね♪
  • URLをコピーしました!

web3 時代に必要なスキルを磨く!

なにかやりたい作業があって短時間で身に着けたいのであれば、オンラインで授業を受けたり質問できるサービスもあるよ

SHElikesは女性限定ですが、幅広く学べて、業界最安値(それでもそこそこなお値段しますが)

Withマーケは、私も参加してて、マーケティングに特化していまして、マーケティングスクールとしては最安値で、内容も濃くお値段以上です

副業に役立つツール・まとめ

副業に役立つツール最強ツールは、みなさんもご存じのAdobeのアプリ。

画像加工のPhotoshop 動画編集のpremiereなどでおなじみですが、単体プラン(2728円/月)を2つ以上契約するなら、全てのアプリを使えるAdobeクリエイティブクライド(6248円/月)がお得

さらに、社会人でも買えるアカデミック版(39980円/年 月当たり3,331円)は公式サイトのセール価格と同等価格のうえに、アカデミックの講義も付いてくるお得プラン

Adobe CCをアカデミック版で買うとセール価格より安い

副業に役立つ本まとめ

ブログで5億稼いだ方法/きぐち著

ブログサイト運営するなら、バイブル的な本です

なかなか知れない裏情報もばっちり載ってます

ブログ歴17年のプロが教える売れる文章術 ブログライティングの教科書/(中島大介)なかじ

現在、ブログ系の情報発信者のトップクラスのインフルエンサーです

私もなかじさんの情報にはかなり助けられました

目次