このプロジェクトについて

iSeeBetterは、2020年のSpringer Journal of Computational Visual Mediaの論文およびStanford CS230プロジェクトに関連するビデオ超解像のためのPython/PyTorch研究実装です。この手法は、各フレームを独立して処理するのではなく、隣接フレームからの時間情報を利用して、より高解像度のビデオを生成するように設計されています。 生成器は、単一画像および複数画像の超解像パスを持つRecurrent Back-Projection Networkです。複数画像パスは、現在の低解像度フレームを隣接フレームおよび事前計算された密なオプティカルフローマップと組み合わせます。識別器はSRGANから採用されています。トレーニングでは、MSE、知覚的、敵対的、および全変動損失からなる4つの部分からなる損失を使用します。 オプティカルフローサポートは、Ce LiuのCoarse2Fine Optical Flow実装のPythonラッパーであるPyflowを通じて提供されます。リポジトリには、Python 3.7を使用したUbuntuおよびmacOS用のPyflowバイナリが含まれており、必要に応じて再構築するためのコマンドが提供されています。 文書化されたトレーニングデータは、SPMCS、Vid4、Vimeo90K、および追加のYouTubeクリップを組み合わせたものです。低解像度フレームは4倍バイキュービックダウンサンプリングによって生成され、回転、反転、およびランダムクロッピングが拡張として使用されます。DatasetFetcher.pyはVimeo90Kを取得でき、SPMCSおよびVid4へのリンクが提供されています。 必要なパッケージには、torch、pytorch-ssim、numpy、scikit-image、tqdm、およびopencv-pythonが含まれます。要件をインストールし、Pyflowをビルドした後、トレーニングはiSeeBetterTrain.pyで、テストはiSeeBetterTest.pyで実行されます。--upscale_onlyオプションは初期ダウンスケーリングを無効にします。4エポックトレーニングされたモデルがweightsディレクトリに含まれています。 リポジトリには、論文リンク、アーキテクチャ図、評価例、ポスター、引用情報、および参照されたSRGANおよびRBPN-PyTorch実装へのクレジットも含まれています。