首页> 中国专利> 视野独立的3D场景纹理化背景

视野独立的3D场景纹理化背景

摘要

一种用于视野独立色彩均衡3D场景纹理化的所揭示的实例方法包含:捕获对象的多个关键帧;存取包括所述对象的表面网模型的所述对象的三维3D表示,所述表面网模型包括多个多边形;针对每个多边形,基于与所述多个关键帧中的一个的对应于所述多边形的一部分相关联的一或多个图像质量特性将所述关键帧的分配到所述多边形;减小所分配的关键帧的数目,方法是改变所分配的关键帧之间的关联;以及针对具有所分配的关键帧的所述表面网模型的每个多边形:至少部分地基于与所述多边形相关联的所述多个关键帧的一或多个图像质量特性均衡所述多边形的至少一部分的纹理色彩;以及将所述均衡的纹理色彩分配到所述对象的所述3D表示。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-02-28

    未缴年费专利权终止 IPC(主分类):G06T11/00 专利号:ZL2015800081637 申请日:20150220 授权公告日:20190521

    专利权的终止

  • 2019-05-21

    授权

    授权

  • 2016-11-09

    实质审查的生效 IPC(主分类):G06T11/00 申请日:20150220

    实质审查的生效

  • 2016-10-12

    公开

    公开

说明书

背景技术

例如RGB-D摄像机或其它感测装置等装置可用于追踪三维环境中的对象并且用于收集信息以用于创建由所述装置捕获的对象或场景的模型。此捕获的信息可出于需要重构成像场景或场景中的对象的多种目的使用。

捕获此类型的信息的基于视觉的三维(“3D”)系统引起关注对象的良好的几何表示,但是如果它们捕获色彩信息的话则根本不能很好的表示它们的色彩。许多先前已知的系统针对模型顶点计算色彩。这引起在近距离地观察模型时的模糊的对象。其它已知的系统可以使用视野依赖性纹理化以保持场景表示尽可能真实,但是由于照明、阴影、暴露时间和其它问题视野依赖性纹理化可能引起跨越模型的不均匀特性,所述不均匀特性可能跨越可用于创建模型的多个视图改变。校正整个对象的色彩的已知的色彩校正系统并不充分补偿这些问题。

用于视野独立色彩均衡3D场景纹理化的系统和方法可提供用于重建3D场景或对象的色彩和整个模型质量的改进。

发明内容

各种实例是针对视野独立色彩均衡3D场景纹理化描述的。一个所揭示的实例方法包括:捕获对象的多个关键帧;存取包括对象的表面网模型的对象的三维(“3D”)表示,表面网模型包括多个多边形;针对多个多边形的第一组多边形中的每个多边形,基于与多个关键帧中的一个的对应于多边形的的一部分相关联的一或多个图像质量特性将关键帧分配到多边形;减小所分配的关键帧的数目,方法是改变所分配的关键帧与所述多个多边形的第二组多边形之间的关联;以及针对具有所分配的关键帧的表面网模型的每个多边形:至少部分地基于与多边形相关联的多个关键帧的一或多个图像质量特性均衡多边形的至少一部分的纹理色彩;以及将均衡的纹理色彩分配到对象的3D表示。在另一实例中,计算机可读媒体编码有程序代码以使得处理器执行此类方法。

用于视野独立色彩均衡三维场景纹理化的另一个所揭示的实例方法包括:捕获对象的多个关键帧;存取包括对象的表面网模型的对象的三维(“3D”)表示,表面网模型包 括多个多边形;针对表面网模型的多个多边形的第一组多边形中的每个多边形:识别与所述多边形相关联的关键帧;基于多个多边形的第二组多边形的所识别的关键帧的一或多个图像质量特性分配所识别的关键帧中的一或多个关键帧;针对第二组多边形中的每个多边形的每一像素:基于在一或多个所分配的关键帧中的每一个中的对象上的对应的点的纹理色彩计算像素的加权平均纹理色彩;以及将加权平均纹理色彩分配到对象的3D表示。在另一实例中,计算机可读媒体编码有程序代码以使得处理器执行此类方法。

用于视野独立色彩均衡三维场景纹理化的一个所揭示的实例系统包括:计算机可读媒体;以及与所述计算机可读媒体通信的电子处理器,所述电子处理器经配置以:接收对象的多个关键帧;存取包括对象的表面网模型的对象的三维(“3D”)表示,表面网模型包括多个多边形;针对多个多边形的第一组多边形中的每个多边形,基于与对应于多边形的关键帧的一部分相关联的一或多个图像质量特性将多个关键帧中的一个分配到多边形;减小所分配的关键帧的数目,方法是改变所分配的关键帧与所述多个多边形的第二组多边形之间的关联;以及针对具有所分配的关键帧的表面网模型的每个多边形:至少部分地基于与多边形相关联的多个关键帧的一或多个图像质量特性均衡多边形的至少一部分的纹理色彩;以及将均衡的纹理色彩分配到对象的3D表示。

提到这些说明性实例并非是限制或限定本发明的范围,而是实际上提供辅助本发明的理解的实例。在具体实施方式中论述说明性实例,说明性实例提供进一步的描述。通过各种实例提供的优势可以通过检查本说明书而得到进一步理解。

附图说明

并入到本说明书中且构成本说明书的一部分的附图说明了一或多个特定实例,并且与实例的描述一起用于阐释特定实例的原理和实施方案。

图1示出了实例场景;

图2A、2B和3示出了用于视野独立色彩均衡3D场景纹理化的实例方法;

图4A示出了实例对象和对象的3D表示;

图4B-4C示出包含对象的3D表示的对象的实例关键帧;

图4D示出了具有来自分配到对象的3D表示的多边形的关键帧的纹理的对象的实例3D表示;

图5-6示出了用于视野独立色彩均衡3D场景纹理化的实例方法;

图7-8示出了用于视野独立色彩均衡3D场景纹理化的实例计算装置;以及

图9示出了用于视野独立色彩均衡3D场景纹理化的实例分布环境。

具体实施方式

本文中在视野独立色彩均衡3D场景纹理化的情形下描述了实例。所属领域的一般技术人员将认识到以下描述仅是说明性的且并非意图以任何方式进行限制。现将详细参考如附图中所说明的实例的实施方案。相同参考指示符将贯穿图式使用并且以下描述是指相同或类似项。

为了清楚起见,并未示出和描述本文中描述的实例的全部的常规特征。当然,将了解在任何此类实际实施方案的研发中,必须作出众多实施方案特定的决策以便实现研发人员的特定目标,例如,符合应用和企业相关约束,并且这些特定目标将在实施方案之间以及研发人员之间是不同的。

下文描述了用于视野独立色彩均衡3D场景纹理化的说明性实例方法。在此实例中,捕获来自不同视点(或视角)的三维对象的多个图像。举例来说,图1示出了具有两个对象120、130的场景100,其中的每个对象具有相应的纹理121、131。从不同视点116、118捕获了场景100的多个图像。举例来说,摄像头装置110可用于捕获场景的图像并且可以移动到不同位置以从不同的视点捕获场景。这些图像中的一些或全部可随后表示为关键帧,所述关键帧可用于提供可用于确定视野独立色彩均衡3D场景纹理化的信息。

在已经捕获对象120、130的图像之后,针对在图像中捕获的整个场景产生3D网表示,例如,三角形网,然而在一些情况下3D网表示可以仅针对一或多个对象产生。随后,对于在针对例如对象130的特定对象的网中的每个多边形,关键帧中的一个被识别为是该多边形的最佳关键帧。在这种情况下关键帧的最佳性是基于多边形和关键帧的被称作图像质量特性的多种属性中的一或多个确定的,例如,多边形在关键帧中是否是封闭的、从多边形到摄像头装置110的距离、多边形相对于图像的平面的角度,视野误差,其基于深度图和场景内的对象的姿态。假定多边形并不部分或完全封闭在特定关键帧中,这些参数中的每一个经加权且用于计算相对于每个多边形的每个关键帧的分数。对于每个多边形,具有最好分数的关键帧被分配到多边形。

在分析全部的多边形之后,所分配的关键帧的数目随后减小以减小过程的剩余部分的计算复杂性。举例来说,所分配的关键帧中的一些可以仅分配到少量多边形而其它的分配到大量多边形。因此,可能有利的是识别分配到相对较少数目的多边形的那些关键帧且用较高数目的所分配的多边形改变到关键帧的那些多边形的分配,且随后消除不需要的关键帧。

此过程可能引起多边形以与最初分配的关键帧相比较低的分数分配到关键帧,然 而,如果识别到来自先前确定的最佳关键帧的可接受水平的最佳性内的关键帧,那么可以改变多边形的分配。另外,在不可获得其它可接受的关键帧的一些情况下,可能优选的是消除多边形并且移除所分配的关键帧以获得改进的计算效率。在一些实例中,至多例如10%的可接受阈值数目的多边形可能不具有分配的关键帧。

一旦已经减小关键帧的数目,则可以基于其相关联的关键帧确定每个多边形的纹理,如下文所述。每个多边形的纹理随后使用全部可获得的关键帧进行均衡,在这些关键帧中多边形并不封闭。为了确定多边形的纹理,多边形的每个顶点基于其中多边形并不封闭的全部关键帧分配有加权纹理色彩值并且其中加权是基于多边形的法向量与关键帧的平面之间的角度。举例来说,在多边形的法向量垂直于关键帧的平面的情况下,关键帧的纹理色彩值可以很大程度上加权,而具有相对于多边形的10度的入射角的关键帧可以分配有非常低的加权。对加权的纹理色彩进行求和以及平均以提供相应的顶点的纹理色彩。

随后使用每个顶点的加权平均纹理色彩计算纹理色彩均衡倍数,方法是比较每个顶点的加权平均纹理色彩与来自相应的所分配关键帧的对象上的相关联的点的纹理色彩。一旦多边形的全部的顶点已被分配加权纹理色彩值,当多边形稍后呈现时,多边形内的像素的纹理色彩值基于多边形的顶点的纹理色彩和纹理色彩均衡倍数内插。因此,可以存储对象的3D网表示中的顶点的纹理色彩直至对象稍后呈现。另外,因为3D网中的顶点的纹理色彩是基于来自多个不同视角的纹理色彩信息的,所以色彩信息更好的表示对象的视野独立的色彩。

本文中描述的实例可通过特定多边形的纹理中的专业化色彩均衡创建3D网模型,所述特定多边形经选择以创建视野独立的3D网模型。这允许使用从可具有不同图像特性的多个关键帧聚集的纹理进行模型多边形的视野独立纹理化的色彩校正。这可进一步允许3D模型中的对象的准确的色彩表示同时补偿对比改变,照明依赖性色彩改变或可能影响用于创建3D模型的图像的其它问题。另外,本文中描述的实例可改进计算复杂性或效率,方法是选择可能最好地表示3D模型的方面同时还减少用于均衡3D模型的色彩信息的图像的数目的来自图像的数据。

根据本文中描述的实例色彩均衡方法创建的3D模型可以用于可以在虚拟世界中使用的、集成到图像或视频中的(以任何所希望的定向)或甚至用于色彩3D印刷的对象的照片真实感重建。

现在参考图2A,图2A示出了用于视野独立色彩均衡3D场景纹理化的实例方法200。图2A的方法200可以通过任何合适的计算装置执行或在合适的计算环境内执行,例如, 下文相对于图7-9论述的那些。作为各种实例的一部分,可以使用合适的装置或系统。特定实例可使用SLAM(同时位置和映射)或PTAM(并行追踪和映射)系统的方面作为识别摄像机姿势或摄像机相对于所捕获的对象或场景的位置的方式。各种替代实例还可以使用这些映射系统以创建系统的几何模型,或用于收集可以用于3D模型的创建的各种数据。

图2A的方法200在框210中开始,此时具有摄像机的例如计算装置110的计算装置捕获对象的多个关键帧。在此实例中,计算装置110采用其摄像机或用于捕获关键帧的其它合适的方式以从多个不同透视点捕获对象的图像。再次参考图1,场景100包含两个对象120、130并且说明了从不同位置116、118和视角捕获对象120、130的两个不同图像的计算装置110。在一些情况下,计算装置110可捕获对象120、130的两个以上图像。举例来说,计算装置110可以经配置以捕获视频并且可以随着计算装置移动到不同位置记录对象的视频。在此情况下,如果计算装置110每秒捕获30帧的视频并且记录5秒的对象120、130的视频,那么计算装置110将捕获对象120、130的150个图像。在一些实例中,计算装置110本身可能不具有摄像机,但是可以实际上从另一装置接收关键帧或者可以从例如硬盘驱动器或快闪存储器装置的计算机可读媒体获得关键帧。在这些实例中,当计算装置110接收来自其它装置的图像时或者当计算装置110从计算机可读媒体读取图像时计算装置110捕获图像。举例来说,用于捕获关键帧的一些合适的方式包含网络接口以及网络接口与计算装置的处理器之间的电互连。用于捕获关键帧的一些其它合适的方式包含电路以用于存取存储在例如硬盘或闪存驱动器等计算机可读媒体上的图像或存储在数据库中的图像。

特定图像在本文中可以被称作“关键帧”。如本文所论述的一组关键帧是指捕获足以创建对象或场景的3D模型或对象或场景的一部分的信息的一组图像。此类关键帧可仅周期性地采集,可在处理器的分析之后选择,或可由用户手动选择。在某些实例中,关键帧可以经选择使得来自一个关键帧的对象或场景的封闭部分被验证为有待通过至少一个其它关键帧捕获。在某些实例中,关键帧可以是满足涉及模糊、深度误差、封闭特性、对象距离、对象角度或任何其它此类相关特性的阈值特性的帧。

在计算装置110捕获关键帧之后,方法前进到框220。

在框220处,计算装置存取包括对象的表面网模型的对象的3D表示。举例来说,参考图2A,在计算装置110已经捕获场景100和对象130的图像之后,计算装置110产生包含对象的场景的3D三角形网表示,然而在一些实例中,计算装置可能仅产生对象本身的3D三角形网表示。举例来说,计算装置100可根据已知的方法计算场景的3D 三角形网或者可以将信息传输到另一计算装置,所述另一计算装置产生场景的3D三角形网。现在参考图4A,示出了对象130的实例表面网402。在此实例中,表面网402包含多个多边形133a-f,在此实例中是三角形,每个具有三个顶点。在其它实例中,3D表示可以包含表面网,所述表面网包含其它种类的多边形。

在一些方面,计算装置110可存取在计算机可读媒体中的对象的先前产生的3D表示或来自数据存储装置的对象的先前产生的3D表示。在一些方面,计算装置110可能使用除了三角形外的多边形产生3D网或者可能存取包括除了三角形外的多边形的3D网。举例来说,用于存取包括表面网模型的对象的3D表示的合适的方式包含用于存取存储在例如硬盘或闪存驱动器的计算机可读媒体上的或存储在数据库中的3D表示的电路。

在计算装置110捕获关键帧之后,方法前进到框230。

在框230处,计算装置110开始在对象的3D表示中处理多边形。计算装置针对3D表示的每个多边形执行框232的功能性。因此,在框230处,计算装置110确定3D表示的任何多边形是否未被处理。如果任何多边形仍然有待处理,那么计算装置从3D表示中选择多边形并且方法300前进到框232,否则的话它前进到框240。

在框232处,计算装置110基于与对应于多边形的关键帧的一部分相关联的一或多个图像质量特性将多个关键帧中的一个分配到多边形。根据此实例,计算装置110分析每个关键帧以确定关键帧是否应该被分配到多边形。现在参考图2B,图2B示出了用于将关键帧分配到多边形的实例方法202。图2B中所示的方法202可以用作图2A的方法200的框230、232的功能性的一部分。在一些实例中,用于将多个关键帧中的一个分配到多边形的方式可以将图2B的方法202实施为由处理器执行的软件。

图2B的方法202在框230中开始,其中计算装置110从对象的3D表示中选择多边形。在已经选择多边形之后,所述方法前进到框232a。

在框232a处,计算装置110确定任何关键帧是否仍然有待分析。在一些方面,如将相对于方法200更详细地描述,一些关键帧可以标记为无资格用于分配,它们未被认为是剩余的,尽管尚未得到处理以用于分配到多边形。举例来说,计算装置110可已经从不同视角中捕获了两个关键帧,例如,图4B和4C中所示的两个关键帧410、420。在框232a处,可以选择这些关键帧410、420中的一个以用于进行处理。如果关键帧仍然有待分析,那么计算装置110选择关键帧中的一个并且方法202前进到框232b,否则的话方法202前进到框232g。

在框232b处,计算装置110确定多边形是否是在关键帧中可见的。在此实例中, 计算装置110确定多边形是否是在关键帧中完全可见的或者它是否已经部分或完全地封闭。如果多边形并不在关键帧中完全可见,那么关键帧被确定为不合适用于进一步的处理。然而,在一些实例中,如果多边形仅是部分地封闭的,那么计算装置110可确定多少多边形在关键帧内是可见的并且如果足够百分比或足够数目的多边形的顶点是可见的,那么关键帧可以适用于进一步的处理。为了确定多边形是足够可见的,计算装置可比较在关键帧中可见的多边形的百分比或多边形的可见的顶点的数目与预定义或可调节的阈值。在一些方面,可以分析多个特性,例如,可见的多边形的百分比、可见的多边形的顶点的数目、多边形距离视点的距离或其它特性,并且比较每个特性与阈值或确定分数,其中所述分数是随后与阈值进行比较的。阈值中的一或多个可以是例如由使用者预定义的或可调节的。

如果多边形在关键帧中是足够可见的,那么方法202前进到框232c。如果多边形在关键帧中并不是足够可见的,那么计算装置110将最小分数分配到关键帧,或者不包括关键帧用于进一步的考虑,并且方法202返回到框232a。

在框232c处,计算装置110计算多边形的平面与图像的平面之间的角度。举例来说,为了计算角度,计算装置110可计算垂直于多边形的向量和垂直于图像的平面的光线并且计算法向量与光线之间的角度。在计算角度之后,方法202前进到框232d。

在框232d处,计算装置110确定多边形距离视点的距离。在一个例子中,计算装置110存取与场景相关联的深度图并且基于深度图确定距离。在一些实例中,计算装置110可以计算相对于对象的3D表示中的其它多边形距离视点的距离,例如,基于最接近用于关键帧的视点的顶点的位置的像素深度。在一些方面,3D表示可以包含每个多边形的(x,y,z)坐标并且距离可以从最接近用于关键帧的视点的顶点到例如多边形的图心的多边形内的位置计算。在计算装置110已经确定距离视点的多边形的距离之后,所述方法前进到框232e。

在框232e处,计算装置110确定与关键帧相关联的视野误差。在此实例中,计算装置110基于关键帧中的对象的姿态和深度图中的误差确定视野误差。举例来说,计算装置110可基于3D表示和关键帧确定姿态。另外,在一些实例中,计算装置110可从另一处理器或软件中接收对象的姿态,例如,同时定位与地图绘制(“SLAM”)软件。另外,如上文所论述,在一些实例中,计算装置110还可以访问深度图,所述深度图可用于计算视野误差。在深度图可获得的方面中,计算装置110可仅基于关键帧中的对象的姿态确定视野误差,或基于姿态和其它参数确定视野误差。举例来说,计算装置110可通过计算姿态参数和深度图误差参数确定视野误差并且将视野误差确定为:视野误差 =姿态*深度图误差。在其它实例中,不同计算可以用于确定视野误差。

在计算装置110已经在框232e处确定视野误差之后,方法202前进到框232f。

在框232f处,计算装置110计算关键帧分数。在一些实例中,关键帧分数表示基于一或多个输入用于关键帧的质量参数。在此实例中,关键帧分数是基于框232c-e的输出,然而在其它实例中,这些框232c-e中的一或多个可以被消除或被涉及关键帧的质量的其它合适的确定代替。举例来说,因为在一些情况下,对象的3D表示可以包括与关键帧相比多的多的多边形,所以关键帧可以分配到一个以上多边形。因此,在一些方面,用于关键帧分数的加权因子可以基于关键帧是否已经分配到多边形来使用。在一些情况下,加权因子可以基于关键帧已经分配到的多边形的数目而改变。

在此实例中,计算装置110根据以下公式计算关键帧分数:分数=角度*(距离)2*视野误差。在计算装置110已经在框232f处计算关键帧分数之后,方法202返回到框232a。

在框232g处,计算装置110将关键帧分配到多边形。在计算装置110已经针对多边形处理全部的关键帧之后,计算装置110确定哪个关键帧具有最好的分数。在一些方面,较低分数可表示更好的关键帧,而在其它方面中较高分数可表示更好的关键帧。因此,基于关键帧的分数,计算装置110确定分配到多边形的关键帧。举例来说,具有关键帧分数的最好或最佳分数的关键帧被分配到多边形。

然而,在一些情况下,没有可以分配到多边形的关键帧。举例来说,如果多边形在全部关键帧中都是封闭的,那么将没有关键帧分配到它。根据此实例此类多边形将被标记且移除而不进行任何进一步的处理。

在计算装置110已经分配关键帧之后,方法202完成。如果方法202作为图2A中所示的方法200的一部分执行的话,那么计算装置110前进到图2A的方法200中的下一个步骤。

再次参考图2A,在框232处计算装置110已经将关键帧分配到多边形之后,所述方法返回到框230以处理任何剩余的多边形。在此实例中,任何剩余的多边形是如上文所述相对于框232处理的。一旦全部多边形已经分配到关键帧,则方法200前进到框240。

在框240处,计算装置110开始处理关键帧以通过进入包括框240-244的处理回路减小分配到多边形的关键帧的数目。在一些方面,用于通过改变分配关键帧与多个多边形之间的关联减小所分配的关键帧的数目的方式包括用于在处理器上执行包括框240-244的处理回路的软件。在框240处,计算装置110确定是否应该消除额外的关键帧,例如,通过确定剩余的关键帧的数目且比较剩余的关键帧的数目与阈值。在一些方面中,阈值可以是预配置的或可调节的,例如,由使用者。在一些方面,计算装置110 确立移除的关键帧的数目,例如,通过确立由处理框230和232产生的所分配的关键帧的总数的百分比。

在此实例中,计算装置110根据与每个关键帧相关联的多边形的数目对关键帧进行排序。计算装置110随后选择具有最少数目的相关联的多边形的关键帧并且确定相关联的多边形的数目是否超过阈值。如果相关联的多边形的数目达到或超过阈值,那么计算装置110确定不应该移除额外的关键帧,但是如果相关联的多边形的数目小于阈值,那么计算装置确定应该移除额外的关键帧。

在一些实例中,在执行框230-232的处理回路时计算装置110可针对每个多边形存储关键帧的列表和相对于多边形的相关联的分数。计算装置110可随后检查与特定关键帧相关联的每个多边形以确定多边形是否具有替代关键帧,该替代关键帧具有在相关联的关键帧的分数的阈值百分比内的分数。对于具有可接受的替代关键帧的每个多边形,计算装置可递增计数器,并且在分析与关键帧相关联的每个多边形之后,分析计数器是否表示具有满足阈值百分比的可接受的替代关键帧的相关联的多边形的百分比。因此,计算装置110能够确定移除特定关键帧是否将引起在选择有待移除的关键帧之前输出的质量的实质减小。

如果计算装置110确定应该移除额外的关键帧,那么方法200前进到框242。如果计算装置110确定不应该移除额外的关键帧,那么方法200前进到框250。

在框242处,计算装置110识别有待移除的关键帧。在此实例中,计算装置110根据与每个关键帧相关联的多边形的数目对关键帧进行排序。计算装置110随后选择具有最少数目的相关联的多边形的关键帧。在一些实例中,计算装置110可选择分配到少于阈值数目的多边形的任何关键帧。在某一实例中,计算装置110可选择有待在单个步骤中移除的多个关键帧。举例来说,计算装置110可选择与少于阈值数目的关键帧相关联的全部关键帧。

在选择有待移除的关键帧之后,方法200前进到框244。

在框244处,计算装置110重新分配与有待移除的关键帧相关联的多边形。在此实例中为了重新分配多边形,计算装置110针对分配到有待移除的关键帧的每个多边形重新执行处理回路230-232的功能性,但是将有待移除的关键帧预设为具有最小分数,或者将有待移除的关键帧标记为无资格进行分配。因此,随着处理回路230-232执行以将多边形重新分配到新关键帧,并非全部的关键帧得到处理,而是仅未被标记为无资格的关键帧得到处理。另外,如上文所论述,在一些情况下,替代的合适的关键帧可能不可用于一或多个多边形。在一些实例中,此类多边形未作为方法200的一部分由计算装置 110进一步处理。在一些方面,计算装置110可维持不与关键帧相关联的多边形的数目的参数或计数。现在参考图4D,图4D示出了多边形到关键帧的实例分配以及来自关键帧的相关联的纹理。在图4D中所示的实例中,多边形131a-b、e-f已经分配到一个关键帧320,而多边形131c-d已经分配到另一个关键帧330。

在分配到选定关键帧的多边形已经被移除之后,所述方法返回到框240。

在框250处,计算装置110进入另一处理回路。在框250处,计算装置110开始处理多边形以均衡多边形的纹理色彩。在框250处,计算装置110确定额外的多边形是否仍然有待处理。在此实例中,计算装置110不包括处理不与任何关键帧相关联的任何多边形。如果额外的多边形仍然有待处理,那么方法200前进到框252,否则的话方法200结束。

在框252处,计算装置110基于与多边形相关联的关键帧的一部分的纹理色彩均衡多边形的至少一部分的纹理色彩,并且将均衡的纹理色彩分配到对象的3D表示。

在此实例中,计算装置110基于来自顶点并不封闭的全部关键帧的多边形的纹理确定与多边形的每个顶点相关联的加权纹理色彩。在一些方面,计算装置110可仅采用多边形的法向量与关键帧的平面之间的角度小于例如85度的阈值的关键帧,所述关键帧可以是预定义的或可调节的。在此实例中,计算装置110使用全部的关键帧用于此步骤,而不是先前产生的多边形的减小的组,然而在一些方面,计算装置110可使用多边形的减小的组。

为了在此实例中计算多边形的顶点的加权纹理色彩,计算装置110针对每个关键帧确定多边形的法向量与关键帧的平面之间的角度。角度随后被转换成加权参数,并且对于并不封闭在关键帧中的多边形的每个顶点,在对应于顶点的关键帧中倍增像素的纹理色彩。对加权的纹理色彩进行求和以及平均以产生顶点的纹理色彩。

在确定多边形的顶点的加权纹理色彩之后,计算装置110比较每个顶点的加权平均纹理色彩与同多边形相关联的关键帧中的对应的像素的纹理色彩,并且基于顶点的所计算的加权平均纹理色彩与像素的纹理色彩之间的差异确定均衡倍数,因此产生多边形的每个顶点的均衡倍数。在一些方面,均衡倍数可以被计算为像素的加权平均纹理色彩与同多边形相关联的关键帧中的对应的像素的纹理色彩之间的比率,而在一些方面中均衡倍数可以基于此类比率和其它参数,例如,相对于多边形的关键帧的分数。均衡倍数随后与顶点相关联。在计算装置110在框252处均衡多边形的顶点的纹理色彩之后,方法200返回到框250。

一旦已经处理全部的多边形,则方法200前进到框260。

在框260处,计算装置110存储均衡的纹理色彩信息。举例来说,计算装置110可以将均衡倍数存储为3D表示内的顶点参数。在一些实例中,计算装置110可以在与3D表示相关联的单独的数据结构中存储均衡倍数,例如,在单独的文件或单独的数据库记录中。

在已经存储均衡的纹理色彩信息之后,方法200结束。

现在参考图3,图3示出了用于视野独立色彩均衡3D场景纹理化的实例方法300。图3的方法300可以通过任何合适的计算装置执行或在合适的计算环境内执行,例如,下文相对于图7-9论述的那些。作为各种实例的一部分,可以使用合适的装置或系统。特定实例可使用SLAM(同时位置和映射)或PTAM(并行追踪和映射)系统的方面作为识别摄像机姿势或摄像机相对于所捕获的对象或场景的位置的方式。各种替代实例还可以使用这些映射系统以创建系统的几何模型,或用于收集可以用于3D模型的创建的各种数据。

图3的方法300在框310中开始,此时具有摄像机的例如计算装置110的计算装置捕获对象的多个关键帧,如上文相对于图2的框210所述。

在计算装置110捕获关键帧之后,所述方法前进到框320。

在框320处,计算装置110存取包括对象的表面网模型的对象的3D表示,如上文相对于图2的框220所述。

在计算装置110存取对象的3D表示之后,所述方法前进到框330。

在框330处,计算装置110针对多个多边形的第一组多边形中的每个多边形基于与对应于多边形的关键帧的一部分相关联的一或多个图像质量特性将多个关键帧中的一个分配到多边形,如上文相对于图2A的方法200或图2B的方法202的框230-232所述。在一些实例中,如上文所述,没有关键帧可以与多边形相关联,例如,由于在全部关键帧中的多边形的封闭。因此,多个多边形的第一组多边形可以包括未封闭在至少一个关键帧中的多边形。在一些实例中,虽然关键帧可以在至少一个关键帧中是可见的,但是此类关键帧的分数可以低于阈值,并且因此,没有关键帧可以分配到多边形。因此,多个多边形的第一组多边形可以包括具有所分配的多边形的多边形。

在计算装置110在框330处将关键帧分配到多边形之后,所述方法前进到框340。

在框340处,计算装置110减小所分配的关键帧的数目,方法是改变所分配的关键帧与多个多边形的第二组多边形之间的关联,如上文相对于图2A的方法200的框240-244所述。在一个例子中,计算装置110识别有待移除的关键帧。在此实例中,计算装置110根据与每个关键帧相关联的多边形的数目对关键帧进行排序。计算装置110 随后选择具有最少数目的相关联的多边形的关键帧。在一些实例中,计算装置110可选择分配到少于阈值数目的多边形的任何关键帧。在某一实例中,计算装置110可选择有待在单个步骤中移除的多个关键帧。举例来说,计算装置110可选择与少于阈值数目的关键帧相关联的全部关键帧。

计算装置110重新分配与有待移除的关键帧相关联的多边形。在此实例中为了重新分配多边形,计算装置110针对分配到有待移除的关键帧的每个多边形重新执行处理回路230-232的功能性,但是将有待移除的关键帧预设为具有最小分数,或者将有待移除的关键帧标记为无资格进行分配。因此,随着处理回路230-232执行以将多边形重新分配到新关键帧,并非全部的关键帧得到处理,而是仅未被标记为无资格的关键帧得到处理。另外,如上文所论述,在一些情况下,替代的合适的关键帧可能不可用于一或多个多边形。在一些实例中,此类多边形未作为方法200的一部分由计算装置110进一步处理。在一些方面,计算装置110可维持不与关键帧相关联的多边形的数目的参数或计数。

在此实例中,并且在一些情况下,在减小关键帧的数目之后,一或多个多边形可能不再具有所分配的关键帧。因此,具有所分配的关键帧的剩余的多边形表示多个多边形的第二组多边形。

在关键帧的数目已经足够地减小之后,例如,基于预定阈值,方法300前进到框350。

在框350处,针对具有所分配的关键帧的表面网模型的每个多边形,计算装置110至少部分地基于与多边形相关联的多个关键帧的一或多个图像质量特性均衡多边形的至少一部分的纹理色彩,如上文相对于图2的方法200的框250-252所述。

在计算装置110已经在框350处完成处理之后,所述方法300前进到框360。

在框360处,计算装置110将均衡的纹理色彩分配到对象的3D表示,如上文相对于图2A的方法200的框250-260所述。

现在参考图5,图5示出了用于视野独立色彩均衡3D场景纹理化的实例方法500。图5的方法500可以通过任何合适的计算装置执行或在合适的计算环境内执行,例如,下文相对于图7-9论述的那些。作为各种实例的一部分,可以使用合适的装置或系统。特定实例可使用SLAM(同时位置和映射)或PTAM(并行追踪和映射)系统的方面作为识别摄像机姿势或摄像机相对于所捕获的对象或场景的位置的方式。各种替代实例还可以使用这些映射系统以创建系统的几何模型,或用于收集可以用于3D模型的创建的各种数据。

图5的方法500在框510中开始,此时具有摄像机的例如计算装置110的计算装置捕获对象的多个关键帧,如上文相对于图2的框210所述。

在计算装置110捕获关键帧之后,所述方法前进到框520。

在框520处,计算装置110存取包括对象的表面网模型的对象的3D表示,如上文相对于图2的框220所述。

在计算装置110存取对象的3D表示之后,所述方法前进到框530。

在框530处,计算装置110开始在对象的3D表示中处理多边形。计算装置针对3D表示的每个多边形执行框532的功能性。因此,在框530处,计算装置110确定3D表示的任何多边形是否未被处理。如果任何多边形仍然有待处理,那么计算装置从3D表示中选择多边形并且方法500前进到框531,否则的话所述方法前进到框540。

在框531处,计算装置110均衡在对象的3D表示中的一个多边形的纹理色彩。根据此实例,计算装置110分析每个多边形以确定在多边形内(仅与多边形的顶点相反)的像素和在一些实例中在一个多边形内的全部像素的均衡的纹理色彩。

在框532处,计算装置110计算选定多边形中的每一像素的加权平均纹理色彩。在此实例中,计算装置110基于其中像素并不封闭的全部关键帧确定与像素相关联的加权纹理色彩。在一些方面,计算装置110可仅采用多边形的法向量与关键帧的平面之间的角度小于例如85度的阈值的关键帧,所述关键帧可以是预定义的或可调节的。然而,在此实例中,计算装置110使用全部关键帧用于此步骤。

在此实例中为了计算像素的加权纹理色彩,计算装置110针对每个关键帧确定多边形的法向量与关键帧的平面之间的角度。所述角度随后被转换成加权参数并且针对关键帧中的像素的纹理色彩倍增。对加权的纹理色彩进行求和以及平均以产生像素的纹理色彩。所确定的纹理色彩值随后作为3D表示的一部分被分配到像素。举例来说,计算装置110可以将纹理色彩值存储为纹理的一部分以应用到3D表示内的多边形。在一些实例中,计算装置110可以在与3D表示相关联的单独的数据结构中存储纹理色彩值,例如,在单独的文件或单独的数据库记录中。

图5的方法500可提供计算上更昂贵的方法到视野独立色彩均衡3D场景纹理化,但是当均衡的纹理色彩时可考虑额外的数据。另外,在一些实例中,图2A的方法200可以与图5的方法500组合。举例来说,虽然图2A的方法将关键帧分配到多边形,但是图5的方法可以扩展以将关键帧分配到个体像素并且在每像素基础上而非每多边形基础上执行图2B中所示的方法202的功能性。另外,此类组合方法可能没有减小关键帧的数目,然而在一些实例中除了将关键帧分配到个体像素之外,计算装置110还可以通过在每像素基础上执行框240-244的功能性来减小关键帧的数目。因此,可以根据一或多个实例实施执行如图5中所描述的每像素分析但是并入有如相对于图2A-2B所描述的 关键帧分配、关键帧重新分配或纹理色彩均衡的一或多个方面的混合方法。

现在参考图6,图6示出了用于视野独立色彩均衡3D场景纹理化的实例方法600。图6的方法600可以通过任何合适的计算装置执行或在合适的计算环境内执行,例如,下文相对于图7-9论述的那些。作为各种实例的一部分,可以使用合适的装置或系统。特定实例可使用SLAM(同时位置和映射)或PTAM(并行追踪和映射)系统的方面作为识别摄像机姿势或摄像机相对于所捕获的对象或场景的位置的方式。各种替代实例还可以使用这些映射系统以创建系统的几何模型,或用于收集可以用于3D模型的创建的各种数据。

图6的方法600在框610中开始,此时具有摄像机的例如计算装置110的计算装置捕获对象的多个关键帧,如上文相对于图2的框210所述。

在计算装置110捕获关键帧之后,所述方法前进到框620。

在框620处,计算装置110存取包括对象的表面网模型的对象的3D表示,如上文相对于图2的框220所述。

在计算装置110存取对象的3D表示之后,所述方法前进到框630。

在框630处,针对多个多边形的第一组多边形中的每个多边形,计算装置110识别与多边形相关联的一或多个关键帧。举例来说,计算装置110识别其中多边形并不封闭的全部关键帧。在一些实例中,计算装置110识别多边形的法向量与关键帧的平面之间的角度小于例如85度的阈值的一或多个关键帧,所述关键帧可以是预定义的或可调节的。如上文所论述,在一些情况下,一或多个多边形可能不是在任何关键帧中可见的,或者可能不满足一或多个质量指标,例如,描述角度阈值。因此,此类多边形可能不包含于第一组多边形中。

在计算装置110已经识别与多边形相关联的一或多个关键帧之后,方法600前进到框640。

在框640处,计算装置110基于多个多边形的第二组多边形的所识别的关键帧的一或多个图像质量特性分配所识别的关键帧的一或多个关键帧。举例来说,计算装置110可执行图2的方法200的框230-232的功能性,然而,计算装置110可将具有足够分数的每个关键帧分配到多边形,并非仅具有最好分数的关键帧。如上文所论述,由于关键帧的分数没有超过最小阈值分数,一些多边形可能没有分配关键帧。因此,分配有一或多个关键帧的多边形包括第二组多边形。

在计算装置110已经在框640处将关键帧分配到多边形之后,所述方法前进到框650。

在框650处,针对第二组多边形中的每个多边形的每一像素,计算装置110基于一或多个所分配的关键帧中的每一个中的对象上的对应的点的纹理色彩计算像素的加权平均纹理色彩,方法是执行图5的方法500的框530-532的功能性。

在计算装置110已经计算加权平均纹理色彩之后,方法600前进到框660。

在框660处,计算装置将加权平均纹理色彩分配到对象的3D表示,例如,通过在数据库中存储与对象的3D表示相关联的加权平均纹理色彩或作为3D表示的一部分。

现在参考图7,图7示出了用于视野独立色彩均衡3D场景纹理化的计算装置700的一个实例。在此实例中,计算装置700包括:移动装置,例如,智能电话,所述移动装置包含处理器710、WAN无线收发器712和相关联的天线714、摄像机701、LAN无线收发器742和相关联的天线744、显示器输出703、用户输入模块704;以及一或多个存储器,其经配置以存储操作系统723、关键帧分配模块721、色彩均衡模块722和数据库724。在此实例中,计算装置700经配置以从摄像机的角度捕获现实世界环境或场景的图像或视频。处理器710经配置以执行关键帧分配模块721和色彩均衡模块722以提供视野独立色彩均衡3D场景纹理化。举例来说,摄像机701可捕获场景中的对象的图像或视频,关键帧分配模块721可将关键帧分配到对象的3D多边形网表示中的多边形,并且色彩均衡模块722可产生针对对象的3D表示的均衡色彩信息,并且可以根据本文中描述的实施例将均衡色彩信息存储在数据库724中或者可以显示器输出703。在一些实例中,计算装置700可以经配置以使用WAN无线收发器712或LAN收发器742传输均衡色彩信息。

图8示出了用于视野独立色彩均衡3D场景纹理化的计算装置800的一个实例。图1的计算装置110可以连接到例如计算装置800的装置,或者根据计算装置800的细节计算装置110可以在替代实施例中实施。在此实例中,计算装置800包含一个或多个处理器810、一或多个存储装置825、一或多个输入装置815、一或多个输出装置820、通信子系统830和存储器835,它们中的全部经由一或多个通信总线805彼此通信。存储器835经配置以存储程序代码以用于由一或多个处理器810执行,例如,操作系统840和一或多个应用程序845。举例来说,存储器835可存储软件应用程序以用于提供根据本发明的视野独立色彩均衡3D场景纹理化。

图9示出了可以用于与用于视野独立色彩均衡3D场景纹理化的各种实例结合的网络,其中计算装置110可以耦合到图9中所示的网络的部分或者可以使用此类网络的资源以作为实施方案的一部分执行处理,其中图2A-2B的方法的部分可以使用网络连接的资源实施。在一个实例中,例如计算装置110的一或多个装置连接到网络910。计算装 置110经配置以从例如数据库920a-b的一或多个数据存储装置存取对象的3D表示。在一些实例中,装置可以经配置以访问互联网以获得3D对象表示,或者存储色彩均衡信息。

虽然本文中的方法和系统是就在各种机器上执行的软件而言描述的,但是所述方法和系统也可以实施为专门地配置的硬件,例如,专门用于执行各种方法的现场可编程门阵列(FPGA)。举例来说,实例可以在数字电子电路中实施,或者在计算机硬件、固件、软件中实施,或者可以在其组合中实施。在一个实例中,装置可以包含一或多个处理器。处理器包括计算机可读媒体,例如,耦合到处理器的随机存取存储器(RAM)。处理器执行存储在存储器中的计算机可执行程序指令,例如,执行用于编辑图像的一或多个计算机程序。此类处理器可包括微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)和状态机。此类处理器可进一步包括例如PLC的可编程电子装置、可编程中断控制器(PIC)、可编程逻辑装置(PLD)、可编程只读存储器(PROM)、电子可编程只读存储器(EPROM或EEPROM)或其它类似裝置。

此类处理器可包括媒体,例如,计算机可读媒体,或可与所述媒体通信,所述媒体可存储在由处理器执行时可使得所述处理器执行在本文中描述为由处理器执行或辅助的步骤的指令。计算机可读媒体的实例可以包含但不限于能够提供具有计算机可读指令的处理器的电子、光学、磁性或其它存储装置,所述处理器例如网络服务器中的处理器。媒体的其它实例包括但不限于软盘、CD-ROM、磁盘、存储器芯片、ROM、RAM、ASIC、配置的处理器、所有光学媒体、所有磁带或其它磁性媒体或计算机处理器可从其读取的任何其它媒体。所描述的处理器和处理可在一或多个结构中,并且可分散在一或多个结构中。处理器可包括用于执行本文中所描述的方法(或方法的部分)中的一或多者的代码。

仅出于说明和描述的目的呈现一些实例的上述描述且并非意图是详尽的或将本发明限制于所揭示的精确形式。在不脱离本发明的精神和范围的前提下其许多修改及调适对于所属领域的技术人员而言是显而易见的。

本文中参考实例或实施方案意味着结合实例描述的特定特征、结构、操作或其它特性可以包含于本发明的至少一个实施方案中。本发明并不受限于如此描述的特定实例或实施方案。在说明书中“在一个实例中”、“在一实例中”、“在一个实施方案中”或“在一实施方案”中的短语的外在或其在各种位置中的变化不必是指相同实例或实施方案。在本说明书中关于一个实例或实施方案描述的任何特定特征、结构、操作或其它特性可以与对于任何其它实例或实施方案而言描述的其它特征、结构、操作或其它特性组合。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号