【超解像】画像拡大ソフト総合スレ2【waifu2x】 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
画像を人工知能(Neural Network)を利用して拡大、あるいはノイズ除去するソフトウェアの話題を総合的に扱うスレです。
本来の用途は静止画が対象ですが動画のアプコン処理に関する話題もOKです。
ただし動画編集ソフトの使い方の部分の話は各ソフトのスレに行って下さい。
--主なソフト--
・waifu2x
本家Webサービス
http://waifu2x.udp.jp/
・waifu2x概要:二次元画像を拡大したいと思ったことはありませんか? (waifu2x作者氏のブログ)
http://ultraist.hatenablog.com/entry/2015/05/17/183436
・waifu2xとその派生ソフト一覧
※リンクがNGワードに!
・waifu2xのベンチマーク結果まとめ - Togetter
http://togetter.com/li/831437
・無料で二次元画像を人工知能が補完してハイクオリティで1.6倍/2倍に拡大できる「waifu2x」 (gigazinの記事)
http://gigazine.net/news/20150519-waifu2x/
・Otaku ワールドへようこそ![212]嫁を拡大する人工知能/GrowHair (日刊デジタルクリエイターズの記事)
※従来の拡大手法とwaifu2x、SRCNNの違いについての丁寧な解説記事
http://blog.dgcr.com/mt/dgcr/archives/20150605140100.html
・NeuronDoubler
人工知能超解像プログラム NeuronDoubler
http://loggialogic.blogspot.jp/2012/06/neurondoubler.html
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured >>39
これ学習時に縮小するときにジッタ成分としてランダムにサンプリング位置を僅かにずらしたのを学習させれば
ノイズとして巧いこと処理できるようにならないかな
縮小したのをWarpsharpとかランダムシフトでずらして凸凹を再現してもいいけど >>54
ちゃんとキレーに処理されてたら無駄にならないからいいけど、
いざ確認できるようになってから、誤差拡散ノイズまみれとかになってたら嫌じゃね? ビット拡張は暗部階調に意味があるんだからガンマカーブやトーンカーブいじって明るくしてやれば確認は出来るでしょ
10bit出力だってDirectXやOpenGLのフルスクリーンで相当昔から出来るがDeepColorのTVでもそのままじゃわからん
Blu-Ray再生でRGBのまま再生したいときにロスが減るという意味がある程度かもしれん rigayaの日記兼メモ帳 技研公開 2016
http://rigaya34589.blog135.fc2.com/blog-entry-788.html
NHKの方でも縮小して拡大、PSNR算出みたいな事するのね ムッ、ブログ記事の画像URLのGiken2016_10s.jpgをGiken2016_10.jpgにすると読みやすいのが出るな >>58
平均的にはいいんだけど,現在のモデルよりすごく悪くなる例がいくつかあってどうしてもよくならないので苦悩しています
(ウェブの方を置換するので現在より悪い例はできるだけ無くしたい)
あと2倍といっていたけど,モデルのロード時間も測ってしまっていて
測りなおしたら4倍近く速かったので,もう少し遅くなっていいのでよくできないかなと考えています >>61
お疲れ様です。
すごく悪くなる例というのは、以前おっしゃられていたピクセルアートなどの場合でしょうか?
私はプログラミングのことはよくわかりませんが、悪くなる原因というのは現行方式にくらべて新方式が速く処理できる以上、
何か重要な処理が省かれてしまっている、もしくは簡略化されてしまっている、という可能性はないのでしょうか?
逆に言うと、省かれたか簡略化された処理がかねてより問題の輪郭線などが溶けてしまう要素とも関係していたりはしないのでしょうか?
もしそうであるならばですが、拡大処理などをする前にまず画像全体をチェックして、新方式で問題ないと判断される場所は新方式で高速処理し、
問題が出そうと判断される場所は現行方式、あるいはさらに改良した方式をあてがうなど、処理を切り替える必要性があるのではないでしょうか?
それと3年ほど前の記事ですが、こんな記述も参考になるかも
・東芝「REGZA Z8X」開発陣に聞く、「本格的4K時代」 4Kだから差が出る画質。地デジを高画質化の秘密
http://av.watch.impress.co.jp/docs/series/rt/20130809_610976.html
「ではなにが実物感に繋がっているのかというと、グラデーションの美しさであったり、自然なエッジの持つ「柔らかいが細かい」という感覚です。
映像エンジンとしては、階調性や微小な振幅が失われないよう、いかに内部のバス幅を広くとるか、ということを意識して開発しています。
最後まで12bitで伝送するといったことにこだわらないと、4Kらしい実物感が出てこないのです。」
→つまり、前回お話ししていた8bit画像を高bit化する際の処理方法とその後の情報精度維持が効く! ・微細テクスチャー復元
http://av.watch.impress.co.jp/img/avw/docs/610/976/html/ppt05.jpg.html
「2Kの段と4Kの段をしっかりわけて処理しないと、そうした「リアリティ」が出ない
そんなにゲインをかけてはいないです。微小なところしかかけていないんですが、それを入れるか入れないかで、4Kになってしまうと大きくかわってきます。」
→微小な階調差の領域とそうでないところを同じ処理(=強調)をしてはいけない!
※協調具合は逆ガンマ特性であてがうといいのかも
・絵柄構造適応型MPEG-NR
http://www.toshiba.co.jp/regza/lineup/z700x/quality_03.html#psa
→絵柄の相関性に基づいてフィルターの形状を適正化の部分を取り込むことで、参照範囲を拡張することによるアーティファクトの問題を軽減! 8bit画像を高bit化について追記
ノイズ除去や拡大する前に、ディープラーニングを使った高bit化(8→16bit化)が必要なのかも。
※単なるデータだけ16bitにしました、ではなく! >>64を訂正
元画像でディープラーニングを使った高bit化(8→16bit化)ではなく、waifu2xで内部的に確か使っているニアレストネイバーで拡大した画像をディープラーニングを使った高bit化(8→16bit化)のほうがいいのか? いや、それなら拡大後の画像にディープラーニングを使った高bit化(8→16bit化)を適用すればいいのか?
手元で試せるわけじゃないからわからんな・・・ そもそも原点に戻るべきなんだろうか?
waifu2xが出た当初、今よりも輪郭が溶けやすかったので、NNEDI3で拡大後にwaifu2xでノイズ除去のみ適用というのをやったことがあったけど、
waifu2xが改良されてからNNEDI3を使う方法は全く試してなかったんだよねぇ。
NNEDI3と最新版のノイズ除去との組み合わせ、あるいは以前に書いたような輪郭成分と認識される部分だけに適用されるような新型ノイズ除去?との組み合わせならばどうなるのだろうとふつふつ・・・
そのうち時間が取れたら試すか。 手元に以前にNNEDIS3にて2倍、4倍、8倍に拡大した画像があったので改めて見てみたのだが、確かに眠い画像ではあるんだけど輪郭とかは自然なんだよね。
NNEDI3で拡大して、画像の面成分(=「Imager::AnimeFace」にて輪郭と認識されないところ)のみwaifu2xにて超解像効果を適用・・・
それができるのならば、テレビなどでよくある解像度の変換はなしで、解像感だけアップする手段にも使えるのか? 「私はプログラミングのことはよくわかりませんが」って奴が、よくまあ長々と愚にもつかない事を語れるもんだ
マジでどういう神経してるのかと >>70
まあアドバイスをするぐらい良いじゃない
作者も嫌なら無視すればいいだけなんだし >>61
結構苦労されてるみたいですね…
個人的に処理速度より精度を気にしてるので期待しています(特に輪郭線) 今日のGoogleは影絵作家の生誕記念バージョンになっているけれど、新バージョンは影絵とかも不得意かもと思ったところでひとつ気になったことがあったので調べてみた。
・Convolutional Neural Networkとは何なのか
http://qiita.com/icoxfog417/items/5fd55fad152231d706c2
気になったのは
「CNNの進化
年が経るにつれ精度が上がってきているCNNですが、近年の構成では以下のような特徴がみられます。
フィルタを小さくし、階層を深くする
PoolingやFCのレイヤをなくす
以下の図では、年々精度が上がるにつれレイヤが深くなっているのがわかります。」
の部分。
つまり、フィルターというか参照範囲そのものを増やすよりもレイヤー(考え得るパターンの分岐?)を深く(=パターンを増やす)するほうが得策っぽい件なのだが、
そうであるならば、参照範囲は現行程度に留めて、フィルターの形を複数用意してそれぞれの絵柄に応じて一番しっくりくるフィルターの情報を基に畳みこみした方が
いいんではなかろうかとふと思ったのですが、ダメですかね?
フィルターをあらかじめ、正方形、長方形、△(向き四方向各々)菱形、8角形、とか用意しておいて、全部実行して一番いいのを選択。
TTLモードで回転による8パターンをやる時間があるならば、この方がいい結果が出るような気もするんですが。 すでにやっている人はいたようです。
・Deep Learning Advent Calendar 2015
http://vaaaaaanquish.hatenablog.com/entry/2015/12/25/005523
「sliding windowのスケールの違いによって入力も違うため, 誤認識が発生するという問題もありました.
そこで, Exhaustive Searchのスケールによる誤認識を減らすための画像処理手法や計算量を減らす手法*4, 物体検出に対して効率的な手法*5が出てきたり,
CNN以外でもsliding windowの欠点を補うようなRandom Forest的手法*6が出てきたりしました.」
で、さらにDeep Q-Network(DQN)などというものも出ているようで(名前がなw)
深い・・・ もう悪くなりそうなパターンを調べてそういうパターンを自動生成して学習データに加えることで無理やり対応した
例: http://ccsaku.moe.hm/gyazo/data/0b76b99850d7cc5eac0e4857da451890.png
こういうパターンを良くするのと引き換えにイラストの平均的なスコアは少し下がると思うけど
最悪な場合のスコアはかなり上がっているはずなのでいいやろという感じ
イラスト90枚のセットで,縮小に平均画素法を使ったときの平均PSNRが
既存: 36.74, 新: 37.07
縮小にLanczosを使った時が
既存: 36.76, 新: 37.25
で平均も既存よりは良くなっている
処理速度も2.4倍くらい速い
対応方法はこれでいいと思うので,
あとちょっと調節するのとノイズ除去付きも試してみてよければ追加で
ウェブの方は新モデルで置き換えることはほぼ決まりです >>74
レイヤというのはwaifu2xでいうと畳み込み+ReLUを行うの回数のことで
>フィルタを小さくし、階層を深くする
これはVGG Netなどの3x3畳み込みを何度も繰り返すネットワークで
waifu2xは元からこれをベースにしています.
また1x1畳み込み以外だとレイヤを増やすと参照範囲も広がります.
フィルタの型は係数によって変わると考えていいと思うのでこれも最適化されているはず >>76
お疲れ様です。
悪いパターンを自動生成して学習ですか。
それはよさそうですね。
確かにこういうコントラスト比の高く境界面の差が大きい画像を集中的に取り込んでおくのはいいと思います。
(そういう意味では影絵もいいのか?)
期待しております。 >>77
入れ違った・・・
解説ありがとうございます。
>レイヤというのはwaifu2xでいうと畳み込み+ReLUを行うの回数
ということは、演算回数を利用者が任意に変更できるようになると、
・回数を減らして時間短縮(精度は落ちる)
・回数を増やして精度向上(時間はかかるが、1日でも2日でもバッチコーイならば・・・)
とかできるといいかもしれないなと思いました。
>フィルタの型は係数によって変わると考えていいと思うのでこれも最適化されているはず
それは素晴らしい。
結果を楽しみにしておきます。 >>76
おお!
お疲れ様です
上で出てたアニメの輪郭線などは改善されそうですか? 今の感じだとアニメは拡大後の理想される線の質がイラストと違うので
イラストで学習しているとダメだと思います
写真モデルを使えば無難な結果になると思うけど やっぱり輪郭線は直らないのか…
そこ期待してたのにだけにちょっと残念だ 写真モデルで試してと書かれていると思いますが…
写真モデル+TTL+新バージョンの組合せで、どれだけ改善されるか次第かと。 モノクロ写真をアップすると……? 「人工知能で白黒写真をカラーに」を試せるWebサービス
ディープラーニングを応用し、白黒写真を自然な色味に彩色する手法をブラウザ上で実行できるWebサービスが公開された。
http://www.itmedia.co.jp/news/articles/1606/06/news131.html >>86
へー、これもローカルで動くやつ誰か作らないかな(他力本願 >>86
学習データが偏っているんだろうけど、黄色あたりが不自然なんだよな、これ。
もっと学習データ増やさないと。
ディープラーニング関係の資料を見ていて思うのは、学習データがキモであるにも関わらず、学習するのに時間がかかるせいか妙に学習データの数が少ないなと思うケースがしばしばあるように思う。
ある程度の正確性を求めたければ少なくとも10000以上は学習しないと話にならないのに。 いよいよ作者氏が本気出す時が来たようだ。
https://twitter.com/ultraistter/status/741488649884164096?lang=ja
ところで、GTX 1080 1枚 VS RX480 2枚で話題になった例の件、waifu2xの場合はやはりGTX 1080 1枚のほうがいいんだよね? 新モデル+GTX 1080だと640x480->1024x768のノイズ除去+2xが560msくらいでできています
あとGPUの違いなのかcuDNN v5+CUDA 8.0か分からないけど
以前試したら異常に遅かったWinogradという3x3畳み込みを速くするアルゴリズムが
速くなってて,現verも950msくらいで処理できています.
(以前は,新モデルのほうが3倍くらい速かったので差がかなり縮んだ)
AWS EC2のGPU+現verだと3700msくらいで,このGPUはGTX 760と同じくらいの性能です. >640x480->1024x768
640x480->1280x960に訂正 ベンチマークというか単純に自PCのショボさを比較したいのですが
皆で共通に使える適当な画像(画像群)ってどこかにあったりしますか?
R18にならない程度の2次で(ココ重要 >>92
お疲れ様です。
GTX 1080導入、おめでとうございます。
アルゴリズムによって速度が変わるとのことですが、画質が変わったりはしないのでしょうか?
遅いけど高画質なアルゴリズムとかあるのかなと。
あと、二段階超解像ってできないかなと思ったりしてるのですが。
つまり、
1回目:今まで通りの超解像による拡大
2回目:1回目でできた拡大画像と元の画像を比較して、再度超解像効果を手直し
みたいな。
元画像と拡大画像を見比べて、「もっとここ手直しできる」というところを再調整とでもいうのか。
この2回目だけの処理だけ活用すると、元画像を拡大せずに解像感や輪郭まわりの再現性向上にも使えますだとなおうれしいんですが。 >>94
速度についてなら画像のサイズとチャンネル数(RGBか透過を持っているか)だけ合わせれば
画像の内容はほとんど関係ないと思います
>>95
変わりません
やりません
ただすごく変になった時/ところを検出できると便利とは思います >>96
アルゴリズムによる画質の変化はないんですね。
すごく変になったところを検出→フィードバック→再調整
ができればいいですね。 >>96
なるほど、てっきり線が多様でノイズの多い複雑だけど低画質なものが
加速度的に必要時間が増えていくものだと思ってました
開発、陰ながら応援しています 560msって早すぎやろ!
waifu2xで動画エンコしてるけどかなり短縮されそうでワクワクだわ
俺もPascal買おうかなぁ 新モデルが待ち遠しいな…
完成までまだ時間掛かりそうですか? ノイズ除去付き拡大もうまくいっているので
たぶんもう学習処理回すだけです
イラストは明日には全部学習終わります
あと写真、Yモデルの再学習に4日つづくくらいかかる
ちなみに現在のモデルも使えるようにしているので追加という形になります
ウェブ版はGPUメモリの関係で全部のモデル読めないので置き換えますが
ベンチマーク的には結構スコアが上がっているけど
パッと見でわかるほどの違いはないと思います >>101
思ったより完成が早いですね、お疲れ様です!
新バージョンは処理は早いけど精度(輪郭線や境界線等)はあまり変わらないということでしょうか? ノイズ除去がYからRGBになったときはサンプルの画像挙げて変化を説明してたはず
画像出さずにPSNRの数値だけ出すのは人間の目から見てそう変化がないからだろう多分 >>103
2枚重ねてみると、ところどころ違いがあるは分かりますけど
黙って置き換えても誰も気づかないのではないかという不安はあります
なんとなく違和感が減った気はするけどプラシーボかもしれない
PSNR的には結構良くなっているので、よくなっているのは確かだと思いますが説得力はないです
明日か明後日くらいにウェブの方イラストだけ置き換えようと思うので
気になる画像を持っている方はそのときに試してみてください やっぱ置き換えではなくてお試し用サーバー1台用意します。
もともと今のウェブ版はそういうものだけど、
もう普通のウェブサービスになってしまっていて置き換えるのに勇気がいるので。
それならTTAも使えるようにできます。(遅いのは仕方がないねということで) >>105
写真モデルを用いても>>39のような輪郭線を綺麗にするのは難しいでしょうか? >>101
いよいよですね。
期待してます。
>>106
サーバーを別途確保されるんですか?
…
お試し機能以外、サーバーでのサービスは、そろそろ有料化されたほうがいいんじゃないでしょうか?
ネットサービスは無料が当たり前という風潮がいまだにありますが、当たり前じゃないんだということを理解させることも大事だと思います。
(お試し機能も1人が専有し続けないような制限を設けたほうがいいと思います。)
別件で、かねてからの「溶ける」件、対処療法ではあるのですが、対策になりそうな方法を発見しました。
1週間ほど時間が取れないので、それ以降に検証してみる予定です。 >>107
元画像があれば見ておきますが。
写真はまだやっていないので分からないですが
イラストはそれほど変わっていないのであまり期待できないと思います。
ちなみにこれはイラストでノイズ除去2してますよね...? >>109
>>39の画像上げた者です
画像のは704*396→1920*1080に拡大ノイズ除去2したものです
残念ながら今は元画像がないです… http://waifu2x-dev.udp.jp/
で新モデル試せるようにしています
拡大とノイズ除去+拡大が変わっています.ノイズ除去のみは同じです.
自分で見た感じだと,拡大はそれほど違いはないし問題もないように思うけど
ノイズ除去が入ると,強弱が以前よりはっきり出ていて
いい時はいいけど,ノイズが強い時に線の太さが不安定になっているように思います.
なにか思うことがあれば書いていただくと対応できるかもしれません.
ベンチマーク結果は
https://github.com/nagadomi/waifu2x/blob/upconv/appendix/vgg_7_vs_upconv_7_art.md
にあります.ベンチマーク的には全部良くなっています. やっぱりYUV 420のJPEGでやったほうがいいのかなと思い始めました.
現実のJPEGはほとんどがYUV 420で学習時にYUV 444しか見ていないので.
今は色が変わるのでやっていないのですが,選択できるようにするかもしれません. 新バージョン、凄く速度が上がってますね
でも、輪郭線は正直微妙かなぁ
良くなってるところもあるけど、悪くなってるところも結構あったりする
こればっかりはしょうがないですね あ、間違えて旧版の写真モデルと比較してた
イラスト同士で見比べてみたけど、違いが全然わからんw
ただ、処理速度は格段に早くなってる YUV420/YUV444半分づつで学習したら
入力YUV444時のスコアほとんど下げずに
入力YUV420時のスコアがっつり上げれる感じだったので
もうノイズ除去もこれに置き換えようと思います.
もともとJPEGの色のノイズ等も消しているし,色以前に細部が消えたりしているので
色がちょっと変わるリスクなんていまさらだよね...?
平均的には良くなるし,いくらか試すと線の境界などで色が濁ってるが結構直ってる. >>111
お疲れ様です。
早速試させていただきました。
イラストモデルのみではありますが試したところ、以前に比べて少し溶けにくくはなったような気もします(特に4倍以上にした場合)
なお、>>108にて書いた対処療法をすこし時間があったのでやってみました。
(結果は下記にてダウンロード可。明日の23時59分までの限定です。解説はテキストファイルに書いてあります。)
http://www1.axfc.net/u/3679593
写真モデルでやるとどうなるか、あるいはもうすこし小細工するかも含めて検討中です。
>>112
YUV 420モデル(イラスト・写真それぞれ)があれば、一種の色超解像的効果が期待できるので、圧縮画像には特に効用が見込めると思います。
期待しております。 あらかじめNNEDI3で拡大する前に、GIMPでアンシャープマスクを+0.10程度かけておいてからNNEDI3で拡大→縮小→waifu2x→再度GIMPにてコントラストとアンシャープで微調整のほうが細部の情報が残りやすいみたい。
アップする時間がなくなったので今日はここまで。 移動中に報告
NNEDI3を使って、圧縮画像によく見受けられる輪郭周りのノイズを除去して溶ける症状を抑える件、もっと手間を少なくかつNNEDI3を使うことによる副作用である
ボケる点を克服できそうな方法を見つけたかも。
古いソフトウェアなのだが「ノイズクリーナー2」というソフトをカスタマイズ設定にして極々微量のノイズ除去を行ってからwaifu2xで拡大するといくぶん溶けにくい。
ただし、設定の落としどころが難しい。 imagemagickのコマンド、7になってから変わったの今初めて気づいた... アンシャープマスクよりボケずに済む方法を試してみました。
(テキストファイルに開設あり)
http://www1.axfc.net/u/3679934
寝ます NNIDI3による前処理などいろいろ試した結果、
1.waifu2xは拡大する前に輪郭に作用しやすいノイズフィルターをあらかじめ適用しておくと、拡大した画像が溶けにくい。
2.NNEDI3は輪郭線に強く作用するフィルターのため、縮小後の画像にもその作用が強く残り、結果として輪郭ノイズ低減フィルターのような作用をもたらしている。
3.ただし、NNEDI3は面などの細かい情報もそぎ落としてしまいやすく、全体的にボケやすいため、そのままでは使いにくい。
4.面部分には作用せず、輪郭にのみ作用するフィルターがあれば理想的。waifu2xのノイズ除去(中)も試してみたが、waifu2xのノイズ除去は中でも強すぎるためこれも使いにくい。
(元画像とwaifu2xでノイズ除去した画像を合成してノイズ除去の強度を調整することはできるかもしれないが、合成度合をコントロールしながら合成できるような都合のいいソフトがあるのかどうか・・・)
もうあとは、この輪郭のノイズを制圧できさえすれば完成すると思われるだけに、何かいい方法があればと思うのだけど。 単純にTotalVariationで分離してから掛けろよ >>125
エッジレベル調整は輪郭のコントラストを無理やり強調しているだけだから、ノイズそのものは残っている状態なわけで、根本的な解決にならないかと。
こんなんだし。
http://aviutl.info/sharp/ アニメの輪郭線に入っているノイズがイラストでは見ないパターンでうまくいかないので
そのあたりをイラストっぽい方に寄せることができればマシになるということだと思います.
古いアニメにある輪郭線まわりのノイズがソフトウェアで再現できるなら対応もできるのですが
どこで入ってくる何のノイズなんでしょうか. >>127
たぶん圧縮画像特有のノイズだと思います。
圧縮画像は目につきにくい暗い部分の階調表現を大胆に間引いてしまいがちですので(攻殻機動隊のエンコードを担当した人が、かつてDVDの時代にとても苦労されていることを語られていましたし)、
暗部の多い圧縮画像を集中的にとりこんでモデルデータを作られるといいのかもしれません。
あるいは暗部の多い圧縮画像の割合の多いモデルデータを暗部ノイズ対策専用の前処理専用モデルとして用意して、事前に弱く(ここ重要!!)適用できるようにされるといいかもしれません。
ついでに現行のノイズ除去の強度ももっと弱いタイプを二段階ほど(最弱は中の1/3以下の強度!)用意して頂きたいとも思います。
(モデルデータを変えずに参照範囲を狭めるとかでの対応でも結構ですので) >>128
圧縮画像というのは具合的にどんな圧縮なんでしょうか.
TV用の当時のエンコーダがあってその癖なんでしょうか.
現在のJPEGノイズ除去の弱いバージョンはすぐ作れますが
動画を対象とするなら,動画用のエンコーダを使って
正しいデータセットを作るほうがいいと考えています.
ソフトウェアで再現が難しいなら,HDリマスタとその前のバージョンDVD?を買ってきて
フレームの位置合わせができるなら,そこから変換の対応関係を作るでもいいと思っています.
エンコの設定?とかできるならそれが一番いいですが. 今考えている動画の対応は,
- イラストに窓をつけて適当な速度で平行移動・回転したりをフレームとして切り出す
- 動画にエンコ(同時に1/2に縮小)
- エンコ後からまたフレームに分割して元画像への変換を学習する
ということです.
変換先がイラストになるのでアニメとはちょっと違う質感になるかもしれませんが
アニメの"元画像"って手に入らないと思うのと,
これだと作るのは簡単なので妥協点としていいのではと思っています.
他にはMMDから動画を作るとかですけど,これもシェーダーのクセを再現してしまうと思うので
たぶんイラストのほうがバリエーションが多くてよいです.
今すぐにやるという話ではなく,今やっている対応が終ったら
いまのところCNN超解像として改良できる部分はすべて終わるので
動画について色々言われるならそこでもやろうかなというレベルの話ですが. >>130
何のこっちゃよくわかりませんが、凄く期待してます 圧縮画像のノイズの件、夜になりますがコメントします。
(今時間がないので) いわゆるHDリマスターは解像度やエンコードだけでなく映像自体も違うことがあるから
比較対象としてはBDとDVDが同時発売のものじゃないかな
海外版との比較だと同解像度のビットレート違いなんてのもあるかも
アニメと一口に言っても輪郭の特徴がそんなに多くの作品に共通してるかは疑問だけど やっと帰宅できた・・
すみません、気力が持たないので昼以降に改めてコメントします。
限界 今日初めて写真の拡大に利用させてもらいましたが凄い技術ですね。
応援しています!頑張ってください! >>129
昨日疲れすぎてコメントできなかった圧縮ノイズについてですがコメントしておきます。
まず下記サイトを参照ください。
http://www.asahi-net.or.jp/~ax2s-kmtn/ref/jpeg.html
このサイトの一番下部の画像を見るとわかりやすいかと思いますが、建物の輪郭周りに本来であれば存在しない種々のノイズがまとわりついているのがお分かりいただけると思いますが、
こういったノイズが輪郭周りに細かくまとわりついている画像をwaifu2xにて拡大すると、輪郭などが溶けやすくなっています。
NNEID3によってあらかじめこのような輪郭にまとわりつきやすいノイズを滑らかにしておくと、waifu2xにて拡大時に溶けにくくなっているのは先日実証した通りです。
このため、もしこのようなノイズ専用の対策フィルターを作るのであれば、JPEGなどの非可逆圧縮をしていない画像を複数用意し、その画像をJPEGにて高圧縮し、わざと輪郭などにノイズが出ている画像(画像サイズは等倍でよい)を作成し、
圧縮前と圧縮後の画像をディープラーニングによって学習させれば、圧縮ノイズ対策にはなるでしょうけれど、それは結局現行のノイズ除去と考えとしてはそう大差ないかなとも思います。
とするならば、やはり前回にお伝えした通り、今よりもっとノイズ除去強度の弱いフィルターをまずは用意すること、そしてその先の展開としては、その弱いフィルターを輪郭と認識される部分のみに適用できるようなオプションを用意できればなお良いかと思います。
(オプションを有効にすると輪郭のみに適用、無効にすると画像全体に適用、ノイズ除去強度は、「最弱(中の1/3か1/4程度の強度)、弱(中の1/2程度の強度)、中、強、最強」の5段階あたり?)
輪郭の認識手法については、AviUtlなどのフィルターである「エッジレベル調整MT」の輪郭検出手法あたりでよいのかなと思います。 続き
エッジレベル調整MTの参考
http://aviutl.info/sharp/
http://aviutl.info/wp-content/uploads/20160220-020557-553.jpg
あるいは別の考え方としてですが、NNEDI3の輪郭に作用する部分だけをインスパイアした輪郭ノイズ除去フィルターを作れるならば作ってほしいという考え方もありますが・・・
参考
https://github.com/MaverickTse/AviUtlInstaller/blob/master/deinterlace_plugin/nnedi3/jp/nnedi3.txt
(それが可能であるならば、AviUtlを通さずに済むため、RGB→YUV→RGBの変換ロスを気にしなくて済むのと、16bit画像なども直接扱えるようになるので大変ありがたいのですが)
昨日お話ししていた圧縮画像の暗部の階調情報の大幅な簡略化をわかりやすく示す画像が探した範囲でなかったのですが、これは大面積部については通常のwaifu2xのノイズ除去でも対応できる範疇かと思いますので、ひとまず置いておきましょう。
ちなみに上記の件より、今のところ動画用に別途のノイズ対策(一つの画像に小さな窓を設定してスライドなど含む)は今のところしなくても大丈夫かと思います。
(動画の圧縮率の高い状況で輪郭周りに一番除去しにくいノイズがあるのはH.264で圧縮した画像ではありますが) 上記のことを書いてから気づいたのですが、ひょっとすると拡大前にGIMPの「選択的ガウスぼかし」を超絶的に最弱で適用してから拡大すればいけるかも・・・ 「選択的ガウスぼかし」でいけたかもしんまい・・・
試しにアップしてみた
http://www1.axfc.net/u/3680573
いや、この延長で行くならばバイラテラルフィルターを極微量適用のほうがよりダメージは少ないかも? NL-MeansやBilateral等のエッジ保存ノイズフィルタをかけたのが骨格成分
それと原画との差分がテクスチャ成分で多くの種類のノイズ含む微小変化分
高性能に分離するのがTotal Variationフィルタ
骨格だけwaifu2xでテクスチャ成分はLanczos3で後で適量を合成すればいい
暗部はガンマ補正して暗部の輝度差を広げたのを処理して逆ガンマで戻して
通常ガンマの画像と合成
こんなんでどうだ? YUV420 JPEGで学習すると線もきれいになった気がするので
JPEG画像についてはJPEGノイズの種類が適切でなかったのもあるかもしれないです.
印象も色の濁りが減って良くなったように思うんですが
それはつまり色が変わっていることなんですが...
来週くらいに-devのほうはYUV420対応に置き換えます.
現verのノイズ除去も同じ教師データで学習したものに置き換えようと考えています.
(拡大時だけノイズ除去のかかり方が違うと混乱を生むと思うので) エッジ周りのノイズを取るのは, バイラテラルとは逆の重みだと思うんですけど"周り"だとそうなんでしょうか.
エッジ用の重みのマスクを作って合成するのが簡単じゃないかと思います.
自分としては,データセットを泥臭くいじったりはあっても
データを用意したあとは最適化問題としてやるのがいいと思っているのと
手でごちゃごちゃってもさまざまなパターン(さまざま例外を含む)を考えると
平均的な精度で機械学習に勝つことはできないと思っているので前処理や後処理をやる気はないです.
弱いノイズ除去は用意できます. >>142
お疲れ様です。
420、やはり効果ありましたか。
となると、やはり元が非可逆圧縮している画像→420モデル、元が可逆圧縮か非圧縮画像(444の状態)であれば444モデルと選択できるといいのかもしれないですね。
こちらでも非線形フィルターなど含めいろいろテストしてみたのですが、ある程度のところまではいくものの、やはり根本的にはイラスト用モデルで試していることの限界もあり、これで文句なしというところまではいかなかったので。
420モデルの写真用が使えるようになるとおそらく前処理に関しては非線形フィルターでもなんとかなるかなとは思うのですが。
(もちろんwaifu2xのノイズ除去に最弱があればその方がいいと思いますが) >>143
入れ違った。
私も合成するよりはディープラーニングの判断に任せる方がいいとおもいます。
最弱フィルター、お待ちしております。 人はエッジ周りが変になっていることに敏感なので
損失関数でエッジ周りの重みを上げるとかは全然いいのかなと思ったけど
もうやっているんですよね. .
そういうことも考えるともうほとんど手動調節やなという気もする >>146
損失関数でエッヂ周りの重みをとはどういうことなんでしょうか?
私はとりあえずGIMPとAviUtlのフィルターを複数試している程度なので、上記の件がどのフィルターの作用なのかよくわからないですが(滝汗…)
いずれにしても、もう一息のところまでは来ているかなと思います。 caffeの作者さんにファイル名についてお願い、と言うか要望があるのですが、例えば元ファイル名が
img.jpg
のものをRGBモデル、ノイズ除去レベル1、拡大倍率x2.000000、で処理した場合
img(RGB)(noise_scale)(Level1)(x2.000000).png
のようになるかと思いますが、これを例えば
img-RGB_nsLv1_x2.0.png
のようになるべく短いファイル名になるようにしたいのです
リネームソフトの手間もなくなりますし
簡潔に言うと、RGB・Photoなどのモデル、レベル、倍率にそれぞれ自分好みのネーム設定ができたらいいなと それもまたきりのない話だな
そのうち小数点以下何桁までで丸め方のルールは〜とか設定したくなるかもしれない 出力ファイル名を
{ORIGINAL_FILENAME}_{NOISE_LEVEL}_{SEQUENCE_NO;%06d}.png
みたいなフォーマットで指定できればいい話ではあると思うけど 下手な実装するとバッフオーバーフローの脆弱性持ちそうだな >>153
お疲れ様です。
ノイズ除去更新、了解です。
ところでノイズ除去の最弱と弱は、まだ時間かかりそうでしょうか? ■ このスレッドは過去ログ倉庫に格納されています