project
DemoFusion - 無料のオープンソース画像解像度向上フレームワーク
DemoFusionは、低コストで高解像度画像を生成するために設計された技術フレームワークです。既存のオープンソース生成AIモデル(Stable Diffusionなど)を拡張し、追加のトレーニングなしで高解像度画像を生成できるようにします。
DemoFusionとは何ですか?
DemoFusionは、低コストで高解像度画像を生成するために設計された技術フレームワークです。既存のオープンソース生成AIモデル(Stable Diffusionなど)を拡張し、追加のトレーニングや過剰なメモリ要件なしに、ぼやけた低解像度画像をはるかに鮮明に(最大4倍、16倍、あるいはそれ以上の解像度に)します。DemoFusionは、プログレッシブエンハンスメント、スキップ残差、膨張サンプリングメカニズムを採用して高解像度画像の生成を実現し、リソースが限られたユーザー向けにMagnific AIと同様のソリューションを提供します。
DemoFusion公式サイトへの入り口
- 公式プロジェクトホームページ:https://ruoyidu.github.io/demofusion/demofusion.html
- Arxivの研究論文:https://arxiv.org/abs/2311.16973
- GitHubリポジトリ:https://github.com/PRIS-CV/DemoFusion
- Hugging Face ランタイム アドレス:
- 画像から画像へのバージョン:https://huggingface.co/spaces/radames/Enhance-This-DemoFusion-SDXL
- テキストから画像への変換バージョン:https://huggingface.co/spaces/fffiloni/DemoFusion
- 実行時アドレスを複製する:
- 画像から画像へのバージョン:https://replicate.com/lucataco/demofusion-enhance
- テキストから画像への変換バージョン:https://replicate.com/lucataco/demofusion
- Google Colab ランタイムアドレス:https://colab.research.google.com/github/camenduru/DemoFusion-colab/blob/main/DemoFusion_colab.ipynb
DemoFusionの機能
- 高解像度画像生成DemoFusionは、事前学習済みのGenAIモデル(SDXLなど)の画像生成機能を、1024×1024ピクセルから4096×4096ピクセル以上の高解像度まで拡張することができ、モデルの追加学習は不要です。
- プログレッシブアップサンプリングDemoFusionは、画像解像度を段階的に上げることで、画像全体の品質と意味的な一貫性を維持しながら、生成プロセス中に画像の詳細を徐々に洗練させていくことを可能にします。
- グローバルな意味的一貫性DemoFusionは、スキップ残差と膨張サンプリング機構を用いることで、高解像度画像を生成する際に全体的な意味的一貫性を維持し、局所領域における繰り返しや構造的歪みを回避することができます。
- 迅速な反復DemoFusionはプログレッシブアップサンプリング機能を備えているため、生成プロセス中に低解像度の結果を素早くプレビューすることができ、高解像度画像が生成されるのを待つ前に、画像のレイアウトやスタイルを迅速に反復調整することが可能です。
- 追加のハードウェアは不要です。DemoFusionはRTX 3090 GPUなどの一般消費者向けハードウェアでも動作するため、ユーザーは高価なハードウェアに投資することなく高解像度の画像を生成できます。
- 簡単に統合できますDemoFusionはプラグイン可能なフレームワークであるため、既存のAI生成モデルと容易に統合でき、研究者や開発者は高解像度画像生成機能をプロジェクトに迅速に適用できます。
- 豊富なアプリケーションシナリオDemoFusionは、芸術作品の制作だけでなく、ゲーム開発、映画制作、バーチャルリアリティなど、高解像度画像を必要とする様々な分野にも適しています。
DemoFusionの仕組み
DemoFusionは、高解像度画像を生成するために連携して動作するいくつかの重要なステップとメカニズムに基づいています。主なワークフローは以下のとおりです。
- 初期化:
- DemoFusionは、SDXLなどの事前学習済み潜在拡散モデルを使用して生成された低解像度画像から始まります。
- 段階的拡大:
- DemoFusionは、低解像度の画像から始めて、画像の解像度を段階的に向上させていきます。このプロセスでは、まず現在の解像度の画像をより高い解像度にアップサンプリングし、次に拡散処理によってノイズを導入し、最後にノイズ除去処理によって画像を復元します。このプロセスを、毎回より高い解像度で繰り返すことで、画像のディテールを徐々に高めていきます。
- スキップ残余:
- ノイズ除去処理において、DemoFusionは前回の反復処理で得られたノイズ反転表現をジャンプ残差として利用します。これにより、画像生成時に画像全体の構造を維持しつつ、局所的なディテールを最適化することが可能になります。
- 拡張サンプリング:
- DemoFusionは、各ノイズ除去パスのグローバルなコンテキストを強化するために、膨張サンプリングを導入しています。これは、膨張サンプリングによって潜在空間におけるグローバルな表現を取得し、これらのグローバルな表現を用いてローカルなノイズ除去パスを誘導することで、グローバルな一貫性を持つ画像コンテンツを生成することを意味します。
- 地域的な道とグローバルな道を融合させる:
- DemoFusionは、各反復ステップにおいて、局所的なノイズ除去パス(膨張サンプリングによって得られた局所的な潜在表現)と全体的なノイズ除去パス(スキップ残差によって得られた全体的な潜在表現)を組み合わせて、最終的な高解像度画像を生成します。
- デコード:
- 最後に、デコーダーは最終的な潜在表現を画像空間に変換し、高解像度の出力画像を得る。
DemoFusionのこれらの手順とメカニズムは連携して動作し、追加のトレーニングなしに、詳細が豊富で全体的な一貫性に優れた高解像度画像を効率的に生成することを可能にします。
DemoFusionの使い方
- DemoFusion ReplicateまたはHugging Faceのランタイムアドレスにアクセスします。
- 拡大したい画像をアップロードするか、サンプル画像を使用してください。
- プロンプトとなる単語を入力するか、画像または画面の説明を入力してください。
- シード値を調整し、デモフュージョンパラメータを設定します。
- 最後に「実行」をクリックし、画像が高解像度に拡大されるまで待ちます。