[讨论]基于卷积神经网深度学习的图像降噪算法初步探究

2015-06-07 16:14:16 +08:00
 Explorare

最近在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协议 下修改和再使用。

20256 次点击
所在节点    Linux
81 条回复
phoenixlzx
2015-06-08 10:52:20 +08:00
虽然没有看论文,不过我觉得似乎直接对黑色边线之类的部分做处理即可...这个大概也算是漫画的特征。

三次元的图像哪有那么明显的颜色界限。
Explorare
2015-06-08 10:56:56 +08:00
@phoenixlzx 所以说这是用AniPic训练集特化的结果,如果你用三次元图像进行训练,可能也能获得不错的效果
66CCFF
2015-06-08 11:01:36 +08:00
@jedihy 后者是对的:P
binux
2015-06-08 11:08:50 +08:00
@Explorare 你看论文,两次立方在 SRCNN 中根本就是作为预处理来用的,效果上和列举出来的 SC,NE+LLE,ANR,A+,KK 不在一个区间范围内。
当然在论文中 SRCNN 是最好的,但是对比的其他方法如果和两次立方比,也要好非常多。
mhycy
2015-06-08 11:13:42 +08:00
@Explorare
你在笔记本上跑ESXI么...囧
那个帖子看过..感觉没啥帮助..
Explorare
2015-06-08 11:16:22 +08:00
@mhycy 所以还是老老实实装个ubuntu算了,正好手边还有个GT 730M的笔电,SSL远程算了
ayulove
2015-06-08 12:09:59 +08:00
ubuntu 大发好,不过你没有入小型机的计划。。。没有很强的硬件支撑,感觉弄dl会很折腾。。。。
Explorare
2015-06-08 12:36:21 +08:00
@ayulove waifu2x提供的demo就是基于AWS,像我不是专业研究DL的,买个小型机不知道有用多久,前期投入太高了,AWS开箱即用方便不少
jedihy
2015-06-08 12:37:11 +08:00
@66CCFF 本科生还是?
br00k
2015-06-08 13:25:44 +08:00
找了张图试了下,效果不错。
davidlau
2015-06-08 14:24:48 +08:00
看了下论文[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。
Explorare
2015-06-08 14:27:04 +08:00
@davidlau 非常感谢,这下有合适的切入点了
Explorare
2015-06-08 16:47:01 +08:00
66CCFF
2015-06-08 18:50:41 +08:00
@jedihy 本科僧呀~
ayulove
2015-06-09 09:07:45 +08:00
@Explorare 加油噢~~~
Explorare
2015-06-09 09:10:57 +08:00
@ayulove 多谢poi~( ゚∀。)
xionghengheng
2015-06-09 11:57:27 +08:00
楼主可否成为科研伙伴 我也是这方面的 要出论文。。。。
deathscythe
2015-06-09 12:00:02 +08:00
看到飞天小裤裤就回一个~
Explorare
2015-06-09 12:11:25 +08:00
@xionghengheng 不敢当,我只是对此感兴趣才刚开始入门的,还没到能协助出论文的水平,但还希望能提供一些相关资料或者信息,非常感谢。顺便你是DL专业的么?具体研究项目是什么?
Explorare
2015-06-09 12:17:36 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/196721

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX