安定した拡散であらゆる画像を AI でアップスケールする方法
公開: 2023-07-17- Stable Diffusion WebUI で、「Extras」タブをクリックします。
- アップスケールしたい画像をアップロードします。
- サイズ変更スライダーを調整して、必要な解像度を選択します。
- 使用するアップスケーラーを選択します。
- 「生成」をクリックします。
Stable Diffusion 作品の解像度の低さにがっかりしていませんか? それとも、アップスケールしたい古い「本物の」写真があるでしょうか? Stable Diffusion WebUI にはまさにそのためのツールがあり、その過程で学んだいくつかのヒントを共有しながら、プロセスを順を追って説明します。
注:このガイドでは、automatic11111 の Stable Diffusion WebUI がインストールされ、実行されていることを前提としています。 これは Stable Diffusion の決定版であり、標準の Stable Diffusion インストールと比較して、アップスケーリング (AI 画像の作業の他の多くの側面とともに) がはるかにシンプルかつ直観的になります。
安定した拡散で画像をアップスケールする方法
より良いアップスケーリング結果のためのヒント
安定した拡散で画像をアップスケールする方法
古い写真、古いデジタル写真、または AI で生成された低解像度画像のスキャンを持っている場合は、Stable Diffusion WebUI を起動し、以下の手順に従います。
1. 画像をアップロードする
Stable Diffusion のアップスケーリング ツールはすべて「Extras」タブにあるため、クリックしてアップスケーリング メニューを開きます。
または、アップスケーリングしたい画像を生成したばかりの場合は、「Send to Extras」をクリックすると、アップスケーリング用の画像が配置された状態でそこに移動します。 それ以外の場合は、画像を [エクストラ] アップロード フィールドにドラッグ アンド ドロップできます。
一度にアップスケールしたい画像が複数ある場合は、「バッチ処理」タブに切り替えて、一度に複数の画像をドロップします。 ただし、私の経験では、これが常に機能するとは限りません。
ステップ 2: サイズを選択する
「サイズ変更」スライダーを使用して、出力画像の大きさを調整します。 デフォルトでは、画像の現在の解像度を指定された数値で乗算できる「拡大縮小」タブを使用します。 たとえば、これを 2 に設定し、入力画像が 512×512 である場合、画像は 1024×1024 にアップスケールされます。
あるいは、「拡大縮小」タブに切り替えて、希望する特定の解像度を入力することもできます。 画像の現在のアスペクト比に細心の注意を払い、端を切り落としたくない場合は「トリミングしてフィットさせる」オプションのチェックを外してください。
壁紙を作成する予定がある場合は、最近の携帯電話のほとんどが 9:16 のアスペクト比を使用し、タブレットは 4:3 を使用し、コンピューターは 16:9 を使用することに注意してください (ただし、ウルトラワイド モニターは最大 21:9 になります)。
ステップ 3: アップスケーラーを選択する
ここで、圧倒されてしまいがちです。いくつかの異なるアップスケーリング アルゴリズムが自由に使用でき、すべて不可解な名前が付けられているため、1 つを選択する必要があります。
最終的にどれを選択すべきかは、写真、絵画、アニメ アート、または別の種類の「漫画」スタイルのアートワークなど、アップスケーリングする画像の種類によって異なります。 アルゴリズムが異なれば動作速度も異なるため、どのような急いでいるのかによっても異なる場合があります。
最も安定した拡散アップスケーラーはどれですか?
さまざまなアルゴリズムを試してみることが、Stable Diffucion の組み込みアップスケーラーのどれが自分のケースに最適であるかを正確に知る唯一の方法です。 とはいえ、基本的な推奨事項が必要な場合は、通常は次の選択肢が適切です。
- 写真: ESRGAN_4x
- 絵画: R-ESRGAN 4x+
- アニメ: R-ESRGAN 4x+ Anime6B
ステップ4:高級感!
設定が完了したら、アップグレードを始めます。 大きな「生成」ボタンを押してプロセスを開始します。
特定のアルゴリズムを使用して初めてアップスケールする場合、安定拡散では適切なモデルをダウンロードする必要があるため、最初の実行には余分な時間がかかることが予想されます (接続速度に一部依存します)。
アップスケーリングが完了すると、 outputs
フォルダーのextras-images
サブディレクトリに出力イメージが表示されます。
関連:安定した拡散を使用して AI GIF とビデオを作成する方法
より良いアップスケーリング結果のためのヒント
画像が期待どおりに表示されない場合は、Stable Diffusion のアップスケーリング ツールでより良い結果を得るためにできることがいくつかあります。
アップスケーラー コンボを試してみる
高度なアップスケーリングの場合、同じ画像に効果を適用する 2 番目のアルゴリズムを選択でき、2 つのアップスケーラーの結果が最終製品にブレンドされます。 (明確にしておきますが、2 番目のアップスケーラーは出力解像度を 2 倍にしません。) これは、2 つの異なるアップスケーラーがさまざまな理由でより良い結果を生成することが判明した場合に役立ちます。
たとえば、私のテストでは、細部の維持には ESRGAN_4x が最も優れていましたが、SwinIR の方が粒度が低く、迷惑なタイル アーティファクトがいくつか発生することがわかりました。 ESRGAN_4x をプライマリ アップスケーラーとして設定し、SwinIR をセカンダリとして設定し、可視性を 0.5 に設定することで、両方の長所を活かすことができました。
アウトペイントで悪いアスペクト比を修正する
特定のアスペクト比で使用したい画像があるが、アップスケールされた画像の高さが高すぎるか、トリミングせずに使用するには幅が 2 倍以上である場合、Stable Diffusion の「アウトペイント」ツールを使用すると、その問題を解決できる可能性があります。 これにより、以前は存在しなかった側面や上部、下部に画像を追加して、「さらに多くの」画像を生成できます。
アウトペイントを開始するには、画像を img2img 入力にドロップし、「スクリプト」ドロップダウン メニューを探して、Outpainting mk2 または Poor Man's Outpainting を選択します。 必要に応じて表示された設定を調整し、「生成」をクリックします。
すぐにわかるように、うまくペイントするのは難しく、特に人物や動物などの複雑な画像コンテンツの場合は、おそらく別のガイドの主題になります。 とはいえ、あまり変更を加えずにいじるだけで、一見すると信じられないようなパノラマ バージョンの画像を生成することができました。
GPFGAN または CodeFormer を使用して歪んだ顔を復元する
吹き飛ばしている画像に人の顔が含まれている場合、認識できないほど歪んでしまう可能性があります。 あなたもきっと、Stable Diffusion による人間の顔のかなり恐ろしい表現のいくつかを見たことがあるでしょう。 どちらの場合も、GPFGAN または CodeFormer の可視性スライダーを調整したい場合です。 それぞれは、アップスケーリング プロセス中に顔補正のレイヤーを適用して、不気味な目や奇妙なシワを修正します。
CodeFormer を使用している場合は、効果の「重み」を調整することもできます。これは、強さのレベルを制御するようなものです (可視性スライダーは、補正レイヤーの透明度を調整するようなものです)。 重みを増やせば増やすほど、CodeFormer はより多くの修正を試みます。 これにより、状況に応じて最終イメージが改善または低下する可能性があります。 可能な限り最良の結果を得るには、試行錯誤が必要になる場合があります。
顔の修復における GPFGAN と CodeFormer の比較
どちらも有能なツールですが、一般に GPFGAN は顔の構造 (特に目) の復元に優れていますが、CodeFormer は肌のテクスチャの修正に優れています。 GPFGAN は人間の肌に奇妙に非常に滑らかな外観を与える傾向があるため、そのような現象が発生していることに気付いた場合は、代わりに CodeFormer を試してください。 あるいは、2 つを組み合わせて、両方の長所を最大限に活用してみてください。 繰り返しますが、実験が重要です。
速度の点では、GPFGAN は CodeFormer よりわずかに高速です。 したがって、アップスケーリングをできるだけ早く実現したい場合は、おそらく GPFGAN を利用することになるでしょう。
関連: MidJourneyを使用してあらゆるデバイス用の素晴らしい壁紙を作成する方法