可重构时序实现分身
杨净 发自 凹非寺
量子位 报道 | 公众号 QbitAI
如何更顺滑的添加水印?
谷歌的这项新技术,让文本简直就像贴在地面上,哪怕是在沙尘横飞的场景里。
方法也很简单。
只需输入一段视频,和指定对象的粗略蒙版。
那这个对象的所有相关场景元素,都能解锁!
比如人和狗的影子。
还有黑天鹅缓缓拂过的涟漪~
以及上述那个赛车疾驰过后激起的沙尘。
不管是任意对象和主体,不论怎么移动,所有元素都能抠出来。
这就是谷歌最新的视频分层技术——omnimatte,入选CVPR 2021 Oral。
目前这项技术都已开源。
如何实现
计算机视觉在分割图像或视频中的对象方面越来越有效,然而与对象相关的场景效果。
比如阴影、反射、产生的烟雾等场景效果常常被忽略。
而识别这些场景效果,对提高AI的视觉理解很重要,那谷歌这项新技术又是如何实现的呢?
简单来说,用分层神经网络渲染方法自监督训练CNN,来将主体与背景图像分割开来。
由于CNN的特有结构,会有倾向性地学习图像效果之间的相关性,且相关性却强,CNN越容易学习。
输入一段有移动物体的视频,以及一个或者多个标记主体的粗略分割蒙版。
首先,使用现成的分割网络比如Mask RCNN,来讲这些主体分成多个遮罩层和背景噪声图层,并按照某种规则进行排序。
比如,在一个骑手、一辆自行车以及几个路人的场景中,就会把骑手和自行车归入一个层,把人群归入第二层。
omnimatte模型是一个二维UNet,逐帧处理视频。每一帧都用现成的技术来计算物体掩码,来标记运动中的主体,并寻找和关联蒙版中未捕捉到的效果,比如阴影、反射或者烟雾,重建输入帧。
为了保证其他静止的背景元素不被捕获,研究人员引入了稀疏损失。
此外,还计算了视频中每一帧和连续帧之间的密集光流场,为网络提供与该层对象相关的流信息。
最终生成Alpha图像(不透明度图)和RGBA彩色图像,尤其RGBA图像,简直可以说是视频/图像剪辑法宝!
目前这一技术已经开源,配置环境如下:
- Linux
- Python 3.6+
- NVIDIA GPU + CUDA CuDNN
有什么用途
技术效果如此,那有什么样的用途呢?
首先就可以复制或者删除图像。
还有顺滑地切换背景。
还可以实现这一经典操作,让原本依次掉水的小孩一起入水~
背后的团队
最后再来说一下背后的团队。
这项研究由谷歌研究院、牛津大学以及魏茨曼科学研究所共同完成。
其中,论文一作是牛津大学四年级博士生Erika Lu,曾是谷歌实习生,在麻省理工学院获得了计算机科学与工程学士学位。
论文链接:
https://arxiv.org/pdf/2105.06993.pdf
参考链接:
https://ai.googleblog.com/2021/08/introducing-omnimattes-new-approach-to.html
https://github.com/erikalu/omnimatte
https://omnimatte.github.io/
https://erikalu.com/