刚刚接触深度学习,感觉挺好玩的。这个项目简单来说就是对一个视频的每一帧做风格化:
但直接每帧做的话视频抖动会很严重,今年四月份有个算法解决了抖动问题,但很慢。我用了一些技巧提速了 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 ,不过没有做特殊处理,但是速度没问题
|