AI把视频里的你抹掉了!效果丝滑,毫无痕迹,还能完美去水印 | ECCV
郭一璞 鱼羊 发自 凹非寺
量子位 报道 | 公众号 QbitAI
男子骑自行车,越过沙丘,无影无踪,目击者称就消失在眼前:
因击球过猛,网球运动员携球拍共同湮灭:
男大学生热爱徒步运动,进入深山戈壁后失踪:
白色面包车离奇消失,查遍监控摄像头均未发现踪影:
妙龄少女广场起舞,光天白日下原地消失不知去向:
中学男生周末荡秋千,飞到半空只剩秋千椅,家长称1秒前孩子还安然无恙:
马术选手骑马越过栅栏后人马双双消失,网民怀疑任意门现世:
帆船选手出海后离奇失踪,主办方搜寻后仍未获踪影:
诡异的现象,让人怀疑视频中使用了和九又四分之三站台同样的魔法。
没错,这就是今年ECCV上最神奇的AI隐身衣技术。
让网友们惊叹,此情此景堪称灭霸。
甚至开始担心,如果这个技术被小偷用上,家具都会“飘走”。
也有外国网友开心,觉得可以用来屏蔽广告,很不错。
这件隐身衣,究竟是怎么创造出来的?
基于光流边缘引导的视频补全算法
AI这种完美去水印、删人物的「隐身」超能力,实际上是一种基于光流的视频修复算法。
此前,量子位就曾经介绍过港中大商汤联合实验室和南洋理工大学的光流引导视频修复算法。
不过,以往的基于光流的方法往往无法保留运动边界的锐度,使得修复后的画面不够平滑。
另外,由于此前的方法是在相邻帧之间的局部光流连接中传播色彩,但并非所有视频中被水印、物体遮住的区域都可以通过这种方式恢复,就会造成伪影。
为了解决这些问题,来自弗吉尼亚大学和Facebook的研究团队主要采取了以下三种方法:
分段平滑流补全(Piecewise-smooth flow completion)
非局部流连接(Non-local flow neighbors)
无缝融合(Seamless blending)
具体而言,首先,网络的输入包括待修复的视频本身,和一个二进制掩码视频,用以指明哪些部分需要算法合成。
然后,计算相邻帧之间的光流,以及一组非相邻帧之间的光流,提取并补完流的边缘。下图中红线部分,即为神经网络“脑补”出来的边缘。
接着用流边缘来引导视频中被水印/人物挡住的缺失区域的修复。
下一步,是按照光流的轨迹,为每个缺失的像素计算出一组候选像素。每个候选像素都有一个对应的置信度分数和一个二进制有效性指标。
以上图为例,绿色区域为缺失的部分,黄线、橙线和棕线分别代表第一非局部帧、当前帧和第三非局部帧的扫描线。
可以看到,通过跟踪光流轨迹(黑色虚线),图上蓝色的像素点的候选像素被计算了出来。但由于人腿的运动形成了遮挡,计算红色像素点的候选像素就出现了困难。
但在引入非相邻帧的非局部光流后,红色像素点就得到了额外的非局部领域(黄线和棕线上的红色像素点),由此,就可以计算出被人腿遮挡的真实背景。
然后,再在梯度域中,使用置信度加权平均,融合每个缺失像素点的候选对象以重建颜色。
最后,迭代这个过程,直到没有缺失像素为止。
实验结果:SOTA
从视觉效果上来说,这只AI的隐身大法修炼得十分成功。
与Diffusion和商汤的徐瑞等人的算法相比,新方法提供了更为清晰的运动边界,效果更加平滑。
那么定量对比的结果又如何呢?直接来看数据。
在DAVIS数据集上,研究人员将该方法与现有方法进行对比,比较了水印之类的静止对象和运动对象两类合成掩码的视频补完结果。
结果显示,新方法在各项指标上都达到了最佳性能。
关于作者
这件酷炫的AI隐身衣,由弗吉尼亚理工大学和Facebook打造。
一作是弗吉尼亚理工大学的三年级博士生Chen Gao。他的研究方向是计算摄影和计算机视觉,师从弗吉尼亚理工大学助理教授Jia-Bin Huang。
这项工作是他在Facebook实习期间完成。目前,他在谷歌担任研究实习生。
作者还表示,会很快开源这件AI隐形衣的代码,并放出在线Demo。
传送门
项目地址:
http://chengao.vision/FGVC/
论文地址:
https://arxiv.org/abs/2009.01835
— 完 —
本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。
0基础Python入门
扫码进群,免费领取体验课:
量子位 QbitAI · 头条号签约作者
վ'ᴗ' ի 追踪AI技术和产品新动态
喜欢就点「在看」吧 !
推荐帖子
- stm32can发送错误计数TEC=0xff?
- 大家好,我使用stm32can初始化时是,正常模式,发送不成功就重新发送。当其他节点的发送数据量较小时,系统工作正常。但是其他节点数据量大,stm32就发送不出去了,debug发现,发送邮箱3个都是满的,邮箱0出现CAN_TSR的TERR0被置位。同时CAN的ErrorCounter中TEC=0xff,但是LEC中却显示NoError,在这个过程中,stm32居然能正常接收数据?却一直不能正常发送数据,即便是总线空闲。真是奇怪,看了下,BOFF,EPVF,EWGF都被置位了。我
- gaoli.85 stm32/stm8
- 请帮忙看一下这个公式是怎么算出来的,谢谢
- 请帮忙看一下下图中红线部分的公式是如何演算出来的,谢谢。请帮忙看一下这个公式是怎么算出来的,谢谢二倍角公式-第一行那个k2的平方项展开,再套上面的公式。 高中数学学的好,还能记住这些 哈哈哈,只是有个印象,具体还是得靠百度。。。学习了
- 一沙一世 stm32/stm8
- 请教PowerPC平台下,vxWorks显卡驱动的大小端问题。
- 我在我们的PowerPC主板上,使用CT69030显卡。设置为1024x768,RGB565,刷新60hz.图像能够显示,但颜色对不上,Red,green,blue都对不上,按helenhf和frank_zhou的方法试验了一下,发现是字节大小端的问题。正常情况:应该显示的颜色字节1?字节2RED:1111100000000000=0xf800GREEN:0000011111100000=0x7e0
- star_jia 实时操作系统RTOS
- 如何通过VC编程读取Zigbee模块传来的数据
- 最近在帮老师做一个信号采集的东西,现场的传感器信号通过Zigbee模块传递给计算机,计算机对数据进行显示并通过Zigbee模块将控制命令发下,Zigbee模块通过串口与计算机相连,请问如何通过VC编程实现对Zigbee模块数据的读取以及控制命令的发送。头一回接触Zigbee,小白一个请大家指点一下,谢谢了如何通过VC编程读取Zigbee模块传来的数据诸位大神帮忙看一下呗,着急啊,没接触过所以不知道该看哪些东西自己顶起有没有人啊这论坛的大神们咋都这么低调呢,出来吱一声也好啊楼主别着急,
- 西门天天 RF/无线
- 再有两个Uint16空间就不愁了
- 1、背景DIY电源中,现在正在做的是基于TI的PFC+ACI的那个工程,去掉它的ACI部分,加上我们的BUCK电源部分。原来的BUCK输出使用CLA,已经调试正常,所以不想再改了。2、问题TI的项目文件对CLA的占用:CPU_CLA_MSGRAM00001500000000800000005e00000022RWIXDIY电源原来使用的几个参数是:设置参数:(包括TI项目对CAL的占用空间)CPU_CLA_MSGRAM00001
- dontium DIY/开源硬件专区
- 【2024 DigiKey 创意大赛】睡眠环境监测屏
- 一、作品简介BME680传感器集成了多个功能,可以测量气体,湿度,压力,温度,结合ESP32-S3-LCD-EV-BOARD开发板,非常适合制作成一个摆在床头的电子监视器。通过读取BME680中的数据,可以获取到常规的温度,湿度,气压数据。结合这些数据,可以计算一个舒适指数,通过观察舒适指数可以检测卧室的睡眠环境好坏。二、系统框图系统分为两部分,第一部分是BME680模块,用来获取环境信息;第二部分是ESP32-S3-LCD-EV-BOARD开发板,用来显示各种信息,以
- 林太太 DigiKey得捷技术专区