最近在Github上发现一个有趣的项目,是一个专门为AniPic优化的图像放大算法,基于卷积神经网深度学习,通过大量数据让算法自行优化处理方式,官方提供了一个在线demo - waifu2x,效果令人惊讶,先上个图。
原图
处理后(参数:Noise Reduction: low; Upscaling: 2x;)
作为对照放出用PS处理的效果(参数: 两次平方扩大2x,noiseware full luma noise reduction, 表面模糊0.1, USM锐化)
效果强差人意,明显不如waifu2x的效果。
而且根据核心算法的论文,算法本身实际上可以不对图像进行预处理,直接处理RBG,而waifu2x提供的demo是将RBG图像先转化成YUV,这个过程会对效果造成负面影响,但即便如此效果依旧理想,下一步目标是尝试直接处理RBG图像测试效果。
目前demo是基于N卡的CUDA运算,但实际上核心算法可提取出来基于CPU运算,能处理视频和图像,算法本身的目标是降噪而非放大,但用来放大图像也是可以的。虽然算法本身是用来降噪的,但实际也可作为压缩算法,对图像视频进行有损压缩后,在接收端进行放大并降噪,能节省不少带宽和空间,有可能成为有损版的H.265(?)
本文的主要目的就是介绍一下这个降噪算法,诸君有需要处理的扫图可以直接丢到这里进行处理,但要注意2M的文件限制,也可以部署算法到本地环境,部署方式有提供。
PS.我并不是DeepLearning专业的,也是刚刚接触,正在啃基础论文,对此方面很感兴趣,本文旨在抛砖引玉之效,上面的观点部分来自之前和坛友的讨论,可能认识有错误,朱军尽管指正,希望能推荐一些入门资料和相关大牛的部落格。
以上
[参考文献]
[1] nagadomi/waifu2x Image Super-Resolution for Anime-Style-Art - Github
[2] Image Super-Resolution Using Deep Convolutional Networks - arxiv
[3] 卡通图片的压缩 - 风云的BLOG
[4] UFLDL教程 - Stanford
[5] zouxy09的专栏 - CSDN
本网站(或页面)的文字允许在 知识共享 署名-相同方式共享 3.0协议 下修改和再使用。
1
evolighting 2015-06-07 16:26:49 +08:00 via Android
完全不懂但是需要学习这个的路过…
什么,其实我是生物信息的… |
2
66CCFF 2015-06-07 16:38:08 +08:00
看了下github的star,这说明基础研究下项目只要工程做得好还是会有很多关注的。
也算对我等的鼓舞。 |
3
Explorare OP @66CCFF 主要还是这个项目选对切入点了,很吸引我等死宅码农,我在想把核心算法做成PS插件处理海报扫图,做成MangaMeeya看漫画用,或者做成potplayer实时优化老番画质,最容易实现的是做个高清版舰娘,素材全部高清化就OK,已经有成熟的素材替换方案了。
|
4
chengzhoukun 2015-06-07 16:49:14 +08:00 via Android
@Explorare 支持,做个像madvr那样的渲染器挺好的
|
5
Explorare OP @chengzhoukun 如果没记错的话,madVR主要是管理颜色的,还有个SVP是插帧做的很牛,但实时提升画质的,我所知道的应该是大法的BRAVIA视频处理引擎最强
|
6
linxy 2015-06-07 17:42:38 +08:00
|
7
KexyBiscuit 2015-06-07 18:23:18 +08:00 via Android
看到二次元就戳进来了,mark
|
8
xlrtx 2015-06-07 18:36:41 +08:00
|
9
Explorare OP @xlrtx demo的算法是为AniPic特化训练过的,可能对于元素较复杂的三次元图像的效果还不理想,但经过足够的样本训练,应该也会很理想。
|
10
LPeJuN6lLsS9 2015-06-07 18:45:35 +08:00
这个好神奇,可惜完全不懂机器学习之类的,所以怀着敬意……
但是这个主题有点奇怪,看上去像是楼主发布了这个软件。特别是“参考文献”,不是一篇介绍文吗?虽然主题目的是说介绍算法但是整个主题都在说waifu2x这个软件。最后RBG错了 |
11
openkl 2015-06-07 18:46:37 +08:00
感谢楼主分享知识,文章末尾的引用貌似笔误:
[3] 卡通图片的压缩 - 风云的BLOG 应为: [3] 卡通图片的压缩 - 云风的BLOG |
12
Explorare OP @hantsuki
首先我是刚接触DeepLearning,所以对于核心算法并没有完全理解,只能就项目本身和社区反响等做一些介绍,希望能有大牛来上点干货,其实就是敲碗等了。 |
14
xlrtx 2015-06-07 19:21:15 +08:00
|
16
zwzmzd 2015-06-07 20:30:08 +08:00 via Android
看了下作者,三作就是用去雾算法拿了CVPR2009的Best Paper的大牛
|
19
neutrino 2015-06-07 21:14:37 +08:00
在没有cuda的情况下速度如何呢,对于降噪质量不用太好,速度第一,无需人工干预的算法。。。
|
20
zwzmzd 2015-06-07 21:17:00 +08:00 via Android 1
|
22
zjf 2015-06-07 22:00:57 +08:00
|
24
shadowind 2015-06-07 22:08:56 +08:00 1
这个是超分辨,使用卷积神经网络学习到低分辨和高分辨图像的变换关系模型,就可以用来做其他的图像的超分辨了~
|
26
est 2015-06-07 22:48:43 +08:00
你们在win98时代没玩过一个叫做 s-splice (名字可能有误)的神奇放大软件?
放大任意图片,比马赛克x2强很多那种。 |
27
shadowind 2015-06-07 22:55:31 +08:00
@Explorare 这个算法不会降噪。降噪一般都是些平滑的操作,去掉噪声信息;而超分辨可以理解为让图像更加的清晰,就像把720P转为1080P,是要增加细节信息的。
|
28
binux 2015-06-07 23:23:54 +08:00
我觉得和 PS 比不公平。
算法是为漫画图片特化过的,在不实际增加信息量的前提下,对某种风格更讨好。 这不代表使用「神经网络机器学习」就要比别的机器学习算法,甚至比某种人工策略更好。 |
29
YuJianrong 2015-06-07 23:29:48 +08:00 via iPhone
这个项目有名的一个原因是作者是jQ的作者吧……很多人订阅他的博客的(包括我)
|
30
tabris17 2015-06-07 23:30:37 +08:00
老实说效果并不是很好
|
31
YuJianrong 2015-06-07 23:39:36 +08:00 via iPhone
搞错了,John Resig只是博文里提了一下,不是作者……怪我没好好读。
|
32
xlrtx 2015-06-08 00:41:24 +08:00
|
33
jedihy 2015-06-08 00:46:07 +08:00
神经网络还没out?
|
37
flowfire 2015-06-08 01:39:19 +08:00
对算法和机器学习很苦手╮( ̄▽ ̄)╭
|
39
heliar 2015-06-08 07:48:40 +08:00
CNN如果不用Cuda...那训练的时长难以想象了
|
42
zerh925 2015-06-08 08:41:47 +08:00
已star
|
44
cevincheung 2015-06-08 08:50:25 +08:00
很好成功的把我需要的一张图放大了。
|
45
Explorare OP @binux 我发上面对比的目的,主要是说明对于我常用的降噪算法组合,waifu2x有着更好的效果,我学降噪本来就是为了处理扫图,所以找到一个合适的组合后就没深究其中的算法和原理,所以并没有接触很多降噪策略,本人水平有限,如果有更好的降噪算法和策咯还请赐教,非常感激
|
47
mhycy 2015-06-08 09:06:01 +08:00
|
49
mhycy 2015-06-08 09:21:01 +08:00
@Explorare
AWS那个就是CUDA专业卡...囧 价格比GTX770贵多了, 性能倒是接近GTX770 除了名称不同,多了某些细节功能(虚拟化之类的, 其实内核一样,开不开的问题) 其实专业卡和普通卡性能上也没啥区别... |
50
Explorare OP @mhycy 也就是说如果我想构建自己的试验环境,还是推荐上AWS么,现在正尝试在笔电的虚拟机上试运行,GT 640M LE,辣鸡卡,但好歹支持CUDA 3.0
|
51
shadowind 2015-06-08 09:26:43 +08:00
@xlrtx 其实很多机器学习都是这个思路,重点就是要确定合适的模型。模型确定好了以后,利用数据训练调节参数,就可以学到一般的通用特性,就可以用来处理其他的图像的。
|
52
shadowind 2015-06-08 09:30:15 +08:00
@Explorare 对啊,噪点是已有信息,处理起来方便很多,要增加细节就要考虑很多情况了,不然增加的信息就是噪声了,哈哈~~
|
54
ayulove 2015-06-08 10:11:57 +08:00
gt 640m 这个卡能跑就不错了,现在大学里面实验室都是最少titan级别的显卡,有的用k40,没有个gtx780的真的很吃力的。dl这个坑就是黄仁勋挖的!
|
55
shyrock 2015-06-08 10:13:43 +08:00
什么叫“有可能成为有损版的H.265(?)”。。。H.265本来就是有损的好不好
|
56
Explorare OP |
57
Explorare OP |
60
scream7 2015-06-08 10:47:09 +08:00 1
前两天发现个挺好玩的,用DL做篮球视频精彩片段发掘 http://public.hudl.com/bits/archives/2015/06/05/highlights/
|
61
phoenixlzx 2015-06-08 10:52:20 +08:00
虽然没有看论文,不过我觉得似乎直接对黑色边线之类的部分做处理即可...这个大概也算是漫画的特征。
三次元的图像哪有那么明显的颜色界限。 |
62
Explorare OP @phoenixlzx 所以说这是用AniPic训练集特化的结果,如果你用三次元图像进行训练,可能也能获得不错的效果
|
64
binux 2015-06-08 11:08:50 +08:00 1
@Explorare 你看论文,两次立方在 SRCNN 中根本就是作为预处理来用的,效果上和列举出来的 SC,NE+LLE,ANR,A+,KK 不在一个区间范围内。
当然在论文中 SRCNN 是最好的,但是对比的其他方法如果和两次立方比,也要好非常多。 |
67
ayulove 2015-06-08 12:09:59 +08:00
ubuntu 大发好,不过你没有入小型机的计划。。。没有很强的硬件支撑,感觉弄dl会很折腾。。。。
|
68
Explorare OP @ayulove waifu2x提供的demo就是基于AWS,像我不是专业研究DL的,买个小型机不知道有用多久,前期投入太高了,AWS开箱即用方便不少
|
70
br00k 2015-06-08 13:25:44 +08:00
找了张图试了下,效果不错。
|
71
davidlau 2015-06-08 14:24:48 +08:00 3
看了下论文[2],过程大概是:
1.先训练算法: 通过样本低分图Y,高清图Z若干,学习映射函数CNN()及其参数w,即 低分辨率图Y===CNN(Y,w)===>高分辨率图 2.使用算法: 原图X ===用普通插值放大1.5倍===> 模糊的图Y ===CNN函数 with 训练得到参数w===> 还原图CNN(Y,w) 发散思维,可以利用神经网络如CNN在训练集学习去噪、风格化等等的方法。 [2]中也提到用深度神经网络去噪的算法(文中引用[3][36][22][12]),楼主去看这些文章会比较有用。若难读懂,建议: 1. Machine Learning入门推荐看Andrew Ng的Cousera课程。 2. Deep Learning入门推荐看Andrew Ng 的UFLDL。 |
73
Explorare OP |
77
xionghengheng 2015-06-09 11:57:27 +08:00
楼主可否成为科研伙伴 我也是这方面的 要出论文。。。。
|
78
deathscythe 2015-06-09 12:00:02 +08:00
看到飞天小裤裤就回一个~
|
79
Explorare OP @xionghengheng 不敢当,我只是对此感兴趣才刚开始入门的,还没到能协助出论文的水平,但还希望能提供一些相关资料或者信息,非常感谢。顺便你是DL专业的么?具体研究项目是什么?
|
80
Explorare OP |
81
cattyhouse 2015-06-13 10:00:44 +08:00
什么情况
|