JPEG Repair

詳細

ファイルをダウンロード

モデル説明

これは、リアルな写真のJPEGアーティファクト(ブロッキング/グリッド、リング)を予測された元のテクスチャで置き換え、特に肌のテクスチャに特化した概念実証用LORAです。

データセット

トレーニング画像は、プライベートデータセットから選ばれた750枚の高品質な(女性)身体部位の写真で構成されています。これらの写真は、極端なクローズアップから全身まで、さまざまな距離、角度、照明条件で撮影されています。画像は手動でリサイズ・トリミング(Lanczos)され、5〜30メガピクセルのオリジナルから、768(0.6MP)、1024、1280、1536(2.36MP)の解像度バケットに変換してターゲット画像を作成しました。その後、ffmpeg -q:v 2 および 6 を使用してコントロール画像を圧縮しました。ほとんどの画像のアスペクト比は4:3または3:2であり、リサイズ後もアスペクト比は維持されています。

トレーニング

このLORAは、bf16非量子化されたKontextモデルの重みでトレーニングされました。adamw8bit、学習率2e-04、リスタート付きコサインスケジュール(2.66サイクル)を使用し、合計3500ステップでトレーニングを行いました。最初に500ステップのウォームアップを行い、その後1250ステップをウェーブレット損失で継続しました。このウェーブレット損失は、リングとブロッキングアーティファクトを効果的に除去しました(私のテストでは、MSE損失はブロッキングの一部を除去するだけで、1250ステップではリングへの効果が非常に限定的でした)。その後、さらに1250ステップをMSE損失でトレーニングし、極めて微細なピクセルレベルのテクスチャを追加し、テクスチャの明瞭さを向上させました(ウェーブレット損失はピクセルレベルのテクスチャに対してややぼやけた結果をもたらしました)。最後に、-q:v 6 のサンプルのみを使用して追加の500ステップをトレーニングし、テクスチャの追加に役立ったと考えました。全体のトレーニングは、低ノイズの遅いタイムステップの損失にのみ焦点を当てました。

使用方法

このLORAを使用するには、フルで非量子化(bf16)のベースモデルの使用を強く推奨します。下記の制限事項をご覧ください

トリガーワードは不要です。通常のKontextワークフローにこのLORAを追加して実行するだけです。

25ステップのEuler/Simpleで良い結果が得られます。

多くの写真ビューアーやエディター(ブラウザを含む)は、ズームイン時にピクセルをぼかして滑らかにします。修復された画像に差異が見られない場合は、このような処理を行わないビューアーに切り替えてみてください。macOSでは、Finderのプレビューはズームイン時にピクセルをぼかしますが、Previewアプリはぼかしません。ComfyUIでは、ピクセルをはっきりと確認できる程度にズームインする機能はなく、そのため外部のビューアーの方が適しています。

ロードマップ

  • データセットに2048解像度のサンプルを追加
  • キャプション付け
  • 入力画像を2倍にスケールした後、アーティファクトを2倍に大きくしてモデルが高品質な結果を出しやすくする2xモデルのトレーニング・実験・リリース
  • スケールされたアーティファクトを含むサンプルをデータセットに追加
  • 8x8 JPEGブロックがずれたサンプルをデータセットに追加

制限事項

  • AI生成画像:このLORAはリアルな写真のみでトレーニングされており、リアルな写真の修復を目的としています。AI生成画像の修復方法を学習していない可能性があります。私はこの点をテストしていません。
  • 量子化:私のテストでは、Kontextベースモデルがfp8に量子化されると、入力画像からJPEGアーティファクトを信頼性高く再現できず、ピクセルをズームインして確認するとすべてがぼやけた状態になりました。意味のある結果を得るには、非量子化モデルでこのLORAをトレーニングおよび実行する必要がありました。
  • リサイズ:入力画像のリサイズは推奨しません。JPEGブロックパターンのサイズが変化するため、このLORAは8x8ブロックのみを処理するようにトレーニングされています。
  • アップスケーリング:これはアップスケーラーではなく、画像を拡大しません。JPEGアーティファクトが元のテクスチャの喪失を示唆している場合にのみテクスチャを追加します。アーティファクトのない完全に滑らかな肌や表面にテクスチャを無から追加することはありませんし、プラスチックのような肌をリアルな肌に自動変換することもできません。
  • 古い、しわのある、男性の肌:テストされておらず、古い肌でトレーニングされていません。
  • 顔:顔を修復することは可能ですが、CivitAIの利用規約により、顔に特化してトレーニングされていません。顔のブロッキング/リングアーティファクトは通常通り除去しますが、顔の肌テクスチャの追加については結果が人それぞれです。CivitAI外で顔を含めてトレーニングしたバージョンをリリースする予定です。
  • ノイズの多い画像:(JPEG圧縮された)クロマ・ルーマノイズが多い画像には対応しますが、信頼性は高くありません。トレーニングデータには一部ノイズの多い画像が含まれていますが、割合はわずかです。
  • モーションブラー:トレーニングデータには深刻なモーションブラーを含む画像は一切ありません。モーションブラーに対して悪影響を及ぼすことはありませんが、この目的でトレーニングされていません。
  • 浅い被写界深度:データセットの多くの画像は浅い被写界深度(実際のカメラ/レンズで撮影)を含んでおり、モデルが不確実な場合、ぼやけた浅い被写界深度の効果を生成する傾向があります。このバイアスを軽減する予定です。
  • 非常に暗い肌色:この肌色のトレーニングデータはなく、テストも行っていません。動作するかは不明です。
  • 多量の陰毛:トレーニングデータはほとんどが無毛または少量の陰毛であり、動作する可能性はありますが、この目的で特化してトレーニングされていません。
  • プロンプトの準拠:このLORAは圧縮されたJPEG画像の修復専用に設計されています。通常のプロンプトは動作する可能性がありますが、品質が低下する可能性があります。
  • これは概念実証用LORAです。驚異的な結果を出しますが、あくまで概念実証用LORAです。

このモデルで生成された画像

画像が見つかりません。