从图像确定镜面反射性的制作方法

文档序号:10540912阅读:584来源:国知局
从图像确定镜面反射性的制作方法
【专利摘要】本公开的各方面一般地涉及确定对象的镜面反射性。作为示例,对象或几何形状的区域512、712、812、1304可以被选择。包含几何形状的区域512的图像510、520、或620、或710、720、或810、820或1306的集合可以被捕获。该图像的集合可以被过滤,以移除未很好地示出该几何形状的区域的图像,诸如如果该区域在阴影中或被另一个对象遮挡。针对每个图像,确定针对该区域的强度值的集合。至少基于当特定图像被捕获时捕获该特定图像的相机的方向,确定针对每个图像的角度值的集合。平均强度的集合和角度值的集合被配对并且拟合到曲线636、840、1308。至少基于该拟合,然后对该区域的镜面反射性进行分类。
【专利说明】从图像确定镜面反射性
[0001] 相关申请的交叉引用
[0002] 本申请是2014年6月30日提交的第14/319,024号美国专利申请的延续,该美国专 利申请是2013年12月16日提交的第14/107,210号美国专利申请(现为第8,805,088号美国 专利)的延续,它们的内容通过引用并入本文。
【背景技术】
[0003] 各种系统可以被用来确定对象的镜面反射性。通常,这些系统利用在实验室环境 中的特定照明和表面条件。因此,在非实验室环境下从图像中对对象的镜面反射性建模可 能充满噪声并且更困难。作为示例,所未知的数目可以变得非常大,使得针对许多不同对象 的大量数据的处理效率低下且耗时,即使少量的图像(诸如40或更少)也是这样。在一些示 例中,整个过程可能中断并且提供无意义的结果。

【发明内容】

[0004] 本公开的方面提供用于确定镜面反射性的计算机实现的方法。该方法包括由一个 或多个计算设备选择几何形状的区域;由一个或多个计算设备标识包含该几何形状的区域 的图像的集合;由一个或多个计算设备确定针对图像的集合中的每个图像的区域的强度值 的集合;由一个或多个计算设备至少基于当特定图像被捕获时捕获该特定图像的相机的方 向来确定针对图像的集合中的每个图像的角度值的集合;由一个或多个计算设备将该强度 值的集合和角度值的集合拟合到曲线;以及由一个或多个计算设备至少基于该拟合来对该 区域的镜面反射性进行分类。
[0005] 在一个示例中,确定强度值集合还基于确定针对在图像的集合中的每个图像中的 区域的平均强度值。在另一个示例中,确定角度值集合还基于针对几何形状的区域的表面 法线的方向。在另一个示例中,确定该角度值的集合还基于当特定图像被捕获时的太阳的 方向。在另一个示例中,该拟合包括使用偏移高斯曲线。在另一个示例中,该方法还包括使 用镜面反射性分类以提供几何形状的区域的3D表示的各方面用于显示。在另一个示例中, 该方法还包括将平均强度的集合和角度值的集合组合成元组的集合,并且其中拟合还基于 该元组。在另一个示例中,几何形状的区域是3D三角形,并且其中确定针对图像的集合中的 每个图像的区域的强度值的集合还包括以2D将几何形状的区域投影到图像的集合中的每 个图像上。在另一个示例中,该方法包括从计算设备接收渲染包括该区域的图像的请求,该 请求包含相机角度,以及向计算设备提供指令以基于相机角度和该区域的镜面反射性分类 来渲染该图像。
[0006] 本公开的另一方面提供用于确定镜面反射性的方法。该方法包括,由一个或多个 计算设备将对象划分成多边形形状的表面几何形状图块的集合;针对多边形形状的表面几 何形状图块的集合的每一个特定图块,由一个或多个计算设备通过标识在不同时间从不同 定向捕获的对象的图像的集合以及通过确定针对该图像的集合中的每个图像的特定图块 的平均强度值、确定针对图像的集合中的每个图像的特定图块的角度值来确定曲线拟合模 型;并且由一个或多个计算设备使用针对每个特定图块的曲线拟合模型来确定针对此特定 图块的发光(shininess)程度。
[0007] 在一个示例中,该方法包括由一个或多个计算设备在对象的共同表面的邻近图块 之间传播发光程度。另一个示例中,传播还包括使用针对特定图块中的至少一个图块的发 光程度来执行腐蚀过程以及随后使用漫水填充过程。在另一个示例中,曲线拟合模型的至 少一个曲线拟合模型是半角波瓣(half-angle lobe)模型。在另一个示例中,强度值是针对 特定图块的平均强度值。在另一个示例中,将对象划分成多边形形状的表面几何图块的集 合包括将由多个三角形组成的3D场景转换成统一形状的三角形的集合。在另一个示例中, 该方法还包括通过标识针对给定的图像集合的相机位置和图块位置的组合来过滤给定图 块的给定的图像集合,基于该组合确定给定的图块对于相机位置的可视性,以及确定在每 个图像被捕获时给定的图块对太阳的可视性。在另一个示例中,还基于如下假设来确定每 个特定模型曲线拟合:针对此特定模型曲线拟合的角度值的集合中的最大角度值对应于曲 线的峰值被。在另一个示例中,每个特定发光程度还基于模型曲线拟合的相对峰值高度而 确定。在另一个示例中,每个特定发光程度还基于针对模型曲线拟合的高度的阈值而确定。
[0008] 本公开的进一步的方面提供了用于确定镜面反射性的系统。该系统包括一个或多 个计算设备。该一个或多个计算设备被配置成:选择几何形状的区域;标识包括该几何形状 的区域的图像的集合;确定针对图像的集合中的每个图像的区域的强度值的集合;至少基 于在特定图像被捕获时特定图像的相机的方向,确定该图像集合中针对图像集合中的每个 图像的角度值的集合;将强度值的集合和角度值的集合拟合到曲线;以及至少基于该拟合 来对该区域的镜面反射性进行分类。在一个示例中,该一个或多个计算设备还被配置成通 过确定针对该图像集合中的每个图像的区域的平均强度值来确定强度值的集合。
【附图说明】
[0009] 图1是根据本公开的各方面的示例系统的功能图。
[0010] 图2是图1的示例系统的图画示意图。
[0011] 图3A和3B是根据本公开的各方面的飞行路线和航空图像配置的示例。
[0012] 图4A和4B是根据本公开的各方面的从图像中的对象反射的光的图。
[0013 ]图5A和5B是根据本公开的各方面的对象的示例图像。
[0014]图6A和6B是根据本公开的各方面的示例数据的图。
[0015]图7是根据本公开的各方面的图像、对象以及示例数据的图的示例。
[0016] 图8是根据本公开的各方面的图像、对象以及示例数据的图的另一示例。
[0017] 图9是根据本公开的各方面的对图块分类的示例图。
[0018]图10是根据本公开的各方面的3D模型的示例图像。
[0019]图11是根据本公开的各方面的3D模型的另一示例图像 [0020]图12是根据本公开的各方面的3D模型的又一示例图像.
[0021]图13是根据本公开的各方面的另一系统图。
[0022]图14是根据本公开的各方面的流程图。
【具体实施方式】
[0023] 概述
[0024] 该技术一般关于使用从各个角度拍摄的多个航空照片来确定镜面反射性。在一个 示例中,确定表面是否具有发光材料包括确定表面图块(patch)在从太阳反射的光线与从 相机中心朝向该图块的光线相对准时是否更亮。如果该图块的观察到的强度在对准角度周 围是高的并且针对另外的角度较暗,那么这可以是针对发光材料的指标。所有其它情况可 以被假定为是非发光材料。
[0025] 通过确定对象是否是发光的(或者,例如对象的镜面反射性的水平),这样的对象 可以以对用户显得更真实的方式而被渲染。例如,如果用户正在观看实际地理位置(诸如城 市)的三维(3D)模型,对象的镜面反射性可以被用来突出该模型的某些区域,使得看起来太 阳在天空中的特定位置等。因此,当用户行进穿过和环绕该城市的三维模型时,用户可以能 够看到反射在建筑物上的太阳。这可以为用户提供这样的感觉:他或她正在观看真实的自 然环境或真实的城市,而不仅仅是在观察静态的、无生气的视图。
[0026] 为了做出镜面反射性确定,可以选择一块几何形状。该几何形状可以对应于用于 生成地理区域的3D模型的3D网格的一个或多个部分。作为示例,"图块(patch)"可以指所选 择的几何形状的单一的部分或最小的表面元素。如果3D网格是由三角形组成的,图块可以 因此对应于小三角形的地理区域。在这方面,一块几何形状的镜面反射性可以针对每个单 独的三角形或所选择的几何形状的图块来确定。在其它的示例中,图块可以指集合三角形 或3D网格的多边形。
[0027] 接下来,可以标识能够有可能观察所选择的几何形状的图像。例如,该图像可以是 由安装在飞机或无人驾驶载具上的相机采集的大量航空图像的部分。在这方面,可以有从 不同角度所捕获的相同几何形状的数个图像。
[0028] 由于对能很好地观察所选择的几何形状的图像进行标识是很重要的,因而图像中 被遮挡或遮蔽的区域可以被忽略。在这方面,可以对该几何形状进行遮挡检查和阴影检查, 以确保图块对与特定图像相关联的相机位置和太阳位置是可见的。由于与邻居在法线上的 高偏离、过大或过小的尺寸、或非常细长的图块形状这些原因,图块还可以从拟合过程中被 排除。
[0029] 针对所选择的几何形状的每个图块,可以确定平均强度值。为此,该图块的区域可 以被投影到所标识的图像上,其中该图块对于相机和太阳是可见的。针对该图块的平均强 度然后可以被聚集到矢量中,诸如矢量X。
[0030] 使用描绘该图块的图像,可以产生针对每个图块的反射分布的模型。该模型可以 仅利用少量的参数,以允许其在噪声存在的情况下工作,该噪声例如来自在几个小时到几 天的期间以及使用一组不同的相机拍摄的航空图像。作为示例,指定针对任何可能的方向 的、给定入射辐射时的出射辐射的双向反射分布函数(BDRF)的各方面可以被用来生成这些 模型。全BRDF可能很快变得非常复杂并且可能不是从嘈杂的航空图像数据直接确定镜面反 射性的有效方式。在一个示例中,该模型可以使用各种元素,包括但不限于,在半程(halfway) 矢量和到该图块的法线之间测量的角度的余弦。该半程矢量可以指太阳的方向和捕获 该图像的相机的方向之间的角度半程。针对该图块的余弦值可以然后被聚集在矢量中,诸 如矢量y。
[0031] 矢量然后被组合成元组并且曲线被拟合到元组。作为示例,元组可以是(Xl,yi),其 中^是矢量X的第i个元素并且yi是矢量y的第i个元素。鲁棒的曲线拟合技术(诸如非线性最 小二乘优化)可以用来拟合偏移的高斯曲线。高斯的相对峰值高度和高斯的偏移水平之间 的差值或者相对峰值高度越大,该图块越有可能是镜面的。在这方面,每个图块可以根据给 定的拟合的特定门限值而被分类成镜面的或非镜面的。在一些示例中,图块的镜面反射性 可以被用来估计附近的图块的镜面反射性,例如使用漫水填充(flood fill)算法。此外,不 同的曲线形状可以用来将图块分类成不同类型的材料。如上所述,这些分类可以用来渲染 地理区域的3D模型的更真实的视图。
[0032]示例系统
[0033]图1和2包括示例系统100,上文中描述的特征可以在该示例系统100中实现。它不 应该被视为限制本公开的范围或本文所描述的特征的有用性。在这个示例中,系统1〇〇可以 包括计算设备110、120、130和140以及存储系统150。计算设备110可以包含一个或多个处理 器112、存储器114和通常存在于通用计算设备中的其它部件。计算设备110的存储器114可 以存储可由处理器112访问的信息,包括可以由处理器112执行的指令116。
[0034]存储器还可以包括可以由处理器检索、操纵或存储的数据118。存储器可以是能够 存储可由处理器访问的信息的任何非暂态类型,诸如硬盘、存储卡、R0M、RAM、DVDXD-R0M、 能够写入的存储器以及只读存储器。
[0035]指令116可以是将由处理器直接地(诸如机器码)或间接地(诸如脚本)执行的任何 指令集合。在这方面,术语"指令"、"应用"、"步骤"、和"程序"在本文中可以互换使用。指令 可以被存储成用于由处理器进行的直接处理的目标码格式,或任何其它计算设备语言,包 括脚本或者按需解释或提前编译的独立的源代码模块的集合。指令的功能、方法和例行程 序在下文中更详细地解释。
[0036]数据118可以由处理器112根据指令116进行检索、储存或修改。例如,虽然本文所 描述的主题不局限于任何特定数据结构,数据可以存储在计算机寄存器中、作为具有许多 不同字段和记录的表在关系数据库中、或XML文件。数据也可以被格式化成任何计算设备可 读的格式,诸如但不限于二进制值、ASCII或Unicode。此外,数据可以包含任何足以标识相 关信息的信息,诸如数字、描述性文本、专有代码、指针、存储在诸如其它网络位置的其它存 储器中的数据的引用,或由函数用来计算该相关数据的信息。
[0037] 一个或多个处理器112可以包括任何常规的处理器,诸如市售的CPU。备选地,处理 器可以是专用的部件,诸如ASIC或其它基于硬件的处理器。虽然没有必要,计算设备110可 以包括专门的硬件部件来更快或更有效地执行特定计算过程,诸如解码视频、利用图像匹 配视频帧、使视频失真、编码失真的视频等。
[0038]虽然图1在功能上图示了处理器、存储器和计算设备110的其它元件位于相同的块 内,然而处理器、计算机、计算设备、或存储器可以实际上包括可以被存放或不被存放在相 同的物理壳体中的多个处理器、计算机、计算设备、或存储器。例如,存储器可以是位于与计 算设备110的壳体不同的壳体中的硬盘或其它存储介质。因此,对于处理器、计算机、计算设 备、或存储器的提及将被理解为包括对可以并行操作或者可以不并行操作的处理器、计算 机、计算设备、或存储器的集合的提及。例如,计算设备110可以包括作为负载平衡服务器群 来操作的服务器计算设备。而进一步,虽然下文中描述的一些功能被指示为在具有单个处 理器的单个计算设备上发生,本文所描述的主题的各个方面可以由多个计算设备实现,例 如,通过网络160传达信息。
[0039] 计算设备110可以在网络160的各个节点上,并且能够直接地和间接地与网络160 的其它节点通信。虽然在图1-2中只有几个计算设备被描绘,应该理解,典型的系统可以包 括大量的连接的计算设备,每个不同的计算设备在网络160的不同的节点处。本文描述的网 络160和中间节点可以使用各种协议和系统而互连,使得该网络可以是互联网、万维网、特 定内部网、广域网、或本地网络的一部分。该网络可以利用标准的通信协议,诸如以太网、 WiFi和HTTP、一个或多个公司专有的协议、以及前述协议的各种组合。虽然当信息如上所述 被发送或接收时可以获得一些优势,本文所描述的主题的其它方面不限于信息传输的任何 特殊方式。
[0040] 作为示例,计算设备110可以包括能够经由网络与存储设备150以及计算设备120、 130和140进行通信的一个或多个网络服务器。例如,服务器计算设备110可以使用网络160 将信息向用户(诸如用户220、250或250)发送并且在显示器上(诸如计算设备120、130或140 的显示器122、132或142)呈现。在这方面,计算设备120、130和140可以被认为是客户端计算 设备,并且可以执行以下描述的所有或一些特征。
[0041] 客户端计算设备的每个可以类似于服务器计算设备110而配置,具有如上文所描 述的一个或多个处理器、存储器和指令。每个客户端计算设备120、130或140可以是用来由 用户220、250或250使用的个人计算设备,并且具有通常用于与个人计算设备有关的所有部 件,诸如中央处理单元(CPU)、存储数据和指令的存储器(例如,RAM和内部硬盘),诸如显示 器122、132、或142(例如,具有屏幕的监视器、触摸屏、投影仪、电视,或可操作以显式信息的 其它设备)的显示器,以及用户输入设备125(例如鼠标、键盘、触摸屏或麦克风)。该客户端 计算设备还可以包括用于记录视频流的相机、扬声器、网络接口设备、以及用于将这些元件 彼此连接的所有部件。
[0042]虽然客户端计算设备120、130和140可以每个包括全尺寸的个人计算设备,但是它 们可以备选地包括移动计算设备,其能够以无线方式通过诸如因特网的网络与服务器无线 地交换数据的移动计算设备。仅通过举例的方式,客户端计算设备120可以是移动电话或诸 如支持无线的PDA、平板PC或能够通过互联网获取信息的上网本等的设备。在另一个示例 中,客户端计算设备130可以是头盔式计算系统。作为示例,用户可以使用小键盘、键盘、麦 克风、利用相机的使用视觉信号或触摸屏来输入信息。
[0043]存储系统150可以存储模型信息以及影像数据。地图信息可以包括各种地理区域 的三维(3D)模型。作为示例,3D模型可以包括各种特征,诸如道路、植被、建筑物等。3D模型 可以由在地理上被定位的三角形的3D网格组成,其被用来渲染该3D模型的各种特征的不同 纹理。作为示例,3D网格可以与地理位置信息相关联,诸如炜度和经度坐标或其它位置坐 标。
[0044] 影像数据可以包括在一天中的不同时间从不同角度捕获的不同位置的卫星或航 空图像。这些图像中的每一个图像可以与对应于捕获图像的相机的位置和/或图像内的一 个或多个对象的位置的地理位置信息(诸如炜度、经度、高度、和/或定向坐标或其它位置坐 标)相关联。图像也可以与指示每张图像被捕获的日期和时间的时间戳信息以及指示相机 制造和型号的细节、镜头和传感器的规格、曝光时间和光圈设置的其它信息相关联。
[0045] 图3A包括描绘飞机314的飞行路径312的示例的地图310,飞机314诸如是可以被用 来捕获这种航空图像的飞机或无人驾驶载具。在这个示例中,可以安装五个摄像头以同时 或周期性地捕获飞机314下面的区域的在各种角度的五个航空图像320、322、324、326和328 的集合。这些图像可以从各种相机中下载,例如使用客户端设备120、130或140中的一个客 户端设备,并且存储在存储系统150中。如将在下面更详细的描述的,这些卫星或航空图像 可以被用来确定被包括在3D模型中的各种对象的镜面反射性。
[0046]正如存储器114,存储系统150可以是能够存储可由服务器110访问的信息的任何 类型的计算机化的存储,诸如硬盘驱动器、存储卡、如1、1^11、0¥0工0-1?(通、能够写入的存储 器以及只读存储器。此外,存储系统150可以包括分布式存储系统,其中数据存储在多个不 同的存储设备上,这些存储设备可以在物理地位于相同或不同的地理位置处。存储系统150 可以经由如图1中示出的网络160连接到计算设备和/或可直接连接或纳入计算设备110-140中的任何计算设备(未示出)。
[0047]示例方法
[0048]为了确定对象的镜面反射性,可能需要对象的多个图像。作为示例,确定表面是否 是由发光材料组成可以包括确定:表面的图块在来自太阳的反射光线与来自从相机中心朝 向图块的光线对准时是否是更亮的。如果该图块的观察到的强度在对准角度周围高并且针 对另外的角度更暗,那么这可能是针对发光材料的指标。
[0049] 例如,如在图4A和4B中示出的,相机410和412可以在一天中的不同时间、从不同的 位置和定向捕获对象420的图像440、442、444、446。因此,太阳430的位置可以改变。阳光432 可以命中对象420,并且在不同方向上反射对象420。反射的光434和436可以取决于太阳和 相机的位置而不同地命中相机镜头。众所周知,太阳在天空中的位置可以使用图像的时间 戳而确定,图像的时间戳提供了图像被捕获的日期和时间有关的信息。
[0050]取决于对象420的镜面反射性,对象420依据来自太阳430的光的反射而在不同的 图像中可以显得不同。例如,如果当来自太阳的反射的射线和来自相机410或412的镜头的 射线对准时,对象420显得更亮,这可能指示对象420是发光的或会反射的。所有其它情况可 以假定为非发光材料。比较图4A和4B,对象420在图4A中可以是发光材料,但在4B中是不发 光材料。
[0051]为了处理图像,几何形状的部分可以由一个或多个计算设备选择,计算设备诸如 服务器计算设备110或客户端计算设备120、130、或140。几何形状的这一部分可以对应于被 用来生成存储系统150的3D模型中的一个3D模型的3D网格的一个或多个部分。如在这里使 用的,图块可以指所选择的几何形状的单个部分或最小的表面元素。在这方面,所选择的几 何形状可以对应于一个或多个图块。如果3D网格是由三角形组成的,图块则可以对应于小 三角形的地理区域。对此,针对一块几何形状的镜面反射性可以针对所选择的集合形状的 每个单个三角形或图块而被确定。在其它的示例中,图块可以指集合三角形或3D网格的多 边形。另外,网格的三角形也可以通过迭代最长边平分和边折叠操作而被重新配置成中等 尺寸、大体均匀成形的三角形图块的集合。作为示例,这些图块可以具有2到3米的平均边 长。
[0052]然后,可以标识能够可能地观察所选择的几何形状的每个图块的图像的集合。例 如,计算设备可以标识对应于特定所选择的图块或对应于所选择的几何图形的地理位置或 3D网格的位置。这一被标识的地理位置可以用于基于与影像数据相关联的地理位置信息来 从存储系统150的影像数据中选择图像集合。作为示例,可以标识从相同或类似位置所拍摄 的图像和/或相同或类似位置的图像。此外,该图像集合不必很大。作为示例,如果图像是在 不同的定向和不同的时间捕获的,集合可以包括6个或更多的图像,尽管更多的图像也可以 使用。
[0053]图5A是包括对象512的图像510的示例。在这个示例中,对象512对应于建筑物顶上 的太阳能面板。此处,对象512可以对应于具有由计算设备所选择的几何形状的相同的地理 位置的对象。图5B是同样包括对象512的图像520的另一个示例。图像510和520、以及可能包 括对象512的一个或多个其它图像一起可以构成图像集合。
[0054]可以对图像的一个或多个集合进行过滤以移除在其中针对该图像集合的对应的 图块被遮挡或遮蔽的图像或图块。在这方面,遮挡检查和阴影检查可以在该几何形状上运 行,以确保特定所选择的图块对于与特定图像相对应的相机位置和太阳的位置是可见的。 遮挡检查可以通过在深度缓冲区(depth-buffer)上栅格化图块的二维投影到每个图像上 来进行。如果该图块是三角形,该投影可以对应于二维(2D)三角形或对应于该三角形的像 素。图块然后再次被栅格化,并且由深度缓冲区验证的像素数目被计数。如果对应于投影的 这些像素中的一些像素、或所有的像素、或这两者之间的一个值的像素位于一些较近的几 何形状之后,投影和相应的图像可能被拒绝。换句话说,从拍摄该图像的相机的视角,如果 该图块(大部分或部分地)隐藏在一些较近的几何形状(诸如三角网格的其它三角形)后面, 则图像可能被拒绝。如果针对集合的所有的图像都被拒绝,被选择的图块也可能被拒绝。因 此,对于捕获图像的一个或多个相机不可见的图块可能被拒绝或从镜面反射性确定中被排 除。
[0055] 类似地,针对阴影检查,在每个图像上的图块的投影可以在从模拟太阳的人工正 交相机拍摄的图像上被栅格化。然后,还可以检查每个投影和图像以用于利用太阳栅格图 像来验证。如果针对集合的所有的图像都被拒绝,被选择的图块也可能被拒绝。因此,可以 使用面对太阳的图块,特别是在太阳方向与图块表面法线在图块的同一侧,即与法线具有 正的点积,而可以不使用那些不面对太阳的图块。如果在深度缓冲区中有具有更接近太阳 的样本的另一个图块,图像也可以被拒绝。换句话说,在图像被拍摄的时刻从太阳的角度来 看,如果该图块(大部分或部分地)隐藏在一些较近的几何形状(例如其它三角形网格的三 角形)后面,图像可以被拒绝。
[0056] 图块另外还可以基于它们的特性而从镜面反射性确定中被拒绝。作为示例,图块 可以由于与邻居在法线中的高的偏差、过度大或过度小的尺寸、或非常细长的图块形状而 被排除在外。在这方面,可以拒绝具有过窄的几何形状的图块(诸如太尖锐的三角形)、或微 小的图块(例如〈50像素)。
[0057] 针对所选择的几何形状的每个图块,可以针对图像集合中的每个图像而确定强度 值。再次地,可以如上所述对该图像集合进行过滤。为此,该图块的区域可以被投影到该图 像集合的每个图像上。该强度值可以对应于图块的平均强度值或亮度值。针对特定所选择 的图块的图像集合的这些强度值可以然后被聚集到矢量中,诸如矢量 x。
[0058] 使用该图像集合,可以生成针对每个所选择的图块的反射分布的模型。正如上面 所注意到的,该模型可以利用仅少量的参数以允许其在噪声存在时工作,噪声例如来自在 几个小时到几天的时间间隔和使用一组不同的相机拍摄的航空影像。指定针对任何可能的 方向的、在给定入射辐射时的出射辐射的BDRF的各方面可以被用来生成这些模型。
[0059] 在一个实例中,针对图像集合的每个图像,计算设备可以基于相机位置和定向以及 太阳的位置而确定角度值。这一角度值也可以基于图块的位置在该图像上的投影的定向。作 为示例,角度值可以对应于在单位半程矢量和到该图块的法线之间测量的角度的余弦值。 这一单位半程矢量可以指在太阳的方向和捕获该图像的相机的方向之间的角度半程。在一 个实例中,针对给定的图块图像的单位半程矢量h可以从等式中确定
其 中8指的是太阳的方向(当图像被捕获时从该图块的位置到太阳的方向)并且C指的是相机 方向(当图像被捕获时相机的方向)。因此,针对单个的图块图像的角度值的余弦可以从h和 n之间的角度的余弦来确定,其中n是特定所选择的图块的表面法线(垂直于路径并且与其 远离的矢量,以便在n和从图块到相机的射线之间的角度小于90度)。该角度值也可以从dot (h,n)的值来确定(其中dot是点积)。针对特定所选择的图像集合的角度值也可以被聚集到 矢量中,诸如矢量X。
[0060] 图6A是示例图600A。图600A通过针对在图像510和520中所描绘的对象512的图块 的平均强度值来绘出余弦值。范围610指示实际的余弦值,而范围612指示如在下文中更详 细的讨论的用于演示对称性的合成的对称数据的集合。因此,在括号620下的数据点对应于 上文中讨论的x和y矢量的元组。此外,每个单独的点也对应于单个图像。
[0061] 可以将每个图像的强度和角度值组合成元组,得到的数据点可以被拟合成针对特 定所选择的图块的曲线。鲁棒的曲线拟合(诸如鲁棒的非线性最小二乘优化)可以被用来拟 合偏移的高斯曲线。客户端计算设备可以假设 Xl = l这一值将对应于高斯曲线的中心来这 样做。作为示例,根据方程
可以使用三个参数的曲线。此处,Xl = dot (h,n),其中i是针对特定所选择的图块的图像集合中的特定图像。角度值^ = 1对应于来自 太阳的反射光线和相机的视点之间的准线(alignment)。如果材料是镜面的,这对应于高斯 曲线的峰值。值〇表示曲线的波瓣的宽度。依赖于测量的稀疏性,这可能并不总是提供对于 对象类镜面(mirror-like)的程度的精确测量。值a表示对象的类反照率(albedo-1 ike)的 平均颜色,并且值0表示在任何偏移之上的或相对于任何偏移的波瓣的高度。
[0062] 图6B是利用图6A的数据和上文所描述的示例方程的曲线拟合的示例。在这方面, 图600B通过针对特定所选择的图块的图像的平均强度值来绘出点积值。再次地,对应于范 围620的数据点是真实的,而对应于范围622的数据点是合成的对称数据点。曲线拟合636演 示了真实的和合成的对称数据点的钟形的性质。
[0063] 在偏移之上的或相对于偏移的曲线的峰值或瓣越大,图块越有可能是镜面反射性 的。也就是说,高斯的相对峰值高度和高斯的偏移水平之间的差越大,则该图块越有可能是 镜面的。这一差值可以表示为值0。因此,值0可以是光亮的主要指标;该值越大,该图块的镜 面反射性或光亮越大。作为示例,0>〇. 15可以意味着镜面波瓣的存在。
[0064]如所预期的,图6B的曲线拟合636的波瓣的相对峰值高度或0的值居中在值Xi = l 周围并且相对较大(例如在0.25量级上)。这可以指示对象512的对应的图块是发光的或镜 面的。
[0065]图7是包括足球场712的图像710和图像720的示例。图7还包括点积(真实的和合成 的)与包括图像710和720的图像集合的平均强度值的图730。在这个示例中,足球场不是非 常镜面的,因此没有正的波瓣。因此,0的值可能是非常小的,或者甚至是负的。
[0066]图8是包括水道812的图像810和图像820的示例。图8还包括点积(真实的和合成 的)与包括图像810和820的图像集合的平均强度值的图830。在这个示例中,水道是非常镜 面的,并且因此,如可以从拟合840看到的,具有良好定义的正的波瓣。因此,0的值可以相对 较大。
[0067] 因此,计算设备可以基于曲线拟合来对每个图块分类。作为示例,使用上文中方 程,0的较大的值(诸如那些大于0.15的)可以指示镜面的波瓣,并且因此指示镜面的图块。 在这方面,如在图9中示出的,针对拟合给定特定阈值时,每个图块可以被分类成镜面的或 不是镜面的。例如,在图9中,对应的值近似地是:针对600B是0.28、针对830是0.45、并且针 对730是0.0。在这个示例中,分别对应于太阳能面板和水道的图600B和图830的图块可以被 分类成镜面的,而对应于足球场的图730的图块可以被分类成非镜面的。
[0068] 对于一些图块,数据点可能不是均匀分布的。换句话说,可能只有几个图像具有非 常相似的相机和太阳的定向。这可能会导致假正(false positive)。替代地,假正可能由以 下事实导致:数据点聚集在波瓣的平坦部分并且该拟合不关心在离测量更远的区域是否添 加高斯波瓣。换句话说,没有数据点接近xi = 1或者位于将是波瓣的峰值的区域内。因此,这 样的数据可以是具有或不具有正的波瓣的好的拟合。
[0069] 为了避免这些假正,当图块被分类成镜面的时,客户端设备可以确定是否有任何 数据点在波瓣上并且也在波瓣之前(在平坦区域中)。可以使用阈值,使得最小的测量应该 不小于1-2 〇并且最大的测量大于1_2〇。如果图块没有达到这个阈值,那么它可能被重新分 类成非镜面的、未知的、或某个其它值。
[0070] 在一些示例中,其中具有足够的图像以得到高度自信的0的值,基于从偏移高斯的 a、0、以及T值,不同的曲线形状可以用于将图块分类成不同类型的材料。
[0071] 使用小的图块的分类可能是嘈杂的,产生一种有斑点的输出。图10是包括多个经 分类的(或被标记的)图块的三维模型的示例图像1010。在这个示例中,针对许多小的图块 (这里是三角形)的原始分类通过在盒子1014中的突出显示的区域1012来示出。在这个示例 中,存在许多可能分别对应于假负(false negative)的分类和假正的分类的小洞和"岛 屿"。
[0072] 该噪声可以是首先通过消除小岛屿来平滑,消除小岛屿可以通过使用腐蚀算法收 缩对应于镜面图块的区域而进行。接下来,使用漫水填充算法将被缩小的区域扩大以覆盖 具有对应于该被缩小的区域的相似的法线的所有相连的图块。如在图1020的示例中能够看 到的,这可以认为是填充建筑物的表面或顶部。在这个示例中,突出显示的区域1022几乎覆 盖了在盒子1026内的建筑物的顶部。使用附加的信息,诸如图块在尺寸、形状、定向、颜色、 和/或纹理的差异,可以扩展腐蚀和漫水填充算法两者。一个示例将是采用机器学习技术的 置信传播算法以确定针对在纹理、法线、边缘等上的差异的权重。
[0073] 如上面所提到的,这些分类可以用来对3D网格的图块进行标签。这些标签反过来 可以用来渲染地理区域的3D模型的更现实的视图。通过确定对象是否是发光的(或者,例如 对象的镜面反射性的水平),这样的对象可以以这样一种方式被渲染以使得对于用户显得 更现实。一个或多个计算设备,诸如服务器计算设备110和/或客户端计算设备120、130或 140可以使用上文提到的标签以确定如何渲染具有现实特性的3D模型。
[0074]例如,如果用户正在查看实际的地理位置(诸如城市)的三维(3D)模型,对象的镜 面反射性可以用来突出模型的某些区域,从而看起来太阳在天空的特定位置等。因此,当用 户进行穿过和环绕该城市的3D模型时,用户可以能够看到反射在建筑物上的太阳。这可以 为用户提供他或她正在观看真实的自然环境或实际的城市而不仅仅是观察静态的、无生命 的视图的感觉。
[0075] 这一构思在图11和12的示例中展示。在图11的示例中,图像1110包括在没有区分 镜面图块和非镜面图块的情况下的建筑物1112的3D描绘。图像1120使用图块的镜面分类突 出一些特征。特别地,在图像1120中示出建筑物1112,好像它正在反射来自太阳的光,相较 于在图像1110中,这给图像1120中的相同的场景带来稍微更多的"生机"。相似地,图12的示 例,图像1210包括在没有区分镜面图块和非镜面图块的情况下的停车场1212和建筑物1214 的屋顶的3D描绘。图像1220通过示出它们好像是部分地或全部地在太阳的路径中来突出停 车场1212和建筑物的屋顶。再次地,这个示例演示了该镜面反射性可以如何被用来使影像 对观看者来说更逼真并且有趣。
[0076] 图13是展示了在本文中描述的技术的一些方面的系统概述的示例1300。从这个示 例中可以看出,在块1310处选择3D网格1302的图块1304。包括那些图块的地理区域的对应 的图像1306在块1320处被选择。在块1330处将图块1304投影到图像1306中。在块1340处,针 对每个图块,确定各种强度和角度值统计并且用于拟合模型1308。该拟合然后被用于在块 1350处分类图块。然后,块1360处,图块可以被标记并且被用于对附近的图块进行分类和更 新标签。
[0077] 图14的流程图1400是步骤的示例,其可以由一个或多个计算设备(诸如服务器计 算设备110和/或客户端计算设备120、130和140)按照本文中描述的技术的一些方面来执 行。在这个示例中,在块1402处,选择几何形状的区域。在块1404处,捕获包括该几何区域的 图像的集合。该图像集合可以如上文描述的而被过滤。在块1406处,确定针对该区域的强度 值的集合以用于该图像集合中的每个图像。在块1408处,至少基于在特定图像被捕获时相 机的方向来确定针对图像集合中的每个图像的角度值的集合。在块1410处,平均强度集合 和角度值的集合被配对并且拟合到曲线。在块1412处,至少基于该拟合,对该区域的镜面反 射性进行分类。
[0078] 上述替代性示例的大多数并不相互排斥,但可以实施在各种组合中以实现独特的 优势。由于上文中讨论的那些和其它的变化和特征的组合可以在不脱离由权利要求所定义 的主题的情况下被使用,实施例的前述描述应该认为是示例,而非权利要求所定义的主题 的限制。作为一个示例,前面的操作不必以上面描述的精确的顺序执行。相反,各种步骤可 以以不同的顺序或同时处理。除另有说明,步骤也可以被省略。此外,本文中描述的示例的 提供,以及以"诸如"、"包括"等成句的从句,不应被解释为将权利要求的主题限制到特定示 例;相反,示例旨在说明若干可能的实施例的仅一个。此外,在不同图中的相同的参考数字 可以标识相同或相似的元素。
[0079] 工业实用性
[0080]本发明具有广泛的工业实用性,包括但不限于,从图像中确定对象的镜面反射性。
【主权项】
1. 一种用于确定镜面反射性的方法,所述方法包括: 由一个或多个计算设备选择几何形状的区域; 由所述一个或多个计算设备标识包含几何形状的所述区域的图像的集合; 由所述一个或多个计算设备确定针对所述图像的集合中的每个图像的所述区域的强 度值的集合; 至少基于在特定图像被捕获时捕获所述特定图像的相机的方向,由所述一个或多个计 算设备确定针对所述图像的集合中的每个图像的角度值的集合; 由所述一个或多个计算设备将所述强度值的集合和所述角度值的集合拟合到曲线;以 及 由所述一个或多个计算设备至少基于所述拟合来对所述区域的镜面反射性进行分类。2. 根据权利要求1所述的方法,其中确定所述强度值的集合还基于确定针对所述图像 的集合中的每个图像中的所述区域的平均强度值。3. 根据权利要求1所述的方法,其中确定所述角度值的集合还基于针对几何形状的所 述区域的表面法线的方向。4. 根据权利要求1所述的方法,其中确定所述角度值的集合还基于在所述特定图像被 捕获时的太阳的方向。5. 根据权利要求1所述的方法,其中所述拟合包含使用偏移高斯曲线。6. 根据权利要求1所述的方法,还包括使用镜面反射性分类来提供几何形状的所述区 域的3D表示的各方面以用于显示。7. 根据权利要求1所述的方法,还包括将平均强度的集合和所述角度值的集合组合成 元组的集合,并且其中所述拟合还基于所述元组。8. 根据权利要求1所述的方法,其中几何形状的所述区域是3D三角形,并且其中确定针 对所述图像的集合中的每个图像的所述区域的所述强度值的集合还包括以2D将几何形状 的所述区域投影到所述图像的集合中的每个图像上。9. 根据权利要求1所述的方法,还包括: 从计算设备接收渲染包含所述区域的图像的请求,所述请求包含相机角度;以及 向所述计算设备提供用于基于所述相机角度和所述区域的镜面反射性分类来渲染所 述图像的指令。10. -种用于确定镜面反射性的方法,所述方法包括: 由一个或多个计算设备将对象分成多边形形状的表面几何形状图块的集合; 针对所述多边形形状的表面几何形状图块的集合中的每个特定图块,由所述一个或多 个计算设备如下确定曲线拟合模型: 标识从不同的定向、在不同的时间所捕获的所述对象的图像的集合; 确定针对所述图像的集合中的每个图像的所述特定图块的平均强度值;以及 确定针对所述图像的集合中的每个图像的所述特定图块的角度值;以及 由所述一个或多个计算设备使用针对每个特定图块的所述曲线拟合模型以确定针对 此特定图块的发光程度。11. 根据权利要求10所述的方法,还包括由所述一个或多个计算设备在所述对象的共 同表面中的邻近图块之间传播所述发光程度。12. 根据权利要求11所述的方法,其中所述传播还包括使用针对所述特定图块中的至 少一个特定图块的所述发光程度来执行腐蚀过程以及随后使用漫水填充过程。13. 根据权利要求1O所述的方法,其中所述曲线拟合模型中的至少一个曲线拟合模型 是半角波瓣模型。14. 根据权利要求10所述的方法,其中所述强度值是针对所述特定图块的平均强度值。15. 根据权利要求10所述的方法,其中将所述对象分成所述多边形形状的表面几何形 状图块的集合包括将由多个三角形组成的3D场景转换成统一形状的三角形的集合。16. 根据权利要求10所述的方法,还包括通过以下操作来过滤给定的图块的给定的图 像集合: 标识针对所述给定的图像集合的相机位置和图块位置的组合; 基于所述组合确定所述给定的图块对所述相机位置的可见性;以及 确定在每个图像被捕获时所述给定的图块对太阳的可见性。17. 根据权利要求10所述的方法,其中每个特定模型曲线拟合还基于如下假设而被确 定:针对此特定模型曲线拟合的所述角度值的集合中的角度值的最大值将对应于曲线的峰 值。18. 根据权利要求10所述的方法,其中每个特定发光程度还基于所述模型曲线拟合的 相对峰值高度而被确定。19. 根据权利要求10所述的方法,其中每个特定发光程度还基于针对所述模型曲线拟 合的相对峰值高度的阈值而被确定。20. -种用于确定镜面反射性的系统,所述系统包括一个或多个计算设备,所述一个或 多个计算设备被配置成: 选择几何形状的区域; 标识包含几何形状的所述区域的图像的集合; 确定针对所述图像的集合中的每个图像的所述区域的强度值的集合; 至少基于在特定图像被捕获时捕获所述特定图像的相机的方向,来确定针对所述图像 的集合中的每个图像的角度值的集合; 将所述强度值的集合和所述角度值的集合拟合到曲线;以及 至少基于所述拟合来对所述区域的镜面反射性进行分类。
【文档编号】G06T7/40GK105900143SQ201480072491
【公开日】2016年8月24日
【申请日】2014年12月12日
【发明人】A·L·梅索朗吉蒂斯, M·A·杜钱恩奥, J·琼斯
【申请人】谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1