Super-Resolution GANで高解像度画像を生成

シェアする

  • このエントリーをはてなブックマークに追加
スポンサーリンク

はじめに

今回は、GoogleColaboratoryを使ってKeras-GANに実装されている Super-Resolution GAN を試していきたいと思います。

 Keras-GANに掲載されているコードで使用しているデータセットのリンクが切れていたため、今回はSuper-Resolution GANについてまとめていきます。

Super-Resolution GAN は、GANを超解像(super-resolution)に応用したものです。超解像というのは、低解像度画像から高解像度画像を生成する技術で、低解像度画像を入力とし、高解像度画像を出力するように学習します。しかし、低解像度画像から高解像度を生成する時に答えは一つではありません。図中の赤枠の画像のように、何パターンも考えられます。MSEをベースで考えると、どのパターンと比較しても、それなりに損失が小さくなるように、平均的なぼやけた画像が生成されます。

論文より引用

 この問題を解決するためにGANを使います。GANではdiscriminatorを騙すことさえできればどんなパターンでも良いため、平均的な画像ではなく、本物っぽいシャープな画像が生成されることが期待できます。

 そして損失関数としては次のものを使います。

 lSRGenGANに関する損失、lSRVGG VGG lossです。VGGのある層における特徴マップで比較します。この方が、シャープな画像が得られます。VGGを損失関数として使う手法は他の研究でも使われています。

モデルは下図のようにResNetとなっています。

論文より引用

他のGANについてもこちらでまとめてあります。

GoogleColaboratoryでGAN超高速入門

GoogleColaboratoryの使い方はこちら

論文:https://arxiv.org/abs/1609.04802

Keras-GAN にある Super-Resolution GAN のコードはこちら


対象者

 Super-Resolution GAN について知りたい方。色々なGANに興味がある方。Kerasでの実装を知りたい方。

 GANの基本を知っていることが前提になっています。

 こちらはGANの基本を押さえることができる良記事になっているので、読んでから進むことをお勧めします。


Super-Resolution GAN

今回、Keras-GANにあるコードで使っているデータセットのリンクからダウンロードしようとしたところ、リンクが切れていました。(2018年9月4日現在)そのため、今回は論文に掲載されている結果を掲載しておきます。

論文より引用


 今回は、Super-Resolution GAN GoogleColaboratory上で試してみました。GoogleColaboratoryを使うことで簡単に試すことができると思うのでぜひやってみてください。

 今回は、Super-Resolution GAN についてまとめました。

他のGANについてもこちらでまとめてあります。

GoogleColaboratoryでGAN超高速入門

最後まで読んでいただきありがとうございました。よろしければこの記事をシェアしていただけると励みになります。よろしくお願いします

スポンサーリンク
レクタングル広告(大)
レクタングル広告(大)

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レクタングル広告(大)