基于多个模型显示对象的制作方法

文档序号:31126494发布日期:2022-08-13 03:39阅读:54来源:国知局
基于多个模型显示对象的制作方法
基于多个模型显示对象
1.分案说明
2.本技术是分案申请,原案的申请号是201680039889.1,申请日是2016年10月04日,发明名称是“基于多个模型显示对象”。
3.相关申请的相交引用
4.本技术是于2015年10月7日提交的美国专利申请no.14/877,368的继续申请,其公开内容通过引用结合于此。
技术领域
5.本技术涉及基于多个模型显示对象。


背景技术:

6.对象的某些全景图像关联于与捕获图像的地理位置和取向有关的信息。例如,图像的每个像素可以与识别捕获图像的地理位置到对象(如果有的话)的表面(其外观由像素的视觉特性表示)的部分的角度的数据相关联。每个像素还可以与深度数据相关联,深度数据识别从捕获位置到由像素表示的表面的部分的距离。
7.基于深度数据可以生成出现在图像中的表面的位置的三维模型。模型可以包括其顶点与表面位置相对应的多边形。通过使用光线追踪将全景图像的视觉特性投影到模型上可以使多边形具有纹理。用户可以选择可以将模型显示给用户的有利点。


技术实现要素:

8.本公开的方面提供了一种系统,该系统包括一个或多个处理器、存储器,该存储器存储对象的表面相对于有利点的取向和视觉特性的模型以及可由该一个或多个处理器执行的指令。视觉特性可以包括表示来自第一有利点的表面的外观的第一组视觉特性和表示来自第二有利点的表面的外观的第二组视觉特性。指令可以包括:从与第一有利点和第二有利点不同的所请求的有利点接收对对象的图像的请求;识别来自第一组视觉特性的第一视觉特性和来自第二组视觉特性的第二视觉特性;基于表面相对于所请求的有利点和第一有利点的取向来确定第一视觉特性的第一权重值;基于表面相对于所请求的有利点和第二有利点的取向来确定第二视觉特性的第二权重值;基于第一和第二视觉特性以及第一和第二权重值确定所请求的图像的视觉特性;并提供所请求的图像。
9.本公开的方面还提供一种提供用于显示的图像的方法。该方法可以包括:从所请求的有利点接收对对象的图像的请求;访问对象的表面相对于有利点的取向和视觉特性的模型,其中视觉特性包括表示来自第一有利点的表面的外观的第一组视觉特性和表示来自第二有利点的表面的外观的第二组视觉特性,第一和第二有利点与所请求的有利点不同;识别来自第一组视觉特性的第一视觉特性和来自第二组视觉特性的第二视觉特性;基于表面相对于所请求的有利点和第一有利点的取向确定第一视觉特性的第一权重值;基于表面相对于所请求的有利点和第二有利点的取向确定第二视觉特性的第二权重值;基于第一和
第二视觉特性以及第一和第二权重值确定所请求的图像的视觉特性;并提供所请求的图像以供显示。
10.本公开的方面还提供了在其上存储程序的计算设备可读指令的非暂时性计算设备可读存储介质。指令在由一个或多个计算设备执行时可以使一个或多个计算设备执行方法,所述方法包括:从请求的有利点接收对对象的图像的请求;访问对象的表面相对于有利点的取向和视觉特性的模型,其中视觉特性包括表示来自第一有利点的表面的外观的第一组视觉特性以及表示来自第二视觉特性的表面的外观的第二组视觉特性,并且其中第一和第二有利点与所请求的有利点不同;识别来自第一组视觉特性的第一视觉特性和来自第二组视觉特性的第二视觉特性;基于表面相对于所请求的有利点和第一有利点的取向确定第一视觉特性的第一权重值;基于表面相对于所请求的有利点和第二有利点的取向确定第二视觉特性的第二权重值;基于第一和第二视觉特性以及第一和第二权重值确定所请求的图像的视觉特性;并提供所请求的图像以供显示。
附图说明
11.图1是根据本公开的方面的系统的功能图。
12.图2是对象相对于可捕获和显示对象的有利点的图。
13.图3是基于有利点和表面的取向生成的椭圆的图。
14.图4是纹素椭圆和像素椭圆的图。
15.图5是遮挡表面相对于可捕获和显示对象的有利点的图。
16.图6是外部表面相对于可捕获和显示对象的有利点的图。
17.图7是可以向用户显示的图像的示例。
18.图8是根据本公开的方面的示例流程图。
具体实施方式
19.概述
20.本技术涉及从与捕获对象的图像的有利点不同的有利点显示对象。例如,两个或更多个全景图像可以从两个不同的有利点捕获对象,并且用户可以从两个捕获点之间的位置请求对象的图像。系统可以通过将图像的相应片段与该片段是对象的相应表面的视觉准确表示的似然性成比例地一起混合来生成用户请求的图像。举例来说,当生成用户请求的图像时,系统可以基于捕获位置和用户请求的点与要显示的对象的表面的取向的关系来计算质量值。当片段被混合时,可以将更多的权重应用于具有比其它片段更好的质量值的片段。
21.作为说明,图2示出了捕获汽车的两个源图像的两个不同的有利点。在该示例中,捕获汽车的前方的角度在第一源图像中是相对正交的,而在第二源图像中是相对尖锐的。相反,捕获汽车的侧面的角度在第一图像中是相对尖锐的,而在第二图像中是相对正交的。该图还示出了用户选择观看汽车的有利点。
22.为了从用户选择的有利点显示对象,系统可以生成在每个源图像中捕获的所有表面的三维(3d)模型。例如,激光测距仪可以已经被用来准备深度图,而这个图又被用来准备源模型,源模型包括多边形网格,其顶点与沿着对象表面的点的位置相对应。
23.与每个源图像相关联的源模型也可以识别捕获点相对于模型的位置,并且系统可以使用该位置以将源图像中捕获的视觉信息投影到模型上。与一个源图像相关联的3d模型可以与相对于表面位置的与另一个源图像相关联的3d模型基本相同,但是投影到模型上的纹理的视觉特性可以根据捕获表面的角度而不同。
24.当确定要向用户显示的图像的像素的视觉特性时,系统可以使用光线追踪以及用户请求的有利点的位置来识别延伸穿过每个显示的像素的光线与模型的纹理(例如,纹素)相交的位置。系统可以将来自不同源图像的纹素混合在一起以确定所显示的像素的视觉特性(例如,色调、饱和度和亮度)。
25.当来自源图像的模型的纹素被混合在一起时,可以向来自一个源图像的纹素应用超过来自另一个源图像的纹素的更大权重。权重可以基于质量值,该质量值反映了纹素是要被显示的对象的视觉特性的准确表示的似然性。
26.在至少一个方面中,质量值可以取决于所显示的像素的分辨率相对于纹素的分辨率。例如,当每个显示的像素存在单个纹素时,可以定义发生最佳质量。相反地,当存在与单个像素相关联的许多纹素时(在直接捕获表面的纹理但以掠射角度观看时,可能发生),或者存在与单个像素关联的许多像素时(如果表面的纹理以掠射角度捕获但直接观看,则可能发生),可以定义发生低质量。
27.纹素的质量值可以基于用户定义和捕获有利点相对于要显示的表面的取向的位置来计算。作为说明,图3示出了两个点的位置:有利点和将向用户显示的模型表面上的点。该图还示出了表示锥体和平面相交的椭圆。该平面反映了表面相对于有利点的取向,例如由包含纹素的源模型多边形的顶点所定义的平面。锥体以从有利点延伸到表面点(“有利/表面线”)的线为中心。椭圆伸展的程度与表面的取向和从有利点观看表面的角度有关。如果有利/表面线完美正交于表面的取向,则椭圆将是圆。当有利/有面线的立体角相对于表面的取向变得更尖锐时,椭圆将变得更拉伸,并且椭圆的长轴相对于短轴的比率将增加。
28.可以基于在与捕获点相关联的椭圆(“纹素椭圆”)和与用户请求的有利点(“像素椭圆”)相关联的椭圆之间的差来确定纹素的质量值。图4提供了纹素椭圆和像素椭圆的示例。质量值可以根据像素椭圆的半径相对于在两个半径之间产生最大长度差的角度处的纹理椭圆的半径的比率来计算。
29.一旦已经为每个纹素计算了质量值,就可以将质量值应用为在混合期间的权重。例如,如果使用三个源图像来识别三个纹素t1、t2和t3,则输出可以被计算为(w1t1+w2t2+w3t3)/(w1+w2+w3),其中wn等于纹素的质量值。权重也可以以其他方式应用。
30.该系统还可以使用权重值来解决遮挡。如图5所示,用于确定所显示的像素的特性的光线可以延伸穿过在源图像中捕获的对象的表面,但是将在用户请求的有利点处被阻碍不能观看。该系统可以渲染前后表面,使得每个后表面的权重被设置为零。系统还可以生成图像,以便选择每个源图像内最接近观看者的表面以供显示,从而允许系统将来自两个模型的纹理混合在一起而不计算深度。
31.伪影也可以使用权重值来解决。例如,如图6所示,深度数据中的不连续性可以导致表面中的空隙被错误地建模为对象的表面。系统可以确定不存在表面的纹素的质量值,而不是从模型中去除这些不存在的表面。如果光线的角度与不存在的表面的取向相对正交,则与从不同有利点捕获的另一个表面上的纹素的质量值相比,纹素的质量值可以非常
低。然而,如果观看不存在表面的角度与不存在表面的取向相对平行,则表面上的纹素的质量值可以相对高。
32.系统可以用于从用户请求的有利点向用户显示对象。就此而言,如图7所示,用户可以能够从捕获源图像的有利点之外的有利点观看对象。
33.示例系统
34.图1示出了其中可以实现本文公开的方面的一个可能的系统100。在该示例中,系统100可以包括计算设备110和120。计算设备110可以包含一个或多个处理器112、存储器114和通常存在于通用计算设备中的其他组件。尽管图1在功能上将处理器112和存储器114中的每一个表示为也被表示为单个块的设备110内的单个块,但是该系统可以包括并且这里描述的方法可以涉及可能会或可能不会被存储在相同物理住房内多个处理器、存储器和设备。例如,下面描述为涉及单个组件的各种方法(例如,处理器112)可以涉及多个组件(例如,负载平衡服务器群中的多个处理器)。类似地,下面描述为涉及不同组件(例如,设备110和设备120)的各种方法可以涉及单个组件(例如,不是执行下面描述的确定的设备120),设备120可以将相关数据发送到设备110以供处理、接收确定的结果以供进一步处理或显示。
35.计算设备110的存储器114可以存储处理器112可访问的信息,包括可以由处理器执行的指令116。存储器114还可以包括可以由处理器112检索、操纵或存储的数据118。存储器114可以是能够存储相关处理器可访问的信息的任何类型的存储器,诸如能够存储非暂时性数据的介质。作为示例,存储器114可以是硬盘驱动器、固态驱动器、存储卡、ram、dvd、可写入存储器或只读存储器。另外,存储器可以包括分布式存储系统,其中诸如数据150的数据被存储在可以物理地位于相同或不同地理位置的多个不同存储设备上。
36.指令116可以是要由处理器112或其他计算设备执行的任何指令集合。就此而言,术语“指令”、“应用”、“步骤”和“程序”在本文中可以互换使用。指令可以以目标代码格式存储以供处理器立即处理,或者以另一种计算设备语言存储,包括根据需要解释或预先编译的独立源代码模块的脚本或集合。下面将更详细地解释指令的功能、方法和例程。处理器112可以是任何传统的处理器,诸如市售的cpu。或者,处理器可以是专用组件,诸如asic或其他基于硬件的处理器。
37.数据118可以根据指令116由计算设备110检索、存储或修改。例如,尽管这里描述的主题不受任何特定数据结构的限制,但是数据可以存储在计算机寄存器中,在关系数据库中作为具有许多不同字段和记录的表或xml文档。数据还可以以任何计算设备可读的格式格式化,诸如但不限于二进制值、ascii或unicode。此外,数据可以包括足以识别相关信息的任何信息,诸如数字、描述性文本、专有代码、指针、对存储在其他存储器中(诸如在其他网络位置处)的数据的引用,或者由功能用于计算相关数据的信息。
38.计算设备110可以在网络160的一个节点处,并且能够与网络160的其他节点直接和间接通信。尽管在图1中仅描绘了少数计算设备,但是典型的系统可以包括大量的连接的计算设备,其中每个不同的计算设备位于网络160的不同节点处。本文描述的网络160和中间节点可以使用各种协议和系统互连,使得网络可以是互联网、万维网、特定的内联网、广域网或本地网络的一部分。网络可以利用标准通信协议,诸如以太网、wi-fi和http、专用于一个或多个公司的协议以及前述的各种组合。作为示例,计算设备110可以是能够经由网络160与计算设备120进行通信的网络服务器。计算设备120可以是客户端计算设备,并且服务
器110可以通过使用网络160来显示信息来经由显示器122向设备120的用户135发送和呈现信息。尽管当如上所述发送或接收信息时获得了某些优点,但是本文描述的主题的其它方面不限于任何特定方式的信息传输。
39.计算设备120可以与具有如上所述的处理器、存储器和指令的服务器110类似地配置。计算设备120可以是旨在供用户使用的个人计算设备,并且具有通常与个人计算设备结合使用的所有组件(诸如,中央处理单元(cpu))、存储数据和指令的存储器、诸如显示器122(例如,具有屏幕、触摸屏、投影仪、电视机或可操作来显示信息的其他设备的监视器)的显示器、用户输入设备162(例如,鼠标、键盘、触摸屏、麦克风等)和相机163。
40.计算设备120还可以是能够在诸如互联网的网络上与服务器无线地交换数据的移动计算设备。仅作为示例,设备120可以是移动电话或诸如具有无线功能的pda、平板电脑、可穿戴计算设备或能够经由互联网获取信息的上网本的设备。该设备可以配置为与操作系统(诸如google的android操作系统、microsoft windows或apple ios)一起操作。就此而言,在此描述的操作期间执行的一些指令可以由操作系统提供,而其他指令可以由安装在该设备上的应用提供。根据本文描述的系统和方法的计算设备可以包括能够处理指令并且向人和/或包括缺乏本地存储能力的网络计算机和电视机顶盒的其他计算机发送数据的其他设备。
41.计算设备120可以包括诸如电路的组件130,以确定设备的地理位置和取向。例如,客户端设备120可以包括gps接收器131以确定设备的纬度、经度和高度位置。该组件还可以包括用于基于在客户端设备120处接收到的其他信号(诸如,如果客户端设备是蜂窝电话则在来自一个或多个蜂窝电话塔在蜂窝电话的天线处接收到的信号)来确定设备的位置的软件。它还可以包括磁罗盘132、加速度计133和陀螺仪134,以确定设备取向的方向。仅作为示例,设备可以确定其相对于重力方向或与其垂直的平面的俯仰、偏航或滚转(或其变化)。组件130还可以包括激光测距仪或类似的设备,用于确定设备和对象表面之间的距离。
42.服务器110可以存储地图相关信息,其至少一部分可以被发送到客户端设备。地图信息不限于任何特定的格式。例如,地图数据可以包括地理位置的位图图像,诸如由卫星或飞行器捕获的照片。
43.服务器110还可以存储图像,诸如,仅作为示例,平面照片、照片球或风景视频。最终用户可以捕获和上传图像,用于使照片可供以后访问或者搜索与该特征相关的信息的任何人访问的目的。除了由相机捕获的图像数据之外,单独的图像项目可以与附加数据相关联,诸如捕获日期、捕获时间、地理取向(例如,相机角度或方向)和捕获位置(例如,纬度、经度和高度)。
44.图像的部分可以与附加信息相关联,包括出现在图像内的特征的地理位置的模型。例如,该模型可以识别在全景图像中捕获的对象的表面的位置。表面的位置可以以不同的方式存储在存储器中,例如,其位置被定义为立体角和距固定位置的距离的点的星座(例如,与捕获图像的点的取向和距离)或者其顶点以纬度/经度/高度坐标表示的地理定位的多边形。该系统和方法可以进一步将位置从一个参考系统转换到另一个参考系统,诸如其位置从使用激光测距仪直接捕获或者通过使用立体三角测量从图像生成的点的星座生成地理定位的多边形的模型。位置也可以用其他方式表示,并取决于应用的性质和所需的精度。仅作为示例,地理位置可以通过街道地址、相对于地图的边缘(诸如,相对于街道地图的
边缘的像素位置)的xy坐标或能够识别地理位置的其他参考系统来识别(例如,测量地图上的批号和块号)。位置也可以由范围来描述,例如,地理位置可以由纬度/经度/高度坐标的范围或离散序列来描述。
45.示例方法
46.现在将描述根据本发明的各个方面的操作。应该理解,以下操作不必按照下面描述的精确顺序来执行。相反,可以按不同的顺序或同时处理各个步骤。
47.地理对象可以通过来自多个有利点的图像来捕获。作为示例,图2示出了分别在来自两个不同位置210和220的两个单独的图像215和225中捕获的汽车240。从有利点210来看,相机角度211相对于通常由汽车前面限定的平面202是相对正交的,并且相机角度212相对于通常由汽车侧面限定的平面201是相对尖锐的。相反,从有利点220来看,视角221相对于前平面202是相对尖锐的,并且视角222相对于侧平面201是相对正交的。(附图标记201和202可互换地用于指代车辆240的前表面和侧表面以及通常由这些表面限定的平面)。就此而言,从位置210和220捕获的图像捕获来自不同角度的车辆的不同表面,其中一个表面相对直线地捕获,而另一个表面从锐角捕获。
48.可以生成在图像中捕获的对象表面的位置的模型并将其与图像相关联。作为示例,源图像可以包括全景图像。在捕获源图像时,可以使用激光测距仪135或另一个深度确定技术来将全景图像的每个像素与从捕获位置到其视觉特性由像素表示的表面部分的距离相关联。基于这样的信息以及捕获图像的位置(例如,由gps接收器131所提供的纬度/经度/高度信息),系统可以生成包括多边形(例如,三角形)的网格的源模型,其顶点与沿着对象的表面的点的位置(例如,纬度/经度/高度)相对应。
49.在源图像中捕获的视觉特性可以被用来使与该源图像相关联的模型纹理化。例如,图像215和216的每个像素还可以与相机角度(例如,定义从相机延伸到与像素相关联的表面部分的光线的数据)相关联。相机角度数据可以基于地理组件130在图像被捕获时提供的信息,诸如由罗盘132提供的基本方向以及由陀螺仪134提供的取向数据。光线追踪可以用于将图像215的每个像素的视觉特性投影到模型216的多边形上,使得多边形与光线相交点处的视觉特性匹配相关联的像素的视觉特性。
50.多边形的视觉信息可以被存储为由纹素构成的纹理。仅作为示例,纹理的纹素可以以与可以布置图像的像素的方式相似的方式排列,例如,定义一个或多个视觉特性的网格或单独单元的其它集合。为了便于解释,以下描述的部分可以仅涉及像素或纹素的单个视觉特性,诸如颜色。然而,像素和纹素可以与定义包括色调、饱和度和亮度的许多不同视觉特性的数据相关联。
51.即使两个不同的源模型包括表面的位置的相同的表示,每个模型中的表面的视觉特性可以差别很大。例如,因为图像215以锐角212捕获汽车240的侧面201,所以汽车侧面的整个长度可以仅在图像215的几个像素中水平地出现。结果,当将像素信息投影到表示汽车侧面的多边形上时,来自单个像素的信息可以在水平取向上跨多个纹素拉伸。如果从有利点230显示模型216,则结果汽车侧面因此可以看起来具有长的水平条纹。然而,如果从有利点210(与投影纹理相同的位置)显示模型216,则车辆240的侧面201可能被显示为具有很少或不具有伪影。
52.系统可以组合从多个有利点捕获的视觉信息以从又一个有利点显示地理对象。例
如,用户可以从有利点230请求汽车240的图像235。当确定要向用户显示的图像的像素的视觉特性(“显示像素”)时,系统可以将每个显示的像素与从有利点延伸并通过包含像素的图像平面的光线相关联。系统可以确定每个像素的相关联光线与由模型定义的表面相交的点和纹素。例如,当确定在图像235中的像素的视觉特性时,系统可以确定像素的光线与模型216的多边形相交所在的纹素(t1)以及像素的光线与模型226的多边形相交所在的纹素(t2)。系统可以通过将t1的颜色和t2的颜色进行阿尔法混合来确定像素的颜色。
53.当相交纹素的视觉特性被混合在一起时,可以对从一个源图像导出的纹素应用超过从另一个源图像导出的纹素的更大权重。权重可以基于纹素是要显示的对象的视觉特性的精确表示的似然性。
54.在至少一个方面,质量值可以取决于所显示的像素的分辨率相对于纹素的分辨率;当每个显示的像素存在单个纹素时,可以定义发生最佳质量。相反,当存在与单个像素相关联的许多纹素或存在与单个纹素相关联的许多像素时,可以定义发生低质量。举例来说,可以生成第一多边形,其中对于投影到其上的每个像素存在单个纹素。如果像素从相对直的角度投射到第一多边形上,则纹理可以包括许多紧密聚集的纹素。如果这个多边形是直接显示的,则每个显示的像素可以存在大约一个纹素,因此纹理会被认为具有相对高的质量。然而,如果多边形是从锐角显示的,则每个显示的像素可以存在许多纹素,并且尽管纹理具有相对高的分辨率,但纹理将被认为具有相对低的质量。
55.作为进一步的示例,可以生成第二多边形,其中对于投影到其上的每个像素也存在单个纹素。然而,如果从相对锐角的角度将像素投影到第二多边形上,则纹理可以包括长且细的纹素。如果这个多边形然后被直接显示,则许多显示的像素将只从单个纹素导出它们的特征,在这种情况下纹理将被认为具有相对低的质量。然而,如果从相对锐角显示多边形,则对于每个显示的像素可以只存在一个纹素,在这种情况下,尽管纹理具有相对低的分辨率,但纹理将被认为具有相对高的质量。
56.纹素的质量值可以基于用户定义的和捕获的有利点相对于要显示的表面的取向的位置来计算。作为说明,图3的点320可以是将从其观看模型的地理位置多边形的地理位置。点330是与显示的像素相关联的相机角度与多边形相交的点。线“s”从有利点320延伸到交点330。锥体350以锐角立体角(“α”)从点320向外延伸。α的度量可以任意选择。也可以选择α的度量,使得锥体提供与从捕获纹理的位置看到的纹素相似的立体角,例如,纹理分辨率越高,锥体越小。椭圆310表示锥体350和平面(未示出)的相交。该平面反映在交点处的表面的取向,例如由包含交点330的多边形的顶点限定的平面。
57.椭圆被拉伸的程度与表面和有利点的取向有关。例如,如果线“s”完全正交于平面的取向(其将与直接观看表面相关联),则椭圆310将是完美的圆。当“s”的立体角相对于平面的取向变得更尖锐时,椭圆310将变得更加拉伸,并且椭圆的长轴(“b”)相对于短轴(“a”)的比率将增加,其中“n”为表面法线。可以根据等式a=αs
×
n和b=(n
·
s/|s|)(a
×
n)确定轴“a”和“b”。
58.纹素的质量值可以基于与从捕获位置延伸到交点的锥体相关联的椭圆(“纹素椭圆”)和从由用户选择的位置延伸到交点的锥体相关联的椭圆(“像素椭圆”)之间的差来确定。在图4中,纹素椭圆425与捕获位置420相关联,并且像素椭圆435与用户请求的有利点430相关联。在交点450处的纹素的质量值可以根据像素椭圆的半径相对于特定角度θ处的
纹素椭圆的半径的比率来计算,例如quality(θ)=radius
t
(θ)/radius
p
(θ)。在一个方面中,角度θ是产生最小比率的角度或者角度的估计。例如,可以在不同的θ值处计算质量值,并且纹素的质量值可以等于计算值中的最低者,例如quality
min
=quality(argmin
θ
{quality(θ)})。最小值可以通过以矩阵形式表示两个椭圆并将像素椭圆乘以纹素椭圆的逆来确定,其将纹素椭圆映射到其中纹素椭圆将是单位圆的坐标系统。在该坐标系统内,该比率等于重映射的像素椭圆的半径,并且最小比率等于重映射的像素椭圆的短轴长度。
59.可以通过将每个纹素椭圆轴投影到每个像素椭圆轴并选择给出最大比率的像素椭圆轴来估计质量值。举例来说,着色器可以通过根据等式quality
min
~1/max((a
t
·ap
)/(a
p
·ap
),(b
t
·ap
)/(a
p
·ap
),(a
t
·bp
)/(b
p
·bp
),(b
t
·bp
)/(b
p
·bp
))计算值来逼近最小质量值,其采样四个可能的方向并选择与最低质量值相关联的角度。其他方法也可以用来计算质量。
60.一旦已经计算了纹素的质量,可以使用质量来确定所显示的像素的颜色与纹素的颜色有多相似。例如,如果三个源图像被用来确定三个纹素t1、t2和t3,对于每个输入纹素和输出(w1t1+w2t2+w3t3)/(w1+w2+w3)可以在片段着色器中计算每个纹素的混合权重,其中wn等于纹素的质量值。权重也可以以其他方式应用,例如通过将质量值乘方。例如,通过以大指数提高权重,具有最大权重的表面可以支配其他权重,从而通过减少具有较低权重的纹素的影响来减少重像。
61.如图5中的示例所示,系统还可以使用权重值来解决遮挡。表面502和503是在来自有利点a的图像520中捕获的,并且表面501和503是在来自有利点b的图像530中捕获的。可以已经为每个图像520和531分别生成了模型521和531。当生成模型时,模型可以将纹理与多边形的特定侧面相关联。例如,表面502可以在模型521中由单个三角形表示,其中一个侧面朝向有利点a并且另一个侧面背离有利点a。当图像数据被投影到模型上时,模型可以指示是否纹理在面向有利点的三角形的侧面上。
62.当生成所请求的图像时,通过确定其相关联的纹理是否面向或背离所请求的有利点,并且通过确定纹理是否比相同模型中的其他纹理更接近有利点而隐藏遮挡表面。例如,当从有利点540确定显示的像素的颜色时,系统可以识别像素的相关联光线550与每个表面相交的所有点,即点511-513。系统还可以针对每个模型确定最接近有利点的相交纹素以及相交纹理的纹理是否位于面向有利点(“面向前面”)或背离有利点(“面向后”)的多边形的侧面上。因此,该系统可以确定t
511b
是在模型531中最接近的纹素并是面向前(其中“t
pppm”指的是在相交ppp的点并存储在与有利点m相关联的模型中的纹素)。系统还可以确定t
512a
是模型521中最接近的纹素并且是面向后。由于t
512a
面向后,系统可以将其权重自动设置为零。其结果是,与光线550相关联的像素的颜色可以通过(w
511b
t
511b
+w
512a
t
512a
)/(w
511b
+w
512a
)来确定,其中w
511b
为t
511b
所确定的质量值并且其中w
512a
设置为零。因此,显示的像素的颜色将与t
511b
相同。
63.或者,不是忽略某些纹理或将其权重设置为零,而是可以减小它们的相对权重。例如,不是将w
512a
设置为零并完全忽略t
513a
和t
513b
,而是将面向后的纹素和其他纹素也用于混合但权重减小。
64.还可以用权重值来处理伪影,其包括由深度数据中的不连续引起的伪影。例如,如图6所示,模型621可以与从位置620捕获的图像相关联,并且模型631可以与从位置630捕获
的图像相关联。表面601和602之间的间隙603可以准确地表示在模型621中。然而,由捕获时获取的深度数据或在生成模型631期间发生的一些其他错误引起的不准确可以导致模型631错误地指示表面635延伸跨过间隙603。如果从有利点640观看模型631,则外部表面635可以具有从间隙的一个边缘拉伸到另一个边缘的橡胶片的外观。在一些方面中,系统可以通过将模型621与模型631进行比较来检查并移除外部多边形。
65.在其他方面中,系统可以当生成用于显示的图像时使用外部表面。例如,用户可以请求从有利点640显示表面的图像。当确定模型621对与光线641相关联的像素的颜色的贡献时,系统可以将表面601上的点a识别为第一指示点。该系统还可以确定在点a处的纹素具有相对高的质量值,因为纹素被以与捕获它的角度(位置620)相似的角度被观看。当确定模型631对像素的颜色的贡献时,系统可以将外部表面635上的点b识别为第一交点。系统可以确定b点处的纹素具有相对低的质量值,因为纹素正在以相对正交于其被捕获的角度(位置630)的角度被观看。结果,当a点和b点处的纹素混合在一起时,相对少的权重将被应用到b点处的纹素;像素的颜色将几乎完全基于表面601上的点a的颜色。
66.从某些角度来看,外部表面可以对要显示的图像的视觉特性具有显著的贡献。例如,用户可以请求来自与模型631的捕获位置630相对接近的有利点650的图像。当确定模型631对与光线641相关联的像素的颜色的贡献时,系统可以将外部表面635上的点c识别为第一交点,并且可以进一步确定模型631的点c处的纹素具有相对高的质量值。当确定模型621对相同像素的颜色的贡献时,如果表面602未被模型表示,则系统可以识别没有交点。或者,如果表面602由模型表示,则模型621中的交点处的纹素的质量值可以相对低,因为从交点到有利点650的角度相对正交于从交点到捕获位置620的角度。在任一种情况下,并且因此,所显示的像素的颜色可以与外部表面的纹素基本相同。如果模型621不具有表面602的表示,则这可以是特别有利的,因为显示外部表面635可以比不显示任何东西(例如,指示不存在表面的颜色)更为优选。
67.用户可以使用系统并与模型交互。仅作为示例且参考图1,用户135可以使用客户端设备120的相机163和地理组件130来从多个有利点捕获图像数据和深度数据。用户135可以将图像和深度数据上传到服务器110。处理器112可以基于用户提供的数据为每个图像生成纹理模型,并将数据存储在存储器114中。服务器110然后可以接收对来自特定的有利点的对象的图像的请求。例如,用户135(或使用客户端设备121的不同用户)可以通过利用用户输入162选择地理位置并将请求发送到服务器110来请求在特定地理位置处的全景图像。在接收到请求时,服务器110可以基于所请求的地理位置(诸如通过选择具有在所请求的地理位置的阈值距离内的捕获位置或表面位置的所有或有限数量的模型)检索两个或更多个模型。然后,服务器可以经由网络160将模型发送到客户端设备120。在接收模型时,客户端设备120的处理器可以基于模型生成全景图像并且使用所请求的地理位置作为有利点。如果所请求的地理位置不包括高度,则有利点的高度可以基于模型的捕获位置的高度。
68.可以在显示器122上显示全景图像。例如并且参照图2和图7,如果汽车240的模型216和226被发送到客户端设备,则汽车240的图像710可以基于有利点230生成并显示给用户。用户可以通过经由客户端设备的用户界面提供命令(例如,按下按钮以平移图像)来选择与捕获位置不同的其他有利点。
69.图8是根据上述一些方面的流程图。在框801处,访问对象的表面的模型,其包括:
对象的表面相对于第一有利点和第二有利点的取向;表示来自第一有利点的表面的外观的第一组视觉特性;以及表示来自第二有利点的表面的外观的第二组视觉特性。在框802处,接收对于来自与第一有利点和第二有利点不同的所请求的有利点的对象的图像的请求。在框803处,从第一组视觉特性中识别第一视觉特性,并从第二组视觉特性中识别第二视觉特性。在框804处,基于表面相对于所请求的有利点和第一有利点的取向来为第一视觉特性确定第一权重值。在框805处,基于表面相对于所请求的有利点和第二有利点的取向来为第二视觉特性确定第二权重值。在框806处,基于第一视觉特性和第二视觉特性以及第一权重值和第二权重值来确定所请求的图像的视觉特性。在框807处,提供所请求的图像以向用户显示。
70.由于可以在不脱离根据权利要求所限定的本发明的情况下利用上述特征的这些和其它变型和组合,所以对实施例的前述描述应当作为说明而不是通过限制根据权利要求所定义的本发明。还将理解的是,提供本发明的示例(以及表述为“诸如”、“例如”、“包括”等的短语)不应该被解释为将本发明限制为具体的示例;相反,这些示例只是为了说明许多可能的方面中的一些。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1