视频一键拆分PS层!DeepMind新模型效果碾压同级,物体、背景完美分离,还能脑补

科技   2024-12-16 22:48   江苏  



点击上方↑↑↑OpenCV学堂”关注我

来源:公众号 新智元 授权


【导读】DeepMind的研究人员开发了一种视频分层新方法,可以无需假设背景静止或精确的相机姿态,就能将视频分解成包含物体及其效果(如阴影和反射)的多个层,提升了视频编辑的灵活性和效率。


视频数据中通常会包含动态世界中的复杂信号,比如相机运动、关节移动、复杂的场景效果以及物体之间的交互。


如果能自动化地把视频分解成一组语义上有意义的、半透明的层,分离前景对象和背景的话,类似PS中的图片,就可以极大提升视频的编辑效率和直观性。


现有方法在推断对象及其效果之间复杂的时空相关性时,只能处理静态背景或带有精确相机和深度估计数据的视频,并且无法补全被遮挡区域,极大限制了可应用范围。



最近,Google DeepMind、马里兰大学帕克分校和魏茨曼科学研究所的研究人员共同提出了一个全新的分层视频分解框架,无需假设背景是静态的,也不需要相机姿态或深度信息,就能生成清晰、完整的图像层,甚至还能对被遮挡动态区域进行补全。


论文链接:https://arxiv.org/pdf/2411.16683

项目地址:https://gen-omnimatte.github.io/


该框架的其核心思想是训练一个视频扩散模型,利用其强大生成式先验知识来克服之前方法的限制。



1模型的内部特征可以揭示物体与视频效果之间的联系,类似于把视频扩散模型的内部特征应用于分析任务;



2模型可以直接利用先验补全层分解中的被遮挡区域,包括动态区域,而之前方法在先验信息有限的情况下无法实现。


在实验阶段,研究人员验证了,只需要一个小型、精心策划的数据集,就能够处理包含软阴影、光泽反射、飞溅的水等多种元素的日常拍摄视频,最终输出高质量的分解和编辑结果。



最牛「视频分层」模型


由于真实的分层视频数据很少,并且预训练模型已经在生成任务中学习到了物体及其效果之间的关联,所以希望通过微调模型来发挥这种能力,使用小型的分层视频数据集进行微调。


基础视频扩散模型


研究人员基于文本到视频的生成器Lumiere,开发出了一个可用于移除物体及其效果的模型Casper


基础模型Lumiere先从文本提示生成一个80帧、分辨率为128×128像素的视频,再利用空间超分辨率(SSR)模型将基础模型的输出上采样到1024×1024像素的分辨率。


Lumiere inpainting模型对原模型进行微调,输入条件为「遮罩的RGB视频」和「二进制掩码视频」,然后使用相同的SSR,以实现高分辨率质量。


Casper基于inpainting模型进行微调,对物体及视频效果进行移除,保持相同的模型架构。


使用三元掩码进行物体和效果移除


原始的Lumiere inpainting模型需要输入一个二元掩码来指示需要修复(inpaint)的区域和需要保留的区域。


Casper还引入了额外的不确定性,即所谓的「保留」区域并不完全保留,也可能为了擦除阴影而修改目标区域。



研究人员提出了三元掩码(Trimask)条件M,区分出需要移除的对象(M=0)、需要保留的对象(M=1)以及可能包含需要移除或保留效果的背景区域(M=0.5)。


为了获得干净的背景视频,再使用一个背景三元掩码,将所有物体都标记为需要移除的区域,背景标记为可能需要修改的区域。


使用SegmentAnything2获得二进制对象掩码,然后将单个物体作为保留区域,其余物体标记为移除区域。


在推理过程中,Casper的输入包括描述目标移除场景的文本提示、输入视频、三元掩码和128px分辨率的噪声视频的拼接。


模型在没有分类器自由引导的情况下进行256个DDPM采样步骤进行推理(一个80帧的视频大约需要12分钟),采用时间多扩散技术来处理更长的视频。


视频生成器中的效果关联先验


为了探究Lumiere对对象效果关联的内在理解,研究人员分析了使用SDEdit在给定视频去噪过程中的自注意力模式,测量了与感兴趣对象相关的查询token和键token之间的自注意力权重。



可以观察到,阴影区域的查询token对对象区域展现出更高的注意力值,表明预训练模型能够有效关联对象及其效果。


训练数据构造


研究人员从四个类别中构造了一个包含真实和合成视频示例的训练数据集。



Omnimatte,从现有方法的结果中收集了31个场景,形成输入视频、输入三元掩码和目标背景视频的训练元组。场景大多来自DAVIS数据集,以静态背景和单个对象为特色,包含现实世界视频中阴影和反射。


Tripod,通过互联网补充了15个视频,由固定相机拍摄,包含进出场景的对象、水效果(例如,反射、飞溅、波纹)和环境背景运动。然后通过Ken Burns效果增强视频,以模拟相机运动。


Kubric,包含569个合成视频,在Blender中渲染多对象场景并使对象透明。此外,研究人员观察到许多现实世界场景在一个场景中会展示同一类型对象的多个实例,例如狗、行人或车辆,所以还特意生成了包含重复对象的场景,以训练模型处理多个相似对象。


对象粘贴(Object-Paste),从YouTube-VOS数据集中的真实视频合成了1024个视频元组,使用SegmentAnything2从随机视频裁剪对象,并将其粘贴到目标视频上。训练输入和目标分别是合成的视频和原始视频,可以加强模型的修复和背景保留能力。


训练数据的文本提示由BLIP-2描述,描述了对象效果移除模型应该学会生成的目标视频;通过空间水平翻转、时间翻转和随机裁剪到128×128像素分辨率来增强数据集。


实验结果


定性分析


在下图「船」(boat)的例子中,现有的方法无法将船的尾迹从背景层中分离出来,而文中提出的方法可以正确地将其放置在船的层中。



「马」的例子中,Omnimatte3D和OmnimatteRF因为3D感知背景表示对相机姿态估计的质量很敏感,所以背景层很模糊,无法在最后一行中恢复出被遮挡的马。


在物体移除方面,视频修复模型无法移除输入掩码外的软阴影和反射;ObjectDrop可以移除cartoon和parkour中的阴影,但独立处理每一帧,并且没有全局上下文的情况下修复区域,会导致不一致的幻觉。



定量分析


研究人员采用OmnimatteRF评估协议来评估十个合成场景的背景层重建效果,包括5个电影场景和5个由Kubric生成的场景,每个场景都有一个对应的真实背景,不包含前景对象和效果。


使用峰值信噪比(PSNR)和Learned Perceptual Image Patch Similarity(LPIPS)作为评估指标。



结果显示,Omnimatte和Layered Neural Atlas使用2D运动模型,因此难以处理视差;Omnimatte3D在两个案例中未能构建背景场景模型,并且在电影场景中的静止前景对象处理上存在困难。


总体而言,文中的方法在两个指标上都取得了最佳性能。


参考资料:
https://arxiv.org/pdf/2411.16683

OpenCV4系统化学习


深度学习系统化学习

推荐阅读

OpenCV4.8+YOLOv8对象检测C++推理演示

ZXING+OpenCV打造开源条码检测应用

攻略 | 学习深度学习只需要三个月的好方法

三行代码实现 TensorRT8.6 C++ 深度学习模型部署

实战 | YOLOv8+OpenCV 实现DM码定位检测与解析

对象检测边界框损失 – 从IOU到ProbIOU

初学者必看 | 学习深度学习的五个误区


OpenCV学堂
三本书《Java数字图像处理-编程技巧与应用实践》、《OpenCV Android开发实战》、《OpenCV4应用开发-入门、进阶与工程化实践》作者。OpenCV实验大师平台 软件作者,OpenCV开发专家、OpenCV研习社创始人。
 最新文章