图像转换和编码技术的制作方法

文档序号:6472674阅读:198来源:国知局
专利名称:图像转换和编码技术的制作方法
技术领域
本发明是一种从一个或多个2D图像获得深度图的改进技术。
背景技术
一定数量的图像处理任务要求图像内目标的深度是已知的。这种任务包括对电影和视频序列应用特殊效果以及2D图像到立体3D的转换。决定目标的深度被称为创建深度图的过程。在一深度图中,每个目标都被着色为灰色阴影,由此用阴影表示目标到固定点的深度。通常,距离远的目标将着色为暗色阴影,而邻近的的目标将着色得较亮。还未采用创建深度图的标准转换,而且可使用倒着色或使用不同的颜色来表示不同的深度。为了便于在本文中作解释,距离远的目标所着的颜色比距离近的目标要深,而且着色通常是灰色标度。
传统上一直采用手工的方法从现有的2D图像创建深度图。可以理解的是,图像对于计算机来说只是一系列像素,尽管操作人员能够分辨目标及其相关的深度。
深度图的创建涉及一种系统和分配给目标的深度,其中通过该系统可手工勾画出每个要转换的目标图像。可以理解该过程是缓慢、耗时和昂贵的。勾画的步骤通常结合鼠标使用软件程序来完成。可用于执行该任务的软件程序的例子是Adobe“After Effects”。使用After Effects的操作人员通常在需要分配深度的每个目标的轮廓周围勾画,并随后用决定距观察者的深度或距离的灰色阴影来对目标物填充或“着色”。该过程将随后对图像中的每个目标进行重复。此外,在包含数个图像的场合,比如电影中,也必须对电影的每个图像或帧执行这些步骤。
在传统的系统中,图像的轮廓通常被描述成曲线(比如贝塞尔曲线)的形式。对这种曲线的使用使操作者能够改变轮廓的形状,从而使该目标的轮廓能够与该目标准确对准。
如果一系列图像需要绘制——比如——电影或视频的深度,则需要连续地对每个帧重复该过程。
一个目标的大小、位置和/或深度可能会连续变化。在该情况下,操作者需要手工地跟踪每个帧中的目标并通过修正曲线来处理每个帧,并根据需要通过改变灰色阴影来更新目标深度。可以理解,这是一个缓慢、乏味耗时和昂贵的过程。
过去已作出尝试以改进该过程。现有技术描述了旨在当目标一帧帧移动时自动跟踪目标轮廓的技术。这种技术的一个例子是Active Contours的应用(参考文献Active Contours-Andrew Blake和Michael Isard-ISBN 3-540-76217-5)。这种方法的主要局限性是需要对使用该技术的软件提供被跟踪目标的预期运动。当预期运动是未知且复杂变形的,或者需要对具有不同运动特性的多个目标进行同时跟踪的时候,这便受到了极大的限制。
也已使用了以点为基础的跟踪方法来确定轮廓线的运动。这些在诸如Commotion和After Effects之类的编辑环境中是普遍的。但是,应用它们的局限性是非常大的,因为通常不可能确定一个其运动反映整个目标运动的合适的跟踪点。当目标进行简单的平移时,点跟踪有时是可接受的,但它无法处理形状变形、遮蔽或多种其它常见的问题。
一家以色列公司,AutoMedia,已生产了一种称为AutoMasker的软件产品。它使操作者能够勾画出目标的轮廓并一帧帧地跟踪它。该产品取决于度目标颜色的跟踪,因此当相近的颜色交叉在一起的时候就无效了。当比如,一目标趋近观察者或在屏幕上向前运动时,该产品在跟踪整个连续帧的大小发生变化的目标的过程中也会有问题。
这些方法中无一能令人满意地分配或跟踪深度图,因此对深度图的创建仍然使用手工系统。
在现有技术中还描述了其它的技术,这些技术取决于对原来用于记录2D序列的摄影机的运动重建。这些技术的局限性是需要原来图像序列中的摄影机运动以及在每个帧中的可用作跟踪点的明确定义的特征。
发明目的当今,操作者必须手工地创建每个图像帧的深度图以获得可接受的结果。本发明的目的是减少需要手工创建深度的帧的数量,从而减少操作者创建深度图所需要的时间。
仍然有需要手工创建深度图的一组帧。本发明的另一个目的是协助对这些帧进行深度图创建的手工过程。

发明内容
考虑了以上的目的,本发明提供了一种创建深度图的方法,它包括以下步骤对图像的至少一个像素或部分分配一深度;确定所述图像的至少每个像素或部分的相对位置和图像特性;利用所述的深度、图像特性和各个相对位置来确定第一算法的配置,从而确定作为相对位置和图像特性的函数的深度特性;利用所述的第一算法来计算所述图像的每个像素或部分的深度特性;其中,所述的深度特性形成了所述图像的深度图。
本发明的另一方面提供了一种创建深度图的方法,它包括如下步骤向一图像的至少一个像素或一部分分配深度;确定所述图像的至少每个所述像素或部分的x,y坐标和图像特性;利用所述深度、图像特性和各个x,y坐标来确定第一算法,从而确定作为x,y坐标和图像特性的函数的深度特性;使用所述的第一算法来计算所述图像的每一像素或部分的深度特性;其中,所述的深度特性形成了所述图像的深度图。
本发明的另一个方面提供了一种为图像序列创建一系列深度图的方法,它包括以下步骤接收所述图像序列的至少一帧的深度图;使用所述的深度图来确定一算法的配置,从而确定作为相对位置和图像特性的函数的深度特性;使用所述算法来创建所述图像序列中每一帧的深度图。
本发明的还有一个方面提供了一种创建图像序列一系列深度图的方法,它包括以下步骤从所述图像序列中选出至少一个关键帧;对于每一个至少一关键帧,为每个帧的至少一个像素或一部分分配一深度;确定每个所述帧至少一像素或一部分的相对位置(比如,x,y坐标)和图像特性;使用每个所述至少一帧的深度、图像特性和相对位置来确定每个所述至少一帧的算法的配置,从而确定作为相对位置和深度特性的函数的深度特性;使用所述算法的每个配置来计算每个所述至少一帧的每个像素或部分的深度特性;其中,所述的深度特性形成了每个所述至少一帧的深度图,使用每幅深度图来确定第二算法的第二配置,从而确定每幅帧作为相对位置和使用每幅深度图来确定第二算法的第二配置,从而确定每幅帧作为相对位置和图像特性的函数的深度特性;使用所述第二算法来创建所述图像序列每帧的各个深度图。
可以理解的是,涉及算法的系统实际上可创建数个不同的函数,从而创建作为相对位置和图像特性结果的深度图。在较佳的系统中,相对位置将是x,y坐标的测量值。
实现本发明的系统可选择预定,序列中哪些帧被当作关键帧,比如每一个第五帧。该算法也可以理想地认为输入到算法以进一步提炼处理过程的时间。
发明简述本发明旨在改进产生相关2D图像的深度图的处理。该较佳实施例包括产生关键帧深度图和产生剩余图的两个阶段。
第一个阶段从用户处得到了小量的数据。该数据表示景物的基本结构。2D图像和其相关的数据产生了一种算法,该算法能够获得在由用户分配给不同图像像素的深度z、其x和y位置以及图像特性之间的关系。该图像特性包括每个像素的RGB值,当不仅限于此。总的来说,该算法解答了用户已经在帧中为每个像素定义的等式z=f(x,y,R,G,B)。
该算法随后将该获得的关系施加于图像中其它的像素,以产生深度图。如果需要,用户可提炼其数据以改进深度图的准确性。应该指出的是,初始的深度数据不一定要由用户规定——它可以由某些其它的处理来决定,这些处理包括从运动算法使用自动结构或从立体图像得到深度预测,但不仅限于此。
第二阶段要求在所选的关键帧处设置2D图像及相关的深度图。在这些关键帧处的深度图可如先前由申请人公开般地产生,或者使用深度捕捉技术自动产生,这些技术包括激光测距仪,即LIDAR(光线方向和范围)仪器和景深技术,但不仅限于此。
由每个关键帧的2D图像及相关的深度图可得到一种算法,该算法能够获得在分配给其它帧中每个像素的深度z、其x和y位置以及图像特性之间的关系。该图像特性包括每个像素的RGB值,当不仅限于此。总的来说,该算法解答了关键帧中每个像素的等式z=f(x,y,R,G,B)。
该算法随后以邻近关键帧之间的每个连续帧呈现,而且每个像素都使用该算法计算z的值。


图1示出了阶段1训练过程的一个实施例。
图2示出了阶段1转换过程的一个实施例。
图3示出了阶段2训练过程的一个实施例。
图4示出了阶段2转换过程的一个实施例。
图5描绘了学习过程可怎样分割特征空间。
图6示出了阶段2的一个深度图产生的可替换过程。
图7示出了在阶段2确定各个像素深度的可替换方法。
图8示出了搜索候选训练样本的过程。
图9示出了从数个候选训练样本计算深度的过程。
对发明的详细描述本发明提供了从一个或多个2D图像得到深度图的一种改进技术。本发明较佳地包括两个阶段,每个阶段理论上都包括一个自动学习过程。
阶段1第一阶段在单个的图像上操作。该图像呈现给用户,用户使用简单的图形界面确定图像中不同区域的近似深度。该图形界面可提供有助于用户为像素分配深度的工具,该工具包括笔和漆刷工具、区域填充工具和根据像素颜色分配深度的工具,但不仅限于此。这个过程的结果是为图像中的像素子集确定深度。
在图1中示出了这个过程,其中2D图像1可呈现给用户。用户可随后为图像2中不同的像素分配深度。在图1的例子中,标上″X″的像素是还未由用户规定深度的像素。系统随后使2D图像1与由用户提供的深度数据2互相关联,并使用训练算法3来协助映射函数4的创建,该算法能够解答图像中每个像素深度的函数。
由用户提供的信息决定了与学习过程一起使用的训练数据,该将在以后描述的学习过程使深度与所述单个图像中的每个像素相关。该过程可以是互动的,因为用户可只确定一些区域的近似深度。根据所述区域学习过程的结果,用户可为学习过程完成得较差的区域提供进一步的深度预测。该用户和学习过程之间的互动可重复数次。实际上,用户可在该阶段指导该学习过程。应该指出的是,原始的深度并不一定要由用户规定——它可如上所述地由某些其它的过程来决定。
创建映射函数一旦为该系统提供图像和一些像素深度,则该系统随后用所确定的深度分析该像素,从而创建了映射函数。该映射函数可以是一过程或一将任何来自图像的一个像素或一组像素的测量值作为输入并将该像素或该组像素的深度值作为输出提供的函数。
各个像素测量值可包括红、绿和蓝色的值,或诸如亮度、色度、对比度之类的其它测量值以及诸如固定在图像中的水平和垂直之类的空间测量值。另外,该映射函数可操作诸如较大像素组之类的较高水平的图像特征,或在像素组上、或边缘、角落等位置的诸如平均值和变化之类的测量值(即,特征检测器的响应)。较大像素组可表示比如图像中的段,该段是形成同性区域的连接的像素组。
只是为了描述的目的,一个像素可以x,y,R,G,B,z的形式表示,其中,x和y表示作为像素x和y坐标的相对位置,R,G,B表示该像素的红色、绿色和蓝色的值,而z则表示该像素的深度。z的值只有在用户已规定一值的位置得到确定。
通过捕捉由用户规定的像素的图像数据和深度数据之间的关系来得到该映射函数。该映射函数可采用任何普通处理单元的形式,其中接收并处理输入数据,并提供输出。较佳地,该处理单元受学习过程的作用,其中,它的性质通过检查用户数据及相关的图像数据来决定。
那些在人工智能或机器学习领域中工作的人将理解,输入数据和所希望输出之间该关系的学习过程,并且该过程可以采用许多形式。要指出的是,这些人一般不会在立体系统或2D图像到3D的转换的领域中工作。在机器学习中,这样的映射函数是公知的,而且包括神经网络、决策树、决策图形、模型树和最近邻分类器,但不仅限于此。学习算法的较佳实施例是寻找设计一种映射函数,该映射函数将一些映射测量的误差减到最小并令人满意地推广到原始数据组外的值。
该学习算法既可尝试决定2D图像信息和整个图像上总体深度之间的关系,又可以决定其与局部较小空间区域上深度的关系。
可随后应用这种关系以完成整个序列的深度图。
在图2中示出了这种关系,其中从2D图像1输入数据到所创建的映射函数4,从而创建2D图像1的深度图5。
成功的学习算法的例子是学习神经网络的后向传播算法、学习决策树的C4.5算法、局部加权线性回归法以及学习棒束型分类器的K-平均值算法。
只为了描述的目的,可考虑该学习算法来计算2D图像序列帧中每个像素的以下关系zn=ka.xn+kb.yn+kc.Rn+kd.Gn+ke.Bn其中n是关键帧图像中的第n个像素zn是分配给xn,yn处像素的深度值ka到ke是常数且由算法决定Rn是在xn,yn处像素的红色分量值Gn是在xn,yn处像素的绿色分量值Bn是在xn,yn处像素的蓝色分量值在图1中示出了该过程。
技术熟练人士将理解,以上的等式只是为了描述方便而作了简化,在实际中是不能理想工作的。在使用比如神经网络和给定在图像中的大数量像素的实际应用中,该网络将学习含许多k值、乘法和加法的一个大的等式。此外,该K值在图像中不同的x,y位置上会发生变化,以适合局部的图像特征。
对2D图像应用该映射函数接着,本发明将采用该映射函数并将其应用于2D图像序列的整个帧上。对于给定的像素,映射函数的输入以与在学习过程中得到映射函数相似的方式确定。例如,如果该映射函数通过将单个像素的测量值作为输入来获得,则映射函数将需要这些作为输入的相同测量值。通过这些输入,该映射函数完成了它所学习的任务并输出深度测量值。同样,在该例中,对于单个像素,这个深度测量值可以是简单的深度值。在这个例子中,在整个图像上应用该映射函数,从而完成图像的全部深度数据组。另外,如果使用较大的像素组来训练映射函数,则需要为图像产生这种较大像素组。用与在学习过程中相同的方式完成对这些像素组较高水平的测量,诸如平均值和方差。利用这些现在建立的输入,映射函数生成了对于该像素组的所需深度测量。
在图2中示出了这个过程,并得到了2D图像的完整深度图。如果所得到的深度图包含有误差的区域,则将对用户数据进行修改并重复该过程以修正这些区域。该映射函数也可用于其它的帧以产生深度图。
对机器学习领域熟悉的人将会理解,该训练阶段可隐含于算法的一般配置。该方法被称为基于学习的实例,并且包括诸如局部加权线性回归之类的技术,但不仅限于此。在可替换的实施例中,用户可定义一组目标并对这些目标分配像素。在该实施例中,将图像其它像素的用户数据进行归纳的过程可将整个图像分割成由用户初始定义的目标组。映射函数定义目标或目标本身可以是该实施例所需要的输出。另外,可对目标应用函数以规定这些目标的深度,从而构成图像的深度图。这些函数可采用深度斜坡形式和其它诸如在先申请PCT/AU00/00700中定义般定义目标的深度的其它方法。
在另一可替换实施例中,该训练算法可尝试向用户信息引入一随机分量。利用任何学习算法都可帮助克服训练过度的问题。训练过度指的是学习算法仅仅记住训练信息的情况。这就好比是一个孩子只学会写乘法表而对乘法本身无任何理解一样。该问题在机器学习的领域中是公知的,并且缓解该问题的一个方法就是向训练数据引入随机噪声。将施加一良好的学习算法以在训练数据的噪声和质量信息之间进行辨别。在进行该过程当中,鼓励学习数据的性质而不是仅仅记住它。该方法的一个实施例指的是先前的例子,其中该训练算法学习以下的函数zn=ka.xn+kb.yn+kc.Rn+kd.Gn+ke.Bn当向训练算法输入z、x、y、R、G和B的时候,可向这些值添加小噪声分量。该噪声分量可以是一小的正随机数或负随机数。在较佳实施例中,未向z分量添加任何噪声。
学习过程在较佳实施例中,学习过程的输入是1.数个训练样本,它们具有某些包括深度在内的特性。
2.数个“分类”样本,它们具有匹配训练样本的特性,而且其深度由学习过程决定。
该训练样本所包括的各个像素,其特性包括该像素的位置(x,y)、颜色(R,G,B)和深度(z)。该学习过程目的就是计算其特性包括位置(x,y)和颜色(R,G,B)的每个分类像素的深度(z)。
对于每个分类样本,学习算法的第一阶段包含识别训练样本的分组,该分组训练样本共享与在讨论中的分类像素“类似”的图像特性。
搜索候选训练样本为了识别与当前分类样本特性相似的训练样本,我们设想一发生样本的n维特征空间。在较佳实施例中,这是一个5维空间,每一维都表示一个图像特性x、y、R、G和B。将该空间的轴进行归一化,以考虑每一维范围中的差异。我们可以因此用相对百分比来指出样本之间的差异。例如,给定样本的R分量可相对于第二样本有10%(相对于R分量的绝对范围)的不同。
该空间中两个样本之间的距离是它们的相似性的量度。为了检测与当前分类样本相似的训练样本,定义了一个搜索半径。任何到分类样本的距离小于搜索半径的训练样本都被认为与分类样本相似并被用于深度的计算。使用简单的欧几里得尺度来测量n维搜索空间中的距离。在不占用n维特征空间较大部分的数据中,使用马哈拉诺比斯距离尺度以提供较好的结果。诸如直方图均衡化或RGB、YUV或HSV分量的原理分析之类的延伸数据范围的可替换方法提供了类似的优点。
在对深度的准确估算中,搜索半径是关键的参数,并且是相对于数据特性进行设置的。在呈现高空间或高时间自相关的数据中,该半径的值被设置为小于具有低空间或低时间自相关的图像的值。
搜索半径对于特征空间的每一维可以是不同的。例如,x轴中的搜索半径可以不同于表示红色强度的轴当中的搜索半径。此外,学习过程可将这些参数应用于某个用户定义的界限中的数据。例如,如果在5%的空间半径和10%的彩色半径之中未识别到任何适合的训练样本,则该空间半径将被增加到10%。
图8示出了候选搜索处理的典型例子。该图描绘了一2维搜索空间,以描述所图绘样本的空间x坐标中的变化对红色强度中的变化。在该空间中是数个训练样本20。在目标像素11的第一半径21的距离中无训练样本。因此,学习过程将其搜索扩展到目标像素11的第二搜索半径22并识别到3个候选训练样本。
可使用可替换的搜索策略以识别合适的训练候选样本。用这种策略,可将训练数据以诸如散列树、k-d树或n维沃龙诺依图之类的结构进行存储。虽然该策略提高了识别候选训练样本所用的速度,但它们不会影响本发明的性质。
类似地,通过高速缓存训练样本开发特征空间中其后分类样本接近度的搜索策略,可提高识别候选训练样本的速度,但不会被大量地添加到本发明中。
距离加权学习为了计算任何给定分类样本的深度,我们需要一个或多个训练样本,该训练样本被认为与如上所述的分类样本相似。我们把这些训练样本称为“候选”训练样本。
我们将分类样本的深度计算为候选训练样本深度的加权平均值。任何候选训练样本的加权值都相对于在n维空间中距分类样本的距离。如上所述,该距离被归一化并且可使用马哈拉诺比斯尺度或主要分量类型分析进行数据偏置。
图9示出了深度计算过程被简化后的例子。如图8所示,图9描绘了一2维搜索空间,以描绘被图绘样本的空间x坐标上的变化对红色强度上的变化。这些示出的候选训练样本19与目标像素11相隔不同的距离(标上w1、w2和w3)。该深度可作为候选训练样本的加权平均值进行计算,用以下公式 其中,D1是与目标像素11相隔距离w1的训练样本的深度,D2是与目标像素相隔距离w2的训练样本的深度,而D3是与目标像素11相隔距离w3的训练样本的深度。
在较佳实施例中,加权值与n维空间中距离的平方成反比。
可替换实施例在可替换实施例中,学习过程分析了整个可供应训练数据组并推论了决定图像性质与样本深度关系的规则。
在该过程中,n维特征空间被分割或划分为一组区域。图5示出了该原理的简化表示。在该实例中,n维空间被决策界限23分割成数个矩形区域。根据所占用的区域将深度值分配给目标像素11。
在操作中,使用M5模型树算法以完成特征空间的划分。M5算法以两种方法提高了根据以上所描述的基本例子。决策界限不必垂直于特征空间轴,而且深度可以在各个区域中作为图像特性的线性函数变化。
机器学习技术熟练的人将理解,可使用许多学习方案来替代M5模型树算法,包括神经网络、决策树、决策图形和最邻近分类器。学习算法的实际特性不会影响本发明的新颖性。
在较佳实施例中,在图像性质x、y、R、G和B中操作学习过程。可替换的实施例可以在诸如较大像素组之类的较高水平的图像特性上操作,也可以在像素组上操作诸如平均值和方差或界限值、角落值等之类的测量(即,响应特征检测器)。较大像素组可比如表示图像中的段,它们是形成同性质区域的连接像素组。
第二阶段第二阶段在图像序列上进行操作,其中至少将一个帧确定为关键帧。它对于每个关键帧接收3D立体数据,通常以深度图的形式。该深度图可归因子任何处理,诸如人工规定、上述第一阶段的输出、从立体图像确定的深度或使用范围寻找系统直接获得深度,但不仅限于此。另外,3D立体信息可采用除深度图之外的其它形式,比如从包含立体象对的关键帧获得的差别信息。
对于2D图像序列中的其它所有帧来说,本发明根据初始获得的关键帧信息提供了对深度图的规定。希望,关键帧的数量只是总数量帧中的一小部分。因此,本发明提供了一种方法,它可大大减少一开始就需要生成的深度图的数量。
创建映射函数一旦对该系统提供关键帧以及它们对应的深度图后,该系统就分析关键帧和对应的最初得到的深度图,从而创建了映射函数。该映射函数可以是将任何2D图像的给定测量值作为输入的过程或函数,并且将该图像的深度图作为输出提供。该映射通过捕捉关键帧图像数据和这些图像的深度图数据之间的关系得以学习。
该映射函数可采用任何普通处理单元的形式,其中接收并处理输入数据,并给出输出。较佳地,该处理单元应服从学习过程,其中该性质通过检查关键帧数据和其对应的深度图来确定。在机器学习的领域中,这种映射函数是公知的,而且包括神经网络、决策树、决策图形、模型树和最接近分类器,但不仅限于此。
该系统试图学习输入数据和所需输出数据之间的关系。在一学习过程中,为训练算法提供来自2D关键帧图像的信息。该信息可以以像素为单位呈现在像素上,其中提供了诸如红、绿和蓝色值之类的像素测量,或诸如亮度、色度、对比度之类的其它测量以及诸如图像中水平和垂直位置之类的空间测量。另外,可以较高水平图像特征的形式来呈现信息,诸如较大像素组,并在像素组上进行诸如平均值和方差或界限值、角落值等之类的测量(即,特征检测器的响应)。较大像素组可比如表示图像中的段,它们是形成同性质区域的连接像素组。
只是为了描述,2D图像可以x,y,R,G,B的形式来表示,其中,x和y表示每个像素的x和y坐标,而R,G,B则表示该像素的红、绿和蓝色值。
接着,向训练算法呈现对应的深度图,从而可获得其所需的映射。通常向训练算法呈现各个像素。但是,如果正在使用较高水平的图像特性,诸如较大像素组或段,则该深度图可以是该像素组的深度测量值,诸如平均值和方差。
只为了描绘的目的,该深度图可以z,x,y的形式来表示,其中x和y表示每个像素的x和y坐标,而z则表示分配给该对应像素的深度值。
这些在人工智能领域工作的人士将理解这个学习在输入数据和所需输出之间关系的过程,并且可采用许多形式。学习算法的较佳实施例设计分配可将某些测量的映射误差最小化的映射函数。
该学习算法尝试归纳2D图像信息和出现在关键帧实例中的深度图之间的关系。随后将应用该归纳的形式来完成整个序列的深度图。本领域所公知的成功的学习算法的例子是用于学习神经网络的反向传播、用于学习决策树的C4.5算法以及用于学习棒束型分类器的K-平均值算法。
只是为了描述的目的,可假设该学习算法以计算2D图像中每个像素的以下关系zn=ka.xn+kb.yn+kc.Rn+kd.Gn+ke.Bn其中,n是关键帧图像中第n个像素zn是分配给xn,yn处像素的深度值ka到ke是常数且由算法决定Rn是在xn,yn处像素的红色分量值Gn是在xn,yn处像素的绿色分量值Bn是在xn,yn处像素的蓝色分量值技术熟练人士将理解,以上的等式只是为了便于解释而作的简化,它在实际中是无法工作的。在实际应用中,使用比如神经网络并给定图像中大数目的像素,该网络将学习一个含k值、乘法和加法的大等式。
在图3中示出了该过程,该过程显示了一个可使用不同数目关键帧的类似过程。
应用映射函数本发明接着将采用该映射函数并在还未得到深度图的2D图像组上应用它。对于该组中给定的2D图像,用在学习过程中提供给映射函数的相似方式来确定映射函数的输入。例如,如果通过将单个像素的测量作为输入来学习映射函数,则映射函数对于新图像中的像素来说都将需要这些相同的测量。利用这些输入,该映射函数完成了其所学习的任务并输出一深度测量值。此外,在单个像素的例子中,该深度测量可以是一简单的深度值。在该例子中,在整个图像序列中应用映射函数,以完成图像序列的整个深度数据组。另外,如果使用较大的像素组来训练映射函数,则需要为新的图像参数产生这样较大的像素组。以与学习过程中相同的方式完成这些像素组上较高水平的测量,诸如平均值和方差。利用这些已建立的输入,该映射函数为该像素组产生了所需的深度测量值。
对于2D图像序列,具有深度图的关键帧可以任何任一的方式在序列上间隔开。在较佳实施例中,映射函数将被提供一组关键帧以及它们所对应的跨过具有某些共同点的2D图像组的深度图。在最简单的情况中,使用两个关键帧来训练映射函数,并且随后使用该映射函数来确定两个所述关键帧之间2D图像的深度图。然而,可用于训练映射函数的关键帧是没有数量限制的。此外,用于完成整个2D图像组的映射函数也是没有数量限制的。在较佳实施例中,两个由一个或多个插入帧分开的关键帧被定义为该处理中第二阶段的输入。该阶段的目的是向这些插入帧中的每一个分配深度图。对插入帧分配深度图的较佳顺序是在时间上最接近关键帧的处理帧为第一个。已被处理过的帧随后成为深度图下一帧的关键帧。
该时间变量的添加有助于训练函数对关键帧中所提供信息的归纳。缺少时间变量,两个关键帧中的深度信息会互相抵触。当相似颜色的像素出现在两个关键帧中的同一空间区域却属于不同目标的时候,这种情况可能会发生。例如,在第一关键帧中,在图像的中心可以观察到一辆绿色的汽车,该图像的前景具有深度特性。在下一关键帧中,汽车可能已经移动,显示在它后面的是绿色的小牧场,该牧场的深度特性规定了中间的地区域。对该训练算法提供了两个关键帧,该两个关键帧在图像的中心都具有绿色的像素,但却具有不同的深度特性。不可能解决该冲突,而且预计该映射函数在这样的区域中也不会很好地工作。通过引入一时间变量,该算法能够通过识别图像中心处的绿色像素是时间上最接近图像序列中第一关键帧的前景像素来解决该冲突。随着时间向第二关键帧推进,训练算法将更加能够识别出作为绿色牧场的中间地深度的图像中间的绿色像素。
在图6的例子中示出了该过程。盒子表示图像序列的各个帧。上面一行表示源帧,根据它们在图像序列中的相对位置对它们进行编号。底下一行表示由该阶段产生的深度图。编号表示产生深度图的等级。虽然应该理解,深度帧1和2可以反向的顺序进行处理,但类似地可以使深度帧3和4反向等。关键帧7被设置为如上所述处理的输入。要产生的第一深度图如图所示与源帧1相关。使用产生的前两幅深度图来产生任何后续的深度图。
较佳实施例对于要绘制深度的帧中的每个像素,使用目标像素的图像特性来确定与所述像素相关的深度。在较佳实施例中,重新得到两个深度估算值,每个关键帧得到一个。在图7中示出了该过程,其中示出了在图像序列中的当前帧之前和之后目标像素11是怎样同最接近的源关键帧6进行比较的(步骤12和13)。类似于先前所描述的,该学习过程使用搜索半径14来识别具有相似图像特性的像素,并使用与所述像素相关的深度(步骤15和16)来计算目标像素的深度(步骤17和18)。每个关键帧产生一目标像素深度的估计值,我们将其定义为D1和D2。
为了确定与目标像素相关的最终深度,D1和D2必须结合。在较佳实施例中,使用关键帧的位置作为加权参数来计算这些值的加权平均值。如果从当前帧到第一关键帧的距离是T1,从当前帧到第二关键帧的距离是T2,则目标像素的深度由下式给出w1=1T12]]>w2=1T22]]> 其中,D1和D2分别是从关键帧1和关键帧2计算所得的深度。
在某些情况下,学习过程无法确定给定像素的深度值。如果在以上的计算过程中,两个关键帧深度估计值中的一个无法进行确定,则向要分配且未使用加权的关键帧深度估计值分配目标像素。如果两个估计值D1和D2都未被定义,则扩大搜索半径并重复该过程。
应该注意的是,产生任何其它帧的深度图只需要一个关键帧。但是,在目标的深度在图像序列中改变的情况中,两个或更多个如上所述加权的关键帧将提供改进的结果。
应该理解的是,处理帧的顺序以及将来自多个关键帧的结果进行结合的方式会在基本不影响本发明性质的前提下发生改变。
如在2D图像的情况中一样,可以理解,该训练阶段可隐含在基于学习的例子中,从而确定序列中图像的任何像素处的深度估计值。
在图4中示出了该过程。
要理解的是,可在阶段2实现与用于阶段1的过程相似的学习过程。两个该映射函数可使用6000字节被写为一文件,则对于该代价,我们得到了20帧的深度信息。这便有效地表示了大小为每帧6000/20=300字节的文件。在实际应用中,该有效的压缩将是重要的。
在另一应用中,以上的压缩可允许3D信息的有效传送,该3D信息嵌在2D图像源,即可与3D图像兼容的2D图像中。由于映射函数需要的文件长度通常是2D图像数据提供给3D信息的很小一部分,所以向2D图像序列添加3D图像可用非常小的系统开销来完成。
在这种情况下,在观察以前或在观察时,在观察端仅通过在序列中每个2D图像被观察时在其上应用映射函数来产生3D信息。当机器学习中发现的映射函数类型在它们被训练之后对提供计算很有效的情况下,这才可能完成。通常该训练过程是缓慢且资源密集的,并且在构建3D图像内容的过程中通常是离线完成的。一旦训练好,该映射函数就可以向观察端传送,并且可用适合于2D图像向3D进行实时转换的非常高的处理量来完成。
申请人自己原先的公开物涉及2D图像向立体3D图像转换的技术。所公开的转换过程包含了对与2D图像相关的深度图的归纳。在一实施例中,深度图是一帧帧地用手工创建的。在本申请中描述的改进使较少数量的关键帧具有创建的深度图和计算的中间深度图。由于关键帧表示帧总数的很小一部分,所以这种新技术代表了在时间和成本上都很有效的重要转换改进。
该公开物的特定内容是,本发明应该应用于深度图的创建上,而不是立体图的产生上。
技术熟练人士将明白,该深度图在被称为旋转显示的过程中在特殊效果的工业中被广泛使用。为了在2D图像内合成现场动作或计算机产生的图像,通常必须手工产生每个2D图像帧的深度图或遮光。这些遮光使附加的图像进行合成,从而使之出现时以原始2D图像的近似几何尺寸进行移动。以上所描述的本发明能快速产生这种遮光。
被开发的摄像机能从现场情景获得深度图也是公知的。通常这些采用激光测距技术并且通常称作LIDAR设备。为了以电视帧的速度捕捉深度图,需要一种昂贵且复杂的系统。本发明的申请物能使较简单且相对不复杂的LIDAR设备被设计得只需要以视频场速的一部分或在其它不寻常周期捕获深度图,以及捕获使用本发明所描述的技术通过插值来产生的缺少的深度图。常必须手工产生每个2D图像帧的深度图或遮光。这些遮光使附加的图像进行合成,从而使之出现时以原始2D图像的近似几何尺寸进行移动。以上所描述的本发明能快速产生这种遮光。
被开发的摄像机能从现场情景获得深度图也是公知的。通常这些采用激光测距技术并且通常称作LIDAR设备。为了以电视帧的速度捕捉深度图,需要一种昂贵且复杂的系统。本发明的申请物能使较简单且相对不复杂的LIDAR设备被设计得只需要以视频场速的一部分或在其它不寻常周期捕获深度图,以及捕获使用本发明所描述的技术通过插值来产生的缺少的深度图。
权利要求
1.一种创建深度图的方法,包括以下步骤为图像的至少一个像素或一部分分配一个深度;确定所述图像的每一所述的至少一个像素或一部分的相对位置和图像特性;利用所述的深度、图像特性和各个相对位置来确定第一算法的配置,从而确定作为相对位置和图像特性的函数的深度特性;利用所述的第一算法来计算所述图像的每一个像素或部分的深度特性;其中,所述的深度特性形成了所述图像的深度图。
2.一种创建深度图的方法,包括以下步骤为图像的至少一个像素或一部分分配一个深度;确定所述图像的每一个所述至少一个像素或一部分的x,y坐标和图像特性;利用所述的深度、图像特性和各个x,y坐标来确定第一算法,从而确定作为x,y坐标和图像特性的函数的深度特性;利用所述的第一算法来计算所述图像的每个像素或部分的深度特性;其中,所述的深度特性形成了所述图像的深度图。
3.根据权利要求1所述的方法,其特征在于,所述的图像特性包括RGB值。
4.根据前述任何权利要求所述的方法,其特征在于,还包括为所述图像的任何像素或部分重新分配深度从而修正任何不一致的步骤。
5.根据前述任何权利要求所述的方法,其特征在于,所述的图像特性包括亮度、色度、对比度或空间测量中任何一个。
6.根据前述任何权利要求所述的方法,其特征在于,所述的第一算法可由以下的等式表示z=f(x,y,R,G,B)其中,x和y定义了一个样本的相对位置。
7.根据前述任何权利要求所述的方法,其特征在于,利用一学习算法来确定所述第一算法的配置。
8.根据权利要求7所述的方法,其特征在于,对于图像中的每个像素,该学习算法计算zn=Ka.xn+kb.yn+kc.Rn+kd.Gn+ke.Bn其中n是关键帧图像中的第n个像素zn是分配给在xn,yn处像素的深度值ka到ke是常数,由算法确定Rn是在xn,yn处像素的红色分量值Gn是在xn,yn处像素的绿色分量值Bn是在xn,yn处像素的蓝色分量值。
9.根据权利要求7或8所述的方法,其特征在于,向学习算法引入一随机分量以降低过度训练。
10.根据权利要求9所述的方法,其特征在于,所述的随机分量是一小的正或负随机数。
11.根据权利要求7-10中任一权利要求所述的方法,其特征在于,所述的学习算法在初始识别与已知像素特性类似的像素。
12.根据权利要求11所述的方法,其特征在于,在一搜索半径中搜索类似的像素。
13.根据权利要求12所述的方法,其特征在于,所述的搜索半径对于每个特性都会变化。
14.根据权利要求11到13中任一权利要求所述的方法,其特征在于,像素的深度通过与类似像素的距离的加权平均值来确定。
15.根据权利要求14所述的方法,其特征在于,加权值与距离成反比。
16.根据权利要求7所述的方法,其特征在于,每个特性被分割或划分为一组区域,并根据所占区域分配一深度值。
17.一种为图像序列创建一系列深度图的方法,包括以下步骤接收所述图像序列中至少一帧的深度图;利用所述的至少一个深度图来确定第二算法的第二配置,从而确定作为相对位置和图像特性的函数的深度特性;利用所述算法来创建所述图像序列的每一帧的深度图。
18.一种创建图像序列的一系列深度图的方法,包括以下步骤接收所述图像序列的至少一帧的深度图;利用所述的至少一个深度图来确定第二算法,从而确定作为x,y坐标和图像特性的函数的深度特性;利用所述算法来创建所述图像序列的每一帧的深度图。
19.根据权利要求17或权利要求18所述的方法,其特征在于,接收对应所述图像序列至少两帧的至少两个深度图。
20.根据权利要求17到19中任一权利要求所述的方法,其特征在于,所述的图像特性包括RGB值。
21.根据权利要求17到20中任一权利要求所述的方法,其特征在于,所述的图像特征包括亮度、色度、对比度或空间测量中的至少一个。
22.根据权利要求17到21中任一权利要求所述的方法,其特征在于,利用一学习算法来确定所述第二算法的配置。
23.根据权利要求22所述的方法,其特征在于,所述的学习算法是反向传播算法、C4.5算法或K-平均值算法中的一个。
24.根据权利要求22或23所述的方法,其特征在于,所述的第二算法计算zn=Ka.xn+kb.yn+kc.Rn+kd.Gn+ke.Bn其中n是关键帧图像中的第n个像素zn是分配给在xn,yn处像素的深度值ka到ke是常数,由算法确定Rn是在xn,yn处像素的红色分量值Gn是在xn,yn处像素的绿色分量值Bn是在xn,yn处像素的蓝色分量值。
25.根据权利要求17到24中任一权利要求所述的方法,其特征在于,为已收到深度图的每对帧创建附加的算法配置。
26.一种创建图像序列的一系列深度图的方法,包括以下步骤接收所述图像序列的至少两个关键帧的深度图;利用所述的深度图来确定第二算法,从而确定作为x,y坐标和图像特性的函数的深度特性;利用所述算法来创建所述图像序列的每一帧的深度图,其中,在非邻近帧之前处理邻近于所述关键帧的帧。
27.根据权利要求26所述的方法,其特征在于,一旦处理了所述的邻近关键帧之后,就将所述的邻近关键帧当作用于创建进一步深度图的关键帧。
28.根据权利要求22、23、26或27所述的方法,其特征在于,所述的第二算法计算zn=Ka.xn+kb.yn+kc.Rn+kd.Gn+ke.Bn+kf.T其中n是图像中的第n个像素zn是分配给在xn,yn处像素的深度值ka到kf是先前由算法确定的常数Rn是在xn,yn处像素的红色分量值Gn是在xn,yn处像素的绿色分量值Bn是在xn,yn处像素的蓝色分量值T是序列中该特定帧的时间测量值。
29.一种创建图像序列一系列深度图的方法,包括以下步骤从所述的图像序列中选择至少一个关键帧;对于每个至少一关键帧,为每个帧的至少一个像素或一部分分配一深度;确定每个所述关键帧的每个所述至少一个像素或一部分的相对位置和图像特性;利用每个所述的至少一关键帧的所述深度、图像特性和各个相对位置来确定每个所述至少一帧的第一算法的第一配置,从而确定作为相对位置和深度特性的函数的深度特性;利用所述的第一算法来计算每个所述的至少一关键帧的每个像素或部分的深度特性;其中,所述的深度特性形成了每个所述至少一关键帧的深度图,利用每个深度图来确定第二算法的第二配置,从而确定每个帧作为相对位置和图像特性的函数的深度特性;利用所述的第二算法来创建所述图像序列每一帧的各个深度图。
30.根据权利要求29所述的方法,其特征在于,在非邻近帧之前处理邻近于所述关键帧的帧。
31.根据权利要求30所述的方法,其特征在于,将其次处理的邻近帧当作进一步处理的关键帧。
32.一种对一系列帧进行编码的方法,包括与所述帧一起传送至少一个映射函数,其特征在于,所述的映射函数包括一算法,用以确定作为相对位置和图像特性的函数的深度特性。
33.根据权利要求32所述的方法,其特征在于,所述的图像特性包括RGB值。
34.根据权利要求32或33所述的方法,其特征在于,所述的图像特性包括亮度、色度、对比度或空间测量中的至少一个。
35.根据权利要求32到34中任一权利要求所述的方法,其特征在于,利用一学习算法来确定所述的映射函数。
36.根据权利要求35所述的方法,其特征在于,所述的学习算法是反向传播算法、C4.5算法或K-平均值算法中的一个。
37.根据权利要求35或36所述的方法,其特征在于,所述的映射函数计算zn=Ka.xn+kb.yn+kc.Rn+kd.Gn+ke.Bn其中n是关键帧图像中的第n个像素zn是分配给在xn,yn处像素的深度值ka到ke是常数,由算法确定Rn是在xn,yn处像素的红色分量值Gn是在xn,yn处像素的绿色分量值Bn是在xn,yn处像素的蓝色分量值。
38.根据权利要求32到37中任一权利要求所述的方法,其特征在于,为已收到深度图的每一对帧创建附加的算法。
全文摘要
一种创建深度图的方法,包括以下步骤为图像的至少一个像素或部分分配一深度;确定图像的至少一个像素或一部分的相对位置和图像特性;利用深度、图像特性和各个相对位置来确定一算法,从而确定作为相对位置和图像特性函数的深度特性;利用所述的算法计算图像每一像素或部分的深度特性,其中的深度特性形成了图像的深度图。在第二阶段的处理当中,所述的深度图形成了关键帧,用于利用相对位置、图像特性和到关键帧的距离来产生非关键帧的深度图。
文档编号G06T7/40GK1466737SQ01816214
公开日2004年1月7日 申请日期2001年8月9日 优先权日2000年8月9日
发明者P·V·哈曼, S·R·福克斯, M·R·多雷, J·C·福来克, P V 哈曼, 多雷, 福克斯, 福来克 申请人:动态数字视距研究有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1