多视图场景分割和传播的制作方法

文档序号:17120839发布日期:2019-03-15 23:47阅读:359来源:国知局
多视图场景分割和传播的制作方法

本申请要求2017年3月17日提交的“multi-viewscenesegmentationandpropagation”(代理人案号lyt287)的美国实用新型申请序号15/462,752的优先权,其公开内容通过引用整体地并入在本文中。

本申请要求2016年6月9日提交的“usinglight-fieldimagedataforbackgroundcolorspillsuppression”(代理人案号lyt255-prov)的美国临时申请序号62/347,734的权益,其公开内容通过引用整体地并入在本文中。

本申请涉及2015年8月27日提交的“depth-basedapplicationofimageeffects”(代理人案号lyt203)的美国申请序号14/837,465,其公开内容通过引用整体地并入在本文中。

本申请涉及2016年3月29日提交的“capturinglight-fieldvolumeimagesandvideodatausingtiledlight-fieldcameras”(代理人案号lyt217)的美国实用新型申请序号15/084,326,其公开内容通过引用整体地并入在本文中。

本公开涉及用于处理图像数据的系统和方法,并且更具体地,涉及用于分割被捕获以用在虚拟现实或增强现实应用中的光场图像和/或体积视频中的场景的系统和方法。



背景技术:

编辑常规或光场图像以提供效果诸如改变着色、改变对比度或者插入和/或移除图像中的对象可以是有挑战性的。通常,用户必须谨慎选择对象边界以控制效果如何被应用。因此,基于深度的效果的应用可以是费时且劳动密集的努力。

另一个挑战通过对视频做出基于深度的修改诸如背景替换的需要来呈现。当涉及多个帧时绘制前景元素与背景元素之间的区别的过程可迅速地变得麻烦。用于使这种分割自动化的已知方法显著地受限制。例如,边缘区域中的边缘检测和alpha估计依靠使背景颜色和前景颜色分离,这在低对比度区域中或者在前景颜色和背景颜色类似的情况下是不准确的。

与光场相机或平铺相机阵列一样,挑战在具有多个视点的视频的情况下加重。如果视频流中的每个视图都需要分割,则必须相应地重复过程。结果是非常劳动密集的过程。



技术实现要素:

根据各种实施例,本文中描述的技术的系统和方法处理图像数据,诸如光场图像数据,以便基于图像数据的深度特性实现各种效果。这种效果可以包括但不限于替换一个或多个对象、修改曝光水平、修改对比度水平、修改饱和度水平、修改图像的颜色集和/或改变图像数据的背景。前景场景元素的准确提取可以使得能实现更有效的合成和/或其它视觉效果,例如以允许混入新背景(和/或其它元素),同时使颜色溢出和其它赝像最小化。

具体地,可以对视频流应用基于深度的效果以生成修改后的视频流。用户输入可以指定视频流的参考图像的前景区域和与前景区域不同的深度处的背景区域之间的边界。这可以通过使用有界框等来指定边界来完成。例如,3d有界框可以用于将参考图像的前景区域指定为3d有界框内的图像的部分。在3d有界框外部的图像的部分可以是背景区域。

基于用户输入,可以生成参考掩模(mask)以指示前景区域和背景区域。可以细化边界以计算精细参考掩模的精细边界。精细参考掩模可以可选地是包括前景区域与背景区域之间的未知区域的三元图(trimap)。未知区域可以包含可以属于背景区域或前景区域的像素。未知区域可以具有基于边界是否在恰好适当的位置中的置信水平可以更大或更小的自适应宽度。视需要,可以经由另外的用户输入、基于深度的算法的应用和/或基于颜色的算法的应用对未知区域做出另外的细化。可以与参考图像相结合地分析其它视图和/或帧以帮助确定未知区域的像素是属于前景区域还是背景区域。

参考掩模可以用于生成指示用于视频流的与参考图像不同的一个或多个非参考图像的前景区域和背景区域的一个或多个非参考掩模。因此,参考掩模(例如,三元图)可以被应用于不同的视图和/或不同的帧以方便为该帧生成三元图。因此可以经由前向传播(在时间上向前)和/或后向传播(在时间上向后)从一个或多个关键帧传播三维图。类似地,可以将三元图传播到与已经计算三元图的图像相同的帧的不同的视图。因此,可以针对视频流的所有视图和/或帧计算三维图,而无需用户为每个帧和/或视图提供输入。

三元图可以用于为每个视图和/或帧生成alpha蒙版(alphamatte)。alpha蒙版可以用于控制效果如何被应用于视频流。如果视频流是光场视频,则可以选择将alpha蒙版反投影到光场,使得可使用光场来投影应用了alpha蒙版的新视图。

因此,可以生成修改后的视频流。可以为观看者显示修改后的视频流,例如,作为虚拟现实或增强现实体验的一部分。

附图说明

附图图示若干实施例。与说明书一起,它们用来说明实施例的原理。本领域的技术人员将认识到,附图中图示的特定实施例仅仅是示例性的,而不旨在限制范围。

图1是根据一个实施例的描绘用于执行视频效果应用的管线的图。

图2是根据一个实施例的描绘用于执行视频效果应用的方法的流程图。

图3是根据一个实施例的描绘分割到视频流的相邻帧和/或视图的传播的图。

图4是根据一个实施例的进一步描绘分割到视频流的相邻帧和/或视图的传播的图。

图5是根据一个实施例的描绘用户可以指定前景对象的一个方式的屏幕截图。

图6是根据一个实施例的描绘使用用户描画的笔划来指定前景和背景材料的屏幕截图。

图7是根据一个实施例的描绘前景、背景和未知区域(即,未知分段)的三元图的一部分。

图8是根据一个实施例的使用光流来描绘前向三元图传播的图像的集合。

图9是根据另一实施例的使用光流来描绘后向三元图传播的图像的集合。

图10是根据一个实施例的描绘经由前向传播和后向传播获得的三元图的组合的图像的集合。

图11是使用i处的关键帧和k处的关键帧来描绘针对帧j的三元图的内插的图表。

图12是根据一个实施例的描绘在|i-j|<=|k-j|情况下的组合三元图值的表。

图13是根据一个实施例的描绘在|i-j|>|k-j|情况下的组合三元图值的表。

图14a至图14d是根据一个实施例的针对相邻(非参考)视图va的顶视图、初步三元图、二元分割和最终三元图。

图15是根据一个实施例的针对相邻(非参考视图)va的顶视图。

图16是根据一个实施例的描绘alpha蒙版从多个视图到光场的反投影中的步骤的屏幕截图图像的集合。

具体实施方式

定义

出于本文中提供的描述的目的,使用以下定义:

·alpha蒙版:来自alpha抠图(alphamatting)过程的输出。

·alpha抠图:用于区分图像中的背景和前景像素的过程,其可以包括向这些像素指派透明度。所指派的透明度水平可被例如编码为与图像相关联的alpha通道(alphachannel)。

·背景区域–指定远离相机的主题的图像的一部分。

·计算设备:包含处理器的任何设备。

·数据存储:存储数字数据的任何设备。

·深度:对象和/或对应图像样本与相机的微透镜阵列之间位移的表示。

·深度图:与光场图像相对应的二维图,指示光场图像内的多个像素样本中的每一个的深度。

·显示屏幕:可在上面显示图像的任何类型的硬件。

·扩展景深(edof)图像:已被处理成使对象沿着更大的深度范围聚焦的图像。

·前景分段或“前景区域”-指定更靠近相机的主题的图像的一部分。

·帧:场景的一个或多个图像已作为视频流的一部分被捕获的时间指定。

·图像:各自规定颜色的像素值或像素的二维阵列。

·输入设备:能够为计算设备接收用户输入的任何设备

·光场图像:包含在传感器处捕获的光场数据的表示的图像。

·微透镜:小透镜,通常是类似微透镜的阵列中的一个。

·多视图视频流:对至少一个帧来说具有多个视图的视频流。

·修改后的视频流:在对视频流应用一个或多个效果之后结果得到的视频流。

·处理器:能够基于数据做出判定的任何设备。

·参考掩模:指示针对图像的多个部分中的每一个的指定的任何数据结构,包括三元图。

·三元图:指定图像的区域的参考掩模。三元图例如可以指定前景区域、背景区域以及位于前景区域与背景区域之间的未知区域。

·未知区域-包含可以属于前景区域或背景区域的像素的图像的一部分。

·视频流:包括在不同的时间的帧的一系列图像。

·视图:观察场景的视点和/或视图定向。

此外,为了命名法的容易,术语“相机”在本文中用于指代图像捕获设备或其它数据获取设备。这种数据获取设备可以是用于获取、记录、测量、估计、确定和/或计算表示场景的数据、包括但不限于二维图像数据、三维图像数据和/或光场数据的任何设备或系统。这种数据获取设备可以包括用于使用本领域中众所周知的技术来获取表示场景的数据的光学器件、传感器和图像处理电子装置。本领域的技术人员将认识到,可连同本公开一起使用许多类型的数据获取设备,并且本公开不限于相机。因此,术语“相机”在本文中的使用旨在为说明性的和示例性的,而不应该被认为限制本公开的范围。具体地,这种术语在本文中的任何使用应该被认为指代用于获取图像数据的任何适合的设备。

在以下描述中,对用于处理光场图像的若干技术和方法进行描述。本领域的技术人员将认识到,可单独地和/或按照彼此任何适合的组合执行这些各种技术和方法。

架构

在至少一个实施例中,可以连同由光场捕获设备所捕获的光场图像一起实现本文中描述的系统和方法,所述光场捕获设备包括但不限于ng等人,light-fieldphotographywithahand-heldplenopticcapturedevice,technicalreportcstr2005-02,stanfordcomputerscience中描述的那些。在2015年8月27日提交的“depth-basedapplicationofimageeffects”(代理人案号lyt203)的美国申请序号14/837,465中示出并描述了示例性光场概念、光学硬件和计算硬件,其公开内容通过引用整体地并入在本文中。可以在本文中公开的硬件诸如光场相机或接收并处理光场数据的后处理系统上实现本文中描述的系统和方法。

附加地或可替选地,可以连同体积视频数据诸如由相机的平铺阵列所捕获的视频数据一起实现本文中描述的系统和方法。在2016年3月29日提交的“capturinglight-fieldvolumeimagesandvideodatausingtiledlight-fieldcameras”(代理人案号lyt217)的美国实用新型申请序号15/084,326中示出并描述了示例性相机阵列概念、光学硬件和计算硬件,其公开内容通过引用整体地并入在本文中。本文中描述的系统和方法可以由所关联的硬件诸如平铺相机阵列或捕获系统和/或接收并处理体积视频数据的后处理系统来实现。

效果应用

存在可基于图像中的对象的深度有益地应用的许多效果。例如,可能期望替换图像的背景或前景,或者模拟仅照射更靠近或远离相机的对象的附加光源的存在。

这种效果的应用对单个图像来说可能是有挑战性的。对诸如光场图像或由平铺相机阵列所捕获的图像的多视图图像来说存在附加挑战。当要对多个帧应用变化以便以视频格式诸如在虚拟现实或增强现实应用中使用的视频呈现时,这些挑战加重。

本公开提供可用来基于深度分割图像的系统和方法。例如,为了执行背景替换,可以将图像分割成包含图像前景中的对象的前景部分、包含图像背景中的对象的背景部分和/或包含可以在图像的前景和/或背景中的对象的未知部分。然后可以将分割传播到来自替选视图和/或替选帧的图像以便提供视频流的分割。在分割之后,可以容易地执行诸如背景替换的操作。

多视图分割管线和方法

图1是根据一个实施例的描绘用于执行视频效果应用的管线的图。如先前所阐述的,可以对诸如光场视频和/或用平铺相机阵列捕获的视频的多视图视频应用效果。如所示,视频流100可以可选地是多视图视频流,并且可以包括多个图像,其中的每一个均对应于特定帧和/或视图。

视频流100可以包括各种类型的数据,所述数据可以包括但不限于颜色数据102、深度数据104和运动数据106。颜色数据102可以对用于视频流100的每个图像的每个像素的颜色进行编码,并且可以具有rgb或任何其它适合的格式。深度数据104可以包括指示视频流100的每个图像的各个像素和/或部分距离捕获了视频流100的图像传感器的深度的深度图或其它数据结构。运动数据106可以指示从每个帧的图像到接连帧的对应图像的变化。

视频流100的一个或多个图像可以经历分割,其中视频流100的不同的分段被刻定以方便效果的应用。例如,分割可以是二元分割110,其中图像被分割成两个分段,诸如示出相对地靠近相机的对象的前景区域以及示出相对地远离相机的对象的背景区域。用户输入120可以用于方便此划定过程。

二元分割110针对每个图像可以包括初始二元分割130,其中在前景区域与背景区域之间描述边界132。另外,二元分割110针对每个图像可以包括精细二元分割140,其中边界132被细化以采取前景区域与背景区域之间的精细边界142的形式。

二元分割110可以用于构造三元图150,所述三元图150可以是用于每个图像的自适应三元图。三元图150可以是使图像分成前景区域和背景区域以及位于前景区域与背景区域之间的未知区域的图像的图。未知区域可以包含可以适当地按前景区域或背景区域分组的像素。在一些实施例中,三元图150可以是指定前景(例如编码为255)、背景(例如编码为0)和未知(例如编码为128)区域的掩模。未知区域可以定义在使前景像素和背景像素分离的边界周围的像素的片,其中关于个别像素的前景/背景指定存在不确定性。

可以对三元图150应用抠图160,这可以导致前景图像165的生成,所述前景图像165可以是仅表示前景区域的图像,和/或指示效果将被应用于每个图像的程度的alpha蒙版170。前景图像165和/或alpha蒙版170可以用于将效果应用于视频流100,从而导致修改后的视频流180的生成。alpha蒙版170的生成可以是图像分割的主要目标。

在一些实施方式中,alpha蒙版170可以是识别图像的属于以下各项的部分的浮点图像:

·前景(alpha值为1);

·背景(alpha值为0);以及

·前景与背景之间的“柔和”边缘。由于运动模糊或材料属性,一些边缘值将具有部分透明度。在那种情况下,可以估计介于0与1之间的alpha值。

图2是根据一个实施例的描绘用于执行视频效果应用的方法的流程图。可选地可以使用图1中所示的数据结构来执行图2的方法。可替选地,可以利用不同的数据结构来执行图2的方法。类似地,可以连同与图2的那些方法不同的方法一起使用图1的数据结构。以下描述假定图2的方法利用图1的数据结构。

例如,可以利用用于处理光场图像和/或体积视频数据的后处理电路来执行图2的方法。在一些实施例中,计算设备可以执行该方法;这种计算设备可以包括桌面型计算机、膝上型计算机、智能电话、平板、相机和/或处理数字信息的其它设备中的一个或多个。

方法可以从步骤200开始,在步骤200中视频流100例如由相机或相机阵列的传感器捕获,如通过引用并入在本文中的专利申请中所公开的。对于光场视频捕获,可以通过使光场重新聚焦在虚拟孔径的各个位置处来计算多个视图。可以在视频流100的捕获之后发生的一个或多个步骤中做这个。

在步骤210中,可以在计算设备中接收视频流100,所述计算设备可以是相机或相机阵列的一部分。可替选地,计算设备可以像在如通过引用并入在本文中的专利申请中所公开的单独的后处理系统中一样与相机分离。这种计算设备此后将被称为“系统”。

在步骤220中,系统可以接收视频流100的参考图像的用户指定,所述参考图像将被用于初始二元分割。用户例如可以选取具有清楚地定义的和/或容易地辨识的前景和背景区域的图像。在替选实施例中,参考图像可以由系统自动地选择。在一些实施例中,可能已经针对视频流100的参考图像和/或其它图像计算了每个帧的深度或视差图和/或记录每个像素的准确运动的光流图像。

在步骤230中,系统可以接收对前景区域与背景区域之间的边界的用户指定。此用户指定可以例如通过用户在前景区域和/或背景区域中的一个或多个元素周围绘制一个或多个元素诸如有界框来做出。可以在步骤240中使用此用户指定来计算图1的初始二元分割130。

可选地,由用户绘制的元素可以共同地组成边界132。在步骤250中,可以对边界132进行细化以提供精细边界142,从而提供精细二元分割140。视需要,可以使用图切割和/或其它计算机视觉技术来定义和/或对边界132和/或精细边界142进行细化。视需要,可以将来自参考图像的深度图的深度线索包括在概率模型中以细化背景区域和前景区域具有类似颜色的边缘。

在步骤260中,可以基于精细二元分割140计算三元图150。如上所述,三元图可以包括前景区域与背景区域之间的未知区域。在步骤270中,可以对三元图150应用抠图算法以生成用于参考图像的alpha蒙版170。来自相邻视图的颜色信息可以用于使前景分量和背景分量分离,从而减少合成方程中的未知数的数量并且显著地提高结果得到的alpha蒙版170的准确性。在一些实施例中,alpha蒙版170可以是指示视频流100的图像的每个像素的透明度的逐像素图。可以将alpha蒙版170编码成用于视频流100的alpha通道。alpha蒙版170的生成可以涉及使用视频流100的颜色数据102和三元图150作为输入。

在查询280中,可以做出关于视频流100的所有帧和视图是否已被处理的确定。如果没有,则在步骤290中,可以从来自参考图像的不同的帧和/或视图中选择新图像(“第一非参考图像”)。在步骤291中,可以将在步骤260中计算的三元图150传播到新图像。可以相对于非参考图像重复步骤240、步骤250、步骤260和步骤270,并且可以在步骤290中再次选择连续的非参考图像,并且如上所述处理这些非参考图像,直到查询280被肯定地回答为止。

在一些实施例中,每个非参考图像可以由系统在步骤290中自动地选择,并且可以在步骤240、步骤250、步骤260和步骤270中在没有进一步用户输入的情况下被处理。在替选实施例中,用户可以提供输入以依照步骤290选择新图像中的一个或多个。视需要,还可以针对每个新图像重复步骤230,使得用户提供输入以方便初始二元分割130的正确生成。

在一些实施例中,可以针对每个非参考图像省略步骤240、步骤250、步骤260和步骤270中的一个或多个。例如,对于第一非参考图像,参考图像的三元图150可以用于依照步骤260计算三元图150。这可以在不用针对新的非参考图像执行步骤240和/或步骤250的情况下完成。

非参考图像可以被选择为使得它们来自与从先前处理的图像的那些视图和/或帧相邻的视图和/或帧,使得可在步骤260中使用相邻图像的三元图150来为新的非参考图像生成三元图150。例如,通过(1)在新的非参考图像与先前处理的图像之间应用光流,和/或(2)与新的非参考图像和/或先前处理的图像的非本征参数相结合地使用深度数据104,可以根据前一个三元图外推要生成的每个三元图150。

在一些实施例中,可以仅部分地执行步骤240和/或步骤250。例如,由于运动和/或深度估计误差,已在步骤291中针对新的非参考图像传播的新三元图对新的非参考图像来说可能是不准确的;这种不准确性可以使抠图算法在步骤270中失败。为了解决这些不准确性,可以仅针对经由根据先前处理的图像的三元图的外推而生成的三元图150的未知区域执行步骤240和/或步骤250。然后可以运行步骤260和步骤270以计算修订的三元图,这可以导致抠图算法在步骤270中更好地运行。

图3是根据一个实施例的描绘分割到视频流100的相邻帧和/或视图的传播的图300。例如,从参考图像310起,分割可以在时间上后向传播到相邻先前的非参考图像320,和/或在时间上前向传播到相邻后续的非参考图像330。附加地或可替选地,从参考图像310起,分割可以被传播到第一相邻视图非参考图像340和/或第二相邻视图非参考图像350。

类似地,从相邻先前的非参考图像320起,分割可以被传播到第一相邻视图非参考图像360和/或第二相邻视图非参考图像370。从相邻后续的非参考图像330,分割可以被传播到第一相邻视图非参考图像380和/或第二相邻视图非参考图像390。

图4是根据一个实施例的进一步描绘分割到视频流100的相邻帧和/或视图的传播的图400。可以以任何顺序使用视图传播和/或时间传播。如所示,从在时间t的参考视图vr处的参考图像的三元图410,视图传播可以导致用于替选(即,非参考)视图va的初始三元图420的生成。可以执行二元分割430以生成用于视图va的自适应三元图440,其可以用于生成用于视图va的alpha蒙版170。类似地,从三元图410,时间传播可以导致在后续帧处(在时间t+1)的视图vr的初始三元图450的生成。可以执行二元分割460以在时间t+1生成用于视图vr的自适应三元图470。

结合图1再次参考图2,一旦所有视图和/或帧已被处理,在步骤292中,可以将在步骤270中为每个图像而生成的alpha蒙版170反投影到将视频流100的视图链接在一起的光场或其它数据。可以与深度图相结合地使用已知视图几何来投影未知区域并且计算用于所有其它视图的反投影alpha蒙版。这可以方便将alpha蒙版170适当地应用于视频流100。在步骤294中,可以使用alpha蒙版170和/或反投影alpha蒙版来将效果应用于视频流100以生成图1的修改后的视频流180。视需要,可以将单视图alpha蒙版反投影到4d光场以使得能实现4d合成工作流程,其中捕获的和计算机生成的光场被混合在一起以形成最终图像。

在步骤296中,可以为用户显示修改后的视频流180。这可以例如通过在诸如通过引用并入在本文中的专利申请中所公开的那些的显示屏幕上显示修改后的视频流180来完成。视需要,方法可以是虚拟现实或增强现实体验的一部分。方法然后可以结束。

图2的方法仅是可以用于对诸如多帧视频流的视频流应用效果的许多可能的方法中的一种。根据各种替选方案,图2的各个步骤可以被以不同的顺序执行、省略和/或由其它步骤替换。例如,其它图像处理步骤可以被并入到图2的方法中,在方法的任何阶段处,并且可以在应用效果之前、期间和/或之后相对于图像被执行。

可以在本公开的范围内以各种方式执行图2的方法的步骤中的每一个。将在下面更详细地示出并描述可以执行这些步骤中的一些的示例性方式。下文仅仅是示例性的;可以以与下文显著地不同的方式执行图2的步骤。

二元分割

为了经由用户输入发起二元分割,如在步骤230中一样,可以在图形用户界面中显示参考视图。艺术家然后可以在图像的一个或多个部分周围定义3d有界框。例如,对于背景替换,艺术家可以在要从背景分割的一个或多个前景对象周围定义3d有界框。这可以通过为框的两个相对拐角规定最小和最大x、y和z值来完成。

图5是根据一个实施例的描绘用户可以指定前景对象的一个方式的屏幕截图500。如所示,图像可以包含前景510和背景520。可以如上所述放置3d有界框530以限定前景510,从而提供用于初始二元分割的初始边界,所述初始边界可以是图1的初始二元分割130的边界132。

然后可以使用迭代图切割来细化此初始二元分割130。第一步骤可以是使用初始二元分割130来训练来自初始二元分割130的四个概率分布,每个被表示为高斯混合模型:

1.前景颜色概率pfg,c;

2.背景颜色概率pbg,c;

3.前景深度概率pfg,d;以及

4.背景深度概率pbg,d。

可以将深度概率分布(上面的第3和4号)引入到二元分割中。用户可以使用一组实值权重wc和wd来指派深度或颜色信息的相对重要性。用户可以可选地基于他或她对深度图和/或彩色图像的置信水平来更改这些权重。

利用此定义,可以将给定像素p属于前景的概率定义为:

可以将wc和wd设置如下:

0<wc<1∶0<wd<1:wd+wc=1

可以以相同的方式定义背景概率。

然后可以执行全局最小化以基于上面的概率模型找到用于每个像素的新标签指派(前景或背景)。平滑度项可以用于促进类似颜色的区域中的相干性。除了现有方法之外,邻近像素的深度值可以被包括在此平滑度项中,使得类似深度的区域将往往具有一致标记。

可以使用产生最终分割的最小切割算法来完成该最终最小化。可以重复此过程(概率估计和图切割)以获得一组新的分割标签,通常直到这些分割标签收敛为止。结果可以是图1的精细二元分割140的生成,如图2的步骤250中所描述的。

用户可以选择通过在已知属于前景和/或背景区域的区域上绘制描画笔划来校正此分割。可以相应地标记描画笔划下的每个像素,使得用户定义的标签不被优化过程更改,而是用于训练概率模型。

图6是根据一个实施例的描绘使用用户描画的笔划来指定前景和背景材料的屏幕截图600。如所示,用户可以使用红色笔划630来指定属于前景510的图像的部分。类似地,可以使用蓝色笔划640来指定属于背景520的图像的部分。如上所述,可以不在迭代图切割期间修改这些名称。

三元图生成

精细二元分割140可以用于计算三元图150,如在图2的方法的步骤260中一样。三元图150可以是每个像素被标记为属于以下三个区域中的一个的三元图像:前景、背景和未知。错误可以出现在初始二元分割130和/或精细二元分割140中,尤其是当边界132和/或精细边界142跨越低对比度区域时。可以基于边缘距离度量动态地选择三元图150的厚度,使得未知区域正确地包含图像的实际边缘。

图7是根据一个实施例的描绘前景510、背景520和未知区域720(即,未知区域)的三元图700的一部分。如所示,未知区域720可以使前景510与背景520分离。计算三元图700可以包括使用可以是来自精细二元分割140的精细边界142的二元分割边缘710来定位未知区域720。

未知区域720的宽度可以是自适应的,原因在于它可沿着未知区域720的长度改变。例如,未知区域720可以具有散布开以适应接近二元分割边缘710诸如实际柔和边缘750的特征的三元图边缘730,所述特征可以是接近低对比度区域740的高对比度特征。

在一些实施例中,可以使用以下过程:

1.用户可以以像素为单位设置未知区域720的最小(tmin)和最大(tmax)厚度。

2.可以检测图像中的高对比度边缘。形式上,可以相对于邻近像素j将像素i处的对比度值定义为:

3.可以对c进行阈值处理以形成二元边缘图像c',使得c'(i)在高对比度边缘上等于1,否则等于零。

4.可以根据二值图像c'计算距离图d。对于每个像素i,d(i)可以包含到c'中的最近高对比度边缘的距离。出于速度考虑,可以用三角形滤波器使e模糊。这可以在每个边缘周围创建指示当前像素离该边缘多远的斜坡剖面。另一更精确的选项是根据c'计算距离变换。

5.然后可以像示例性伪代码中所指示的那样计算最终三元图图像t:

根据二元分割来初始化t='前景'或t='背景'

对于二元分割边缘上的每个像素i:

设置t(i)='未知'

如果d(i)小于tmax则:

设置r=max(d(i),tmin)

对于在i周围的半径r的圆盘中的每个像素j:

设置t(j)='未知'

最终三元图图像可以具有正确地包含最近高对比度边缘的未知区域,其中特征对称剖面在二元分割边缘周围。值得注意的是,除了未知区域720中的颜色边缘之外,对比图像c(i)的定义还可以确保深度边缘被正确地捕获,同时确保未知区域720仅和所需的一样厚。这可以方便在图2的步骤270中执行抠图。

参数tmin和tmax可以控制未知区域720的最终形状。它们可以由用户调整以收紧或者扩展未知区域720以实现所期望的结果。

时间传播

如先前所提及的,针对参考图像计算的三元图150可以被按时间地传播到视频流100的不同的帧。可以继续此传播直到视频流100的所有帧都已被分割为止。

在一些实施例中,可以使用以下过程:

1.用户可以分割来自视频流100的若干帧的图像,如在步骤230、步骤240、步骤250和步骤260中一样。这些图像中的每一个可以被称为“参考图像”,并且视频流100的对应帧可以被称为“关键帧”。

2.可以如下对关键帧之间的帧中的每个图像的三元图150进行内插:

a.可以使用光流从每个关键帧起及时前向传播三元图。

b.可以及时后向传播三元图。

c.前向三元图和后向三元图可以被组合在一起。

3.用户可以通过针对中间帧重复用户辅助分割来编辑分割,所述中间帧可以定义新关键帧。可以重复该过程直到最终分割对每个帧的每个图像来说令人满意为止。

图8和图9描绘传播过程。具体地,图8是根据一个实施例的使用光流来描绘前向三元图传播的图像的集合800。关键帧i包含已计算了三元图810的参考图像,从而示出前景510、背景520和未知区域720。从关键帧i起在时间上向前三个帧的关键帧i+3可以具有对应的三元图840。

可以对三元图810应用光流以为从关键帧i起在时间上向前一个帧的关键帧i+1生成三元图820。类似地,可以对三元图820应用光流以为从关键帧i起在时间上向前两个帧的关键帧i+2生成三元图830。因此,可以通过在时间上向前传播来为关键帧i与关键帧i+3之间的帧i+1和帧i+2生成三元图。

更确切地说,可以以以下方式执行前向传播:

1.使用光流使从帧i到帧i+1的三元图810扭曲。结果得到的三元图820是不完美的;光流可能无法说明在帧i+1中揭示的帧i中的遮挡区域。

2.像在步骤230、步骤240和/或步骤250中那样针对仅未知区域720执行二元分割。这可以使用根据前景510和背景520计算的概率模型来估计二元分割。

3.像在步骤260中那样针对帧i+1计算三元图。

4.从帧i+1开始重复上面的步骤一至三,如果帧i+1是关键帧则停止。

图9是根据另一实施例的使用光流来描绘后向三元图传播的图像的集合900。关键帧i包含已计算了三元图810的参考图像,示出前景510、背景520和未知区域720。从关键帧i起在时间上向前三个帧的关键帧i+3可以具有对应的三元图840。

可以使用在反向方向(从帧i到帧i-1)上估计的光流来以与前向传播相同的方式定义后向传播。可以对三元图840应用光流以为从关键帧i+3起在时间上向后一个帧的关键帧i+2生成三元图930。类似地,可以对三元图930应用光流以为从关键帧i+3起在时间上向后两个帧的关键帧i+1生成三元图920。与前向传播一样,结果得到的三元图在帧i中的遮挡区域在帧i-1中被揭示的情况下可能是不完美的,并且可以被按需细化以更准确地分割未知区域720。因此,可以通过在时间上后向传播来为关键帧i与关键帧i+3之间的帧i+1和帧i+2生成三元图。

在存在光流不准确性的位置前向和后向传播的三维图150可能不一致。如在上面的步骤2(c)中一样,将前向和后向三元图150组合在一起的目标可以是为了协调两个传播的三元图150以形成最终分割。这将关于图10进一步示出并描述。

图10是根据一个实施例的描绘经由前向和后向传播获得的三元图150的组合的图像的集合1000。具体地,描绘了图8和9的针对关键帧即帧i和帧i+3的三元图810和三元图840。另外,还描绘了在图8中前向传播的三元图820和三元图830以及在图9中后向传播的三元图920和三元图930。可以组合两者都针对帧i+1的三元图820和三元图920以针对帧i+1计算组合三元图1020。类似地,可以组合两者都针对帧i+2的三元图830和三元图930以针对帧i+2计算组合三元图1030。

图11是使用i处的关键帧1110和k处的关键帧1120来描绘针对帧j1140的三元图的内插的图表1100。附加帧1130可以在k处的关键帧1120与帧j1140之间。对于帧j处的每个像素p,可以使用(1)从关键帧i起前向传播的三元组tfj以及(2)从关键帧k起后向传播的三元组tbj来计算其组合三元组值tj(p)。此值可以取决于帧j是否最靠近帧i或帧k。它可以在j最靠近帧i的情况下根据图12的表1200计算,否则根据图13的表1300来计算。

图12是根据一个实施例的描绘在|i-j|<=|k-j|的情况下的组合三元图值。图13是根据一个实施例的描绘在|i-j|>|k-j|的情况下的组合三元图值的表格1300。

计算三元图值的这种模式可以具有以下益处:

·可以在未知区域中特别是在前向和后向传播不符合的情况下捕获图像边缘周围的不确定性;以及

·如果仅已传播的三元图像素中的一个是已知的,则可以通过对最近关键帧进行优先级排序来遵守用户输入。

可以通过在组合三元图诸如图10的三元图1020或三元图1030的未知区域720中应用步骤230、步骤240和/或步骤250来进一步细化组合三元图。可以对精细二元分割140执行步骤260来计算最终三元图150。

视图传播

到目前为止,已仅针对参考视图计算了分割。使用在参考视图处计算的深度图和另一视图的相对位置,能够将分割传播到该视图。以下示例性方法假定要分割的前景对象从参考视图完全可见。

图14a至图14d是根据一个实施例的针对相邻(非参考)视图va1450的顶视图、初步三元图、二元分割和最终三元图。如图14a中所示,点xa1410可能由于背景1420与前景1430之间的边界处的深度不连续而在参考视图vr1460中被阻挡。然而,在将生成新三元图150的相邻视图va1450中,点xa1410可以是可见的。如所示,背景1420和前景1430都可以在图像平面1440后面。

尽管在相邻视图va1450中,投影pa1470在初步三元图ta1480中被设置为未知,如图14b中所示,但是可以在二元分割1482期间检测到正确值,如图14c中所示。可以在最终三位图ta'1484中消除边界,如图14d中所示。

更具体地,给定参考视图vr1460和相邻视图va1450,可以通过使用参考视图tr处的三元图和深度图dr(未示出)来计算最终三元图ta'1484。可以使用以下过程:

1.将初步三元图ta1480初始化为“未知”。

2.针对参考视图vr1460中的每个像素pr:

a.使用在pr处采样的深度图dr来计算其3d视图空间位置xr。

b.将xr转换成相邻视图va的空间。这可以提供3d位置xa。

c.将xa投影到相邻视图的像素pa。

d.将ta(pa)设置为tr(pr)的值。

3.仅在ta的未知区域720中应用步骤230、步骤240和/或步骤250以估计二元分割1482。深度图da未被假定为可用于va。如果它不可用,则可以仅针对va使用彩色图像来做步骤3中的二元分割1482。

4.在二元分割1482上应用步骤260以估计最终三元图ta’1484。

va的一些像素可能由于深度不连续处的遮挡而在vr中不可见。可以在上面的步骤1中的初步三元图ta1480中默认为这些像素指派“未知”值。如果深度连续跨越真实前景/背景边界,则这可以是正确值,但如果未知区域720完全在图像的前景510或背景520内部,则可能是不正确的。这是图10中描绘的情形。

可以通过上面的步骤3和步骤4来指派正确值。可以做在上面的步骤3中生成的二元分割1482以便确保邻近区域中的一致性。当pa的最近邻居全部被分类为“背景”时,这将“关闭”边界并且在最终三元图ta’1484中设置正确值。如果深度不连续仅在前景510中则相同的解决方案可以适用。

多视图抠图

依照图2的方法的步骤270,可以在未知区域720中估计alpha蒙版170以及前景像素值。存在对单个视图这样做的若干算法,诸如抠图拉普拉斯(mattinglaplacian)。使用来自相邻视图的信息可以允许针对alpha蒙版170估计精确的alpha值。图像抠图的问题可以是为满足以下合成等式的给定像素颜色i找到实值alpha(α)以及颜色值f(前景)和b(背景):

i=α·f+(1-α)·b

通常可以一起估计f、b和α,这可能需要估计七个未知参数。在替选方案中,可以从多个视图中恢复b,这可以消除等式中的三个未知数(每个颜色通道各一个)。

例如,相邻视图va可以未知区域720的边界的一部分后面看见。可通过将va和vr的相对姿势与未知区域720的边界的定向相比较来检测这种情形。图11描绘va从左侧观察边界的情况。

图15是根据一个实施例的针对相邻(非参考视图)va1450的顶视图1500。图15描绘与图14a相同的元件,同时添加了未知区域1510以及来自参考视图vr1460的投影pr1520。

可以通过将被前景510遮挡的所有颜色样本从参考视图vr1460投影到图像平面1440来恢复背景样本。这可以被认为是两步过程:

1.深度传播。可以基于两个视图的已知相对位置将深度图从vr重新投影到va。在深度图中可以存在“孔”—在vr中被遮挡但是在va中可见的区域。可以根据在空间域和特征域两者中高度相关的邻近像素来为这些孔填入深度值。

2.重新投影。可以将va的3d点重新投影到vr的图像窗格。现在可从vr“看见”被遮挡的对象。

可以像上面的步骤1中所描述的那样将深度值填入孔中。孔区域可以是vr中的被遮挡区域;因此,这里的深度值可以更靠近附近的背景像素。可以使用迭代传播过程如下:

a.对于孔区域中的像素p,可以通过下式来估计深度值zp:

zp=zq,如果d(p,q)<εs&(||ip-iq||<εc)&q∈b

b.可以将像素p标记为“填充”。如果εs和εc不够小,则可以更新εs和εc,并且可以利用经更新的εs和εc重新开始迭代传播过程。

否则,可以停止迭代传播过程。

然后可以在步骤270的抠图例行程序中利用已恢复的背景样本。表达式(x,y,zb,ib)可以用于表示vr的图像平面中的重新投影颜色样本,(x,y,zf,if)作为原始颜色样本。然后,可以将重新投影样本与原始样本相比较。可能存在三种情况:

情况1:α(xi,yi)>0,如果||zb(xi,yi)-zf(xi,yi)||>=εz。

情况2:α(xi,yi)=0orα(xi,yi)=1,

如果||zb(xi,yi)-zf(xi,yi)||<εz并且||ib(xi,yi)-if(xi,yi)||<εc。

情况3:像素

xi,yi||zb(xi,yi)-zf(xi,yi)||<εzand||ib(xi,yi)-if(xi,yi)||>=εc是界外值。

在情况1中,像素的未知数的数量可以从七减少至四。对于情况2,它可以减少未知区域720的面积并且因此减少要估计的像素的数量。这可以产生前景和alpha值的更精确的估计。

在一些实施例中,可以在两步过程中估计最终alpha值。可以通过为图像像素i找到前景f和背景b颜色样本的“最佳匹配”来计算初始估计。对于每个预期的样本f和b,可以在使以下成本函数最小化的意义上定义“最佳匹配”:

c(α)=βcolor||i-αf-(1-α)b||+βdistance(dist(i,f)+dist(i,b))

其中,dist(x,y)是两个图像样本之间的欧几里德距离,并且βcolor和βdistance分别是在颜色和距离失配之间应用相对惩罚的常数。

如果背景样本b被成功地恢复,则可以使用它来显著地缩小搜索空间。具体地,可能需要仅根据成本函数c的最好前景样本f。可以全局地(针对整个前景区域上的最佳匹配)或局部地(沿着前景/未知区域边界)进行搜索。然后,添加根据局部颜色亲和度使alpha值平滑的后处理步骤可以是有利的。取决于用户所需要的质量水平,可以使用“引导滤波器”算法或“抠图拉普拉斯”算法。

前景颜色估计

在估计最终alpha蒙版之后,可根据上面引用的抠图方程i=α·f+(1-α)·b在背景颜色b已知时容易地计算前景颜色f。

当不能根据多视图先验中恢复背景颜色时,除了alpha在这种情况下可以是固定的,可以探知像上面所说明的那样使成本函数c最小化的最“可能的”前景和背景颜色对。这可以产生针对整个未知区域估计的最终前景颜色。

可以例如通过以下步骤来形成最终前景图像:

·在已知背景区域内部将像素设置为黑色;

·在未知区域,使用上面估计的前景颜色;

·在已知前景区域中,直接地使用来自源图像的像素。

4d合成

如上所述生成的alpha蒙版170和前景图像可以是2d,并且因此仅可用于合成其它2d图像。诸如光场相机的多视图相机配置可以生成相同场景的多个视图。一旦已为相邻视图获得了alpha蒙版170和前景图像,就可以将alpha蒙版170和前景图像反投影到单个rgba光场。这可以允许针对任意视点使用诸如重新聚焦和投影的光场技术。

图16是根据一个实施例的利用多个alpha图描绘图像从多个视图到光场的反投影的步骤的屏幕截图图像的集合1600。这描述用于反投影的一般工作流程,通过该一般工作流程可以反投影前景图像以及alpha图以重新创建4分量rgba光场。如所示,可以捕获4d光场1610,并且可以使用4d光场1610来计算作为一系列m×m子孔径图像1620而显示的一系列视图。可以为子孔径图像1620中的每一个生成图(在这种情况下为alpha图),从而导致m×m个alpha图1630的生成。可以执行类似的过程以生成m×m个前景图。还可以基于4d光场1610生成深度图1640,并且可以在alpha通道或alpha图1630到4d光场1610的多视图反投影中使用深度图1640。这可以导致rgba光场1650的生成,所述rgba光场1650包括现在可连同颜色和/或深度数据一起被投影到任何子孔径图像中的alpha通道。

上面的描述和引用的附图相对于可能的实施例阐述特定细节。本领域的技术人员将了解的是,可以在其它实施例中实践本文中描述的技术。首先,组件的特定命名、术语的大写、属性、数据结构或任何其它编程或结构方面不是强制性的或重要的,并且实现本文中描述的技术的机制可以具有不同的名称、格式或协议。另外,可以像描述的那样经由硬件和软件的组合或者完全在硬件元件中或者完全在软件元件中实现系统。另外,本文中描述的各种系统组件之间的功能性的特定划分仅仅是示例性的,而不是强制性的;由单个系统组件执行的功能可以替代地由多个组件执行,并且由多个组件执行的功能可以替代地由单个组件执行。

在说明书中对“一个实施例”或者对“实施例”的引用意味着连同这些实施例一起描述的特定特征、结构或特性被包括在至少一个实施例中。短语“在一个实施例中”在本说明书中的各个地方中的出现不一定全部参考同一实施例。

一些实施例可以包括用于单独地或按照任何组合执行上述技术的系统或方法。其它实施例可以包括计算机程序产品,所述计算机程序产品包括在介质上编码以用于使计算设备或其它电子设备中的处理器执行上述技术的非暂时性计算机可读存储介质和计算机程序代码。

在对计算设备的存储器内的数据比特的操作的算法和符号表示方面呈现上述的一些部分。这些算法描述和表示是数据处理领域的技术人员使用来最有效地将他们的工作的实质传达给本领域的其它技术人员的手段。算法在这里并一般地被设想为是导致期望结果的步骤(指令)的自我一致序列。这些步骤是需要物理量的物理操纵的那些步骤。通常,尽管不一定,然而这些量采取能够被存储、传送、组合、比较并以其它方式操纵的电、磁或光信号的形式。有时主要出于通用的原因将这些信号称为比特、值、元素、符号、字符、术语、数字等是方便的。此外,有时在不失一般性的情况下将需要物理量的物理操纵的步骤的某些布置称为模块或代码设备也是方便的。

然而,应该记住的是,所有这些和类似的术语将与适当的物理量相关联并且仅仅是应用于这些量的方便标签。除非具体地陈述否则如从以下讨论中显而易见的,应了解的是,在整个说明书中,利用诸如“处理”或“计算”或“计算出”或“显示”或“确定”等的术语的讨论参考计算机系统或类似的电子计算模块和/或设备的动作和过程,所述计算机系统或类似的电子计算模块和/或设备操纵并变换被表示为计算机系统存储器或寄存器或其它这种信息存储、传输或显示设备内的物理(电子)量的数据。

某些方面包括在本文中以算法的形式描述的过程步骤和指令。应该注意的是,本文中描述的过程步骤和指令可用软件、固件和/或硬件加以具体实现,并且当用软件加以具体实现时,可被下载以驻留在由各种操作系统使用的不同的平台上并且被从这些不同的平台操作。

一些实施例涉及用于执行本文中描述的操作的装置。此装置可以是为所需要的目的专门地构造的,或者它可以包括通过存储在计算设备中的计算机程序选择性地激活或者重新配置的通用计算设备。这种计算机程序可以被存储在计算机可读存储介质中,所述计算机可读存储介质诸如但不限于包括软盘、光盘、cd-rom、磁光盘的任何类型的盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、闪速存储器、固态驱动器、磁或光卡、专用集成电路(asic)和/或适合于存储电子指令并且各自耦合到计算机系统总线的任何类型的介质。另外,本文中参考的计算设备可以包括单个处理器或者可以是为了提高的计算能力而采用多个处理器设计的架构。

本文中呈现的算法和显示不固有地与任何特定计算设备、虚拟化系统或其它装置有关。各种通用系统也可以与根据本文教导的程序一起使用,或者构造更专用装置以执行所需要的方法步骤可能证明是方便的。各种这些系统所需要的结构将根据本文中提供的描述显而易见。此外,不参考任何特定编程语言描述本文中阐述的技术。应了解的是,可以使用各种编程语言来实现本文中描述的技术,并且在上面对具体语言的任何引用是仅为了说明性目的而提供的。

因此,在各种实施例中,本文中描述的技术可作为用于控制计算机系统、计算设备或其它电子设备或其任何组合或多个的软件、硬件和/或其它元件被实现。根据本领域中众所周知的技术,这种电子设备可包括例如处理器、输入设备(诸如键盘、鼠标、触摸板、触控板、操纵杆、轨迹球、麦克风和/或其任何组合)、输出设备(诸如屏幕、扬声器和/或类似物)、存储器、长期存储装置(诸如磁存储装置、光学存储装置和/或类似物)和/或网络连接。这种电子设备可以是便携式的或非便携式的。可以被用于实现本文中描述的技术的电子设备的示例包括:移动电话、个人数字助理、智能电话、信息亭、服务器计算机、企业计算设备、桌面型计算机、膝上型计算机、平板计算机、消费电子设备、电视、机顶盒等。用于实现本文中描述的技术的电子设备可以使用任何操作系统,诸如例如linux;microsoftwindows,可从华盛顿州雷蒙德的微软公司获得;macosx,可从加利福尼亚州库比蒂诺的苹果公司获得;ios,可从加利福尼亚州库比蒂诺的苹果公司获得;android,可从加利福尼亚州山景城的谷歌公司获得;和/或被适配用于在设备上使用的任何其它操作系统。

在各种实施例中,可在分布式处理环境、联网计算环境或基于web的计算环境中实现本文中描述的技术。可在客户端计算设备、服务器、路由器和/或其它网络或非网络组件上实现元件。在一些实施例中,本文中描述的技术使用客户端/服务器架构来实现,其中一些组件被实现在一个或多个客户端计算设备上而其它组件被实现在一个或多个服务器上。在一个实施例中,在实现本公开的技术的过程中,客户端从服务器请求内容,并且服务器响应于请求而返回内容。浏览器可以被安装在客户端计算设备处以用于使得能实现这种请求和响应,并且以用于提供用户可用来发起并控制这种交互并观察所呈现的内容的用户界面。

用于实现所描述的技术的网络组件中的任一个或全部可以在一些实施例中使用任何适合的电子网络、无论是有线的还是无线的或其任何组合,并且使用用于实现这种通信的任何适合的协议,彼此通信地耦合。这种网络的一个示例是因特网,但是本文中描述的技术也可使用其它网络来实现。

虽然已在本文中描述了有限数量的实施例,然而受益于以上描述的本领域的技术人员应了解的是,可以设计出不脱离权利要求的范围的其它实施例。此外,应该注意的是,本说明书中使用的语言已被主要选择用于可读性和指示目的,而可能尚未被选择来刻划或者限制本发明主题。因此,本公开旨在为说明性的,而不是限制性的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1