用于模型生成的方法和装置制造方法

文档序号:6533731阅读:189来源:国知局
用于模型生成的方法和装置制造方法
【专利摘要】本发明涉及一种用于从包括2D+z+可靠性信息的至少一项图像数据输入(P1,R1(cam1);...;Pn,Rn(camn))生成3D模型的方法,所述方法包括以下步骤:从所述至少一项图像数据输入建立3D表面,随后在所述3D表面上进行3D中的网格划分操作从而生成所述3D模型。
【专利说明】用于模型生成的方法和装置

【技术领域】
[0001]本发明涉及一种用于根据一项或多项二维(其在本文的其余部分中将被简称为2D)图像输入数据连同其相关联的深度(cbpth)或视差(disparity)信息(全部两个所述术语在本文的其余部分中将由“z”信息标示和简称)生成三维(其在本文的其余部分中将被简称为3D)模型的方法。

【背景技术】
[0002]在文献中描述了许多集中于以高密度的高质量点云为基础从而生成3D模型的方法。这样的点云例如可以利用3D激光扫描仪来产生。但是这些方法并非意图用于实时执行;这是因为这些计算可能需要花费数分钟来处理单一帧。此外,这些方法不适用于有噪声的输入数据。
[0003]用于生成3D模型的另一种受欢迎的方法可以使用从立体摄影机获得的2D+Z输入数据。当三个相邻的2D像素具有其差异低于特定阈值的深度数值时,将从这3个像素产生一个三角,并且对于图像的所有像素实施这一操作。虽然这是一种简单直接的方法,但是所得到的模型的质量在存在有噪声的输入数据的情况下可能较差。此外,该方法也不能直接将多个这样的2D+Z来源组合在一个相容模型中。对于重叠的区段需要进行网格合并,这并不是容易的操作。
[0004]另一种更加复杂的现有方法被称作“泊松表面重建”。这种方法适合于应对有噪声的数据,但是同样非常缓慢,因为对于每个单一视频帧可能需要花费几分钟的处理时间。


【发明内容】

[0005]因此,本发明的实施例的一个目的是提供一种前面已知类型的方法,但是所述方法即使在存在有噪声的数据的情况下也仍是准确的,并且与此同时对于实时3D模型生成而言足够快速。这在将把3D模型适配成尽可能接近地匹配实时视频输入数据时是特别有意义的,其中实时视频输入数据通常具有例如每秒30帧的帧率。
[0006]根据本发明的实施例,这一目的是通过提供一种用于从包括2D+Z+可靠性信息的至少一项图像数据输入生成3D模型的方法而实现的,所述方法包括以下步骤:从所述至少一项图像数据输入建立3D表面,随后在所述3D表面上进行3D中的网格划分(meshing)操作从而生成所述3D模型。
[0007]与现有方法不同,本发明的方法的实施例明确地使用连同2D+Z图像输入数据一起提供的可靠性数据。这样就允许建立可靠的表面函数,从而即使在存在有噪声的图像输入数据的情况下也可以通过传统的网格划分操作获得3D模型。
[0008]在一个实施例中,所述3D表面是通过应用在八叉树结构的拐角点处的距离函数的计算而生成的,从而使得所述八叉树结构处的具有预定数值的所述距离函数的各点将形成所述3D表面。
[0009]这样就给出了一种允许实时处理的简单但是准确的方法。
[0010]在另一个实施例中,基于所述距离函数的数值对所述八叉树结构进一步进行分段。
[0011]这样允许进一步细化3D表面,从而改进准确性。
[0012]在另一种变型中,从以下各项计算所述距离函数:所述八叉树的一点到生成所述2D+z数据的等效摄影机的投影平面的投影,所述八叉树的所述点到所述等效摄影机的摄影机中心的距离,以及其像素坐标对应于所述点的投影的像素坐标的所述2D+Z输入数据的相应z值。
[0013]这样就给出了用以在保持对于有噪声数据的适应性的同时在实时速率下生成3D模型的一种实际的实现方式。
[0014]本发明还涉及一种用于根据输入3D模型和包括2D+Z+可靠性信息的图像数据输入生成更新后的3D模型的方法的各个实施例,所述方法包括对所述输入3D模型进行投影从而生成至少一项2D+Z+可靠性模型信息的步骤,所述方法还包括以下步骤:根据在前面的段落中阐述的任一个先前提到的方法步骤,从所述2D+Z+可靠性信息以及从所述至少一项2D+Z+可靠性模型信息生成所述更新后的3D模型。
[0015]在一种变型中,在反馈环路中提供所述更新后的3D模型的先前生成的版本以作为所述输入3D模型。
[0016]本发明还涉及用于实施本发明的方法的各个实施例的装置和系统的各个实施例,适用于实施所述方法的任一个实施例的计算机程序,以及包括这样的计算机程序的计算机可读存储介质。
[0017]应当提到的是,用在权利要求中的术语“包括”不应当被解释成仅限于其后所列出的装置。因此,“包括装置A和B的设备”这一表达法的范围不应当被限制到仅由组件A和B构成的设备。其含义是就本发明而言,所述设备的仅有的相关组件是A和B。

【专利附图】

【附图说明】
[0018]通过参照后面结合附图对一个实施例进行的描述,本发明的前述和其他目的和特征将变得更加显而易见,并且本发明本身将会得到最好的理解,其中:
[0019]图1示出了用于实施所述方法的装置A的一个实施例的高层级示意性方框图;
[0020]图2示出了图1的装置A的模块的更加详细的实现方式,该模块适用于生成3DISO表面;
[0021]图3和4描绘出图2的实施例的各个子模块的更加详细的实现方式;
[0022]图5a示意性地解释了使用在图2的设备的实施例中的用于估计距离的数值的一种实现方式;
[0023]图5b出于说明性原因描绘出所述距离函数的2D等效方案以用于提供ISO表面的2D等效方案;
[0024]图6a_d(出于说明性原因在2D投影等效方案中)示意性地示出了八叉树分段和ISO表面的生成如何发生;
[0025]图7(在2D投影等效方案中)示出了作为随后的网格划分操作的结果所生成的3D表面模型的最终结果;
[0026]图8示出了包括图1的装置A的一个实施例并且利用了早前确定的模型的反馈的系统的一个实施例。

【具体实施方式】
[0027]这里的描述和附图仅仅是说明本发明的原理。因此应当认识到,本领域技术人员将能够设想到多种装置,其虽然没有在这里被明确地描述或示出,但是所述装置具体实现了本发明的原理并且被包括在其精神和范围之内。此外,这里所引述的所有实例主要意图是特别仅用于教育目的,以便帮助读者理解本发明的原理和(多位)发明人对于推进本领域所贡献的概念,并且应当被解释成不限于这样的具体引述的实例和条件。此外,这里引述本发明的各项原理、方面和实施例以及其具体实例的所有声明都意图涵盖其等效方案。
[0028]本领域技术人员应当认识到,这里的任何方框图代表具体实现本发明的原理的说明性电路的概念视图。类似地将会认识到,任何流程图、程序框图、状态转变图、伪代码等等代表可以基本上被表示在计算机可读介质中并且从而由计算机或处理器执行的各种处理,而不管这样的计算机或处理器是否被明确示出。
[0029]附图中所示出的各个单元的功能可以通过使用专用硬件以及与适当的软件相关联的能够执行软件的硬件来提供。当由处理器提供时,所述功能可以由单一专用处理器提供,由单一共享处理器提供,或者由其中一些处理器可以被共享的多个单独处理器提供。此夕卜,对于术语“处理器”或“控制器”的明确使用不应当被解释成排他性地指代能够执行软件的硬件,而是可以隐含地包括而不限于数字信号处理器(DSP)硬件、网络处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、用于存储软件的只读存储器(ROM)、随机存取存储器(RAM)以及非易失性存储装置。还可以包括其他传统的和/或定制的硬件。类似地,附图中所示出的任何开关仅仅是概念性的。其功能可以通过程序逻辑的操作、通过专用逻辑、通过程序控制与专用逻辑的交互或者甚至通过人工方式来实施,特定技术可以由对于情境具有更加具体的理解的实施者来选择。
[0030]图1a示出了用于从一定数目的η项2D+Z+可靠性和校准数据生成3D模型的装置A的一个高层级实施例,其中所述η项2D+Z+可靠性和校准数据属于被用于确定这些2D+z数据的η个对应的等效摄影机caml到camn。取决于η的数值,所述2D+z数据连同相关联的摄影机校准数据由Pl到Pn标示,并且例如可以由一个或更多立体摄影机或者适合于输出2D+Z数据的其他摄影机提供,比如行程时间(time of flight)摄影机或结构光(structured light)摄影机。相关联的校准数据(比如针孔模型校准数据)包括固有和非固有摄影机校准参数。在其他实施例中,正如将在另一段落中讨论的那样,2D+Z数据还可以包含现有标准模型或者表面模型的早前版本的投影,其在反馈环路中被反馈。此外,在这种情况中,3D模型到2D的投影是根据(预先选择或者自动确定的)摄影机模型来实施的。在其他实施例中,输入2D+Z数据可以作为时间的函数而变化,其例如由立体视频摄影机提供。为了在图1中表明数据Pl到Pn涉及特定摄影机或摄影机模型,该摄影机或摄影机模型(其分别被标示为caml到camn)也被表明在括号之间。
[0031]所述方法的实施例针对基于一定数目的η项2D+Z图像输入数据连同其可靠性生成3D表面模型的问题提供一种解决方案。该数目η可以是大于或等于I的任何数目。各项可靠性数据被标示为Rl到Rn并且可以由立体摄影机caml到camn (其本身每个分别可以包括一个摄影机对)直接提供,例如作为在参考数据集合上计算的数据的方差连同这些数据的平均值。其还可以是在确定深度或视差数值本身的过程中计算的,从而涉及Z值的可靠性。
[0032]随后利用2D+Z数据信息连同其相关联的可靠性输入量度的组合来建立3D ISO表面模型。这是由模块“建立3D ISO表面”实施的,其中按照非均匀方式对3D空间进行采样,并且组合来自不同的2D+Z来源的信息以及其各自的可靠性。在接下来的段落中将更加详细地解释各个实施例。一旦生成该ISO表面,在该表面上实施3D中的网格划分操作,从而生成在装置A的输出处提供的3D模型。这样的网格划分操作可以是基于移动立方体(marching cube),并且将在本文后面的一段中进行讨论。在图1中该下一个模块被标示为“3D中的网格划分”。
[0033]因此,所述方法的实施例允许组合由η项图像数据输入PU Rl到Ρη、Rn (其可能由η个摄影机caml到camn捕获)提供的局部信息,并且在整个模型中传播所述信息以便改进一致性。这样就允许3D模型质量与计算复杂度之间的良好折中。
[0034]现在将结合图2描述用于生成ISO表面的一个更加详细的实施例。
[0035]在由图2中标示为100的子模块实施的第一步骤中,按照非均匀方式对围绕3D模型以及处于3D模型之内的3D空间进行采样,所述3D模型在这一时刻仍然是未知的因此仍待确定。这是通过构造八叉树来进行的,所述八叉树是众所周知的树状数据结构,其常常被用来通过将三维空间递归地细分成八个八分之一区(octant)来对三维空间进行分割。只要满足分解条件,八叉树就将一个立方体分解成8个子立方体,所述分解条件在我们的实施例中被定义成所述立方体的8个点上的距离量度的函数。因此,对于特定3D位置处的这些距离量度的计算、对于分解条件的计算、针对预定标准检查分解条件、导致3D空间的进一步分解、以及对于3D ISO表面的计算全部是在子模块100内或多或少地同时实施的。在图3中示出了这方面的一种更加详细的实现方式,其表明在第一步骤101中,在具有8个子立方体的初始八叉树中分解所考虑的3D空间。
[0036]在围绕(仍然是未知的)所述模型的3D空间中实施八叉树的构造(从而还有相关联的各点的选择)。3D中的该八叉树的尺寸和位置可以通过聚合由不同摄影机caml到camn所看到的3D空间来确定。假设所述3D空间(从而还有3D模型)将是该聚合3D空间的一部分。
[0037]在一个实施例中,八叉树的位置和初始尺寸由用户选择,用户例如可以将其提供为3D空间中的3D坐标。在另一个实施例中,八叉树的位置和初始尺寸作为相关联的各个摄影机的位置、方向、视角和深度范围的函数并且通过合并所有η个摄影机的如此获得的工作区域来被自动确定。
[0038]接下来将确定八叉树的各个拐角点(从而是所有8个子立方体的拐角点)上的距离函数。这是在步骤102中实施的。在我们的实施例中被用于确定特定3D点处的所述距离函数的数值的距离量度被定义为该点到模型的(仍待确定的)3D ISO表面的距离,连同表明该数值的可靠性的量度。由于模型的3D数据并非直接可用,而是仅仅存在2D+Z图像输入数据PO到Pn的一个或多个集合,因此对八叉树的一个立方体的拐角点到模型的3D表面的距离进行估计,这是通过把这一当前3D拐角点投影到各个(虚拟)摄影机caml到camn的图像平面而实现的。这些投影平面本身是从摄影机的校准数据确定的。
[0039]图5a对于一个摄影机(即摄影机I)示出了这一原理。如果八叉树的3D边缘点C(其由图5a中的立方体的拐角处的粗点表示)的投影Cpl落在虚拟摄影机的投影平面(其由图5a中的标示为ppI的平行四边形示意性地表示)内,则该3D点C到正在构造并且由自由表面SF示意性地表示的3D表面的(未知)距离d将由八叉树的该拐角点C与其到摄影机I的投影平面PPl的投影Cpl之间的距离来近似。后者的距离在图5a中被标示为d’,并且其本身通过下面的公式来表示:
[0040]d,= z-y (I)
[0041]其中y是拐角点C与摄影机I的摄影机中心A (caml)之间的距离;
[0042]其中z是从来自Cpl (该拐角点C在投影平面ppl上的投影)的投影平面PPl中的投影像素数据(xppl,yppl)找到的深度,随后在由摄影机I的输入数据提供的输入Pl数据中搜索具有坐标(xppl,yppl)的相应的像素及其在该数据Pl的深度图中的相关联的深度Z将得到对应于z的数值。
[0043]该距离d’是有符号的,因此可以检查所述点是否处于由3D表面SF标识的对象的外部,还是可能处于由该表面标识的对象的内部。实际上无法知道处于由单一 2D+Z映射图定义的表面后方的内容。
[0044]对于所述点处于其视线内的所有η个摄影机计算该距离d’,从而意味着该点C根据其校准参数的投影落在其投影平面内。
[0045]随后,通过基于可靠性量度对于每个八叉树拐角点选择距离d’的η个所计算数值当中的一个,来生成将被使用在本发明的实施例中的ISO表面,正如将在下一段中进一步解释的那样。从而对于八叉树的每一个拐角点将获得距离数值d’,其于是将是所述距离函数在该点处的数值。八叉树的对于该距离具有相同数值的所有拐角点的并集于是还将定义一个新的表面,其被称作iso表面。我们对于其中距离量度d’= O的iso表面特别感兴趣。这在图5b中通过一条完全实线被图示为投影表面。
[0046]正如前面所解释的那样,聚合来自η个摄影机的距离d’的计算。在第一变型中,将取得d’的所有计算数值的平均值以用于确定所述距离函数的最终数值。所得到的可靠性还可以被获得为各个单独的η个可靠性数值的平均值。
[0047]在另一种变型中,考虑新的距离可靠性量度。这同样可以通过许多方式进行;现在将给出这样的一种方式。
[0048]对于每一个摄影机cami实施八叉树的拐角点C到摄影机平面ppi的投影操作,并且如果C的投影处于PPi之内,则从输入数据P1、Ri获得相关联的Zi和可靠性数值。
[0049]评分函数s = f (zi, Ri)被确定为下式:
[0050]S = f (zi, ri) = A*(1-Ri)*zi~B (2)
[0051]其中Ri是从输入数据获得的相关联的Zi值的可靠性,并且通常处于O到I之间;
[0052]其中A、B是固定的预定参数,例如A = 10并且B = 1.1。
[0053]对于所有的摄影机I到η进行这一计算。
[0054]随后把在确定ISO表面的过程中使用的距离d’选择为使得从公式(I)计算的s具有最小值的该数值。
[0055]从而选择出最佳测量而不是所有测量的某种平均值。
[0056]在这一步骤之后,调节这一测量的可靠性,这是通过在对应于一个八叉树点的s值的多个确定与所选择的最佳确定非常接近时“提升(boosting)”可靠性而实现的。举例来说,如果距离d’的第一数值(对应于caml)的数值为4,其相关联的可靠性为0.7,并且该距离的第二数值(对应于cam2)是4.2,其相关联的可靠性是0.6,当第一数值具有最佳评分S,鉴于第二数值及其相关联的可靠性可以把所选择的(第一)数值的可靠性提升到一个更高数值。对于前面提到的实例,所述可靠性例如可以被提升到0.8。
[0057]一旦对于3D空间中的特定点计算出到所述表面的距离和相关联的可靠性,可以进一步定义如何通过八叉树来分解3D空间以便按照自适应方式对其进行采样。这在图3中示出。首先将所考虑的空间分解成一定数目的片段;例如4x4x4,从而是64个立方体。对于这些立方体的8个拐角点确定距离和可靠性量度。现在,当并非所有8个拐角点都具有相同符号的距离量度(这意味着其全部处于对象内部或者全部处于对象外部)时,对这些立方体进行进一步分解。递归地实施这一步骤,直到达到特定数目的分解为止。每个单元格的这一分解数目由L的数值表明,并且将是对于定义最终得到的模型的准确性而言非常重要的重要因素。
[0058]所述分解本身还依赖于不一致边缘的存在,正如图3的方框104中所表明的那样。不一致性意味着所述距离数值并非在一个八叉树的所有拐角点处都具有相同的符号。这样的单元格被进一步分解,并且对于这一调用将L的数值增加1,正如该方框中的符号L++所表明的那样。
[0059]这可以在出于说明性原因并且为了简单起见而使用的一个2D实例上进一步示出。图6a示出了 2D空间的初始分段,并且对于每一个单元格L=l。通过填充有灰色阴影的点线绘制出将要确定的等效表面模型2D投影。
[0060]在6个正方向的边缘处存在不一致性;也就是说所述距离函数的符号不同,从而表明一些拐角点处于表面模型外部,并且一些拐角点处于表面模型内部。这些正方形将被进一步分解。这在图6b中示出了。继续这一处理,直到达到最大分解目标水平Lmax为止。这一最大分解数值取决于处理能力、所涉及的摄影机的数目、对象本身、所需细节水平等等。在所述装置的实施例中对于Lmax所使用的典型数值是7。在图6c中所示的简化2D等效实例中,所述最大分解数值是3。在图3的流程图中,该最大分解水平也被标示为Lmax。
[0061]应当注意到,在图6c中仍然有2个边缘存在符号不一致性并且相邻的正方形并不处于相同水平(这些情况在图6c上通过箭头表明)。这是一个问题,并且为了解决这一问题,添加如图2中的方框200所示的使得八叉树分段一致的额外操作。
[0062]在图6d中,这一实现一致性的处理是通过在存在问题的边缘的方向上将相关的正方形分解到目标水平而实施的。现在不再存在边缘不一致性,并且最终完成八叉树分段。图4进一步示出了这一处理的一种实现方式。
[0063]在确定了其距离数值d’等于O的八叉树边缘处的拐角点之后,通过合并这些边缘点于是将构成一个3D平面,从而可以生成3D模型(例如通过使用移动立方体之类的现有网格生成方法;在后面的一段中将对此做出更加详细的解释)。但是为了进一步改进准确性,从而获得甚至更加一致和对噪声较不敏感的结果,添加如图2中的子模块400所示的附加的过滤操作,其中在整个八叉树上传播z和可靠性信息。这是通过取得八叉树结构的格栅的每一点并且查看其各个邻居而进行的。对于这一操作同样可能有多种方法,这里将说明其中一种实现方式。
[0064]对于格栅上的特定点,对3个八叉树轴当中的每一个轴上的邻居进行分析。如果所选距离的可靠性还高于例如0.7的阈值,则对这3个距离数值进行内插。如果所考虑的拐角点被标示为A,并且其在沿着X轴的相邻八叉树处的相邻拐角点被标示为B和C,并且如果B和C处的距离d’的可靠性良好(高于0.7),则可以根据下面的公式来计算X方向上的对应于拐角点A的距离的更新后的数值dAx”:
[0065]dAx” = (1-w) d,A+w (l/2d,B+l/2d,c)
[0066]其中d’ A、d’ B、d’ c是对应于各个拐角点A、B、C的早前选择的距离数值;
[0067]w是权重数值,例如0.5。
[0068]对于其他两个方向(y轴和z轴)实施类似的操作从而产生对应于dAy”和dAz”的数值,前提是这些拐角点同样具有足够的可靠性。如果不是的话,则不在该特定方向上实施更新。
[0069]1.对于可靠性数值实施相同的操作:
[0070]rAx” = (1-w) r,A+w(l/2r,B+l/2r,c)
[0071]随后可以基于dAx”、dAy”、dAz”的数值计算对应于拐角点A的最终更新,这例如是通过取得加权平均值来实现的,其中权重是基于做出贡献的邻居的可靠性数值:
[0072]dA” = (wAxdAx” +wAydAy” +wAzdAz” ) / (wAx+wAy+wAz)
[0073]其中wAx = Cr,B+r,c)/2 ;
[0074]假设其是早前对于在这些方向上可用的足够可靠的测量来计算的。
[0075]这一更新后面的推理在于,如果将要建模的表面基本上是平坦表面并且测量是正确的,则一条线上的中点到该表面的距离等于这条线的2个端点的平均距离。由于这在所有3个方向上都适用,因此对于输入数据中的某些差错可以产生良好的校正。
[0076]这一阶段在多次迭代中进行,因此可以根据输入数据的噪声统计量来选择“校正”的数量。应当提到的是,这样也会使得最终得到的3D模型变平滑,因此数据的噪声越多,所得到的3D模型的详细程度就越低。
[0077]图2的模块300中的用于检查是否将要实施附加更新的测试可以是关于预定迭代的数量的简单检查,其可以是用户输入的参数。
[0078]或者,可以对于各个拐角节点的可靠性数值的分布施加要求。其中一项这样的要求可以是平均可靠性应当高于特定数值(例如0.7)。在这种情况下,持续进行迭代直到这一要求得到满足为止,或者直到达到特定的最大迭代次数(在所述要求无法被满足的情况下)。
[0079]在距离量度传播之后,对于八叉树一致性进行附加的检查;距离量度可能已经发生了改变,并且八叉树应当反映出这些改变。
[0080]最后我们希望具有根据贯穿3D空间的表面复杂度来对3D空间进行分割的模型。如果没有表面贯穿3D空间的特定部分,则不应当进行进一步细化。但是在将要生成的3D模型的高度复杂的区段内,应当对3D空间进行充分地采样。
[0081]在这一阶段,获得具有相关联的距离数值d’的八叉树点的集合。所述ISO表面于是包括其距离数值d’等于O的3D八叉树拐角点的并集。带有其相关联的距离函数值的所述八叉树点的集合被提供到图1的下一个模块,从而在其中实施网格划分操作。
[0082]在这一阶段期间,对于其数值高于和低于O的相邻拐角点进行进一步的搜索。举例来说,如果在八叉树的特定边缘处,一个拐角点的距离数值为数值0.5,另一个拐角点的距离数值为-1,则该边缘处的这两个拐角点之间的一个内插确定点(其处在第一拐角点的1/3处)将被选择为用于实施网格划分的附加点。在另一种实现方式中,对于这一内插点的确定还可以把可靠性函数s纳入考虑。例如如果第一拐角点的距离数值0.5具有可靠性数值0.5,拐角点2的距离数值-1具有可靠性数值0.8,则具有估计距离数值O的内插点可以处于这两个拐角点的中间。
[0083]在图7中以前面提到的2D实例(在图6a_d中阐述)上的2D等效形式示出了这一内插处理的结果。
[0084]至此描述了所述方法的一个非常一般性的实施例。该方法还可以被使用在各种变型实施例中,比如图8中所描绘的系统S的实施例。
[0085]其中,被标示为PO、RO的第一输入包括属于一个或多个视频序列的一个或多个相继的2D+Z图像数据PO。在图8的实施例中仅描绘出一个视频序列。输入PO、RO还包括3D视频摄影机校准数据(图中未示出)连同这些z数据的可靠性信息R0。这些2D+Z数据从而被标示为PO,并且包括从真实生活3D视频帧或真实图像获得的像素数据,比如颜色、强度、深度等等。其例如可以通过立体摄影机来提供。一些2D+Z摄影机适用于还立刻提供关于其2D+Z输出的可靠性信息,这一可靠性信息被标示为R0。在其他实施例中,例如在图像由彼此靠近放置的两个单独的2D摄影机取得的情况下,必须计算z信息。在这些深度或者视差(其是深度的倒数值)计算期间,还可以计算所获得的深度或视差信息的可靠性。在其他实现方式中,可以通过特定于立体匹配方法的试探法从立体匹配处理导出可靠性数据。在其他替换实施例中,可以实施所谓的回检(back-check),这意味着对于重新计算的3D或2D像素数据与所计算的所述数据的匹配程度的控制,并且从而导出可靠性参数。可以通过处于O到I之间的一个数值来表示可靠性,其中O表明不可靠,I表明非常可靠的数据。
[0086]系统的S的第二输入包括3D模型。在图中,该3D模型是在前一个时间步骤中获得的模型,如果当前时间步骤被标示为t,则所述前一个时间步骤由t-Ι表示。在其他实施例中,可以采取现成的标准模型,这意味着没有来自先前生成的模型的反馈。
[0087]对于图8的实施例,初始模型(例如时间O处)也可以是例如从标准模型库中取得的此类标准模型。通过把该3D模型投影到3D空间中的几个视点,从该3D模型获得几个2D+Z投影数据集合(其被标示为Pl到Pn),在图8中描绘出空间中的η个不同视点。用于这些投影并且属于一种摄影机模型(比如针孔摄影机模型)的等效摄影机的投影参数涉及固有的和非固有的摄影机参数,其由内部摄影机本身的各项量度确定,比如像素尺寸、长宽t匕、偏斜和主点。
[0088]对于所述η个视点的选择取决于模型的形状;所述视点应当被选择成使得以最少数量的摄影机映射最大的对象表面。这是可以利用已知的技术解决的最大化处理,比如梯度下降、模拟退火、遗传算法等等。对于可以被投影到球面上并且同时保持各个原点与其投影之间的双射关系的形状,可以把摄影机放置在围绕对象的球面上,并且减少所述最大化处理中的自由度。或者所述摄影机参数可以是用户定义的。在这些投影操作期间,还可以确定所获得的2D+Z数据的可靠性,这是因为投影涉及从3D顶点坐标值到2D投影平面参数的重新计算。可以通过用可靠性给3D顶点加标签以试探方式确定所述可靠性,其中用以为3D顶点加标签的可靠性取决于这些特定点的预期移动。例如在考虑人类头部的模型时,可以假设围绕嘴部和脸颊的区段的移动将比前额的区段更加强烈,其中这些假设考虑到头部的规范化尺度/位置/旋转。
[0089]这η项投影数据及其相关联的可靠性在图1上被标示为PU Rl到Ρη、Rn。
[0090]在一个替换实施例中,在初始步骤(图8上未示出)中可能已将3D模型更新到实时数据的当前状态(例如面部特性被转移到3D模型),随后从该更新后的模型产生一定数目的2D+Z投影。投影的数目应当被选择成使得对于3D模型有足够的覆盖。
[0091]一旦获得这些投影及其相关联的可靠性数据,就根据参照图1和后续的图2到7解释的内容进行3D ISO表面模型的建立以及更新后的3D模型的后续生成。
[0092]虽然前面结合具体装置描述了本发明的原理,但是应当清楚理解的是,这里的描述仅仅是作为举例而非限制本发明的范围,本发明的范围由所附权利要求书限定。
【权利要求】
1.用于从包括2D+Z+可靠性信息的至少一项图像数据输入(Pl,R1(caml) ;...;Pn,Rn(camn))生成3D模型的方法,所述方法包括以下步骤:从所述至少一项图像数据输入建立3D表面,随后在所述3D表面上进行3D中的网格划分操作从而生成所述3D模型。
2.根据权利要求1的方法,其中,所述3D表面是通过应用在八叉树结构的拐角点处的距离函数的计算而生成的,从而使得所述八叉树结构处的具有预定数值的所述距离函数的拐角点将形成所述3D表面。
3.根据权利要求2的方法,其中,基于所述距离函数的数值对所述八叉树结构进行分段。
4.根据权利要求2或3的方法,其中,从以下各项计算所述距离函数:所述八叉树的一点到提供所述至少一项图像数据输入的等效摄影机的投影平面的投影,所述八叉树的所述点到所述等效摄影机的摄影机中心的距离,以及其像素坐标对应于所述点的投影的像素坐标的所述2D+Z输入数据的相应z值。
5.用于根据输入3D模型(3D模型(t-Ι))和包括2D+Z+可靠性信息的图像数据输入(PO,RO)生成更新后的3D模型(3D模型(t))的方法,所述方法包括对所述输入3D模型进行投影从而生成至少一项2D+Z+可靠性模型信息(P1,R1 ;P2,R2,...;Pn,Rn)的步骤,所述方法还包括以下步骤:根据在前权利要求1-4中任一项,从所述2D+Z+可靠性信息(PO,RO)以及从所述至少一项2D+Z+可靠性模型信息(Pl,R1 ;P2, R2,...;Pn, Rn)生成所述更新后的3D模型(更新后的3D模型⑴)。
6.根据权利要求5的方法,其中,在反馈环路中提供所述更新后的3D模型(3D模型(t))的先前生成的版本以作为所述输入3D模型。
7.用于从包括2D+Z+可靠性信息的至少一项图像数据输入(Pl,R1(caml) ;...;Pn,Rn(camn))生成3D模型的装置(A),所述装置适用于从所述至少一项图像数据输入建立3D表面,以便在所述3D表面上进行3D中的网格划分操作从而生成所述3D模型。
8.根据权利要求7的装置(A),其还适用于通过应用在八叉树结构的拐角点处的距离函数的计算生成所述3D表面,从而使得所述八叉树结构处的所述距离函数具有预定数值的拐角点将形成所述3D表面。
9.根据权利要求8的装置(A),其还适用于基于所述距离函数的数值对所述八叉树结构进一步进行分段。
10.根据权利要求8或9的装置(A),其还适用于从以下各项计算所述距离函数:所述八叉树的一点到提供所述至少一项图像数据输入的等效摄影机的投影平面的投影,所述八叉树的所述点到所述等效摄影机的摄影机中心的距离,以及其像素坐标对应于所述点的投影的像素坐标的所述2D+Z输入数据的相应z值。
11.用于从输入3D模型和2D+Z可靠性视频信息生成更新后的3D模型的系统,所述系统包括投影模块,其适用于根据至少一个相关联的摄影机从所述3D模型生成2D+Z和可靠性信息的至少一个集合,并且向根据在前权利要求5到7中任一项的装置提供所述2D+Z+可靠性信息的至少一个集合,所述装置还接收所述2D+Z+可靠性视频信息,并且适用于从所提供的2D+Z+可靠性信息的集合生成所述更新后的3D模型。
12.根据权利要求11的系统,其还包括用于提供先前生成的更新后的模型以作为所述输入3D模型的反馈连接。
13.一种计算机程序,其适用于在执行时实施根据权利要求1到6中任一项的任一种方法。
14.一种计算机可读存储介质,其包括用以使得数据处理装置实施根据在前权利要求1-6中任一项的方法步骤的指令。
【文档编号】G06T17/00GK104285242SQ201380023430
【公开日】2015年1月14日 申请日期:2013年4月29日 优先权日:2012年5月3日
【发明者】唐尼·媞加替, 萨米·利芬斯, 马滕·阿兹 申请人:阿尔卡特朗讯
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1