CN115529835A - 用于新颖视图合成的神经混合 - Google Patents
用于新颖视图合成的神经混合 Download PDFInfo
- Publication number
- CN115529835A CN115529835A CN202180004259.1A CN202180004259A CN115529835A CN 115529835 A CN115529835 A CN 115529835A CN 202180004259 A CN202180004259 A CN 202180004259A CN 115529835 A CN115529835 A CN 115529835A
- Authority
- CN
- China
- Prior art keywords
- images
- image
- depth
- view
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000002156 mixing Methods 0.000 title claims abstract description 120
- 230000001537 neural effect Effects 0.000 title description 14
- 230000015572 biosynthetic process Effects 0.000 title description 4
- 238000003786 synthesis reaction Methods 0.000 title description 4
- 238000000034 method Methods 0.000 claims abstract description 116
- 238000013528 artificial neural network Methods 0.000 claims abstract description 84
- 239000002131 composite material Substances 0.000 claims abstract description 70
- 239000003086 colorant Substances 0.000 claims abstract description 35
- 230000004044 response Effects 0.000 claims abstract description 12
- 230000015654 memory Effects 0.000 claims description 37
- 238000012545 processing Methods 0.000 claims description 34
- 230000006870 function Effects 0.000 claims description 22
- 230000004927 fusion Effects 0.000 claims description 16
- 238000007499 fusion processing Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 34
- 238000004891 communication Methods 0.000 description 18
- 238000009877 rendering Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 9
- 238000012549 training Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 5
- 239000000203 mixture Substances 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000004888 barrier function Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 239000011521 glass Substances 0.000 description 3
- 210000003128 head Anatomy 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 208000035126 Facies Diseases 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000010237 hybrid technique Methods 0.000 description 2
- 238000003702 image correction Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 241000238370 Sepia Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000020411 cell activation Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000010408 film Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 125000006850 spacer group Chemical group 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 230000003313 weakening effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/18—Image warping, e.g. rearranging pixels individually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20016—Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Tea And Coffee (AREA)
Abstract
描述了用于接收多个输入图像、多个深度图像和多个视图参数以生成目标被摄体的虚拟视图的***和方法。该***和方法可以基于多个输入图像、多个视图参数以及多个深度图像中的至少一个生成多个翘曲图像。响应于向神经网络提供多个深度图像、多个视图参数和多个翘曲图像,***和方法可以从神经网络接收用于将颜色指配给目标被摄体的虚拟视图的像素的混合权重,并且可以基于混合权重和虚拟视图,根据视图参数生成合成图像。
Description
技术领域
本说明书一般涉及在合成三维(3D)内容中使用的方法、设备和算法。
背景技术
常规对象渲染通常包括密集计算工作量以便生成逼真影像。如果对象处于运动中,则可以使用附加计算工作量来生成对象的逼真图像。这种渲染能够包括使用神经网络来对对象的外观进行建模。然而,模型可以生成带有外来噪声和几何伪影的图像。
发明内容
本文描述的***和方法可以使用输入图像和预定义视图参数来执行基于图像的渲染以基于输入图像生成(例如,合成)视频和/或图像的新颖(例如,未见)视图。对未见视图的基于图像的渲染能够对于接收到的输入图像利用翘曲过程。一般而言,翘曲过程能够引起几何不准确以及视图和/或图像相关效果,当来自不同输入视图的贡献被混合在一起时,这些效果可以产生伪影。本文描述的***和方法使用深度学习技术,该深度学习技术采用神经网络(NN)来混合图像内容以获得对新颖视图的基于图像的渲染。特定混合权重被学习并用于将输入图像贡献组合为最终合成视图。混合权重被生成来提供如下优点:生成显示出减少的视图和/或图像相关效果以及减少数目的图像伪影的合成图像。
在使用NN、翘曲过程和/或混合权重时可能出现的技术挑战是缺少足够准确的几何形状,使得NN(例如,卷积神经网络)能够选择适当的混合权重以便避免图像伪影。本文描述的***和方法可以通过使用输入图像的颜色和深度视图的学习混合和/或采用多分辨率混合技术来选择提供具有减少的图像伪影的准确图像的像素颜色而解决此技术挑战。例如,可以将混合权重应用于相对于地面实况图像很可能是正确且准确的重度加权投影的(例如,概率地提供的)像素颜色,同时弱化对于给定地面实况图像不太可能是正确且准确的投影像素颜色的权重。
为了采用此类混合技术,除了特定机载***相机(例如,彩色相机、红外相机等)之外,本文描述的***和方法还可以利用一个或多个目击者相机。目击者相机可以监督用于生成新颖视图的内容。例如,目击者相机可以是可以起作用来提供地面实况数据的高分辨率相机。所生成的新颖视图与从目击者相机接收(例如,由目击者相机获得)的地面实况数据进行比较。在一些实现方式中,能够基于由目击者相机在生成新颖视图时捕捉的图像细节来对新颖视图的图像细节进行评分。
在一些实现方式中,本文描述的***和方法考虑训练损失。例如,***能够生成具有各种捕捉的场景的训练数据以使损失最小化以便提供高质量新颖视图合成,同时减少合成视图中的时间闪烁伪影。在一些实现方式中,本文描述的***和方法还可以采用遮挡推理来校正合成新颖视图中的伪影。
通过在***上安装软件、固件、硬件或它们的组合,可将一个或多个计算机的***配置为进行特定操作或动作,所述软件、固件、硬件或它们的组合在操作中单独或共同导致***进行所述动作。通过包括在由数据处理设备执行时使得所述设备进行所述动作的指令,可以将一个或多个计算机程序配置为进行特定操作或动作。
在一个一般方面中,***和方法被描述用于接收多个输入图像,接收与多个输入图像中的至少一个中的目标被摄体相关联的多个深度图像,接收用于生成目标被摄体的虚拟视图的多个视图参数,并且基于多个输入图像、多个视图参数和多个深度图像中的至少一个来生成多个翘曲图像。响应于向神经网络提供多个深度图像、多个视图参数和多个翘曲图像,***和方法可以从神经网络接收用于向目标被摄体的虚拟视图的像素指配颜色的混合权重。***和方法可以基于混合权重和虚拟视图根据视图参数来生成合成图像。
这些和其他方面能够单独或相结合地包括下列中的一个或多个。在一些实现方式中,***和方法可以包括对多个深度图像使用几何融合过程来重构合意表面以生成几何融合模型,基于多个输入图像和合意表面来生成多个重投影图像,并且响应于向神经网络提供多个深度图像、多个视图参数和多个重投影图像,***和方法可以从神经网络接收用于向合成图像中的像素指配颜色的附加混合权重。
在一些实现方式中,***和方法可以进一步包括向神经网络提供几何融合模型与在多个深度图像中观察到的深度之间的深度差异,并且该方法进一步包括基于深度差异校正在合成图像中检测到的遮挡。在一些实现方式中,多个输入图像是根据与捕捉到多个输入图像的至少一个相机相关联的预定义视图参数捕捉的彩色图像并且/或者多个深度图像各自包括与捕捉到多个输入图像中的至少一个的至少一个相机相关联的深度图、至少一个遮挡图和/或与由至少一个目击者相机在与多个输入图像中的至少一个的捕捉相对应的时间捕捉的地面实况图像相关联的深度图。在一些实现方式中,混合权重被配置成向合成图像的每个像素指配混合颜色。
在一些实现方式中,基于使由神经网络生成的合成图像与由至少一个目击者相机捕捉的地面实况图像之间的遮挡损失函数最小化来训练神经网络。在一些实现方式中,合成图像是为三维视频会议而生成的目标被摄体的未捕捉视图。
在一些实现方式中,基于多个输入图像、多个视图参数和多个深度图像中的至少一个来生成多个翘曲图像包括使用多个深度图像中的至少一个来确定与多个输入图像相关联的颜色到未捕捉视图中的候选投影,其中未捕捉视图包括多个输入图像中的至少一个的图像特征的至少一部分。
在另一一般方面中,描述了一种图像处理***,特别地用于执行如前述权利要求中的任一项所述的方法。该图像处理***可以包括至少一个处理设备和存储器,该存储器存储指令,这些指令在被执行时使***执行操作,包括:接收由图像处理***捕捉的多个输入图像,接收由图像处理***捕捉的多个深度图像,接收与又与多个输入图像中的至少一个相关联的未捕捉视图相关联的多个视图参数,以及基于多个输入图像、多个视图参数和多个深度图像中的至少一个来生成多个翘曲图像。响应于向神经网络提供多个深度图像、多个视图参数和多个翘曲图像,该***可以包括从神经网络接收用于向未捕捉视图的像素指配颜色的混合权重。该***可以进一步包括根据混合权重生成合成图像,其中,合成图像对应于未捕捉视图。
这些和其他方面能够单独或相结合地包括下列中的一个或多个。在一些实现方式中,多个输入图像是由图像处理***根据与图像处理***相关联的预定义视图参数捕捉的彩色图像并且/或者多个深度图像包括与捕捉到多个输入图像中的至少一个的至少一个相机相关联的深度图、至少一个遮挡图和/或与图像处理***的目击者相机相关联的深度图。
在一些实现方式中,混合权重被配置成向合成图像的每个像素指配混合颜色。在一些实现方式中,基于使由神经网络生成的合成图像与由至少一个目击者相机捕捉的地面实况图像之间的遮挡损失函数最小化来训练神经网络。在一些实现方式中,合成图像是为三维视频会议而生成的新颖视图。
在另一一般方面中,一种非暂时性机器可读介质被描述为具有存储在其上的指令,这些指令当由处理器执行时,使计算设备接收多个输入图像,接收与多个输入图像中的至少一个中的目标被摄体相关联的多个深度图像,并且接收用于生成目标被摄体的虚拟视图的多个视图参数。该机器可读介质还可以被配置成对多个深度图像使用几何融合过程来重构合意表面以生成目标被摄体的几何融合模型,基于多个输入图像、多个视图参数和合意表面来生成多个重投影图像。响应于向神经网络提供多个深度图像、多个视图参数和多个重投影图像,该机器可读介质可以从神经网络接收用于向目标被摄体的虚拟视图的像素指配颜色的混合权重,并且基于混合权重和虚拟视图根据视图参数来生成合成图像。
这些和其他方面能够单独或相结合地包括下列中的一个或多个。在一些实现方式中,该机器可读介质还包括向神经网络提供几何融合模型与在多个深度图像中观察到的深度之间的深度差异,并且基于深度差异校正在合成图像中检测到的遮挡。在一些实现方式中,多个输入图像是根据与捕捉到多个输入图像的至少一个相机相关联的预定义视图参数捕捉的彩色图像并且/或者多个深度图像包括与捕捉到多个输入图像中的至少一个的至少一个相机相关联的深度图、至少一个遮挡图和/或与由至少一个目击者相机在与多个输入图像中的至少一个的捕捉相对应的时间捕捉的地面实况图像相关联的深度图。
在一些实现方式中,混合权重被配置成向合成图像的每个像素指配混合颜色。在一些实现方式中,基于使由神经网络生成的合成图像与由至少一个目击者相机捕捉的地面实况图像之间的遮挡损失函数最小化来训练神经网络。在一些实现方式中,合成图像是用于三维视频会议的新颖视图。在一些实现方式中,神经网络被进一步配置成执行多分辨率混合以向合成图像中的像素指配像素颜色,该多分辨率混合触发将图像金字塔作为输入提供给神经网络以触发从神经网络接收用于多个尺度的多分辨率混合权重和与每个尺度相关联的不透明度值。
这些和其他方面可以单独或组合包括以下一个或多个方面。根据一些方面,本文要求保护的方法、***和计算机可读介质可以包括以下特征(或其任何组合)中的一个或多个(例如,全部)。
所述技术的实施方式可以包括计算机可访问介质上的硬件、方法或过程或计算机软件。在以下的说明书和附图中给出一个或多个实施方式的细节。根据说明书和附图以及权利要求,其他特征将显而易见。
附图说明
图1是图示根据贯穿本公开描述的实施方式的用于在显示设备上显示合成内容的示例3D内容***的框图。
图2是根据贯穿本公开描述的实施方式的用于合成内容以供在显示器上渲染的示例性***的框图。
图3是图示根据贯穿本公开描述的实施方式的将输入图像重投影到目标相机视点的示例的框图。
图4是根据贯穿本公开描述的实施方式的用于使用神经混合技术来生成用于在显示器上渲染的合成内容的示例流程图的框图。
图5是根据贯穿本公开描述的实施方式的用于生成混合权重的示例流程图的框图。
图6是图示根据贯穿本公开描述的实现方式的使用神经混合技术来生成合成内容的过程的一个示例的流程图。
图7示出可与本文所述技术一起使用的计算机设备和移动计算机设备的示例。
不同附图中相同的附图标记指示相同的元件。
具体实施方式
本文档描述与生成图像内容的新颖(例如,未见)视图有关的示例。本文描述的示例可以基于捕捉的视频内容和/或图像内容合成(例如,生成)实时新颖视图。例如,基于图像的渲染技术可以用于使用颜色视图和深度视图的学习混合来合成运动图像内容(例如,对象、用户、场景内容、图像帧等)的新颖视图。
本文描述的***和方法可以生成与常规***比具有更少伪影的新颖彩色图像。例如,本文描述的***和方法可以校正特定图像噪声和损失函数分析以生成具有更少深度不准确和更少遮挡的新颖图像。可以通过采用神经网络(NN)来学习检测并校正包含可见性错误的图像区域来执行校正。另外,NN能够使用混合算法来学习并预测新颖视图的颜色值,该混合算法将输出值约束为从彩色输入图像中检索到的重投影输入颜色的线性组合。
在操作中,过程可以检索(例如,捕捉、获得、接收等)多个输入图像和数据(例如,目标视图参数)以通过组合来自同一场景(例如,场景中的图像内容)的输入图像(例如,视图)的彩色图像流来预测新颖视图(例如,未见彩色图像)。可以将彩色图像流提供给NN以采用神经渲染技术来增强来自实时图像捕捉***(例如,诸如遥现***的3D视频会议***)的低质量输出。例如,新颖视图可以是通过本文描述的***和技术生成的预测彩色图像。可以通过将输入图像和组合后的彩色图像流(例如,和/或此类输入图像的重投影或表示)提供给NN以允许NN学习特定混合权重以便向预测彩色图像指配像素颜色来生成预测图像。能够应用所学习到的混合权重来为新颖彩色图像生成像素颜色。所学习到的混合权重还可以用于生成在一个或多个提供的输入图像中表示的图像内容的其他新颖视图。
在一些实现方式中,本文描述的NN可以对视图相关效果进行建模以预测将来的用户移动(例如,运动),以便减轻由用于生成用户的图像的特定几何形状信息和/或从捕捉用户的相机接收的几何形状信息和/或从对用户的图像执行的图像处理接收的信息的噪声性质所引起的伪影的错误投影。
在一些实现方式中,本文描述的***和方法能够训练一个或多个NN(例如,卷积NN,诸如U-net)以在单独的目击者相机的视点中预测图像,该目击者相机可以用于例如提供对输出彩色图像的监督。目击者相机可以充当用于本文描述的图像捕捉和/或处理***的地面实况相机。在一些实现方式中,两个或更多个目击者相机可以被用作用于NN的训练数据。两个或更多个目击者相机可以表示一对或许多对目击者相机。
在一些实现方式中,***和方法可以利用捕捉的输入图像、与期望新颖输出视图相关联的预定义参数和/或包含深度差异和深度图的遮挡图。深度差异可以使用来自最接近新颖视图的表面与相机视图的表面之间的彩色相机的视图来生成。深度差异可以被用于遮挡推理以便校正生成的图像中的遮挡视图和/或其他错误。在一些实现方式中,深度图可以包括来自由目击者相机捕捉的视图的深度图。
在一些实现方式中,本文描述的***和方法可以通过输入深度图像的几何融合来重构合意(consensus)表面(例如,几何表面)。在一些实现方式中,本文描述的***和方法可以使用诸如单独地捕捉的深度图像和/或合意表面的深度信息来确定输入颜色到新颖视图中的投影。
在一些实现方式中,本文描述的***和方法可以通过向新颖视图中的每个像素指配混合颜色来生成用于新颖视图的彩色图像(例如,彩色图像)。混合颜色可以使用彩色输入图像和由本文描述的NN确定的混合权重来确定。在一些实现方式中,通过损失函数正则化混合权重。在一些实现方式中,新颖视图是从原始输入图像投影到新颖视图中的图像的一个或多个像素颜色值的加权组合。
如本文所使用的,新颖(例如,未见的)视图可以包括已经基于相机捕捉的图像内容和/或视频内容的一个或多个帧被解释(例如,合成、内插、模拟等)的图像内容和/或视频内容。例如,对相机捕捉的图像内容和/或视频内容的解释可以与本文所述技术结合使用,以创建捕捉的图像内容和/或视频内容的未见版本和视图(例如,姿势、表情、角度等)。
在一些实施方式中,例如,本文所述技术可用于合成图像,该图像对于在多路2D或3D视频(例如,电话)会议中使用的2D或3D显示器的屏幕上的显示是表现地准确和逼真。本文所述技术可用于生成和显示用户在视频会议中的准确和逼真的视图(例如,图像内容、视频内容)。视图包括传统上难以通过3D方式描绘同时没有显著图像伪影的未见视图。
本文描述的***和方法提供通过使用一个或多个目击者相机和NN来基于多视图彩色输入图像和噪声遮挡线索以学习混合权重来生成没有显著图像伪影的新颖视图的优点。所学习到的混合权重能够确保在所得的输出图像中校正遮挡和颜色伪影。另外,所学习到的混合权重和一个或多个目击者相机能够由本文描述的***使用来确保在输入图像中未捕捉的图像内容能够用于准确地预测与输入图像中的图像内容相关联的新颖视图。例如,因为混合权重是相对于目击者相机图像学习和评估的,所以能够对于场景的在原始输入图像中未捕捉或表示的图像部分做出准确的预测。
在一些实施方式中,本文所述技术可用于电影、视频、短片、游戏内容、虚拟或增强现实内容、或者包括可受益于本文所述预测技术的用户图像的其他格式中的娱乐目的。例如,本文所述的技术可用于为在图像和/或视频内容中渲染的移动角色生成新颖视图。
在一些实施方式中,本文所述技术可由虚拟助理设备或其他智能代理使用,这些虚拟助理设备或其他智能代理可以执行图像处理,以使用本文所述的技术识别对象、重新创建对象和/或根据这些对象生成合成图像。
图1是图示根据贯穿本公开所述的实施方式的用于在立体显示设备中显示内容的示例3D内容***100的框图。例如,3D内容***100可以由多个用户使用来进行3D(例如,遥现会话)中的视频会议通信和/或访问增强和/或现实内容。一般而言,图1的***可用于在2D或3D视频会议期间捕捉用户的视频和/或图像和/或场景,并且使用本文所述***和技术以基于捕捉到的内容生成新颖视图,以便于对描绘视频会议会话中的新颖视图的准确图像进行渲染。***100可以受益于本文所述技术的使用,因为这种技术例如可以在视频会议内生成并显示实时新颖视图,其准确地表示用户。例如,新颖视图可以以2D和/或3D方式经由***100向另一用户为显示器提供。
如图1中所示,第一用户102和第二用户104访问3D内容***100。例如,用户102和104可以访问3D内容***100来参与3D遥现会话。在这种示例中,3D内容***100可以允许用户102和104中的每个看到彼此的高度逼真和视觉上一致的表示,从而有助于用户以类似于彼此的物理存在的方式进行交互。
每个用户102、104可以使用对应的3D***进行3D遥现会话。在此,用户102访问3D***106,而用户104访问3D***108。3D***106、108可以提供与3D内容相关的功能,包括但不限于捕捉用于3D显示的图像、处理和呈现图像信息、以及处理和呈现音频信息。3D***106和/或3D***108可以构成被集成为一个单元的传感设备的集合。3D***106和/或3D***108可以包括参照图2以及图8所述的一部分或全部组件。
3D内容***100可以包括一个或多个2D或3D显示器。在此,为3D***106描绘3D显示器110,并且为3D***108描绘3D显示器112。3D显示器110、112可以使用多种类型3D显示技术中的任一种来为相应观看者(例如,用户102或用户104)提供立体视图。在一些实施方式中,3D显示器110、112可以是独立单元(例如,自支撑或悬挂在墙上)。在一些实施方式中,3D显示器110、112可以包括或可以访问可穿戴技术(例如,控制器、AR眼镜等)。在一些实施方式中,显示器110、112可以是2D显示器。
一般而言,显示器110、112可以在不使用头戴式显示器(HMD)设备的情况下提供近似现实世界中物理对象的3D光学特性的影像。一般而言,本文所述显示器可以包括平板显示器,其覆盖双凸透镜(例如,微透镜阵列)和/或视差屏障,以将图像重定向到与显示器相关联的多个不同观看区域。
在一些实施方式中,显示器110、112可以包括高分辨率和无须眼镜的双凸透镜3D显示器。例如,显示器110、112可以包括微透镜阵列(未示出),微透镜阵列包括具有耦合(例如,接合)到显示器的微透镜的玻璃间隔物的多个透镜(例如微透镜)。可以将微透镜设计为使得,从选择的观看位置,显示器用户的左眼可以观看第一组像素,而用户的右眼可以观看第二组像素(例如,其中第二组像素与第一组像素互不包含)。
在一些示例性显示器中,可以有提供由这种显示器提供的图像内容(例如,用户、对象等)的3D视图的单个位置。用户可以坐在单个位置来体验适当的视差、最小的失真和逼真的3D图像。如果用户移动到不同的物理位置(或改变头部位置或眼睛注视位置),图像内容(例如,用户、用户佩戴的对象和/或其他对象)可能开始表现得不太现实、2D、和/或失真。本文所述***和技术可以重新配置从显示器投影的图像内容,以确保用户可以四处走动,但仍然实时地体验适当的视差、低失真率和逼真的3D图像。因此,本文所述***和技术提供保持和提供用于向用户显示的3D图像内容和对象,而不管用户正在观看3D显示器时发生的任何用户移动的优点。
如图1所示,可以将3D内容***100连接到一个或多个网络。在此,将网络114连接到3D***106和3D***108。网络114可以是公共可用网络(例如因特网)或专用网络,仅仅作为两个示例。网络114可以是有线的、无线的、或者是两者的组合。网络114可以包括或利用一个或多个其他设备或***,包括但不限于一个或多个服务器(未示出)。
3D***106、108可以包括与3D信息的捕捉、处理、传输或接收和/或3D内容的呈现有关的多个组件。3D***106、108可以包括一个或多个相机,用于捕捉要包括在3D呈现中的图像的图像内容和/或视频(例如,可见和IR图像数据)。在所描绘的示例中,3D***106包括相机116和118。例如,可以将相机116和/或相机118基本上设置在3D***106的壳体内,使得相应相机116和/或118的物镜或镜头通过壳体中的一个或多个开口来捕捉图像内容。在一些实施方式中,相机116和/或118可以与壳体分离,诸如以独立设备的形式(例如,具有与3D***106的有线和/或无线连接)。可以将相机116和118定位和/或定向从而捕捉用户(例如用户102)的足够具有代表性的视图。
虽然相机116和118通常将不遮挡用户102的3D显示器110的视图,但是可以任意选择相机116和118的放置。例如,可以将相机116、118中的一个定位在用户102面部上方某处,并且将另一个定位在面部下方某处。例如,可以将相机116、118中的一个定位在用户102面部右侧某处,并且将另一个定位在面部左侧某处。例如,3D***108可通过类似的方式包括相机120和122。也可以有附加相机。例如,可以将第三相机放置在显示器110附近或后面。
在一些实现方式中,3D***106、108能够包括一个或多个目击者相机119、121。目击者相机119、121可以用于捕捉高质量图像(例如,目击者相机图像132),这些高质量图像可以表示地面实况图像。由目击者相机119和/或相机121捕捉的图像可以与本文描述的技术一起使用以在生成新颖视图并且计算损失和此类损失的校正时被用作比较。一般而言,可以在与由相机116、118、120、122、124和/或126以及此类相机和/或相机舱(pod)的组合捕捉的其他图像(例如,帧)中的对应一个大体上相同的时刻捕捉由目击者相机119、121捕捉的图像。在一些实现方式中,可以捕捉目击者相机图像134并将其用作一个或多个NN的训练数据以便生成新颖视图。
在一些实施方式中,3D***106、108可以包括一个或多个深度传感器以捕捉要在3D呈现中使用的深度数据。可以将这种深度传感器视为3D内容***100中的深度捕捉组件的一部分,以用于表征3D***106和/或108所捕捉的场景,从而在3D显示器上正确地表示场景。此外,***可以跟踪观看者头部的位置和定向,使得能够通过与观看者当前视角对应的外观来渲染3D呈现。在此,3D***106包括深度传感器124,其也可以表示红外相机。通过类似的方式,3D***108可包括深度传感器126。可以将多种类型的深度感测或深度捕捉的任一种用于生成深度数据。
在一些实现方式中,每个相机116、118、119和124可以表示舱中的多个相机。例如,深度传感器124可以与相机116和/或相机118一起被收容在相机舱中。在一些实现方式中,可以将三个或更多个相机舱放置在显示器110周围和/或后面,并且每个舱可以包括相机124(例如,深度传感器/相机)和一个或多个相机116、118。类似地,可以将三个或更多个相机舱放置在显示器112周围和/或后面,并且每个舱可以包括相机126(例如,深度传感器/相机)和一个或多个相机120、122。
在***106的操作中,可以执行辅助立体声深度捕捉。例如,可以使用光点来照亮场景,并且可以在两个相应的相机之间进行立体匹配。可以使用选定波长或波长范围的波来完成这种照明。例如,可以使用红外光(IR)。例如,深度数据可以包括或基于与反映深度传感器(例如深度传感器124)与场景中的对象之间的距离的场景有关的任何信息。对于与场景中的对象相对应的图像中的内容,深度数据反映到所述对象的距离(或深度)。例如,相机与深度传感器之间的空间关系可以是已知的,并且可用于将来自相机的图像与来自深度传感器的信号相关联,以生成图像的深度数据。
可以处理由3D内容***100捕捉的图像并在之后将其显示为3D呈现。如图1的示例所示,用户104的3D图像被呈现在3D显示器110上。这样,用户102可以将(例如,用户的)3D图像104'感知为用户104的3D表示,用户104可以远离用户102。类似地,3D图像102'被呈现在3D显示器112上。这样,用户104可以将3D图像102'感知为用户102的3D表示。
3D内容***100可以允许参与者(例如用户102、104)参与相互之间和/或与其他人的音频通信。在一些实施方式中,3D***106包括扬声器和麦克风(未示出)。例如,3D***108可以类似地包括扬声器和麦克风。这样,3D内容***100可以允许用户102和104参与相互之间和/或与其他人的3D遥现会话。一般而言,本文所述***和技术可与***100一起运行以生成图像内容和/或视频内容用于在***100的用户之间显示。
在***100的操作中,可以由相机116、118、119、124和/或120、121、122和126捕捉一组输入图像132。例如,输入图像可以包括目击者相机图像134和RGB彩色图像136。在一些实现方式中,***100还可以生成和/或以其他方式获得深度图像138。在一个示例中,可以通过如上所述根据从IR相机中检索到的一对IR图像执行一个或多个立体计算来生成深度图像138。输入图像132可以被用作预测输出图像的基础,该输出图像是来自输入图像的重投影颜色的线性组合。在一些实现方式中,输入图像132可以包括两个或更多个彩色图像,这些彩色图像表示按已知(例如,预定、预定义)视图参数而捕捉的重投影彩色图像(例如,红色绿色蓝色(RGB))。在一些实现方式中,输入图像132也包括按已知视图参数而计算(例如,生成)的一个或多个深度图像138。输入图像132可以与特定相机参数、视图参数和/或NN混合算法140相结合地使用以生成用于在显示器110和/或112上显示的新颖视图。
图2是根据贯穿本公开所描述的实施方式的用于合成内容以在显示器上渲染的示例***的框图。***200可用作或被包括在本文所述的一种或多种实施方式中,和/或可用于进行本文所述图像内容的合成、处理、模拟或呈现的一个或多个示例的操作。可以根据本文所述一个或多个示例来实现整个***200和/或其各个组件中的一个或多个。
***200可包括一个或多个3D***202。在所描绘的示例中,示出3D***202A、202B到202N,其中索引N指示任意数字。3D***202可以提供视觉和音频信息的捕捉用于2D或3D呈现,并且可以转发2D或3D信息用于处理。这种信息可包括场景的图像、关于场景的深度数据、与图像捕捉相关联的参数、和/或来自场景的音频。2D/3D***202可以用作***106和108以及2D/3D显示器110和112(图1),或被包括在其中。尽管***202B和202N没有描绘出与***202A中描绘的相同的模块,但是***202A中的每个模块也可以存在于***202B和202N中。
***200可包括多个相机,如相机204所示。任何类型的光感测技术可用于捕捉图像,诸如普通数码相机中使用的图像传感器类型。相机204可以是相同类型,或者不同类型。例如,可将相机位置放置在3D***(例如***106)上的任何位置。在一些实现方式中,每个***202A、202B和202N包括三个或更多个相机舱,每个相机舱包括深度相机(例如,深度传感器206和/或其内容使用立体算法来分析以推理深度图像的一对或多对IR相机)和一个或多个彩色相机。在一些实现方式中,***202A、202B和202N还包括一个或多个目击者相机(未示出),这些目击者相机可以捕捉要在生成新颖视图时和/或例如为了训练神经网络而用作地面实况图像的图像。
***202A包括深度传感器206。在一些实施方式中,深度传感器206通过将IR信号传播到场景上并检测响应信号来操作。例如,深度传感器206可以生成和/或检测光束128A和/或128B和/或130A和/或130B。在一些实施方式中,深度传感器206可以被用于计算遮蔽贴图。***202A还包括至少一个麦克风208和扬声器210。在一些实施方式中,麦克风208和扬声器210可以是***106的一部分。
此外,***202包括可以呈现3D图像的3D显示器212。在一些实施方式中,3D显示器212可以是独立显示器,而在一些其他实施方式中,3D显示器212可以被集成到AR眼镜、头戴式显示设备等。在一些实施方式中,3D显示器212使用视差屏障技术来操作。例如,视差屏障可以包括放置在屏幕与观看者之间的基本不透明材料(例如,不透明膜)的平行垂直条纹。由于观看者各个眼睛之间的视差,屏幕的不同部分(例如,不同的像素)被相应的左眼和右眼观看。在一些实施方式中,3D显示器212使用双凸透镜操作。例如,可以将交替行的透镜放置在屏幕前面,这些行将来自屏幕的光线分别对准观看者的左眼和右眼。
***200能够包括计算***214,该计算***214能够执行数据处理、数据建模、数据协调和/或数据传输的某些任务。在一些实现方式中,计算***214还可以生成图像,混合权重,并且执行神经处理任务。在一些实现方式中,计算***214是图像处理***。计算***214和/或其组件能够包括参考图8描述的一些或所有组件。
计算***214包括可以生成2D信息和/或3D信息的图像处理器216。例如,图像处理器216可以接收(例如,获得)一个或多个输入图像132和/或视图参数218并且可以生成图像内容以由图像翘曲引擎220、混合权重生成器222和/或NN 224进一步处理。输入图像132可以包括捕捉的彩色(例如,RGB、YUV、CMYK、CIE、RYB)图像。
视图参数218可以包括与特定输入图像132的捕捉相关联和/或与要生成(例如,合成)的图像的捕捉相关联的相机参数。一般而言,视图参数218可以表示相机模型近似值。视图参数218可以包括相机的视图方向、姿态、相机视角、透镜畸变和/或内在和外在参数中的任一个或全部。
图像处理器216还包括(和/或生成和/或接收)遮挡图226、深度图228、UV图230、目标视图参数232、损失函数234和网格代理几何形状236。
遮挡图226可以对被确定为最接近目标视点的表面点与捕捉该表面的相机之间的有符号距离进行编码。正值可以指示点被视图遮挡。因此,***200可以将混合权重生成器222(和NN 224)配置成在确定混合权重242时不使用正值距离,因为当基于捕捉的图像生成新或新颖视图时,这样遮挡的图像内容将不提供准确的再现数据内容。在一些实现方式中,遮挡图226能够用于评估在特定视图中观察到的深度与和该视图相关联的几何融合模型之间的深度差异。
深度图228表示包含与特定场景对象的表面距所选视点的距离有关的信息的一个或多个图像。在一些实现方式中,深度图228对应于三个彩色相机图像中的每一个和/或合成(例如,新颖)视图中从目标视点到针对每个输出像素确定的最近表面点的深度。
UV图230从输入图像132中的可见内容生成。特别地,UV图230表示2D图像到3D模型表面的投影以便执行纹理映射以生成可以用于生成合成图像(例如,新颖视图)的特征。
目标视图参数232表示新颖合成图像的视图参数(即,用于生成目标被摄体(subject)的虚拟视图的视图参数)。目标视图参数232可以包括与要生成(例如,合成)的图像相关联的图像参数和/或相机参数。目标视图参数232可以包括视图方向、姿态、相机视角等。
损失函数234可以评估地面实况图像与预测图像之间的差异,其中预测图像是基于针对帧捕捉的可见光信息、针对帧捕捉的IR光以及与颜色和/或深度相关联的混合权重的组合而预测的。损失函数234可以包括描述任何或所有图像错误、图像漏洞、图像错误投影伪影等的函数。
在一些实现方式中,损失函数234能够包括基于映射到NN中的各层的激活的分段地面实况图像与映射到NN中的各层的激活的分段预测图像之间的重构差异的重构损失。分段地面实况图像可以由地面实况掩码分段以去除背景像素,而分段预测图像可以由预测掩码分段以去除背景像素。可以基于针对帧捕捉的可见光信息和针对帧捕捉的IR光两者的组合来预测预测掩码。
网格代理几何形状236可以表示包括一组K个代理{Pi,1,…,Pi,K}(即,具有UV坐标的矩形、三角形等网格)的粗略几何形状。例如,可以将2D图像投影到3D代理模型表面以便生成网格代理几何形状236。代理可以用作来表示特定图像内容的实际几何形状的版本。在操作中,***200使用代理几何形状原理来使用一组粗略代理表面(例如,网格代理几何形状236)以及形状、反照率和视图相关效果来对几何结构进行编码。
图像翘曲引擎220可以被配置成接收一个或多个输入图像(例如,帧、流)和/或其他捕捉/特征参数数据并且生成保存特征的一个或多个输出图像(例如,帧、流)。图像翘曲引擎220可以利用捕捉/特征参数数据来以某种方式重构输入图像。例如,图像翘曲引擎220可以从输入图像生成重构候选彩色图像,其中重构图像中的每个像素是用于与一个或多个输入图像对应的新合成图像的候选像素。
在一些实现方式中,图像翘曲引擎220可以在像素级别对输入图像执行功能以便保存小尺度图像特征。在一些实现方式中,图像翘曲引擎220可以使用非线性或线性函数来生成重构图像。
混合权重生成器222包括混合算法238和可见性分数240。混合算法238可以用于生成混合权重242。特别地可以经由NN 224访问混合算法238以生成混合权重242。混合权重242表示图像的特定像素的值,这些值可以用于对结果(例如,最终,新颖图像)中的像素的各方面做出贡献。混合算法238包括用于计算用于对一组特定深度图像和/或表示深度图像的融合几何形状进行着色的混合权重的基于试探法的算法。混合算法接收多视图彩色图像和噪声遮挡线索作为输入以便为新颖视图(例如,新颖合成图像)学习输出混合权重。在一些实现方式中,也可以将关于目标视图和输入图像的纹理(例如,从相机舱接收)和可见性分数240作为输入提供给混合算法238。
可见性分数240可以表示捕捉图像中的对象的特定像素或特征的可见性。每个可见性分数240可以表示单个标量值,其指示图像的哪些部分(例如,像素、特征等)在输入图像的特定视图中是可见的。例如,如果用户面部的最左侧在用户的输入图像中是不可见的,则表示用户面部最左侧的像素的可见性分数240可以被加权为低,而在输入图像中可以很好地观看和/或捕捉的其他面积可以被加权为高。在为新颖的视图(例如,图像)生成混合权重242时,可以考虑到可见性分数。
神经网络224包括嵌入器网络244和生成器网络246。嵌入器网络244包括一个或多个卷积层和下采样层。生成器网络246包括一个或多个卷积层和上采样层。
内画器(in-painter)254可以基于在特定遗漏内容部分周围的像素的局部邻域生成可能从特定纹理或图像中遗漏的内容(例如,像素、区域等)。在一些实现方式中,内画器254可以利用混合权重242来确定如何对特定像素、区域等进行内画。内画器254可以利用来自NN224的输出来预测用于渲染的特定背景/前景遮罩。在一些实现方式中,内画器254可以与图像校正引擎252一起用来拉推孔填充。能够在具有遗漏深度信息的区域/像素的图像中执行这个,这可以导致没有由NN224预测的输出颜色。图像校正引擎252可以触发内画器对图像中的特定区域/像素进行着色。
一旦混合权重242被确定,***214可以将该权重提供给神经渲染器248。神经渲染器248可以生成例如利用NN 244(或者另一NN)的对象(例如,用户)和/或场景的中间表示。例如,用对象专用卷积网络,神经渲染器248可以通过模拟真实外观(例如,基准真相)与漫反射重投影之间的差异来合并视图相关效果。
在操作中,***200可以接收立体融合管道,该立体融合管道产生(1)与三个彩色相机图像中的每一个彩色相机图像对应的深度图和(2)合成视图中从目标视点到针对每个输出像素确定的最近表面点的深度值Dt。例如,图像捕捉***可以包括至少三个相机舱。每个相机舱可以包括一个或多个彩色相机和深度相机(例如,相机204、深度传感器206)。在一些实现方式中,图像捕捉***可以附加地包括目击者相机舱。在此示例中,***可以执行几何翘曲以将来自三个相机舱的信息转换成目击者相机舱的目标图像空间。特别地,对于三个彩色相机中的每个k,再现彩色(例如,RGB)图像,可以计算值以使用重投影到3D空间中的目标视点深度(例如,深度图228)来表示重投影RGB图像(例如,重投影图像404)。另外,可以计算值以表示对最接近预定义目标视点的表面点与相机之间的有符号距离进行编码的遮挡图(例如,遮挡图226)。正值指示图像点被视图遮挡。负值指示图像点未被视图遮挡。
在一些实现方式中,***214可以使用多分辨率混合引擎256来执行多分辨率混合。多分辨率混合引擎256可以采用图像金字塔作为卷积神经网络(例如,NN 224/414)的输入,该卷积神经网络在多个尺度下按与每个尺度相关联的不透明度值而生成混合权重。在操作中,多分辨率混合引擎256可以采用两阶段训练后的端到端卷积网络过程。引擎256可以利用多个源相机。
如本文所述,至少部分地基于所计算的混合权重242,通过对于与访问显示器(例如,显示器212)的用户相关联的双眼的适当视差和观看配置,合成视图250表示内容(例如,VR/AR对象、用户、场景等等)的3D立体图像。每次用户在观看显示器时移动头部位置和/或每次特定图像在显示器上改变时,使用***214可以基于来自神经网络(例如,NN 244)的输出来确定合成视图250的至少一部分。在一些实施方式中,合成视图250表示用户的面部以及在捕捉用户面部的视图内围绕用户面部的用户的其他特征。在一些实施方式中,例如,合成视图250表示由与遥现***202A相关联的一个或多个相机捕捉的整个视场。
在一些实施方式中,***202和214的处理器(未示出)可以包括(或与之通信)图形处理单元(GPU)。在操作中,处理器可以包括或者可以访问存储器、存储和其他处理器(例如,CPU)。为了帮助图形和图像生成,处理器可以与GPU通信以在显示设备(例如,显示设备212)上显示图像。CPU和GPU可以通过诸如PCI、AGP或PCI-Express的高速总线连接。GPU可以通过另一个高速接口(例如HDMI、DVI或Display Port)连接到显示器。通常,GPU可以通过像素形式来渲染图像内容。显示设备212可以从GPU接收图像内容并且可在显示器屏幕上显示图像内容。
尽管在图2中未描绘,但是可以向一个或多个NN 224提供诸如特征图的附加图以生成图像内容。可以通过分析图像以针对图像的每个像素生成特征来生成特征图。此类特征可以用于生成特征图和纹理图,这些特征图和纹理图可以被提供给混合权重生成器222和/或NN 224以帮助生成混合权重242。
图3是图示根据贯穿本公开描述的实现方式的输入图像到目标相机视点的重投影的示例的框图。例如,***200可以用于生成要用作NN的输入图像的图像的重投影。使图像翘曲可以包括使用(来自深度图像的)融合深度将捕捉的输入图像132重投影到目标相机视点以瞄准相机视点。在一些实现方式中,输入图像132已经是重投影图像的形式。在一些实现方式中,图像翘曲引擎220执行翘曲。
例如,图像翘曲引擎220可以将目标图像点x 302反向投影到射线。图像翘曲引擎220然后可以在距目标相机308的距离d处找到点X 304。接下来,图像翘曲引擎220可以将X投影到舱图像点x’306,其距舱相机310距离d’。下面的等式[1]-[3]描述此计算:
接下来,图像翘曲引擎220可以在x’处对纹理相机图像进行双线性采样,如由下面的等式[4]和[5]所示:
图4是根据贯穿本公开描述的实现方式的用于使用神经混合技术来生成用于在显示器上渲染的合成内容的示例流程图400的框图。图400可以生成要经由神经网络提供给混合算法的数据(例如,多视图彩色图像、噪声遮挡线索、深度数据等)。神经网络然后能够学习输出混合权重。
在此示例中,可以获得(例如,接收)多个输入图像402。例如,***202A可以捕捉多个输入图像402(例如,图像帧、视频)。输入图像402可以是彩色图像。输入图像402还可以与在与输入图像大体上相同的时间捕捉的深度图像相关联。例如,深度图像可以由红外相机捕捉。
计算***214可以使用输入图像颜色和深度图像来将输入图像402翘曲(例如,重投影)成重投影图像404。例如,翘曲引擎220可以将输入图像402重投影到表示期望新颖视图的输出视图中。特别地,翘曲引擎220可以从输入图像402中检索颜色并且使用与输入图像相关联的深度视图来将颜色翘曲到输出视图中。一般而言,可以将每个输入图像翘曲成单个重投影视图。因此,如果检索到四个输入图像,则翘曲引擎220可以生成四个重投影视图,每个重投影视图与单个输入图像相关联。重投影图像404充当可以为新颖合成输出图像中的像素选择的候选颜色。在与输入图像402大体上相同的时间捕捉的深度视图可以用于生成深度图406和遮挡图408(与深度图228和遮挡图226类似)。
重投影图像404可以用于生成加权和图像410,其表示用于像素的颜色的加权组合。加权和图像410还可以考虑地面实况图像412。地面实况图像412可以由一个或多个目击者相机捕捉。
可以将重投影图像404、深度图406和遮挡图408提供给NN 414,其如图4所示是具有U-Net形状的卷积神经网络。其他NN当然是可能的。在一个非限制性示例中,NN 414输入可以包括三个彩色RGB图像、遮挡图和目标视图深度图,它们可以利用约十四个通道。
在一些实现方式中,也可以向NN 414提供多个视图参数415。视图参数415可以和期望新颖视图(例如,图像)相关。视图参数415可以包括相机(虚拟或实际相机)的视图方向、姿态、相机视角、透镜畸变和/或内在和外在参数中的任一个或全部。
NN 414可以为每个重投影图像404生成混合权重416以确定如何组合重投影图像404的颜色以生成准确的新颖输出图像。可以通过根据深度图像406将输入图像402例如翘曲成新颖视图来计算重投影图像404。NN 414可以使用混合权重416和重投影图像404来生成混合纹理图像418,例如通过使用混合权重416来将重投影图像404的至少一部分彼此混合。混合纹理图像418可以用于生成与与输入图像402相关联并因此又与重投影图像404相关联的每个相机舱相关联的图像。在此示例中,三个相机舱用于捕捉三个彩色图像(例如,输入图像402)和三个深度图像(例如,由深度图406表示)。因此,输出三个对应的图像视图,如由图像420所示。能够利用图像418和图像420来合成新颖视图,如由合成图像422所示。
在操作中,NN 414可以使用混合权重416来确定如何组合与重投影图像404相关联的重投影颜色以生成准确的合成图像422。NN 414可以通过在预定义输出视图的空间上学习来确定混合权重。
NN 414的网络架构可以是作为具有使用相同填充值和整流线性单元激活函数的所有卷积层的U-Net形网络的深度神经网络。输出可以包括用于三个重投影图像404的混合权重416,每相机舱一通道,其中根据等式[6]生成输出权重:
W’=10-2*W+1/3,钳位(clamp)到[0,1] [6]
可以执行图400以考虑训练损失。例如,可以确定并使用重构损失、混合彩色图像上的感知损失和完整性损失来改进所得的合成图像422。
在操作中,***200可以利用若干方面来生成每像素损失值。例如,可以如等式[7]所示的那样表示用于纹理相机i的新颖视图像IN和神经混合权重Wi:
并且可以将没有输入具有RGB值的无效目标深度掩码表示为IMask。
特别地,示例损失函数可以用以下等式[8]表示:
其中D:=αrL1+αcVGG表示重构和感知损失。换句话说,可以如等式[9]所示的那样表示混合彩色图像上的重构和感知损失:
D:=L1+αLVGG,D(IN⊙IMask,IWitness⊙IMask) [9]
可以如等式[10]所示的那样表示用于每个x、y像素坐标的网络输出混合权重上的完整性损失:
Lcompl(W)=∑x∑y|(∑kwk,x,y)-1| [10]
可以如等式[11]所示的那样表示网络上的遮挡损失:
Loccl(C,O)=||cx,y||1,如果ox,y>τ [11]
在一些实现方式中,可以基于使由NN 414生成的合成图像422与由至少一个目击者相机捕捉的地面实况图像412之间的遮挡损失函数(即,等式[8])最小化来训练NN 414。
图5是根据贯穿本公开描述的实现方式的用于生成混合权重的示例流程图的框图。例如,此示例可以采用卷积NN(例如,卷积U-Net)来处理每个输入视图的像素。多层感知器(MLP)可以用于生成混合权重以便指配提出的合成视图的每个像素。由MLP生成的混合权重能够用于组合来自输入图像/视图的特征。
在一些实现方式中,生成混合权重可以涉及多分辨率混合技术的使用。多分辨率混合技术采用两阶段训练后的端到端卷积网络过程。这些技术利用多个源相机。例如,***202A可以从第一相机舱502、第二相机舱504和第三相机舱506中的每一个捕捉一个或多个输入图像(例如,RGB彩色图像)。类似地,并且在大体上相同的时间,舱502-504能够各自捕捉(或计算)与特定输入图像对应的深度图像。
可以将至少三个彩色源输入图像和至少三个源深度图像提供给卷积网络508A、508B和508C(例如,卷积U-Net)以生成嵌入视图相关信息的特征图。例如,一个或多个特征图(未示出)可以表示特征空间中的输入图像的特征。特别地,对于每个输入图像/深度图像502-504,可以使用图像的提取特征来生成特征图(例如,特征图510A、510B和510C)。在一些实现方式中,输入图像可以包括两个彩色源图像和单个深度图像。在这样的示例中,***500可以使用单个深度图像来将两个彩色输入图像中的每一个彩色输入图像重投影到输出视图中。
特征图510A-510C可以用于生成UV图512A、512B和512C。例如,可以使用特征图510A-510C来从输入图像502-504中的可见内容生成UV图512A-C。UV图512A-512C表示2D图像到3D模型表面的投影以便执行纹理映射来生成可以用于生成合成图像(例如,新颖视图)的特征。所输出的神经纹理仍然在源相机图像坐标中。
相应的特征图510A-510C可以各自与相应的UV图512A-512C和目击者相机参数514一起被采样。例如,***500可以使用目击者相机作为用于产生合成新颖图像的目标相机。可以预定义目击者(例如,目标)相机参数514。相应的采样特征图510A-510C和UV图512A-C中的每一个可以与参数514一起使用并且与遮挡图和深度图516一起被采样。采样可以包括使用从融合几何形状(例如,网格代理几何形状236)预先计算的UV图512A-512C来使每个神经纹理翘曲的可微分采样层。
采样内容可以由每像素多层感知器(MLP)NN 518使用以便从所有源相机视图生成采样特征的遮挡图、深度图等。根据这些图,MLP 518可以生成一组混合权重520。例如,每像素MLP 518图可以包括来自任何数目的源相机视图的采样特征,这些特征能够用于生成一组混合权重520。此类混合权重520可以用于生成合成图像。
在一些实现方式中,本文描述的过程可以并入多分辨率混合技术。例如,多分辨率混合技术可以例如由多分辨率混合引擎256执行,并且可以采用图像金字塔作为卷积神经网络(例如,NN 224/414)的输入,该卷积神经网络在多个尺度下按与每个尺度相关联的不透明度值而生成混合权重。
每个尺度下的输出混合权重用于使用该尺度下的输入重投影彩色图像来构建输出彩色图像,从而形成输出图像金字塔。然后,此金字塔的每个层级通过关联的不透明度值来加权并且被上采样到原始尺度。然后将所得的一组图像求和以构建最终输出图像。这由于如下事实而是有利的:在输入重投影图像中存在(由于遗漏几何形状而导致的)小孔,缩小然后放大过程用邻近像素值填充遗漏区域。另外,过程可以生成与常规混合技术比在视觉上更有吸引力的更柔和轮廓。
在一些实现方式中,能够通过对重投影图像的双线性重投影颜色进行下采样、不预乘以(un-pre-multiply)下采样的有效深度掩码(例如,图)、上采样回到预定义(例如,原始)分辨率并且不预乘以上采样的有效深度掩码来构建输入金字塔。对于每个层,流程图可以添加输出层解码器(用于混合权重和α),上采样到预定义(例如,原始分辨率),在最高分辨率下调整附加背景α,使用soft max函数来归一化α,并且与重投影颜色和背景混合。
多分辨率混合技术采用两阶段训练后的端到端卷积网络过程。对于每个阶段,例如,多分辨率混合技术可以添加输出层解码器(例如,在混合权重和α损失上)。这些技术可以计算RGB图像,添加损失,乘以α,并且级联以确定候选RGB图像。候选RGB图像可以被上采样。可以在考虑损失情况下使用经上采样的候选图像来生成输出图像(例如,新颖的视图/同步图像)。
在操作中,技术利用多个源相机。例如,***202A可以从第一相机舱502、第二相机舱504和第三相机舱506中的每一个捕捉一个或多个输入图像(例如,RGB彩色图像)。类似地,并且在大体上相同的时间,舱502-504能够各自捕捉与特定输入图像对应的深度图像。
不管输出视点如何移动,多分辨率混合可以使用场景图中到特征图上的同一点位置的同一3D点。这可以确保不执行2D卷积,并且因此,输出对于点位置包括相同的混合权重,因为输入特征是固定的。
图6是图示根据贯穿本公开描述的实现方式的使用神经混合技术来生成合成内容的过程600的一个示例的流程图。过程600是关于图1和图2的***100和/或200和/或***500和/或800的示例实现方式描述的,但是应领会,该方法能够由具有其他配置的***实现。一般而言,***202和/或计算***214上的一个或多个处理器和存储器可以用于执行过程600。
在高级别下,过程600可以利用彩色输入图像、与输入图像对应的深度图像以及与对应于输入图像内的内容的至少一部分的期望新颖视图相关联的视图参数。过程600可以将上述元素或上述元素的版本提供给神经网络以接收用于为期望新颖视图确定特定像素颜色和深度的混合权重。视图可以与混合权重一起使用以生成新颖输出图像。
在框602,过程600可以包括接收多个输入图像。例如,***202A(或其他图像处理***)可以使用相机(例如,相机204)来从两个或更多个相机舱捕捉输入图像。一般而言,多个输入图像是根据预定义视图参数捕捉的彩色图像。然而,在一些实现方式中,多个输入图像可以是单一颜色(例如,棕褐色、灰度或其他渐变颜色)的渐变图像。预定义视图参数可以包括与特定输入图像132(例如,输入图像402)的捕捉相关联和/或与要生成(例如,合成)的图像的捕捉相关联的相机参数。在一些实现方式中,视图参数可以包括相机的视图方向、姿态、相机视角、透镜畸变和/或内在和外在参数中的任一个或全部。在一些实现方式中,多个输入图像可以包括在图像的帧内捕捉的多个目标被摄体。目标被摄体可以包括用户、背景、前景、物理对象、虚拟对象、手势、发型、可穿戴设备等。
在框604,过程600可以包括接收与多个输入图像中的至少一个中的目标被摄体相关联的多个深度图像。例如,在与输入图像(例如,RGB彩色图像136)大体上相同的捕捉时间,***202A可以捕捉深度图像138。深度图像可以捕捉也在多个输入图像中的一个或多个输入图像中捕捉的目标被摄体。深度图像可以各自包括与捕捉了多个输入图像132中的至少一个的至少一个相机204相关联的深度图(例如,图228)、至少一个遮挡图226以及(例如,经由目标视图参数232)与由至少一个目击者相机在与多个输入图像中的至少一个的捕捉相对应的时间捕捉的地面实况图像相关联的深度图。简而言之,***200可以在为目标视图生成混合权重242时考虑输入图像的深度和目击者相机的期望目标视图(或其他确定的目标视图)的深度。
在框606,过程600可以包括接收用于生成目标被摄体的虚拟视图的多个视图参数。例如,视图参数可以和期望新颖视图(例如,与先前未由相机捕捉的新颖(例如,虚拟)视图相关的新颖合成图像)相关。例如,视图参数可以包括用于在与彩色图像136和深度图像138大体上相同的时间捕捉内容的目击者相机的目标参数。视图参数可以包括被配置成捕捉新颖视图的相机的预定义透镜参数、观看方向、姿态以及特定内在和/或外在参数。
在框608,过程600可以包括基于多个输入图像、多个视图参数和多个深度图像中的至少一个来生成多个翘曲图像。例如,图像翘曲引擎220可以通过将输入图像132重投影成所述图像132的重投影版本使用输入图像132来生成翘曲图像。可以执行翘曲以使用深度信息(例如,单独的深度图像或几何合意表面)来确定输入图像132的输入颜色到新颖视图中的投影。翘曲可以通过从一个或多个原始输入视图获得颜色并且使用深度图像(例如,深度图406和遮挡图408)来操纵用于新颖视图(例如,图像)的颜色而生成重投影图像(例如,图像404)。每个输入图像可以用于生成单独的重投影。重投影图像(例如,图像404)可以表示可以在新颖合成图像中使用的候选颜色的像素。
在一些实现方式中,过程600可以包括通过使用多个深度图像(例如,深度图406和遮挡图408)中的至少一个确定与多个输入图像402相关联的颜色到未捕捉视图(即,新颖视图/图像、虚拟视图/图像)中的候选投影基于多个输入图像、多个视图参数和多个深度图像中的至少一个来生成多个翘曲图像。未捕捉视图可以包括多个输入图像中的至少一个的图像特征的至少一部分。例如,如果输入图像包括对象,则未捕捉视图可以考虑对象的至少一部分、颜色、像素等。
在框610,过程600可以包括从神经网络(例如,NN 224、NN 414、NN 508A-C)接收用于向目标被摄体(例如,用户104')的虚拟视图(例如,未见图像/未捕捉视图)的像素指配颜色的混合权重416。在一些实现方式中,目标被摄体可以包括或者基于在多个输入图像402的至少一个帧中捕捉的至少一个元素。可以响应于向NN 414提供多个深度图像(例如,深度图像138和/或深度图406和/或遮挡图408)、多个视图参数415和多个翘曲图像(例如,重投影图像404)而接收混合权重416。NN 414可以生成混合权重416以指示组合重投影图像404的颜色以提供逼真地表示目标被摄体的很可能且逼真的输出图像的概率方式。在一些实现方式中,混合权重416被配置成向虚拟视图(即,新颖和/或未见和/或先前未捕捉视图)的每个像素指配混合颜色,从而导致将此类混合颜色指配给输出合成图像(例如,合成图像422)。例如,混合权重416被用于将重投影图像404的至少部分彼此混合。
在框612,过程600可以包括基于混合权重和虚拟视图根据视图参数来生成合成图像。合成图像422可以表示使用与未捕捉视图(例如,未由物理相机捕捉、从虚拟或物理相机生成为虚拟视图等)相关的参数捕捉的图像,其可以表示看不见(例如,不由图像***的任何相机捕捉,而是替代地合成)的视图。可以为三维(例如,遥现)视频会议和/或在三维(例如,遥现)视频会议期间生成合成图像422。例如,可以在在视频会议期间实时地生成合成图像422以提供正在由与视频会议相关联的相机捕捉的用户或内容的错误校正且准确的图像。在一些实现方式中,合成图像422表示为三维视频会议而生成的新颖视图。在一些实现方式中,合成图像表示为三维视频会议而生成的目标被摄体的未捕捉视图。
在操作中,根据视图参数将混合权重应用于虚拟视图中的像素。所得的虚拟视图可以包括使用针对目标被摄体的混合权重生成的像素颜色。例如,虚拟视图的彩色图像可以用于根据与虚拟相机相关联的视图参数生成合成视图。
在一些实现方式中,过程600可以附加地执行几何融合过程。在一些实现方式中,过程600可以执行几何融合过程而不是按输入图像提供单独的深度图像。例如,过程600可以对多个深度图像使用几何融合过程来重构合意表面(例如,几何代理)以生成几何融合模型。
几何融合模型可以用于用深度图像数据的更新的(例如,计算的)视图替换深度图像数据的多个视图(例如,图像内容的捕捉的深度视图)。可以将经更新的深度视图生成为图像内容的视图,其包含来自所捕捉的深度视图的深度数据并且附加地包含来自图像内容的任何其他可用捕捉的深度视图中的每一个深度视图的图像和/或深度信息。一个或多个经更新的深度视图可以由NN 414使用,例如,以通过利用几何融合深度图像数据以及与对象的多个其他视图相关联的图像和深度信息来合成附加(且新)混合权重以合成对象的附加(且新)视图。可以使用任何数目的算法来融合深度图像数据以用并入来自若干其他深度视图的深度数据信息的新深度视图替换每个(输入)深度视图。在一些实现方式中,***200能够使用几何融合模型来生成可以用于关于遮挡的原因以便校正此类遮挡损失的深度数据(例如,深度图)。
过程600然后可以基于多个输入图像和用于生成几何融合深度图像数据的合意表面来生成多个重投影图像并且将几何融合深度图像数据(连同多个视图参数415和多个重投影图像404一起)提供给NN 414。作为响应,过程600可以包括从NN 414接收混合权重416和/或使用合意表面深度图像数据生成的附加混合权重以用于向合成图像422中的像素指配颜色。
在一些实现方式中,过程600可以进一步包括向NN 414提供几何融合模型与在多个深度图像中观察到的深度之间的深度差异。例如,深度差异可以用于校正在合成图像422中检测到的遮挡。在一些实现方式中,可以基于使由NN 414生成的合成图像与由至少一个目击者相机(例如,与***202A相关联)捕捉的地面实况图像412之间的遮挡损失函数最小化来训练NN 414,如关于图4详细地描述的。在一些实现方式中,可以使用单个深度图像而不是多个深度图像来执行过程400。
在一些实现方式中,NN 414被进一步配置成执行多分辨率混合以向合成图像中的像素指配像素颜色。在操作中,多分辨率混合可以触发将图像金字塔作为输入提供给NN414以触发从NN 414接收用于多个尺度的多分辨率混合权重(例如,附加混合权重520)并且可以附加地接收与每个尺度相关联的不透明度值。
图7示出可通过所述技术来使用的计算机设备700和移动计算机设备750的示例。计算设备700可包括处理器702、存储器704、存储设备706、连接到存储器704和多个高速扩展端口710的高速接口708、连接到低速总线714和存储设备706的低速接口712。组件702、704、706、708、710和712使用各种总线互连,并且可以被安装在公共主板上或者视情况通过其他方式安装。处理器702可以处理用于在计算设备700中执行的指令,包括存储在存储器704中或存储设备706上的指令,以在外部输入/输出设备(诸如耦合到高速接口708的显示器716)上显示用于GUI的图形信息。在一些实施方式中,可以连同多个存储器和多种类型的存储器一起视情况使用多个处理器和/或多个总线。此外,可以连接多个计算设备700,每个设备提供必要操作的一部分(例如,作为服务器库、刀片服务器群组、或多处理器***)。
存储器704将信息存储在计算设备700中。在一个实施例中,存储器704是易失性存储器单元或多个易失性存储器单元。在另一实施例中,存储器704是非易失性存储单元或多个非易失性存储单元单元。存储器704也可以是另一种形式的计算机可读介质,诸如磁盘或光盘。
存储设备706能够为计算设备700提供大容量存储。在一个实施例中,存储设备706可以是计算机可读介质或者可以包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其他类似的固态存储设备、或设备的阵列,包括存储区域网络或其他配置中的设备。计算机程序产品可以通过有形地体现在信息载体中。计算机程序产品也可以包含在被执行时进行诸如本文所述的方法的一个或多个方法的指令。信息载体可以是计算机可读介质或机器可读介质,诸如存储器704、存储设备706、或处理器702上的存储器。
高速控制器708管理计算设备700的带宽密集型操作,而低速控制器712管理较低带宽密集型操作。这种功能分配仅仅是示例性的。在一个实施例中,高速控制器708耦合到存储器704、显示器716(例如通过图形处理器或加速器),并且耦合到高速扩展端口710,高速扩展端口710可以容纳各种扩展卡(未示出)。低速控制器712可以耦合到存储设备706和低速扩展端口714。可以包括各种通信端口(例如USB、蓝牙、以太网、无线以太网)的低速扩展端口例如可以通过网络适配器耦合到一个或多个输入/输出设备,诸如键盘、定点设备、扫描仪、或联网设备,诸如交换机或路由器。
如附图所示,计算设备700可以通过多种不同的形式来实现。例如,可以将其实现为标准服务器720,或者在这种服务器的群组中多次实现。此外,它可以被实现为机架服务器***724的一部分。此外,它可以在诸如膝上型计算机722的个人计算机中实现。或者,来自计算设备700的组件可以与移动设备中的其他组件(未示出)组合,诸如设备750。这些设备的每一个都可以包含一个或多个计算设备700、750,并且整个***可以由相互通信的多个计算设备700、750组成。
除其他组件之外,计算设备750包括处理器752、存储器764、输入/输出设备——诸如显示器754、通信接口766和收发器768。设备750还可以设置有存储设备,诸如微型驱动器或其他设备,以提供额外的存储。组件750、752、764、754、766和768中的每一个使用各种总线互连,并且可以视情况将若干组件安装在公共主板上或以其他方式安装。
处理器752可以执行计算设备750中的指令,包括存储在存储器764中的指令。处理器可以被实现为芯片的芯片组,其包括分离的多个模拟和数字处理器。处理器例如可以提供设备750的其他组件的合作,诸如用户界面的控制、通过设备750运行的应用、以及通过设备750的无线通信。
处理器752可以通过耦合到显示器754的控制接口758和显示器接口756与用户通信。显示器754例如可以是TFTLCD(薄膜晶体管液晶显示器)显示器或OLED(有机发光二极管)显示器或其他适当的显示技术。显示器接口756可以包括用于驱动显示器754以向用户呈现图形和其他信息的适当电路。控制接口758可以接收来自用户的命令并转换它们以提交给处理器752。此外,外部接口762可以与处理器752通信,从而实现设备750与其他设备的近场通信。例如,在一些实施例中,外部接口762可以提供有线通信或无线通信,并且可以使用多个接口。
存储器764将信息存储在计算设备750中。可以将存储器764实现为计算机可读介质或多个计算机可读介质、易失性存储器单元或多个易失性存储器单元、或者非易失性存储器单元或多个非易失性存储器单元中的一个或多个。此外,可以提供扩展存储器784并通过扩展接口782连接到设备750,扩展接口782例如可以包括SIMM(单列直插式存储器模块)卡接口。这种扩展存储器784可以为设备750提供额外的存储空间,也可以存储用于设备750的应用程序或其他信息。具体而言,扩展存储器784可包括执行或补充上述处理的指令,也可包括安全信息。因此,例如,扩展存储器784可以是用于设备750的安全模块,并且可以通过允许安全使用设备750的指令来编程。此外,可以连同附加信息一起经由SIMM卡提供安全应用,诸如以不可黑的方式将识别信息置入SIMM卡。
存储器例如可以包括闪存和/或NVRAM存储器,如下所述。在一个实施例中,计算机程序产品可以有形地体现在信息载体中。计算机程序产品包含在被执行时进行诸如上述方法的一个或多个方法的指令。信息载体可以是计算机可读介质或机器可读介质,诸如存储器764、扩展存储器784、或处理器752上的存储器,例如可通过收发器768或外部接口762来接收。
设备750可以通过通信接口766进行无线通信,通信接口766在必要时可包括数字信号处理电路。通信接口766可以提供各种模式或协议下的通信,诸如GSM语音呼叫、SMS、EMS或MMS消息、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS等等。这种通信例如可通过射频收发器768来进行。此外,诸如使用蓝牙、WiFi或其他这种收发器(未示出)可以进行短距通信。此外,GPS(全球定位***)接收器模块780可以向设备750提供附加的与导航以及位置相关的无线数据,可以视情况通过在设备750上运行的应用程序来使用它。
设备750还可以使用音频编解码器760以听觉方式通信,音频编解码器760可以从用户接收口头信息并将其转换为可用的数字信息。同样,音频编解码器760诸如可通过扬声器例如在设备750的耳机中为用户生成听得见的声音。这种声音可以包括来自语音电话呼叫的声音,可包括记录的声音(例如语音消息、音乐文件等等),还可以包括通过在设备750上操作的应用程序生成的声音。
如附图所示,可通过多种不同形式来实现计算设备750。例如,可以将其实现为蜂窝电话780。也可将其实现为智能电话782、个人数字助理、或其他类似移动设备的一部分。
可以在数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现本文所述***和技术的各种实施方式。这些不同的实施方式可以包括在可编程***上可执行和/或可解释的一个或多个计算机程序中的实施方式,可编程***包括可以是专用或通用的至少一个可编程处理器,其被耦合为从存储***、至少一个输入设备以及至少一个输出设备接收数据和指令,并且将数据和指令传输到存储***、至少一个输入设备以及至少一个输出设备。
这些计算机程序(也称为程序、软件、软件应用程序或代码)包括用于可编程处理器的机器指令,并且可以在高级程序和/或面向对象的编程语言和/或在汇编/机器语言中实现。如本文所使用的,术语“机器可读介质”和“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、设备和/或设备(例如磁盘、光盘、存储器、可编程逻辑器件(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的交互,可以在具有用于向用户显示信息的显示器设备(例如CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户可以由其向计算机提供输入的键盘和定点设备(例如鼠标或轨迹球)的计算机上实现本文所述***和技术。也可以使用其他类型的设备提供与用户的交互;例如,向用户提供的反馈可以是任何形式的感官反馈(例如视觉反馈、听觉反馈或触觉反馈);并且可以按照任何形式接收来自用户的输入,包括声音、语音或触觉输入。
可以在包括后端组件(例如作为数据服务器)、或包括中间件组件(例如应用服务器)、或包括前端组件(例如具有图形用户界面或Web浏览器的客户端计算机,用户可以由其与本文所述***和技术的实施例交互)、或者这些后端组件、中间件组件、或前端组件的任何组合的计算***中实现本文所述***和技术。***的组件可以通过数字数据通信的任何形式或介质(例如通信网络)互连。通信网络的示例包括局域网(LAN)、广域网(WAN)和因特网。
计算***可以包括客户端和服务器。客户端和服务器基本上相互远离并且通常通过通信网络进行交互。客户端与服务器之间的关系是通过在各个计算机上运行并且相互具有客户端-服务器关系的计算机程序产生的。
在一些实施例中,图7所示的计算设备可以包括与虚拟现实头戴式耳机(VR头戴式耳机/HMD设备790)对接的传感器。例如,计算设备750或图7所示的其他计算设备上包括的一个或多个传感器可以向VR头戴式耳机790提供输入或者一般而言,向VR空间提供输入。传感器可以包括但不限于触摸屏、加速度计、陀螺仪、压力传感器、生物特征传感器、温度传感器、湿度传感器和环境光传感器。计算设备750可以使用传感器来确定计算设备在VR空间中的绝对位置和/或检测到的旋转,然后将其用作VR空间的输入。例如,可以将计算设备750作为虚拟对象合并到诸如控制器、激光指示器、键盘、武器等的VR空间中。当被合并到VR空间时,由用户定位计算设备/虚拟对象可以允许用户定位计算设备以在VR空间中以某些方式观看虚拟对象。
在一些实施例中,可以将计算设备750上所包括或者所连接的一个或多个输入设备用作VR空间的输入。输入设备可以包括但不限于触摸屏、键盘、一个或多个按钮、触控板、触摸板、定点设备、鼠标、轨迹球、操纵杆、相机、麦克风、耳机或具有输入功能的耳塞、游戏控制器或其他可连接的输入设备。在将计算设备合并到VR空间时,与计算设备750上所包括的输入设备交互的用户可以使得在VR空间中发生特定动作。
在一些实施例中,计算设备750上所包括的一个或多个输出设备可以向VR空间中的VR头戴式耳机790的用户提供输出和/或反馈。输出和反馈可以是视觉、触觉或音频。输出和/或反馈可以包括但不限于渲染VR空间或虚拟环境、振动、打开和关闭或闪烁和/或闪动一个或多个灯或闪光灯、发出警报、播放铃声、播放歌曲和播放音频文件。输出设备可以包括但不限于振动电机、振动线圈、压电设备、静电设备、发光二极管(LED)、闪光灯和扬声器。
在一些实施例中,可以将计算设备750放置在VR头戴式耳机790内以创建VR***。VR头戴式耳机790可以包括一个或多个定位元件,其允许将计算设备750(诸如智能电话782)放置在VR头戴式耳机790内的适当位置。在这种实施例中,智能电话782的显示器可以渲染表示VR空间或虚拟环境的立体图像。
在一些实施例中,计算设备750在计算机生成的3D环境中可以表现为另一个对象。可以将用户与计算设备750的交互(例如,旋转、摇动、对触摸屏的触摸、手指滑过触摸屏)解释为与VR空间中的对象的交互。仅仅作为一个示例,计算设备可以是激光指示器。在这种示例中,计算设备750在计算机生成的3D环境中表现为虚拟激光指示器。当用户操纵计算设备750时,VR空间中的用户看到激光指示器的移动。用户从与计算设备750在计算设备750或VR头戴式耳机790上的VR环境中的交互中接收反馈。
在一些实施例中,计算设备750可以包括触摸屏。例如,用户可以通过特定方式与触摸屏交互,所述方式可以模仿触摸屏上发生的事情和VR空间中发生的事情。例如,用户可以用捏合式动作来缩放触摸屏上显示的内容。触摸屏上的这种捏合式动作会导致VR空间中提供的信息被放大。在另一示例中,计算设备在计算机生成的3D环境中可以被渲染为虚拟书本。在VR空间中,可以在VR空间中显示书本的页面,并且可将用户的手指滑过触摸屏解释为翻动/翻转虚拟书本的页面。随着每个页面的翻动/翻转,除了看到页面内容改变之外,还可以向用户提供音频反馈,诸如在书本中翻页的声音。
在一些实施例中,可以在计算机生成的3D环境中渲染除计算设备之外的一个或多个输入设备(例如鼠标、键盘)。可以将所渲染的输入设备(例如,所渲染的鼠标、所渲染的键盘)用于在VR空间中渲染以控制VR空间中的对象。
计算设备700目的是表示各种形式的数字计算机,诸如膝上型计算机、台式机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他合适的计算机。计算设备750目的是表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其他类似的计算设备。本文所示组件、它们的连接和关系以及它们的功能仅仅是作为示例,而不是要限制所公开的实施例。
此外,附图所示逻辑流程并不要求所示的特定顺序或连续顺序来实现期望的结果。此外,可以向所示流程提供其他步骤,也可以从所示流程消除其他步骤,并且可以向所述***添加其他组件,也可以从所述***删除其他组件。因此,其他实施例落入所附权利要求的范围。
Claims (21)
1.一种计算机实现的方法,包括:
接收多个输入图像;
接收与所述多个输入图像中的至少一个输入图像中的目标被摄体相关联的多个深度图像;
接收用于生成所述目标被摄体的虚拟视图的多个视图参数;
基于所述多个输入图像、所述多个视图参数和所述多个深度图像中的至少一个深度图像来生成多个翘曲图像;
响应于向神经网络提供所述多个深度图像、所述多个视图参数和所述多个翘曲图像,从所述神经网络接收用于向所述目标被摄体的所述虚拟视图的像素指配颜色的混合权重;以及
基于所述混合权重和所述虚拟视图根据所述视图参数来生成合成图像。
2.根据权利要求1所述的计算机实现的方法,进一步包括:
对所述多个深度图像使用几何融合过程来重构合意表面以生成几何融合模型;
基于所述多个输入图像和所述合意表面来生成多个重投影图像;以及
响应于向所述神经网络提供所述多个深度图像、所述多个视图参数和所述多个重投影图像,从所述神经网络接收用于向所述合成图像中的像素指配颜色的附加混合权重。
3.根据权利要求2所述的计算机实现的方法,进一步包括,向所述神经网络提供所述几何融合模型与在所述多个深度图像中观察到的深度之间的深度差异,并且所述方法进一步包括基于所述深度差异校正在所述合成图像中检测到的遮挡。
4.根据前述权利要求中的任一项所述的计算机实现的方法,其中:
所述多个输入图像是根据与捕捉到所述多个输入图像的至少一个相机相关联的预定义视图参数捕捉的彩色图像;并且/或者
所述多个深度图像各自包括与捕捉到所述多个输入图像中的至少一个输入图像的至少一个相机相关联的深度图、至少一个遮挡图和/或与由至少一个目击者相机在与所述多个输入图像中的至少一个输入图像的捕捉对应的时间捕捉的地面实况图像相关联的深度图。
5.根据前述权利要求中的任一项所述的计算机实现的方法,其中,所述混合权重被配置成向所述合成图像的每个像素指配混合颜色。
6.根据前述权利要求中的任一项所述的计算机实现的方法,其中,所述神经网络是基于使由所述神经网络生成的所述合成图像与由至少一个目击者相机捕捉的地面实况图像之间的遮挡损失函数最小化而被训练的。
7.根据前述权利要求中的任一项所述的计算机实现的方法,其中,所述合成图像是为三维视频会议而生成的所述目标被摄体的未捕捉视图。
8.根据前述权利要求中的任一项所述的计算机实现的方法,其中,基于所述多个输入图像、所述多个视图参数和所述多个深度图像中的至少一个深度图像来生成所述多个翘曲图像包括,使用所述多个深度图像中的至少一个深度图像来确定与所述多个输入图像相关联的颜色到未捕捉视图中的候选投影,所述未捕捉视图包括所述多个输入图像中的至少一个输入图像的图像特征的至少一部分。
9.一种用于执行根据前述权利要求中的任一项所述的方法的图像处理器***,所述***包括:
至少一个处理设备;以及
存储器,所述存储器存储指令,所述指令在被执行时使所述***执行操作,所述操作包括:
接收由所述图像处理***捕捉的多个输入图像;
接收由所述图像处理***捕捉的多个深度图像;
接收与未捕捉视图相关联的多个视图参数,所述未捕捉视图与所述多个输入图像中的至少一个输入图像相关联;
基于所述多个输入图像、所述多个视图参数和所述多个深度图像中的至少一个深度图像来生成多个翘曲图像;
响应于向神经网络提供所述多个深度图像、所述多个视图参数和所述多个翘曲图像,从所述神经网络接收用于向所述未捕捉视图的像素指配颜色的混合权重;以及
根据所述混合权重生成合成图像,其中,所述合成图像对应于所述未捕捉视图。
10.根据权利要求9所述的图像处理***,其中:
所述多个输入图像是由所述图像处理***根据与所述图像处理***相关联的预定义视图参数捕捉的彩色图像;并且/或者
所述多个深度图像包括与捕捉到所述多个输入图像中的至少一个输入图像的至少一个相机相关联的深度图、至少一个遮挡图和/或与所述图像处理***的目击者相机相关联的深度图。
11.根据权利要求9或者10所述的图像处理***,其中,所述混合权重被配置成向所述合成图像的每个像素指配混合颜色。
12.根据权利要求9至11中的任一项所述的图像处理***,其中,所述神经网络是基于使由所述神经网络生成的所述合成图像与由至少一个目击者相机捕捉的地面实况图像之间的遮挡损失函数最小化而被训练的。
13.根据权利要求9至12中的任一项所述的图像处理***,其中,所述合成图像是为三维视频会议而生成的新颖视图。
14.一种具有被存储在其上的指令的非暂时性机器可读介质,所述指令在被处理器执行时,使计算设备:
接收多个输入图像;
接收与所述多个输入图像中的至少一个输入图像中的目标被摄体相关联的多个深度图像;
接收用于生成所述目标被摄体的虚拟视图的多个视图参数;
对所述多个深度图像使用几何融合过程来重构合意表面以生成所述目标被摄体的几何融合模型;
基于所述多个输入图像、所述多个视图参数和所述合意表面来生成多个重投影图像;
响应于向神经网络提供所述多个深度图像、所述多个视图参数和所述多个重投影图像,从所述神经网络接收用于向所述目标被摄体的所述虚拟视图的像素指配颜色的混合权重;以及
基于所述混合权重和所述虚拟视图根据所述视图参数来生成合成图像。
15.根据权利要求14所述的非暂时性机器可读介质,进一步包括:
向所述神经网络提供所述几何融合模型与在所述多个深度图像中观察到的深度之间的深度差异,并且基于所述深度差异校正在所述合成图像中检测到的遮挡。
16.根据权利要求14或者15所述的非暂时性机器可读介质,其中:
所述多个输入图像是根据与捕捉到所述多个输入图像的至少一个相机相关联的预定义视图参数捕捉的彩色图像;并且/或者
所述多个深度图像包括与捕捉到所述多个输入图像中的至少一个输入图像的至少一个相机相关联的深度图、至少一个遮挡图和/或与由至少一个目击者相机在与所述多个输入图像中的至少一个输入图像的捕捉对应的时间捕捉的地面实况图像相关联的深度图。
17.根据权利要求14至16中的任一项所述的非暂时性机器可读介质,其中,所述混合权重被配置成向所述合成图像的每个像素指配混合颜色。
18.根据权利要求14至17中的任一项所述的非暂时性机器可读介质,其中,所述神经网络是基于使由所述神经网络生成的所述合成图像与由至少一个目击者相机捕捉的地面实况图像之间的遮挡损失函数最小化而被训练的。
19.根据权利要求14至18中的任一项所述的非暂时性机器可读介质,其中,所述合成图像是用于三维视频会议的新颖视图。
20.根据权利要求14至19中的任一项所述的非暂时性机器可读介质,其中,所述神经网络被进一步配置成执行多分辨率混合以向所述合成图像中的像素指配像素颜色,所述多分辨率混合触发将图像金字塔作为输入提供给所述神经网络以触发从所述神经网络接收用于多个尺度的多分辨率混合权重和与每个尺度相关联的不透明度值。
21.根据权利要求14至20中的任一项所述的非暂时性机器可读介质,其中,所述指令在由所述处理器执行时,使所述计算设备执行根据权利要求1至8中的任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2021/070362 WO2022216333A1 (en) | 2021-04-08 | 2021-04-08 | Neural blending for novel view synthesis |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115529835A true CN115529835A (zh) | 2022-12-27 |
Family
ID=75625694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180004259.1A Pending CN115529835A (zh) | 2021-04-08 | 2021-04-08 | 用于新颖视图合成的神经混合 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20220398705A1 (zh) |
EP (1) | EP4091141A1 (zh) |
JP (1) | JP2023524326A (zh) |
KR (1) | KR102612529B1 (zh) |
CN (1) | CN115529835A (zh) |
TW (1) | TWI813098B (zh) |
WO (1) | WO2022216333A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220146900A (ko) * | 2021-04-26 | 2022-11-02 | 삼성전자주식회사 | 휘도 데이터를 이용하여 심도 정보를 생성하는 처리 회로를 포함하는 전자 장치, 및 심도 정보 생성 방법 |
US20230196662A1 (en) * | 2021-12-20 | 2023-06-22 | Nvidia Corporation | Image blending using one or more neural networks |
US20230252714A1 (en) * | 2022-02-10 | 2023-08-10 | Disney Enterprises, Inc. | Shape and appearance reconstruction with deep geometric refinement |
KR102648938B1 (ko) * | 2023-02-15 | 2024-03-19 | 고려대학교 산학협력단 | 기하학적 일관성을 이용한 소수 샷 신경 방사장 기반 3차원 이미지 재구성 방법 및 장치 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7965902B1 (en) * | 2006-05-19 | 2011-06-21 | Google Inc. | Large-scale image processing using mass parallelization techniques |
US9681154B2 (en) * | 2012-12-06 | 2017-06-13 | Patent Capital Group | System and method for depth-guided filtering in a video conference environment |
US20160142700A1 (en) * | 2014-11-19 | 2016-05-19 | Ginni Grover | Measuring Accuracy of Image Based Depth Sensing Systems |
US10958887B2 (en) * | 2019-01-14 | 2021-03-23 | Fyusion, Inc. | Free-viewpoint photorealistic view synthesis from casually captured video |
US10970911B2 (en) * | 2019-02-21 | 2021-04-06 | Facebook Technologies, Llc | Graphics processing chip with machine-learning based shader |
US10930054B2 (en) * | 2019-06-18 | 2021-02-23 | Intel Corporation | Method and system of robust virtual view generation between camera views |
US11928787B2 (en) * | 2020-07-29 | 2024-03-12 | Intel Corporation | Deep novel view synthesis from unstructured input |
CN112614060A (zh) * | 2020-12-09 | 2021-04-06 | 深圳数联天下智能科技有限公司 | 人脸图像头发渲染方法、装置、电子设备和介质 |
-
2021
- 2021-04-08 CN CN202180004259.1A patent/CN115529835A/zh active Pending
- 2021-04-08 KR KR1020217041885A patent/KR102612529B1/ko active IP Right Grant
- 2021-04-08 JP JP2021577153A patent/JP2023524326A/ja active Pending
- 2021-04-08 WO PCT/US2021/070362 patent/WO2022216333A1/en unknown
- 2021-04-08 EP EP21720665.5A patent/EP4091141A1/en active Pending
- 2021-04-08 US US17/754,392 patent/US20220398705A1/en active Pending
- 2021-12-16 TW TW110147092A patent/TWI813098B/zh active
Also Published As
Publication number | Publication date |
---|---|
KR102612529B1 (ko) | 2023-12-11 |
KR20220140402A (ko) | 2022-10-18 |
WO2022216333A1 (en) | 2022-10-13 |
JP2023524326A (ja) | 2023-06-12 |
US20220398705A1 (en) | 2022-12-15 |
TWI813098B (zh) | 2023-08-21 |
EP4091141A1 (en) | 2022-11-23 |
TW202240530A (zh) | 2022-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3959688B1 (en) | Generative latent textured proxies for object category modeling | |
US10096157B2 (en) | Generation of three-dimensional imagery from a two-dimensional image using a depth map | |
KR102612529B1 (ko) | 신규 뷰 합성을 위한 신경 블렌딩 | |
CN109791704B (zh) | 用于自由运行fvv应用的基于多层uv映射的纹理渲染方法、***和装置 | |
US11335077B1 (en) | Generating and modifying representations of dynamic objects in an artificial reality environment | |
US11451758B1 (en) | Systems, methods, and media for colorizing grayscale images | |
US20230316810A1 (en) | Three-dimensional (3d) facial feature tracking for autostereoscopic telepresence systems | |
CN115661408A (zh) | 在人工现实环境中生成和修改手的表示 | |
US11410387B1 (en) | Systems, methods, and media for generating visualization of physical environment in artificial reality | |
WO2022086580A1 (en) | Dynamic resolution of depth conflicts in telepresence | |
US12026833B2 (en) | Few-shot synthesis of talking heads | |
US20220130111A1 (en) | Few-shot synthesis of talking heads | |
Thatte et al. | Real-World Virtual Reality With Head-Motion Parallax | |
US20240153223A1 (en) | Reliable Depth Measurements for Mixed Reality Rendering | |
US20220232201A1 (en) | Image generation system and method | |
Thatte | Cinematic virtual reality with head-motion parallax | |
Wetzstein | Augmented and virtual reality | |
JP2023546693A (ja) | 深度データの、送信側での幾何学的融合 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |