V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
0gys
V2EX  ›  奇思妙想

指定视频画面马赛克

  •  
  •   0gys · 2020-09-28 12:52:23 +08:00 via Android · 2895 次点击
    这是一个创建于 1299 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有时候看视频不想看某个演员,要是能把他马赛克就好了。

    既然 AI 能换脸,这个应该不难。
    16 条回复    2020-09-30 01:17:11 +08:00
    Rxianbei
        1
    Rxianbei  
       2020-09-28 13:27:49 +08:00 via Android
    这个就算不涉及到专业的视频知识,就利用现有的库就可以做到。
    林萍和视频分割,再把视频逐帧处理,识别人脸,再用图像处理模块儿打上马赛克。再还原。
    包括 e 语言在内的各个语言基本上都有很成熟的方式处理这个问题。
    只是我觉得这个需求比较小众,花半个月的时间弄出来没人用就 b 了狗
    coderluan
        2
    coderluan  
       2020-09-28 13:29:54 +08:00
    技术上非常简单, 人脸识别之后做下卷积就完了, OpenCV 现成的, 不过感觉这么做没什么意义, 一般人要么就是忍忍算了, 要么就说干脆整个节目都不看, 除了极端粉丝一边非得看他偶像, 一边非得不看他偶像的对手这种.
    flasktest1
        3
    flasktest1  
       2020-09-28 13:34:34 +08:00
    了解下伊朗对奥运比赛转播画面女运动员马赛克化的先进技术,直接火柴人化
    coderluan
        4
    coderluan  
       2020-09-28 13:35:06 +08:00
    @Rxianbei OpenCV 半天就能弄完, 手头有现成模块半个小时都够了, 而且这个问题显然不应该处理视频, 因为不可能什么视频都下载然后编解码的, 成本太高了, 而是直接播放的时候截屏, 主流电脑性能完全可以做到一边播放一边换的.
    Rxianbei
        5
    Rxianbei  
       2020-09-28 14:30:33 +08:00 via Android
    @coderluan 真的?一秒钟解码,处理 30 到 60 帧的 1080p 视频,然后再编码?
    coderluan
        6
    coderluan  
       2020-09-28 15:22:33 +08:00
    @Rxianbei 不是, 重点就是不要编码, 直接在用户看的时候, 直接把解码后的图像截取处理, 然后让用户看处理后的图像.
    0gys
        7
    0gys  
    OP
       2020-09-28 16:48:40 +08:00 via Android
    @Rxianbei 我觉得需求很大,尤其最近的粉丝大战
    Rxianbei
        8
    Rxianbei  
       2020-09-28 16:56:47 +08:00 via Android
    @0gys 不然你问问楼上那个号称半小时就能完成的兄弟?半小时怎么着二百块够了吧。
    8G
        9
    8G  
       2020-09-28 21:40:34 +08:00 via iPhone
    @coderluan 不是很懂,你怎么覆盖原有的视频特定区域画面
    coderluan
        10
    coderluan  
       2020-09-28 22:49:01 +08:00
    @8G 不是覆盖原图像,那样需要 hook 应用程序或者从驱动层改图像,非常麻烦, 而是直接再开个窗口播放修改后的图像。
    8G
        11
    8G  
       2020-09-28 23:28:43 +08:00 via iPhone
    @coderluan 但是他是视频哦,视频中的人物是会动的,表情也是会变化的。好像我看错了,你的意思是像楼主一样直接打马赛克是吗?我以为说直接换脸,因为就我自己知道,换脸的话是很麻烦的,至少要很久时间,半个小时肯定搞不定。

    但是再次请教一下,相当于有一个后台程序,一直在运行监控视频中播放,然后进行实时匹配上,但是我觉得会不会慢了,就是有所谓的延迟,比如说。三秒后才有效果出现,然后切换场景,马赛克还在,我没有进行过实际的操作,猜测一下
    0gys
        12
    0gys  
    OP
       2020-09-28 23:40:59 +08:00 via Android
    @8G 因为现有动态字幕防阻挡能实现,这个应该也可以吧。
    coderluan
        13
    coderluan  
       2020-09-29 08:48:49 +08:00   ❤️ 1
    @8G 我有朋友的创业公司就是搞换脸的,所以这个换脸方面比较熟,他们有个产品是实时换脸,就是边直播把脸换了,放到 2070s 上跑也就 20~25 帧,脸的尺寸是 256x256 像素,所以肯定不至于半个小时(开源换脸慢主要是 python,他们是拿 C 和汇编写的),但是一般电脑绝对也不可能流畅播放, 不过打马赛克的时间大概也就换脸的 1%,流畅不是啥问题。
    8G
        14
    8G  
       2020-09-29 09:24:01 +08:00 via iPhone
    @coderluan 学习了,谢谢
    renmu123
        15
    renmu123  
       2020-09-29 09:45:24 +08:00 via Android
    其实就和摄像头实时打码一个东西,要看用什么模型,不同模型结果相差大,时间相差大。

    简单实现逻辑就是取视频的每一帧然后用人脸识别算法识别出人脸然后将那个人脸高斯模糊掉,最后再将每一帧都拼起来
    lxilu
        16
    lxilu  
       2020-09-30 01:17:11 +08:00 via iPhone
    换脸难在换,认脸传统也行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2643 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 01:50 · PVG 09:50 · LAX 18:50 · JFK 21:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.