超解像度サブアルゴリズム ESRGAN を使用して画像強調モデルをトレーニングする

画像やビデオを低解像度から高解像度に変換して、失われた細部 (つまり、高周波情報) を復元または補完するには、多くの場合、超解像度テクノロジーの使用が必要になります。
使用される低解像度画像の数に応じて、超解像技術は、単一画像超解像 (SISR) と複数画像超解像 (MISR) に分類できます。

SISR は低解像度の画像を使用します。画像サイズを大きくしたり、ピクセルを増やしたりする効果を得るには、これにより、高解像度の画像が得られます。
MISR では、同じシーン内で複数の低解像度画像が使用されます。さまざまな詳細情報を取得し、1 つまたは複数の高解像度画像を組み合わせます。 MISR の出力は、単一の画像または一連の画像 (つまり、ビデオ) のいずれかになります。
超解像の3つの魔法の武器:補間、再構成、学習
画像の超解像方式は、補間方式、再構成方式、学習方式の3種類に分類できます。
方法 1: に基づく補間
補間方法は画像を拡大した後の空の点を指します。対応するピクセル値を入力します。これにより、画像の内容が復元され、画像の解像度が向上する効果が得られます。
一般的に使用される補間方法には、最近傍補間、線形補間、双一次補間、バイキュービック補間などがあります。
最近傍補間
最近傍補間法は、実装が最も単純かつ大雑把であり、計算量も最小限です。最も近いピクセルのピクセル値を直接コピーして、そのピクセルを埋めるだけで済みます。ただし、隣のピクセルをコピーする最も明らかな特徴は、効果が低く、ブロッキング効果が明らかであることです。

線形補間
線形補間 一方向の補間です。1 次元データの場合のみ、方程式は 1 つの変数の多項式であり、変数が 1 つだけであることを意味します。

双一次補間
共一次補間は、1 次元データの線形補間方法に似ています。違いは、バイリニア補間が 2 次元イメージに拡張されており、X 方向と Y 方向の両方で補間が必要であることです。
双一次補間の演算プロセスは最近傍補間よりも若干複雑ですが、効果はより滑らかで、そのため補間された画像の一部の細部がぼやけて見えることもあります。
バイキュービック補間
バイキュービック補間(Bicubic Interpolation)も同様で、3 つの変数の関数補間。バイキュービック補間はより複雑で、出力される画像エッジはバイリニア補間よりも滑らかで正確ですが、動作速度も最も遅くなります。
方法 2: 再構築に基づく
再構成ベースの超解像復元手法とは、同じシーンの複数の低解像度画像を結合することを指します。空間的にサブピクセル精度の位置合わせを実行し、 高解像度画像と低解像度画像の間の動きオフセットを取得し、観測モデル内の空間動きパラメータを構築して高解像度画像を取得するプロセス。

再構成型超解像手法の核となる考え方は、これは、空間解像度と引き換えに時間帯域幅 (同じシーンの複数のフレーム画像シーケンスを取得すること) を使用することです。時間解像度から空間解像度への変換を実現します。
現在の超解像再構成手法は、周波数領域手法と空間領域手法の 2 つのカテゴリに分類できます。
周波数領域法は画像補間問題を周波数領域で解決するものであり、その観測モデルはフーリエ変換のシフト特性に基づいています。理論が単純で計算の複雑さが低く、並列処理の実装が簡単です。
空間法の線形空間観測モデルには、グローバルおよびローカルの動き、光学的ブラー、フレーム内モーション ブラーなどが含まれます。その代表的な方法には、不均一内挿法、反復逆投影法、最大事後確率法 (実用化や科学研究で最も一般的に使用される方法)、凸集合投影法などがあります。
方法 3: 学習ベース
学習ベースの超解像手法とは、ニューラル ネットワークを通じて低解像度画像から高解像度画像へのエンドツーエンド マッピング関数を直接学習することを指します。モデルによって学習された事前知識を使用して、画像の高周波の詳細を取得します。これにより、イメージ回復の結果が向上します。
浅い学習に基づくアルゴリズムのステップには次のものが含まれます。特徴抽出 –> 学習 –> 再構成。主流の手法には、例ベースの手法、近傍埋め込み手法、サポート ベクトル回帰手法、スパース表現手法などがあります。
このうち、サンプルベース手法は、学習に基づく初の単一画像超解像アルゴリズムです。フリーマンによって最初に提案されました。機械学習のトレーニングデータセットを使用して低解像度と高解像度の関係を学習し、超解像度再構築を実現します。
深層学習に基づくアルゴリズムのステップには次のものが含まれます。特徴抽出 –> 非線形マッピング –> 画像再構成
深層学習に基づく画像超解像再構成手法には、SRCNN、FSRCNN、ESPCN、VDSR、SRGAN、ESRGANなどがあります。ここでは、SRCNN、SRGAN、ESRGAN の 3 つのアルゴリズムに焦点を当てます。
SRCNN
SRCNN は、超解像度再構成にディープラーニングを使用する先駆者です。そのネットワーク構造は非常にシンプルです。畳み込み層は 3 つだけ含まれています。

実装方法が非常に洗練されている: 低解像度画像を入力し、バイキュービック補間を使用して画像をターゲット サイズに拡大し、3 層畳み込みニューラル ネットワークを使用して低解像度画像と高解像度画像の間の非線形マッピングを適合させ、最終的に出力します。再構成された高解像度画像。
アドバンテージ:ネットワーク構造は単純です (畳み込み層は 3 つだけ使用されます)。フレームワークはパラメーターを柔軟に選択でき、カスタマイズをサポートします。
欠点: データ量が変化すると、モデルを再トレーニングする必要があります。特徴抽出には 1 つの畳み込み層のみが使用され、画像の倍率が 4 を超えると詳細が完全には抽出されません。得られた結果は滑らかすぎて非現実的です。
サーガン
SRGAN は、リアリズムを維持しながら 4 倍の画像拡大をサポートする最初のフレームワークです。研究者らは、敵対的損失と内容損失を含む知覚損失関数の概念を提案しました。

敵対的損失は、ディスクリミネーター ネットワークを使用して、出力画像と元の画像の間の信頼性の違いを判断します。コンテンツの損失も、ピクセルの空間的類似性ではなく、知覚的な類似性によって引き起こされます。
知覚損失関数の導入、これにより、SRGAN は 1 つの画像に対して実際のテクスチャを生成し、画像の超解像度再構成を実行するときに失われた細部を補うことができます。
エスガン
ESRGAN SRGANをベースに、ネットワーク構造、敵対的損失、知覚損失をさらに改善し、超解像処理による画質向上。モデルの改善には次の 3 つの側面が含まれます。
1 ネットワーク構造を改善するために、より大容量でトレーニングが容易な Residual-in-Residual Dense Block (RRDB) を導入し、BN (バッチ正規化) レイヤーを削除し、残差スケーリングとより小さい初期化を使用して深いネットワークのトレーニングを改善します。
2 RaGAN を使用して弁別器を改善し、絶対値ではなく高解像度画像と元の画像の間の相対的な信頼性を予測することで、ジェネレーターが元の画像のより現実的なテクスチャの詳細を復元できるようになります。
3 知覚損失を改善するために、以前の SRGAN でのアクティブ化後の VGG 特徴がアクティブ化前の実行に変更され、出力画像のエッジの明瞭さとテクスチャの信頼性が向上しました。

SRGANと比較すると、ESRGAN によって出力された画像の品質は向上し、よりリアルで自然なテクスチャが得られます。PIRM2018-SR チャレンジではリストのトップに輝いています。コードは github.com/xinntao/ESRGAN にあります。
詳細なチュートリアル: ESRGAN を使用した画像強化
このチュートリアルでは、TensorFlow Hub で ESRGAN アルゴリズムを使用して画像を強化する方法を説明します。 ESRGAN の出力は以下のようになります。

ESRGAN をすぐに始めましょう
オープンソース契約:Apache ライセンス 2.0
設置環境:Python 3.6、TensorFlow 2.3.1
使用説明書:モデルは、DIV2K データセット (バイキュービック ダウンサンプリング画像) からのサイズ 128 x 128 の画像ブロックを使用してトレーニングされます。
注意すべき点:チュートリアルを実行するには、「画像の超解像度再構成に ESRGAN を使用する.ipynb」を使用してセルを順番に実行してください。ディレクトリ内のモデル フォルダーがモデル ファイルであり、esrgan-tf2_1.tar.gz ファイルがモデルです。圧縮パッケージ (このチュートリアルはパッケージ内で圧縮パッケージを使用せずに実行されます)
環境を整える

ヘルパー関数を定義する

パスからロードされた画像に対してハイパー解析を実行する

出力サイズを並べて比較する

オープンベイズについて
OpenBayes は、中国の大手マシンインテリジェンス研究機関です。コンピューティングパワーコンテナ、自動モデリング、自動パラメータ調整など、AI開発に関連する多数の基本サービスを提供します。
同時に、OpenBayes は、データ セット、チュートリアル、モデルなどの多くの主流の公開リソースも立ち上げました。開発者が理想的な機械学習モデルを迅速に学習して作成できるようにします。
今すぐアクセス オープンベイズ.com そして登録してください、週 600 分の vGPU をお楽しみください、および 1 週間あたり 300 分の無料 CPU
すぐに行動し、ESRGAN を使用して超解像度画像強化モデルをトレーニングしてください。