このブログは移転しています。

MKTIAの備忘録

現在MKTIAの備忘録に記事を移行中です。

ディープラーニングを用いて画像を綺麗に拡大できるwaifu2x

machine learning

画像を拡大するとき(私の中で)問題となるのは、拡大後の画質が悪いことです。

これまでは Nearest Neighbor, Bilinear, Bicubic, Lanczos 法などが用いられてきましたが、畳み込みニューラルネットワーク (Convolutional Neural Network) を用いて拡大すると綺麗に拡大できるのではないか、と考えた方がいらっしゃいました。

スポンサーリンク

waifu2x

前述の通り、畳み込みニューラルネットワークを用いて画質を劣化させることなく拡大する、という技術に挑戦した Web アプリです。しかも、すごいことに多言語対応。

waifu2x

元は 2 次元イラストの拡大が目的でしたが、写真も拡大できるようです。

ものは試しということで、実際にどれだけ綺麗に拡大できるか検証してみました。

検証結果

元の画像

chino-1

画像の大きさは 256*256 です。

これを相似比 2 倍に拡大してみます。

ペイントを用いた拡大

chino-2-ver1

縦・横に 2 倍なので 512*512 です。

Windows に標準搭載されたペイントでは、どの手法で拡大しているのかわかりませんが、まあこんな仕上がりです。

Lanczos3法による拡大

chino-2-ver2

フリーソフトを用いて、Lanczos3 法による拡大を行った結果です。

ペイントを用いたときと大差ないですが、若干色が違います。

waifu2xによる拡大

chino-2-best

さて、いよいよディープラーニングの出番。

感想としては、めちゃめちゃ綺麗じゃないですか!!って感じです。

最初に試したときは、感動して数十秒画面を眺めてました。

ノイズ除去を最高にしたのもあってか、かなり時間かかるというかサーバに負荷をかけて出力したんだと思いますが、これは予想以上の出来映えです。

まとめ

機械学習っていろいろできるんだなと思いつつ、自分でも実装できるようになりたいと日々願ってます。もちろん少しずつ勉強してますが、難しいですね…

なお、拡大法の詳細については以下のブログにわかりやすく載ってます。

koujinz blog

スポンサーリンク

フォローする