Anything in Any Scene:无缝融入任何场景,实现逼真视频对象插入技术

server/2024/9/24 17:14:49/

 人工智能咨询培训老师叶梓 转载标明出处

现实世界的视频捕获虽然因其真实性而宝贵,但常常受限于长尾分布的问题,即常见场景过度呈现,而关键的罕见场景却鲜有记录。这导致了所谓的"分布外问题",在模拟复杂环境光线、几何形状或达到高度逼真效果方面存在局限。传统的视频收集和编辑方法在解决这些限制时常常是不切实际或成本过高。来自小鹏汽车公司的研究团队提出了"Anything in Any Scene"框架,它能够将任何对象无缝插入现有动态视频中,同时强调物理真实性。

模拟视频帧中的错误估计光照环境、错误的对象放置位置和不真实的纹理风格的例子

框架

“Anything in Any Scene”框架

Figure 2 框架是为了实现逼真的视频对象插入而设计的。这个框架包含几个关键组件,它们协同工作以确保插入的对象在目标视频中既真实又和谐。

资产库构建:首先,需要构建场景视频和对象网格的资产库。这包括使用视觉数据查询引擎来检索相关的视频片段,以及利用Houdini Engine和NeRF技术生成对象的3D网格模型。

对象放置与稳定化:框架中的一个核心部分是确定对象在视频中的正确位置,并确保它在连续帧中稳定存在。这涉及到考虑场景中其他对象的遮挡,并使用光流跟踪来优化对象在视频中的运动轨迹。

光照估计与阴影生成:为了增强现实感,框架需要准确估计场景中的光照条件,并为插入的对象生成逼真的阴影。这包括使用HDR全景图像重建技术和3D图形应用程序来渲染阴影。

风格迁移网络:为了最大化视频输出的逼真度,框架采用了风格迁移网络来细化视频输出。这个网络可以调整插入对象的风格,使其与背景视频的风格一致,从而提高整体的视觉效果。

结果验证:通过人类评分和FID评分对生成的视频进行评估,确保视频的逼真度和质量。

资产库构建

创建和管理一个包含丰富场景视频和对象网格的资产库是实现高质量视频合成的前提。资产库的构建涉及两个核心技术:视觉数据查询引擎的开发以及对象网格的生成。视觉数据查询引擎利用视觉词汇袋方法,通过语义分割和特征提取,快速检索与特定视觉描述符相匹配的视频片段。而对象网格的生成则通过Houdini Engine和基于Neural Radiance Fields (NeRF)的重建技术,生成具有高度逼真物理特性和复杂几何结构的对象模型。这些技术的结合,为视频中的对象插入提供了必要的资源和工具,确保了合成视频的几何真实性、光照真实性和照片级真实性。

对象放置与稳定化

在构建逼真视频对象插入框架中,对象放置和稳定化是确保对象与背景视频无缝融合的关键步骤。首先,对象放置需要确定视频中每一帧的插入位置,这涉及到对场景的深入理解,包括场景中已有对象的位置和潜在的遮挡关系。通过使用语义分割技术,系统能够识别出场景中哪些区域适合放置新对象,从而避免不自然的遮挡现象。

为了实现对象的稳定化,系统采用了光流跟踪技术来分析连续帧之间的像素级运动。通过这种方式,系统能够预测对象在后续帧中的位置,确保对象在视频播放过程中的运动看起来自然流畅。此外,还需要对摄像机的旋转和平移进行优化,以减少由于视角变化导致的投影误差。

在实际操作中,系统首先在参考帧中确定对象的初始位置,通常是将对象放置在世界坐标系的原点,即摄像机的位置。然后,利用摄像机的内参矩阵和每帧的摄像机姿态,将这个位置投影到像素坐标系中。接下来系统会评估场景的语义分割掩模,以确保选择的放置点不会与场景中其他对象发生遮挡。

最后通过优化算法调整摄像机姿态,确保在连续帧中对象的放置点能够与光流跟踪结果相匹配,从而实现对象在视频中的稳定显示。这个过程需要综合考虑多个因素,包括场景的3D结构、摄像机的运动以及对象与场景元素之间的相对位置,以确保最终的视频效果既逼真又连贯。

驾驶场景视频的对象放置示例。第一帧视频、估计的分割掩模以及3D场景中的对象放置位置

光照估计与阴影生成

视频对象插入过程中,光照估计和阴影生成对于实现逼真渲染至关重要。为了确保插入的对象在视觉上与场景融为一体,系统必须准确模拟场景中的光照条件。这包括对天空和环境光照的高动态范围(HDR)图像进行重建,以便捕捉场景中光照的细微差别。

系统使用图像修复网络来推断全景天空图像,填补由于相机视野限制而缺失的部分。通过天空HDR重建网络,将全景天空图像转换成HDR格式,从而更准确地表示太阳和天空的亮度分布。此外,系统还采用LDR到HDR的转换网络,从场景的低动态范围(LDR)侧视图图像中恢复HDR环境图像,这些图像随后被无缝拼接成一个完整的HDR全景环境图像。

原始天空图像、重建的HDR图像及其相关的太阳光照分布图

通过结合HDR天空图像和环境图像,系统能够为插入的对象生成一致且逼真的光照效果。此外,系统还利用估计出的HDR天空图像来渲染对象的阴影,使用3D图形应用程序Vulkan来实现高效的计算和逼真的渲染效果。阴影的准确渲染对于增强对象的三维感和场景的一致性至关重要。

为插入对象生成的阴影的例子

在这个过程中,系统需要考虑光源的位置、强度和颜色,以及它们如何与场景和插入的对象相互作用。通过这种方式,无论场景是户外的自然光照环境还是室内的人工光照条件,系统都能够生成具有高度真实感的光照和阴影效果,使插入的对象在视觉上与背景视频无缝融合。

风格迁移网络

在对象放置和光照阴影生成之后,为了进一步提升视频的逼真度,"Anything in Any Scene" 框架采用了一种风格迁移网络来实现照片级真实感的视频输出。风格迁移技术的目标是调整插入对象的外观,使其与背景视频的风格和视觉特性相匹配,从而减少视觉上的不一致性。

风格迁移网络采用了由粗到细的机制,这涉及到两个网络:一个粗网络和一个细化网络。粗网络首先对前景对象进行初步的风格调整,生成一个大致的预测图像。这个预测提供了一个基础,但可能在细节上还不够精细。随后,细化网络在这个基础上进一步工作,利用扩张卷积层来增强图像的细节,生成最终的精细化结果。

在训练这些网络时,采用了Wasserstein生成对抗网络(WGAN)的损失函数,这有助于生成更加逼真和一致的图像。此外,为了提高训练的稳定性和效果,还引入了梯度惩罚项,这有助于网络更好地学习生成与真实图像分布一致的输出。

风格迁移网络的输入包括前景对象的图像、背景图像以及前景区域的分割掩模。通过这种方式,网络能够专注于前景对象,并有效地将其风格与背景融合。输出的是一个经过风格迁移处理后的图像,其中插入的对象在色彩、纹理和光照上与周围环境和谐统一,从而在视觉上实现了高度的真实感。

通过风格迁移,"Anything in Any Scene" 框架能够有效地解决模拟视频中可能出现的不真实感问题,如光照不一致、颜色偏差等,确保最终的视频输出在视觉上与真实捕获的视频难以区分。这种技术的应用不仅提升了视频数据增强的质量,也为虚拟现实、视频编辑和其他视频中心应用提供了强大的支持。

实验

作者采用了两种评估指标来量化生成模拟视频的质量:

Human Score:通过人类A/B测试来衡量,即测试参与者在比较两种方法结果时,更倾向于哪一种的比例。这提供了一个主观但直接的逼真度评估。

Frechet Inception Distance (FID):这是一种客观的度量,通过比较生成图像与真实图像分布之间的差异来评估生成图像的逼真度和多样性。FID得分越低,表示生成图像与真实图像越相似。

为了验证方法的有效性,作者使用了包括室内外场景视频数据集进行评估:

Outdoor Scene Video:使用了PandaSet数据集,这是一个多模态自动驾驶场景数据集,包含了不同时间和天气条件下的场景。

Indoor Scene Video:使用了ScanNet++数据集,这是一个大规模的室内场景数据集,由3D扫描真实环境创建。

作者对比了不同的风格迁移网络在他们的框架中的效果,包括基于CNN的DoveNet、基于transformer的StyTR2和基于扩散模型的PHDiffusion,以及他们自己提出的方法。实验结果显示,他们提出的风格迁移网络在FID得分上最低,人类评分最高,超越了其他替代方法。

使用PandaSet数据集的不同风格迁移网络对模拟视频帧的定性比较
在PandaSet数据集下,不同渲染条件下模拟视频帧的定性比较

不同风格迁移网络在“Anything in Any Scene”框架中的实验结果

为了评估框架中每个模块的有效性,作者进行了消融研究,逐个移除框架中的模块(如对象放置、HDR图像重建、阴影生成和风格迁移),然后评估性能变化。结果表明,移除任何一个模块都会降低视频的逼真度,尤其是在人类评分中更为明显。

“Anything in Any Scene”框架中模块消融分析的实验结果

作者还探讨了使用他们的框架生成的合成图像用于数据增强,以改善长尾分布问题。他们在CODA数据集上进行了评估,这是一个包含1500个真实世界驾驶场景和30多个对象类别的数据集。实验结果表明,使用增强数据集训练的模型在所有类别上的平均精度(mAP)有所提高。

使用原始CODA数据集图像与使用我们的“Anything in Any Scene”框架增强的图像训练的YOLOX模型的性能

通过这些详细的实验评估,证明了"Anything in Any Scene"框架不仅能够生成高质量的逼真视频,还能够通过数据增强提高下游任务(如目标检测)的性能。这些实验结果为该框架的有效性和应用潜力提供了有力的证据。

论文链接:https://arxiv.org/abs/2401.17509


http://www.ppmy.cn/server/101909.html

相关文章

python:画由两条抛物线所围成的图形

《高等数学》同济大学版 P338 编写 test_diff_2_area.py 如下 # -*- coding: utf-8 -*- """ 画由两条抛物线: ysqrt(x) , yx^2 所围成的图形的面积 """ import numpy as np import matplotlib.pyplot as plt from matplotlib.patches import…

【学习笔记】Day 12

一、进度概述 1、《地震勘探原理》第五章 二、详情 个人感觉第五,六,八章的解释更倾向于地质学那边负责的,但是多了解相关原理,肯定是有利于 DL-FWI 的相关研究的,所以这里只是做一个粗略的归纳,相关内容详…

Linux之/etc/motd文件

/etc/motd文件在Linux系统中扮演着重要的角色,它是“Message of the Day”的缩写,即“每日消息”或“今日布告栏信息”。以下是关于/etc/motd文件的详细解释: 一、文件作用 显示欢迎信息:每次用户登录时,/etc/motd文…

【Delphi】中多显示器操作基本知识点

提要: 目前随着计算机的发展,4K显示器已经逐步在普及,笔记本的显示器分辨率也都已经超过2K,多显示器更是普及速度很快。本文介绍下Delphi中操作多显示器的基本知识点(Windows系统),这些知识点在…

list使用及底层模拟实现

目录 一.list的使用 排序sort 去重unique remove按值删除 remove_if splice merge合并 二.模拟实现 1.成员变量及节点的实现 2.普通迭代器 成员变量 解引用operator* operator-> 前置和前置-- 后置和后置-- 等于与不等于重载 begin()迭代器 end()迭代器 3.co…

spring框架中Spring Validation的注解校验

在进行业务分析时发现当前业务所有的属性都应当有值,因此在设置数据库中的表结构时,也设置了所有属性都是必填。属性又比较多,如果通过一个个的if判断会显得代码比较多,因此考虑到使用注解进行校验属性是否为空。 常见属性上的校验…

第18 章探讨 C++新标准.可变参数模板,模板和函数参数包,展开参数包

第18 章探讨 C新标准.可变参数模板,模板和函数参数包,展开参数包 第18 章探讨 C新标准.可变参数模板,模板和函数参数包,展开参数包 文章目录 第18 章探讨 C新标准.可变参数模板,模板和函数参数包,展开参数包18.6 可变参数模板18.6.1 模板和函数参数包18.6.2 展开参数包18.6.3 …

uniapp 微信小程序生成水印图片

效果 源码 <template><view style"overflow: hidden;"><camera device-position"back" flash"auto" class"camera"><cover-view class"text-white padding water-mark"><cover-view class"…