低解像度ビデオもすぐに高解像度に変換できる超解像アルゴリズムTecoGANがすごい

論文 Temporally Coherent GANs for Video Super-Resolution (TecoGAN) 

画像超解像技術は、既存の画像情報から欠けている画像詳細を再構成することによって、低解像度画像から高解像度画像を生成するプロセスを指します。

画像と比べて、ビデオ超解像技術はより複雑です。詳細なフレーム画像生成を必要とするだけでなく、さらに、画像間の動きの一貫性も維持する必要があるからです。

新しく発表された論文では、これらを考慮したビデオ超解像のための新しいモデル「TecoGAN」が提案されています。

次のアニメーションはTecoGANを使用して生成されたものです。細部まで綺麗に生成することができ、さらに時間的にも一致しています。通常ビデオはズームすると画質が劣化しますが、TecoGANを用いることで画質を落とさずに拡大することができます

ビデオの場合、任意の超解像フレームを生成するだけではなく、より長いシーケンスにわたって動きが一致している必要があります。
論文では、空間的な高周波の詳細と時間的な関係の両方を考慮するGANに基づいたアイデアを採用し、フレーム間の動きを一致させています。

生成器 Generator


フロー推定ネットワーク付きジェネレータ

ジェネレータGは、低解像度の入力から高解像度のビデオフレームを繰り返し生成するために使用されます。ジェネレーターGは通常の生成器にフロー推定ネットワークFを組み合わせたものです。このネットワークに、フロー(動き)と元の低解像フレーム入力すると新しい超解像フレームが生成されます。

ここにおけるフロー(動き)とは、映像をズームした時、またはズームアウトした時の間の動きのことを指します。この動きを推定するネットワークをフロー推定ネットワークFとします。

フロー推定ネットワークFは通常のフレームxt-1とズームした時のフレームxtの間の動きを推定するように訓練されます。

一方、生成器は、一貫性のあるフレームを生成するために、一つ前に生成したデータを再利用するシステムを採用し、以前に生成した高解像度フレームgt-1から高解像度フレームgtを生成します。

フロー推定ネットワークFと生成器をくっつけ、識別器をだますように一緒に訓練していきます。

 

識別器 Discriminator

識別器への入力

生成された3つの時間的に隣接した高画質フレームGと(正確にはGにワープをかけた高画質フレームも含まれる)
3つの正解フレームYを識別機にかけます。さらに、3つの時間的に隣接したズーム低画質フレームXを条件として入力します。

識別器はもしGがYと比較して、動きが厳密でなかったり、非現実的なフレーム(ありえない数値であった場合)であった場合、減点対象として生成器にフィードバックし学習させます。一方、低画質フレームXは”こういうのははずしてね”といった制約として作用します。

 

損失関数

 

時間的に一貫したフレームを生成するために双方向損失関数を採用しています。

生成されたフレームシーケンスgtに対して、逆方向から再生したシーケンスをgt‘とし、これらフレームが重なり合うように、フレーム間の誤差を損失関数とし最小化させていくアイデアです。

生成されたフレーム

以下の3つのアニメーションは、TecoGANによって 生成された超解像フレームです。

動物の皮の網目構造、トカゲの模様、クモの後ろの斑点まですべてが綺麗に復元できており、さらに時間的なズレもなく一貫したフレームが生成されています。

 

詳しい結果は以下の動画で確認できます。

 

関連リンクhttps://github.com/thunil/TecoGAN

 

この記事をシェアする