画質を良くしてくれる技術、超解像システムを比較してみた
趙解像についての文献が少なすぎるので、
だったら自分で増やせばいいじゃないと思い、書いてみる。
今回は、いろんな超解像システムを試して、精度を比較してみた。
超解像とは
低解像度の画像を高解像度の画像に変換する技術のこと。
もっと簡単に言うと、
画質をきれいにしてくれる技術
のこと。
最近では、AI(ディープラーニング)を用いて高速かつ精度よく画像処理を行ってくれる技術が増えている。
AIアルゴリズムの一例として、SRCNNやSRGNNがある。
使用ソフト
- waifu2x
AI(深層畳み込みニューラルネットワーク:SRCNN)を用いたオープンソースの超解像システム。
今回はWindows向けの派生ソフトであるwaifu2x-caffe を使用する。
- NeuronDoubler
ニューラルネットワークとハードコーディングロジックを併用した独自開発のアルゴリズムを用いた超解像システム。
- SmillaEnlarger
独自開発のアルゴリズムを使用した画像拡大ツール。
- 100×100倍 超解像ソフト
神戸大学の研究室が公開している超解像システム。
- photoshop
バイキュービック法(主に画像処理ソフトで使用されている拡大方法で、周囲4×4ピクセルから目的のピクセルを補完するアルゴリズム)を用いた拡大を行う。
- MSペイント
最近傍法(最も一般的な拡大方法で、中間色を生成しないで拡大する方法)を用いた拡大を行う。
実験方法
500×500pxの画像を10枚用意した。
元画像を1/2に一旦縮小させてから、超解像ソフトを使用して2倍拡大した。
精度の比較には、PSNR とSSIM の2つの指標を用いて比較した。
>PSNR
元画像と超解像後の画像の同じ位置の1ピクセル同士がどのくらい変わったかを示した機械的な指標.。値が大きい方が差異は小さい。
>SSIM
同じ位置のピクセルと,その周囲のピクセルがどのくらい変わったのかを示した指標。1に近い方が差異は小さい。
実行結果
- 趙解像画像の一例
- PSNR値
- SSIM値
考察
- waifu2x
ノイズやジャギーがきちんと除去されており、他の使用ソフトの結果と比べてもかなり画像処理精度は高い。PSNR,SSIMの値が少し劣った原因として、AIの予測で補完しているため、目視では綺麗でも機械的に見たときには元画像とのピクセルのずれが大きくなったからではないかと考えられる。
- NeuronDoubler
目視でも数値でも他の使用ソフトと比べてかなり良かった。ニューラルネットワークとハードコーディングロジックを併用していることにより、waifu2xと違い機械的に見ても良い結果となったのではないかと考えられる。
- SmillaEnlarger
ジャギーはほとんどなく綺麗に見えるが数値比較では最も悪い結果となった。
出力画像すべてに綺麗に見せるためなのかフィルターのようなものがかかってしまったため数値が悪くなってしまったのではないかと考えられる。
- 100×100倍 超解像ソフト
少しジャギーが残ってしまったが、photoshopやMSペイントなどと比べると画像処理精度が高いといえる。特にSSIM値はwaifu2xよりも高く、機械的に見ても良い結果といえる。
- photoshop
超解像と比べるとやはりノイズやジャギーが目立つ。アルゴリズム的にはMSペイントよりかなり良い結果となると予想していたが、そこまでの差異はなかった。
- MSペイント
ノイズやジャギーはとても目立つ。一つだけ格段に悪い結果になると予想していたが、photoshopとそこまでの差異はなかった。
- MSペイント
いわずもがな画質は荒い。
waifu2xとNeuronDoublerの2つがほかの拡大方法と比べてノイズの少ない拡大をすることができた。
数値比較ではどちらもNeuronDoublerが最も高い値を出した。
この事より、ニューラルネットワークなどのAIを用いた超解像システムが最も有用性があるといえる。
おわりに
やはりAIのアルゴリズムって凄い(小並感)
今回はSRCNNのアルゴリズムを試してみたが、
次はSRGNNを用いた超解像システムも試してみたいと思う。
SRGNNの方がSRCNNさらに精度が高いらしいので。
…そもそもSRCNNもSRGNNも古いのか?
今の最新技術って何なんだ(情弱)
今回はただのソフト紹介だったけど、いずれ技術的なことも書けたらいいな。
超解像はまだまだ聞き馴染みのない技術かも知れないけど、
いずれもっと広く知れ渡る技術になって欲しいと思う。