X



【超解像】画像拡大ソフト総合スレ2【waifu2x】 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。 転載ダメ©2ch.net (アウアウ Sa2a-NyIq)
垢版 |
2016/05/10(火) 11:28:05.20ID:h2o6wyXCa
画像を人工知能(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
0572名無しさん@お腹いっぱい。 (ワッチョイ d1cf-dHfL)
垢版 |
2017/01/14(土) 04:19:51.80ID:AOMWwbEx0
このスレを見ている人間にとっては大嫌いなレガシー不可逆画像コーデックJPEGに新たなエンコーダが
ttp://gigazine.net/news/20170113-google-guetzli/
人間の目に最適化した極低速高圧縮JPEGエンコーダGuetzli

SSIM:             libjpeg比 14%悪化
PSNRHVS-M:        libjpeg比 14%悪化
butteraugli:         libjpeg比 30%良化
エンコード速度:       libjpeg比 10000%+悪化
同等画質サイズ:       libjpeg比 35%良化
同等画質転送レート:    libjpeg比 35%良化
ttps://translate.google.co.jp/translate?sl=en&tl=ja&u=http%3A%2F%2Fencode.ru%2Fthreads%2F2628
ttp://encode.ru/threads/2628

長すぎるエンコード時間(消費エネルギー)という元手・投資を取り返すには何回その画像ダウンロードされないといけないんだろうな
性能はたしかに良いからお試しあれ
0577名無しさん@お腹いっぱい。 (ワッチョイ 1339-5BG0)
垢版 |
2017/01/14(土) 16:10:52.71ID:cz8mjfgz0
>>575
自分もそう思ったんだけどbutteraugliのビルド方法がよく分からなくて断念したよ。
Googleがバイナリを配布してくれればいいんだけどね。

というかほぼGoogleしか使ってない指標でGoogleのエンコーダを評価されても性能が良く分からないよなと思う。
0579名無しさん@お腹いっぱい。 (ワッチョイWW 0932-744s)
垢版 |
2017/01/15(日) 09:56:09.63ID:0bystr9E0
waifu2xの後追いして遊んでるんだけど
作者氏、GAN使うの嫌がってるんだよね

とりあえずGAN、ResNet、PixelSuffle
実装してみたけど見た目SRCNN臭さは
だいぶとれるけどたくさん評価
してないので微妙

俺の本丸は計算量削減なんだけど
理論上計算量3割のはずなのに
3割しか早くならない

chainer、推論遅くないか
0584名無しさん@お腹いっぱい。 (ワッチョイ e1d2-suvD)
垢版 |
2017/01/15(日) 15:35:17.21ID:6WNzG8+M0
>>579
GANはPSNRをあまり下げずに使えるならいいですが
(ロス関数の重みの調節で出来ると思いますがトレードオフがあるのでGAN使う意味がなくなってきそう)
PSNRがBicubic以下になると
変換結果に不安があるため現在BicubcやLanczosが使われる領域での置き換えには使えないと思って避けています。
もちろんいくつかモデル作って選択できるようにすればいいだけですが
面倒なのでやっていない状態です。ResNetはdevブランチには入ってます。
0585名無しさん@お腹いっぱい。 (ワッチョイWW 4bc5-744s)
垢版 |
2017/01/15(日) 15:46:09.89ID:7I2qaVWZ0
>584
GANについては混合比率下げると
全くなしと見分けがつかないので
PSNRは必ず犠牲になる印象です

3dB近く悪くなるので受容できないで
しょうね

GANは学習すごく遅くなるので
つらいです

GANは学習回数多くしないとだめ
なのでもしかしたら今足りてない
可能性があるので後でしつこく
やってみます

作者さんも自分で実験するのが
めんどいと思うので結果はアップして
共有します
0586名無しさん@お腹いっぱい。 (ワッチョイ e1d2-suvD)
垢版 |
2017/01/15(日) 15:59:53.33ID:6WNzG8+M0
butteraugli というので本当に見た目の印象が定量評価できるならそれもあり思いますね。
僕が見た目の評価嫌う理由は、たいして見る目がない人がリンギングでまってくる画像を
くっきりしているからよいとか判定してしまうところにあるので。
0589名無しさん@お腹いっぱい。 (ワッチョイ e1d2-suvD)
垢版 |
2017/01/15(日) 20:38:29.02ID:6WNzG8+M0
SRGANはやろうとした人を何人も見ましたが
みんなうまくいっていないので
写真のモデルでcheckboard artifactを出さずに
論文の結果と似たような画像を生成できればそれだけで価値があると思いますよ
0590名無しさん@お腹いっぱい。 (ワッチョイ 0932-vSov)
垢版 |
2017/01/15(日) 21:26:01.39ID:0bystr9E0
SRGANはチャレンジですね。がんばってみます。
うまくいったら挑戦します。

butteraugli初耳だったんですが、スレ観たらビルドの仕方が
わからない人がいる模様。Linuxの開発したことのある人少ないんですかね。

Windows10のコマンドプロンプト開いて以下のコマンドで実行、

$ bash

コンパイラとライブラリインストール(zlibはpngと一緒に入る)、

$ sudo apt-get install gcc g++ make libjpeg-dev libpng-de

ソースコードのMakefileのあるディレクトリで

$ make

で実行ファイル作られます。bash上か他のLinuxマシンのみで動きます。

プログラマじゃない人も色々遊んでみてください。
0591名無しさん@お腹いっぱい。 (ワッチョイ 0932-vSov)
垢版 |
2017/01/15(日) 21:27:08.93ID:0bystr9E0
$ sudo apt-get install gcc g++ make libjpeg-dev libpng-dev

です。すんません。
0596名無しさん@お腹いっぱい。 (ワッチョイ e1d2-suvD)
垢版 |
2017/01/18(水) 15:39:56.54ID:xnw/jmuH0
やりたいことはYoutubeがすでやっている動画の再エンコと一緒じゃないかな
画質を改善するというより、苦情の少ない範囲で圧縮したいなので
運営としては通信量が減って嬉しいけどユーザーとしては以前よりも画質が悪くなるので
携帯事業者がやっていた「通信の最適化」と同じ考えだと思う
0599名無しさん@お腹いっぱい。 (ワッチョイW cf63-gIHQ)
垢版 |
2017/01/24(火) 00:16:40.73ID:RYhQuic60
>>598
Quadroの方が速いんじゃないですかねぇ?

↓の画像でXeon 16Core 3.6GHzで2分40秒ぐらい
CPU使用率は20%ほど XPx64環境で無理矢理実行したからちょっとアテにならないかもしれないけど
http://www.dotup.org/uploda/www.dotup.org1133523.jpg 変換元画像
http://www.dotup.org/uploda/www.dotup.org1133524.png 設定
0601599 (ワッチョイW cf63-gIHQ)
垢版 |
2017/01/24(火) 23:23:52.69ID:RYhQuic60
>>600
sampleのlogo.pngを2倍で16s、4倍で66s
sampleのphoto.pngを2倍で44s、4倍で200s
といった感じです

32倍をlogo.pngでやってみたら1876sとかかかったので、photo.pngの方は試してないですw
0603名無しさん@お腹いっぱい。 (ワッチョイWW 3332-z0uo)
垢版 |
2017/01/25(水) 21:02:31.59ID:idIVVLyq0
waifu2x研究家なんですけど
GANのPSNR問題解消しそうなので
週末画像出します

waifu2xと同じupモデルをこっちで
再現したものとの比較しますが
時間がかかるのでそれ以外との
比較は難しいです

何個かネタがあってそのマイルストーンです

3月に資料作るのでそのとき
リンク張ります
0604名無しさん@お腹いっぱい。 (ワッチョイ 4fd2-C7aL)
垢版 |
2017/01/26(木) 00:25:26.80ID:AnODLToW0
単純にはMSEとGANの出力を適当な割合で合成すればいいように思うけど
重くなるので学習の枠内でやれればいいですね

あとneural-enhanceの人も最近waifu2x的なやつをやろうとしているみたいです
https://twitter.com/madebyollin/status/823652970440986624
これは別の人の結果だけど、たしかに線はくっきりしているけど余計なことをしすぎているように見える
0605名無しさん@お腹いっぱい。 (ワッチョイ 2b32-xu7M)
垢版 |
2017/01/26(木) 06:13:14.86ID:9CM3n4Bd0
>604
適当な割合で合成すればいいんですけどふたつ問題があって

1. 適切な混合比率がタスクによって違う
2. 結果が不安定でうまくいってるエポックとそうでないエポックのばらつきが大きい

なので、前者については二乗誤差に対して何%GANを反映するのかって
コントロールを入れています。

GANが余計なことをするのは誤差のGANの項が正解データとの比較を
しないからじゃないかってことで正解データと比較するGANをは
考えてみました。

GANなしに比べてSSIM、PSNRは同等、butteraugliはかなり良くなってます。
正解データと比較する時点でGANの解釈がかなり変わるんですが
(評価中なので正確な値は週末出します)
0606名無しさん@お腹いっぱい。 (ワッチョイ 2b32-xu7M)
垢版 |
2017/01/26(木) 06:33:06.18ID:9CM3n4Bd0
わかる人がまわりにいないので、ここに書いてあれなんですけど、

従来のGAN)
Discriminatorで本物らしさを判定して誤差に反映

自分の手法)
本物らしさを学習したDiscriminatorの中間層の出力を
本物と生成データで比較、となります。

Discriminatorの中間層は通常の二乗誤差で比較するのと比べて
大幅に大きい情報量で比較するのと、Discriminator自体が
誤差関数になるので普通の二乗誤差と比べると複雑、高度な比較になります。

Twitterが出してる論文は物体認識を学習させたモデルで中間層の出力で
比較しろ、と書いてあって、これがコンテンツロスなんですが、
コンテンツロスの適用部分はGANに対してやった方がいいのでは
というのが自分の意見です。
0608名無しさん@お腹いっぱい。 (ワッチョイ 4fd2-C7aL)
垢版 |
2017/01/26(木) 13:58:06.91ID:AnODLToW0
イラストの超解像でperceptual lossにImageNetの学習済みモデルを使うのがよくないのは明らかなので
Discriminatorが使えるならそれは同じ解像度のイラストで学習しているわけだからよさそうですね
ただDiscriminatorは学習中に動くので不安定そうですが
GAN自体がそういうものなので動く感じでしょうか
0609名無しさん@お腹いっぱい。 (JP 0H73-xu7M)
垢版 |
2017/01/26(木) 14:51:03.26ID:owYC7mKIH
どうも、wiafu2x研究家の人です。

Twitter社の論文読んだとき、コンテンツロスがめちゃくちゃ
めんどくさいので俺はあきらめました(コンテンツロスのために
物体認識のタスクもやらないといけなくなるので大いに藪蛇)。

SRGANがみんなうまくいかない原因はsoftmax、softplusを
そのまま誤差にするから結果が不安定で調整が難しい、
のが大きなところかと思います。

そもそものDCGAN自体も論文の趣旨がうまく生成できる
パラメータが見つかりましたって部分ですからね。

ちなみに自分はSRCNNは勉強会の発表ネタなので、8月に
一か月実験したのと3月の発表があるのでそれで今だけ
やってるだけなので、先行技術のサーベイが非常に
あやしい(何も知らない)のでご教授いただけると幸いです。

今のところもう一個ネタがあって、画像ごとに重要度マップを
作って誤差に重み付けする方法を考えています。
多分来月前半には実験してると思います。
0610名無しさん@お腹いっぱい。 (ワッチョイ 4fd2-C7aL)
垢版 |
2017/01/26(木) 16:22:50.49ID:AnODLToW0
物体認識の学習済みモデルは配布されているので自前で学習する必要はないです(再現させる場合)。
generatorの出力とgroundtruthそれぞれをそのネットワークに入力して
適当な層(convの2,3層目)の出力が同じになるようにMSEを最小化するのがperceptual loss(コンテンツロス)で
それとdiscriminatorを使ったadversarial lossで
loss = perceptual_loss * perceptual_loss_weight + adversarial_loss * adversarial_loss_weight
を最小化するように拡大前の画像を入力とするgeneratorを学習するのがSRGANという認識です。
なので違いはコンテンツロスに使うモデルを変えているところだと思いました。
自分もGANはやったことがないので違ってるかもしれません。
0611名無しさん@お腹いっぱい。 (オッペケ Srbf-ITqy)
垢版 |
2017/01/26(木) 16:48:26.18ID:j7MEo8mlr
説明ありがとうございます
認識合わせできました

自分の場合は再現に興味がなく、
それは単に遊んでいるだけなので
学術的なアプローチはどうでもいいから何ですが

なのでさっさと自分の手法に取り込みたかったんですが
イラストに関しては分類器新たに
学習しないといけなさそうなので
めんどくさいなあと思ったんです

それとは完全に独立してganが
課題があったのでそれを考えてたら
最終的に元論文のやり方を捻る
方法になりました
0612名無しさん@お腹いっぱい。 (オッペケ Srbf-ITqy)
垢版 |
2017/01/26(木) 17:17:12.53ID:j7MEo8mlr
ganのloss_weightがセンシティブで
小さいと効かないし、大きいと
学習が発散するし、ギリギリねらうと
エポックごとに結果違うし、
学習データ変えると定数変わるしってのが
現状のsrganだと思います 

学習が重いのでいじっていると
疲れてくるので自分は安定した方法を
求めてます

自分の提案手法は安定してます
効果の評価ができてなくて
4倍拡大とかどうなるかわかりません
2倍だと良いんじゃないかなあと思います

後でスレの人に厳しいデータ教えてもらおうと思います
0618名無しさん@お腹いっぱい。 (ワッチョイ a239-WSvd)
垢版 |
2017/01/28(土) 15:35:09.06ID:iZRmUjsJ0
>>615
着色の精度はまだまだだけど、とても面白かったです。
学習が進めばもっとよくなると思うとすごい期待できます。
0619名無しさん@お腹いっぱい。 (ワッチョイ 4725-AZYz)
垢版 |
2017/01/30(月) 14:56:45.57ID:pPztTfPj0
あいかわらず
塗りつぶしになっちゃうよ
進歩がないなあ
AIダメっぽい
0625名無しさん@お腹いっぱい。 (アタマイタイーW 7a39-cbEw)
垢版 |
2017/02/02(木) 17:45:47.99ID:HLUwrrpx00202
waifu2xcaffeで600dpiの画像を2倍に変換したら
96dpiになったのですが、これは仕様ですか?
てっきり倍にしたのだから300dpiになるのかと思っていました。
0627名無しさん@お腹いっぱい。 (アタマイタイー 56d2-2lTc)
垢版 |
2017/02/02(木) 18:58:49.86ID:J3/O+Al000202
>>625
dpiは入出力デバイスの設定なのでwaifu2xの処理はそこに関与しません。
画像のメタデータに特に気を使っていないので印刷サイズには既定値が入っているのだと思います。
印刷や入稿等で必要なら別の方法で再設定出来ると思います。
0628名無しさん@お腹いっぱい。 (ワッチョイ 7a39-BdZd)
垢版 |
2017/02/03(金) 10:31:32.28ID:GXC4yUrd0
>>626
>>627
ありがとうございます。
実感としてきれいに見ることができているので少し疑問に思い質問させていただきました。
dpiについてwaifu2xはいじっていないのですね。
dpiやppiのデータ上の数字は気にしないことにします。
(印刷とかはしないので)
0635名無しさん@お腹いっぱい。 (ワイモマー MM1a-1ST5)
垢版 |
2017/02/05(日) 23:27:16.44ID:LHzxPccgM
madVRにおけるNGU pixart特化版のテスト中みたい
NGU無印やwaifu2xと比較するとやや眠くなるものの、例のジャギー問題もこっちなら出なさそう
旧来のNNEDIを正統進化させたような画になってて、処理負荷は低い

Original     ttp://madvr.com/mario/org.png
waifu2x     ttp://madvr.com/mario/waifu2x.png
NGU VH    ttp://madvr.com/mario/NGUveryHigh.png
NGUpixart VH ttp://madvr.com/mario/NGUpixartVeryHigh.png
NNEDI256   ttp://madvr.com/mario/nnedi256.png
0644名無しさん@お腹いっぱい。 (ワッチョイ 263b-P6gz)
垢版 |
2017/02/10(金) 19:41:32.41ID:jEc7Edve0
9日に緊急のWindows UpdateとやらでGeforceのドライバが更新されて
Waifu2x-caffeを使うと「CUDAドライバーがインストールされていない〜」状態になった

一応、システムの復元で元に戻したけど....作者さん助けて(もう見てないかねぇ)
Windows10は勝手にアプデかかるから困った
0649名無しさん@お腹いっぱい。 (ワッチョイ e932-oA82)
垢版 |
2017/02/11(土) 20:36:55.90ID:Kr/JTqjP0
butteraugliの値は低い方がいいはず
なので俺の手法の方が良い

俺の手法は主に計算量をwaifu2x/UPモデルより計算量を1/4にしていますが8層です。
実質的に層の数が多いのが効いてる可能性もありますが不明です。

すみませんがこちらの都合でアルゴリズムは非公開です。
ここで話が出ていた俺手法のGANについては今再試験中です。
0652名無しさん@お腹いっぱい。 (ワッチョイ e932-3CwI)
垢版 |
2017/02/12(日) 11:08:12.78ID:ra0YTrEG0
どうも、wiafu2x研究家の人です。

評価結果以下に置いてあります。
2000エポック学習させた最終100エポックの画像も付けているのでデータでかいです。
評価できる人がいたらみてやってください。

https://remoteplace-my.sharepoint.com/personal/t-matsu_office_remoteplace_net/_layouts/15/guestaccess.aspx?docid=0eb33501796144cb0abeadc2dd87b74d3&;authkey=AbBvhLq0ewcbScMYwVYIx4c&expiration=2017-03-14T02:04:18.000Z
0654名無しさん@お腹いっぱい。 (ワッチョイ e6d2-0UxM)
垢版 |
2017/02/12(日) 18:47:05.95ID:T/zbW8Mv0
>>648
その値は画像数百枚の平均ですか、1枚だけですか。
waifu2xと書いてあるものはネットワークの定義だけ持ってきて独自に学習したものですか。(そうだと予測)

元画像を探してきてLanczosで1/2にしたあとにwaifu2x配布モデルで拡大すると明らかに結果が違います。
http://ccsaku.moe.hm/gyazo/data/18eac1728b714cfe64b7843ae5a91499.png
左が評価に使用されている超解像/waifu2xモデル/model_u01999.pkl.pngで、右がwaifu2xの配布モデルの拡大結果です。
左はかなりぼやけていて
PSNRも 超解像/waifu2xモデル: 27.717, waifu2x配布モデル: 31.771
と4dBも差があります。ちなみにLanczosが26.449です。
waifu2xと書く場合はこちらの配布モデルと比較して欲しいです。
学習データは、2012年に作ったものなのでそれよりも新しい画像は使われていません。

添付の結果については、見た目はほとんど違いが分かりませんが
GANありは顎のラインと鳥の下の髪あたりにcheckboard artifactが出ています。
各エポックで結果が揺れるならエポックごとにvalidationしてそれで一番よい値の時だけ
パラメータ保存しておけばいいと思います。
0656名無しさん@お腹いっぱい。 (JP 0H09-3CwI)
垢版 |
2017/02/13(月) 12:19:52.07ID:BMiBMFwmH
>654
確認ありがとうございます!!!
waifu2xと書くのは問題ありそうなのでいい呼び方があったら教えてください。

waifu2xと直接比較しないのは、不明な工夫(学習データ、アウギュメンテーションなど)
がたくさんあり、それを見切れないので比較しようがないというのがあります。
条件を合わせているのは層の数、チャンネル数だけです。
そちらの方としてはあまり変わったことはやってないかもしれませんが、
こちらはそれがわかりません。

とりあえずこれでいい結果が出る手法が発見されればwaifu2xにバックポートすれば
性能上がるのかなと思います。

PNSRなどは2000エポックのうち最後の1000エポックの平均です。
画像を複数枚評価するのは時間的に厳しいのでできていません。

アーティファクトについてはしらなかったのでそういう指摘は助かります。
GANは2000エポックで収束してないというか収束しそうにないので
俺手法のGANの効果については今のところ自分も懐疑的です。
0657名無しさん@お腹いっぱい。 (ワッチョイ e6d2-0UxM)
垢版 |
2017/02/13(月) 15:10:31.44ID:eYxsvRKA0
>>656
waifu2xはごちゃごちゃやっていることが多いですがそこまで影響していないと思うので
4dBも違うのは教師データの位置がずれてるか学習の方法かハイパーパラメータが悪いのではないかと思います。
最初に近い精度までは持って行かないとなにか間違いやバグがある可能性があり信頼できなくなります。
waifu2xは写真データで既存手法と同じくらいの結果が出るところまでは調節しています。

waifu2xの学習の基本的なところは、
- 入力画像のランダムな位置から96x96の領域(patch)を切り取り(y)
- それを48x48に縮小(x), 縮小アルゴリズムはBox(平均画素法)とlanczosをランダムに使う
- CNNにxを入力して82x82の出力を取得(zero paddingがないため(96-14)^2になる)
- 出力とyのピクセル位置が合うようにyを82x82に切り取り
- (x-y)^2 誤差を計算してパラメータを更新
で、実際には、画像単位で縮小してその中から64領域を切り取って、xと対応するyもあらかじめ作りながら
画像数*64の(x, y)ペアを作った後にシャッフルしてbatch_size=16, optimizer=Adam(alpha=0.00025)で学習を回しています。
64領域のサンプリングは2エポック毎に行っています(ランダムな位置から再度作り直す)
patch_size, batch_size, Adamの設定は結果への影響が大きいです。

>画像を複数枚評価するのは時間的に厳しいのでできていません。
学習に使わない画像を100枚くらい外しておいて
学習済みのモデルでベンチマークするコードを書いておけば実行は5分もかからないと思います。

>>655
反映されているようです。ウェブ版にICCプロファイルの対応入れています。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況