超解像プログラムwaifu2xとNeuronDoubler(と、他にいろいろ)を比べてみた
はじめに
現在、画像の超解像(高解像化)処理としてニューラルネットワーク(人工知能)を活用したものがフリーで公開されています。ここで、本稿では、先般、ニューラルネットワークを活用した超解像処理として話題になったwaifu2xと以前より公開されているNeuronDoublerを比較するとともに、参考として著名なフリーの高解像化ソフトであるSmillaEnlarger(独自アルゴリズム)、古典的なバイキュービック法、Lanczos-3法、単なる拡大であるニアレストネイバー法による画像処理を比較するものです。
拡大方式の説明
waifu2x
制作者のブログによればDeep Convolutional Neural Networksによって処理を行うプログラムです。
詳細は製作者のブログを参照してください。ultraist.hatenablog.com
NeuronDoubler
制作者のブログによれば独自開発のニューラルネットワークとハードコーディングによって処理を行う*1プログラムです。
なお、製作者のブログは日本語でのドキュメントが豊富なので、参考になると思われます。
Loggia Logic: 人工知能超解像プログラム NeuronDoubler
SmillaEnlarger
著名なフリーの画像拡大ソフトで独自アルゴリズムだそうです。詳細は調べたのですがよくわかりませんでした。
SmillaEnlarger download | SourceForge.net
ニアレストネイバー法
単なる拡大です。
実験方法
使用ソフト
waifu2x
NeuronDoubler
- NeuronDoubler v3.21
- Java 1.7.0_67-b01(64bit)
- ヒープを最大8G確保
SmillaEnlarger
- SmillaEnlarger Ver 0.9.0
- Enlarger parameter default
Lanczos-3法
- 藤 -Resizer- v2.66.4 #219
- 設定はデフォルト
ニアレストネイバー法
- Photoshop CS6 64bit
使用画像
風景
新宿の風景写真です。
CC BY-SA 3.0 Morio
イラスト1
waifu2xの制作者も使用しているミクさんの画像です。萌え系キャラクターのイラストです。
CC BY-NC 3.0 Crypton Future Media, Inc.
マンガ
佐藤秀峰の「ブラックジャックによろしく」の一場面です。
タイトル:ブラックジャックによろしく 著作者名: 佐藤秀峰 サイト名: 漫画 on web
実験方法
拡大
当該画像を各方式で各辺2倍に拡大する。また、処理時間をストップウォッチで計測する。
比較
元画像と拡大した画像を、類似画像検出ソフト DRE Ver 1.0.2のLoose Luminance Similarity*4で比較し、距離を計測する。また、Diff IMG 2.2.0によるMean error*5を計測する。併せて、目視による確認を行う。
結果
人物
元画像
waifu2x
元画像と比べて輪郭が強調されている。反面ノイジーな感じが出てしまっている。
NeuronDoubler
waifu2xに近いが、よりソフトな感じに仕上がっている
SmillaEnlarger
全体的にノイズが出てしまっている。細部はボケている。
バイキュービック法
全体的にSmillaEnlargerに近いが、細部の仕上がりは大味になっている。
Lanczos-3法
ニューラルネットワークを使ったものには劣るが、細部の輪郭は割とはっきりしている。
ニアレストネイバー法
当たり前だがジャギっている。
風景
元画像
waifu2x
構造物の線が変に滲んで太っているような感じになっている。背景の山はディティールが強調されている。
NeuronDoubler
やはりwaifu2xに近いが全体的にソフトな感じになっている。構造物の線も自然に拡大されている。
SmillaEnlarger
やはりノイジー。構造物の線は太っているが不自然というほどではない。下部の建物群は全体的につぶれている。
バイキュービック法
構造物の線などは自然に再現されているが、全体的につぶれた印象はぬぐえない。
Lanczos-3法
全体的にソフトな感じになっているが、構造物の線などはそれなりに再現されている印象。
ニアレストネイバー法
相変わらずジャギジャギ。
イラスト1
元画像
waifu2x
細い線が滲んだ感じになってしまっているが、再現としては悪くない印象。
NeuronDoubler
滲んだ感じは無いが、シャープさに欠ける。
SmillaEnlarger
相変わらずノイジー。全体の印象としては、元画像を遠目でみたような感じに見える。
バイキュービック法
絵が二重になっているような感じ。ソフトになりシャープさは低い。
Lanczos-3法
全体的にシャープだが、waifu2xで処理した画像をブレブレにしたような印象。
ニアレストネイバー法
やっぱり、ジャギ…
イラスト2
元画像
waifu2x
直線がゆがんでおり、フリーハンドで書き直したようなイラストになっている。
NeuronDoubler
waifu2xに比べて直線部分はしっかりしているものの、全体的にブレブレな感じになっている。
SmillaEnlarger
直線の再現性は高いが、ノイジーな傾向は変わらず。
バイキュービック法
線はしっかりしているが、ピンボケ感が高い。
Lanczos-3法
直線の再現性も高く、シャープさもそれなりになっている。
ニアレストネイバー法
ジャギ…
マンガ
元画像
waifu2x
相変わらず水彩のような線の滲んだ感じはあるが、ディティールの再現性は悪くない。
NeuronDoubler
全体的にブレた感じになっているが、ディティールの再現性は悪くない。
SmillaEnlarger
比較的自然ではあるが、下のコマのディティールがつぶれてしまっている。
バイキュービック法
NeuronDoublerに近いが、それよりピンボケしてしまっている感じがする。
Lanczos-3法
比較的シャープな仕上がりだが、下の駒のディティールはつぶれている。
ニアレストネイバー法
ジャ…
処理時間
人物 | 風景 | イラスト1 | イラスト2 | マンガ | 備考 | |
waifu2x | 13.88 | 14.03 | 14.23 | 14.07 | 14.05 | |
NeuronDoubler | 10.48 | 11.24 | 7.21 | 11.66 | 10.32 | |
SmillaEnlarger | 計測不能 | 計測不能 | 計測不能 | 計測不能 | 計測不能 | 1秒以下 |
バイキュービック法 | 計測不能 | 計測不能 | 計測不能 | 計測不能 | 計測不能 | 1秒以下 |
Lanczos-3法 | 計測不能 | 計測不能 | 計測不能 | 計測不能 | 計測不能 | 1秒以下 |
ニアレストネイバー法 | 計測不能 | 計測不能 | 計測不能 | 計測不能 | 計測不能 | 1秒以下 |
単位:秒
ストップウォッチで計測したので誤差は大きい。
元画像との比較(数値評価)
DRE
DREのLoose Luminance Similarityにおける距離(低い方が良い)
人物 | 風景 | イラスト1 | イラスト2 | マンガ | 偏差値の平均 | |
waifu2x | 4 | 10 | 11 | 34 | 11 | 59.43 |
NeuronDoubler | 5 | 9 | 10 | 35 | 13 | 61.27 |
SmillaEnlarger | 7 | 12 | 8 | 27 | 9 | 56.50 |
バイキュービック法 | 4 | 8 | 10 | 36 | 13 | 58.46 |
Lanczos-3法 | 5 | 8 | 10 | 39 | 14 | 63.33 |
ニアレストネイバー法 | 5 | 8 | 8 | 35 | 12 | 55.10 |
偏差値の平均は各画像ごとに各ソフトの偏差値を出して平均をとったもの。(低い方が良い)
Diff IMG
Diff IMGにおけるmean error(低い方が良い)
人物 | 風景 | イラスト1 | イラスト2 | マンガ | 偏差値の平均 | |
waifu2x | 14.06268 | 25.33036 | 12.04940 | 23.88212 | 24.98231 | 57.43 |
NeuronDoubler | 12.63195 | 22.00640 | 12.48466 | 24.61251 | 23.29071 | 53.45 |
SmillaEnlarger | 17.00923 | 25.66328 | 14.15476 | 29.70645 | 25.57523 | 68.93 |
バイキュービック法 | 11.92329 | 21.01698 | 14.10989 | 29.34508 | 25.26622 | 59.85 |
Lanczos-3法 | 11.97502 | 20.58567 | 13.71461 | 26.97517 | 23.81519 | 56.00 |
ニアレストネイバー法 | 15.33894 | 29.21112 | 15.71615 | 31.87706 | 30.17735 | 77.71 |
偏差値の平均は各画像ごとに各ソフトの偏差値を出して平均をとったもの。(低い方が良い)
結論
waifu2x
全体的にシャープで良いが、輪郭や線が変に太ったり滲んだ感じになったりゆがむ傾向がある。
NeuronDoubler
waifu2xに比べてシャープさに欠けるが、輪郭や線はより自然に拡大される。
SmillaEnlarger
全体的にノイジーでニューラルネットワークを使用したものに比べてディティールの再現性は劣る。
バイキュービック法
比較的自然に仕上がるが、ピンボケしたような感じが出てしまいシャープさに欠ける。
*1:Loggia Logic: 人工知能超解像プログラム NeuronDoubler のアルゴリズム(動作原理)
*2:画像処理実験の定番画像 レナ (画像データ) - Wikipedia
*3:レナのみ元から512x512ピクセル
*4:類似画像検索
*5:平均誤差