V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
zzy8200
V2EX  ›  分享创造

基于深度学习的快速视频风格化

  •  2
     
  •   zzy8200 ·
    zeruniverse · 2016-11-02 08:11:41 +08:00 · 5428 次点击
    这是一个创建于 2942 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚刚接触深度学习,感觉挺好玩的。这个项目简单来说就是对一个视频的每一帧做风格化: img

    但直接每帧做的话视频抖动会很严重,今年四月份有个算法解决了抖动问题,但很慢。我用了一些技巧提速了 10 倍。(其实理论上有 30 倍,但不知道为什么改了以后 GPU 跑不满 100%,可能瓶颈变成加载了。。。) 这样就能渲染比较长的视频了。样例视频可以看这里:Project Page。如果上不了 YouTube ,可以看我传到 bilibili 的哆啦 A 梦

    GitHub 代码: https://github.com/zeruniverse/fast-artistic-videos

    18 条回复    2016-12-07 17:14:39 +08:00
    hackpro
        1
    hackpro  
       2016-11-02 09:41:55 +08:00
    视频逐帧做肯定不行的 太慢了
    按理讲用光流已经考虑帧间差分了
    建议考虑下视频特性,如果 H.264 的话,找出 I 帧,进行风格变换,然后再考虑 B , P 帧的预测
    zzy8200
        2
    zzy8200  
    OP
       2016-11-02 10:57:43 +08:00 via iPhone
    @hackpro 当时想过用一个 deep 网络,前帧和本帧以及 flow 作为输入,输出一张稳定的帧。但不知道怎么样的结构可行。逐帧确实还是慢
    moonkiller
        3
    moonkiller  
       2016-11-02 12:32:05 +08:00
    lz 真赞,今年 prisma 流行的时候,就在想应该可以出个视频版的艺术家滤镜。没想到 lz 这么快就搞出来了
    不过看上去效果不太理想:感觉就像是原视频上罩了一层颜色,例如梵高那个,视频里都是黄色斑点
    hackpro
        4
    hackpro  
       2016-11-02 12:33:26 +08:00
    @moonkiller 光靠前帧和本帧可能远不够
    你最好看下视频编码的原理
    希望能帮助到你
    zzy8200
        5
    zzy8200  
    OP
       2016-11-02 12:34:56 +08:00
    @moonkiller 难道梵高的画不是黄色斑点。。。 我觉得选个 ice age 什么的视频会明显点吧。
    zzy8200
        6
    zzy8200  
    OP
       2016-11-02 12:36:00 +08:00
    @hackpro 额 我知道。 P 层编进去的是 DIFF 。但没想到什么好方法可以快速对 diff 做风格化
    moonkiller
        7
    moonkiller  
       2016-11-02 12:37:37 +08:00
    @zzy8200 但是黄斑应该是在物体的高光和高亮区出现啊,,,视频里感觉是随机分布的--,,,
    fffflyfish
        8
    fffflyfish  
       2016-11-02 15:18:13 +08:00
    厉害, lz 我比较关注你说的提速技巧,除了提高学习率的值,还有别的方法吗? lua 代码不是很懂
    silencefent
        9
    silencefent  
       2016-11-02 15:48:56 +08:00
    看上去只是 repeat 了一层纹理吧
    zzy8200
        10
    zzy8200  
    OP
       2016-11-02 16:00:45 +08:00 via iPhone   ❤️ 1
    @fffflyfish 提高学习率会炸的…… 原来的方法是逐帧拿原图和 style 图还有 flow 做优化。我改成拿 style 好的图和 flow 做优化。 style 这一步可以用训练好的网络很快出。
    fffflyfish
        11
    fffflyfish  
       2016-11-02 16:41:33 +08:00
    @zzy8200 原来如此,谢谢
    lzx1413
        12
    lzx1413  
       2016-12-07 15:26:59 +08:00
    @moonkiller 因为楼主直接用的原版论文的模型,效果就是这样的比较烂,后面加了 instance norm 的版本效果会好一点
    lzx1413
        13
    lzx1413  
       2016-12-07 15:29:58 +08:00
    @fffflyfish 这个是直接基于论文 Perceptual Losses for Real-Time Style Transfer
    and Super-Resolution 做的风格化,当然比原版要快了
    lzx1413
        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 这种模式下
    lzx1413
        15
    lzx1413  
       2016-12-07 15:32:10 +08:00
    @moonkiller facebook 手机端都实时了==
    fffflyfish
        16
    fffflyfish  
       2016-12-07 15:52:58 +08:00
    @lzx1413 我大概扫了下论文,原来是李飞飞实验室的,不过文章好像是对单张图片风格化,并没有针对视频吧?
    lzx1413
        17
    lzx1413  
       2016-12-07 16:53:02 +08:00
    @fffflyfish https://github.com/jcjohnson/fast-neural-style 这是他们的工程。有 webcam ,不过没有做特殊处理,但是速度没问题
    zzy8200
        18
    zzy8200  
    OP
       2016-12-07 17:14:39 +08:00 via iPhone
    @lzx1413 主要工作是修正了抖动。 webcam 还好因为背景抖动不大,但直接图片的方法训练电影很 gg
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1004 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:48 · PVG 06:48 · LAX 14:48 · JFK 17:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.