はじめに
今更ですが、昨年末に話題になったSinGANを使ってみました。SinGANはICCV2019で発表されたモデルです。このモデルの驚くべき点は画像1枚で学習できることです。また1つのモデルで画風変換、超解像、画像編集、画像のアニメーション化など様々なタスクをこなすことができる汎用性の非常高いモデルです。
SinGANで超解像を試してみる
それでは早速、公式実装で128×128の画像を512×512の画像に高解像度化したいと思います。同時に、超解像のWebサービスのwifu2xで試した結果とも比較してみます。実行環境はGoogle Colaboratoryです。
まずは公式実装にある画像で試してみます。
左がwaifu2xで右がSinGANです。waifu2xの方は油絵のようになってしまっています。一方、SinGANはかなり精度の高い超解像ができています。
次に風景写真で超解像を試してみましょう。上側の画像が低解像度の画像で、下側の左側からwaifu2x、sinGAN、本物画像になります。waifu2xはやはり絵画のようになってしまっています。sinGANは公式にあった画像のときとは違い、かなりノイズが入ってしまいました。
次に花柄の模様で超解像を試してみました。これはwaifu2xの方が良い画像になっていますね。waifu3xはイラストモードと写真モードがありますが、イラストのような画像の超解像の方が得意なのかもしれません。一方、SinGANでも解像度は上がっていますが、こちらもノイズが混じってしまっています。
最後にコンクリートのテクスチャーで実施してみます。こちらも最初の風景写真と同様の結果になりました。
まとめ
今回、SinGANを使って超解像を試してみました。1つのモデルが終了するまでは40分ほど時間がかかりました。結果ですが、SinGANで高解像度化した画像にはノイズが入ってしまいました。SinGANは画像1枚から学習できるのですが、画像の種類のよっては得手不得手があるように思います。次はSRGANやTacoGANなどそれ以外の超解像アルゴリムを試してみようと思います。