刚刚接触深度学习,感觉挺好玩的。这个项目简单来说就是对一个视频的每一帧做风格化:
但直接每帧做的话视频抖动会很严重,今年四月份有个算法解决了抖动问题,但很慢。我用了一些技巧提速了 10 倍。(其实理论上有 30 倍,但不知道为什么改了以后 GPU 跑不满 100%,可能瓶颈变成加载了。。。) 这样就能渲染比较长的视频了。样例视频可以看这里:Project Page。如果上不了 YouTube ,可以看我传到 bilibili 的哆啦 A 梦
GitHub 代码: https://github.com/zeruniverse/fast-artistic-videos
![]() | 1 hackpro 2016-11-02 09:41:55 +08:00 视频逐帧做肯定不行的 太慢了 按理讲用光流已经考虑帧间差分了 建议考虑下视频特性,如果 H.264 的话,找出 I 帧,进行风格变换,然后再考虑 B , P 帧的预测 |
![]() | 2 zzy8200 OP @hackpro 当时想过用一个 deep 网络,前帧和本帧以及 flow 作为输入,输出一张稳定的帧。但不知道怎么样的结构可行。逐帧确实还是慢 |
![]() | 3 moonkiller 2016-11-02 12:32:05 +08:00 lz 真赞,今年 prisma 流行的时候,就在想应该可以出个视频版的艺术家滤镜。没想到 lz 这么快就搞出来了 不过看上去效果不太理想:感觉就像是原视频上罩了一层颜色,例如梵高那个,视频里都是黄色斑点 |
![]() | 4 hackpro 2016-11-02 12:33:26 +08:00 |
![]() | 5 zzy8200 OP @moonkiller 难道梵高的画不是黄色斑点。。。 我觉得选个 ice age 什么的视频会明显点吧。 |
![]() | 7 moonkiller 2016-11-02 12:37:37 +08:00 @zzy8200 但是黄斑应该是在物体的高光和高亮区出现啊,,,视频里感觉是随机分布的--,,, |
8 fffflyfish 2016-11-02 15:18:13 +08:00 厉害, lz 我比较关注你说的提速技巧,除了提高学习率的值,还有别的方法吗? lua 代码不是很懂 |
9 silencefent 2016-11-02 15:48:56 +08:00 看上去只是 repeat 了一层纹理吧 |
![]() | 10 zzy8200 OP ![]() @fffflyfish 提高学习率会炸的…… 原来的方法是逐帧拿原图和 style 图还有 flow 做优化。我改成拿 style 好的图和 flow 做优化。 style 这一步可以用训练好的网络很快出。 |
11 fffflyfish 2016-11-02 16:41:33 +08:00 @zzy8200 原来如此,谢谢 |
12 lzx1413 2016-12-07 15:26:59 +08:00 @moonkiller 因为楼主直接用的原版论文的模型,效果就是这样的比较烂,后面加了 instance norm 的版本效果会好一点 |
13 lzx1413 2016-12-07 15:29:58 +08:00 @fffflyfish 这个是直接基于论文 Perceptual Losses for Real-Time Style Transfer and Super-Resolution 做的风格化,当然比原版要快了 |
14 lzx1413 2016-12-07 15:31:12 +08:00 @hackpro titanx 直接做 480*640 能到 20ms 一帧,在 Perceptual Losses for Real-Time Style Transfer and Super-Resolution 这种模式下 |
15 lzx1413 2016-12-07 15:32:10 +08:00 @moonkiller facebook 手机端都实时了== |
16 fffflyfish 2016-12-07 15:52:58 +08:00 @lzx1413 我大概扫了下论文,原来是李飞飞实验室的,不过文章好像是对单张图片风格化,并没有针对视频吧? |
17 lzx1413 2016-12-07 16:53:02 +08:00 @fffflyfish https://github.com/jcjohnson/fast-neural-style 这是他们的工程。有 webcam ,不过没有做特殊处理,但是速度没问题 |