组合用于三维建模的窄基线和宽基线立体的制作方法

文档序号:6534047阅读:304来源:国知局
组合用于三维建模的窄基线和宽基线立体的制作方法
【专利摘要】在实施例中,一种方法从由一个或多个相机自不同视角拍摄的地理区域的多个图像确定三维模型。该方法包括使用第一立体重构技术,(i)由多个图像确定多个三维候选表面点,以及(ii)确定多个图像中的哪些图像查看多个候选表面点中的每一个。该方法还包括识别多个候选表面点中的每一个与用于被确定为查看候选表面点的相应图像的每一相机模型之间的空白空间。该方法进一步包括对于来自多个图像的多个图像对中的每一个,使用第二立体重构技术来确定用于图像对的表面估计。该方法还包括合并表面估计来识别最终表面。
【专利说明】组合用于三维建模的窄基线和宽基线立体

【技术领域】
[0001 ] 实施例通常涉及三维建模。

【背景技术】
[0002]可以捕捉地理区域的图像。例如,多个卫星和空中摄影可以形成市区旧金山的视图。照片可以包含建筑物、树木和其他物体的图像。可以从照片提取数据来形成图像。
[0003]可以从不同视角拍摄照片。从这些照片,可以使用例如立体匹配来构建三维模型。使用立体匹配构建的模型可能不完全准确。例如,由于基础图像的变化、相机视角的不准确和立体匹配算法的限制,可能引入不准确。


【发明内容】

[0004]实施例从由一个或多个相机自不同视角拍摄的地理区域的多个数字照片图像来确定三维模型。
[0005]在实施例中,用于从由一个或多个相机自不同视角对一个地理区域拍摄的多个图像来确定三维模型的方法可以包括使用第一立体重构技术来:(i)从多个图像确定多个三维候选表面点,以及(ii)确定所述多个图像中的哪些图像查看所述多个候选表面点中的每一个。该方法还可以包括识别所述多个候选表面点中的每一个与用于被确定为查看所述候选表面点的相应图像的每一相机模型之间的空白空间。
[0006]该方法可以进一步包括对来自多个图像中的多个图像对中的每一个图像对,使用第二立体重构技术来确定用于该图像对的表面估计。确定用于该图像对的表面估计可以包括:(i)基于空白空间,确定感兴趣体积中的每一点是表面点的可能性,使得该点是表面点的可能性在该点位于空白空间内时比在该点位于空白空间外时小,以及(ii)基于该可能性,确定用于该图像对的表面估计。用来生成用于第二立体重构技术的该图像对的相机的位置之间的距离小于用来生成用在第一立体重构技术中的图像对的相机的位置之间的距离。该方法还包括合并该表面估计来识别最终表面。
[0007]还公开了系统和计算机程序产品实施例。
[0008]在下文中参考附图详细地描述了本发明的更多实施例、特征和优点以及本发明的各个实施例的结构和操作。

【专利附图】

【附图说明】
[0009]包含在此并构成说明书的一部分的附图图示了本发明的实施例,并且与描述一起进一步用来说明本发明的原理以及使本领域的技术人员能够制造和使用本发明。
[0010]图1是图示根据实施例的使用第一立体重构技术来在从不同视点构成的场景中确定的三维候选表面点的图。
[0011]图2是图示根据实施例的使用第二立体重构技术来在从图像对构成的场景中确定的三维候选表面点的图。
[0012]图3是图示根据实施例的使用体素网格的各个距离测量的图。
[0013]图4是图示根据实施例的用于窄基线表面估计的有符号的距离函数的图。
[0014]图5是图示根据实施例的用于宽基线候选表面点的有符号的距离函数的图。
[0015]图6是图示根据实施例的用于宽基线立体的候选表面点和用于窄基线立体的估计表面的图。
[0016]图7是图示根据实施例的可以针对其确定有符号的距离函数的估计表面、候选表面点和横截面的图。
[0017]图8是图示根据实施例的用于图7中的横截面的平均有符号的距离函数的图,平均有符号的距离函数指示三维模型的最终表面。
[0018]图9是图示根据实施例使用两种不同的立体重构技术来确定用于三维模型的最终表面的系统的图。
[0019]图10是图示根据实施例的使用两种不同的立体重构技术来确定用于三维模型的最终表面的方法的流程图。
[0020]图11图示了实施例可以在其中被实现为计算机可读代码的示例性计算机系统。
[0021]附图中所示的每一图是图示并且可以不按比例绘制。
[0022]元件首次出现的图通常由相应参考数字的最左位表示。在图中,相同的参考数字可以表示相同或功能类似的元件。

【具体实施方式】
[0023]1.概述
[0024]I1.宽基线立体的应用
[0025]A.候选表面点
[0026]B.候选表面点的可见性
[0027]C.候选表面点的曲面法线
[0028]II1.使用第二立体重构技术来重构表面
[0029]IV.窄基线立体的应用
[0030]A.感兴趣体积
[0031]B.表面可能性的体积表示
[0032]C.表面估计
[0033]V.识别最终表面
[0034]A.有符号的距离函数
[0035]B.合并有符号的距离函数
[0036]V1.示例系统
[0037]VI1.示例方法
[0038]VII1.示例计算机实施例
[0039]1.概述
[0040]实施例包括用于三维建模的技术。可以从由一个或多个相机自不同视角拍摄的地理区域的多个图像确定三维模型。例如,可以使用计算立体来从大量空中摄影重构城市的三维模型。立体匹配找出与图像一致的点或表面。这种一致称为照片一致性,可以通过确定当投摄到所提议的表面上时,图像有多“对齐”来计算。然后,可以从多个图像重构三维模型的表面。
[0041]两种立体重构算法是宽基线立体和窄基线立体。基线可以是指用于重构的图像的相机中心之间的距离。对于窄基线,用来生成图像对的相机的位置之间的距离小于用于宽基线立体的相机的位置之间的距离。
[0042]通常,窄基线或宽基线立体被应用于重构表面的图像,但不是同时。组合窄基线立体和宽基线立体的输出来获得更准确的重构可以是有利的。
[0043]在实施例中,可以通过首先将宽基线立体应用于多个图像来重构表面。宽基线立体的输出可以是来自多个图像的多个三维候选表面点。宽基线立体可以进一步确定多个图像中的哪些图像查看多个候选表面点的每一个。在多个候选表面点中的每一个和用于被确定为查看候选表面点的相应图像的每一相机模型之间,可以识别空白空间。
[0044]宽基线立体可能具有不准确性。为减轻这些不准确性,可以将窄基线立体应用于图像对来重构表面。对于多个图像对中的每一个,窄基线立体的输出可以是用于图像对的表面估计。可以通过基于空白空间确定感兴趣体积中的每一点是表面点的可能性,来确定表面估计。该点是表面点的可能性在该点位于空白空间内时比在该点在空白空间外时小。表面点可以是指作为物体的表面的一部分的图像中的点。
[0045]基于所确定的可能性,可以确定用于图像对的表面估计。用来生成用于窄基线立体的图像对的相机的位置之间的距离小于用来生成用在宽基线立体中的图像对的相机的位置之间的距离。窄基线立体提供用于每一图像对的表面估计。可以合并用于每一图像对的表面估计来识别最终表面。以这种方式,可以使用两种不同的立体重构技术来重构表面。
[0046]为了简洁和方便,本公开引用建筑物的表面的重构。然而,应理解到,也可以重构诸如树木、山脉等等的其他物体的表面。
[0047]在下述详细描述中,对“一个实施例”、“实施例”、“示例性实施例”等等的引用指示所述的实施例可以包括特定特征、结构或特性,但每一实施例可以不必包括该特定特征、结构或特性。此外,这些短语可以不必引用同一实施例。此外,当结合实施例描述特定特征、结构或特性时,不管是否明确地描述,应当认为结合其他实施例实现这些特征、结构和特性在本领域的技术人员的知识内。
[0048]I1.宽基线立体的应用
[0049]可以从包括立体成像、计算机辅助设计(CAD)软件、光检测和测距(LIDAR)和/或数据库识别结构的各种源取得三维模型。立体重构技术可以应用于由一个或多个相机从不同视点拍摄的地理区域的多个图像。
[0050]立体重构技术的示例是宽基线立体。宽基线立体可以用来从空中重构建筑物。可以从位于航空器中的相机源,从多个位置和角度拍摄图像。例如,可以从东、西、北和南航向拍摄建筑物的图像,以及可以从几百米远的位置拍摄图像。因此,那些建筑物的视图在每一图像中可以是不同的,以及可以从不同角度看见同一表面。图像越远,可以覆盖的地理区域越宽。宽基线立体包括来自不同视点的图像并且可以同时应用于图像以重构整个场景。例如,宽基线立体可以同时应用于50-100个图像。
[0051]A.候选表面点
[0052]图1是图示根据实施例的使用第一立体重构技术在从不同视点构造的场景中确定的三维候选表面点的图100。
[0053]图100包括相机源101、102和103以及建筑物105、110和145。相机源101、102和103可以以各种倾斜或最低视角拍摄的地理区域的多个图像。在示例中,图像是地理区域的倾斜图像。在成像中,检测特征并且使它们相互关联。可以从空中获得的图像和相机标定来生成三维数据点。使用已知的视点信息,从匹配特征来三角化三维空间中的点。以这种方式,可以从二维成像确定三维模型信息。
[0054]第一立体重构技术可以是宽基线立体。在实施例中,使用宽基线立体,可以从多个图像确定多个三维候选表面点。在示例中,宽基线立体确定地理区域的密集三维候选表面点云。
[0055]图100包括从由相机源101、102和103拍摄的地理区域的多个图像确定的建筑物105、110和145的多个三维候选表面点115、120、125、130和140。所确定的多个候选表面点可以是具有表示表面上的点的高可能性的三维点。
[0056]执行宽基线立体的方法和技术对相关技术的普通技术人员来说是公知的。示例算法是基于块的多视点立体(PMVS)。基于在此的描述,相关技术的普通技术人员将意识到可以使用其他算法。
[0057]B.候选表面点的可见性
[0058]对于一个或多个候选表面点,可以确定由相机拍摄的图像中的候选表面点的可见性。如果基于拍摄图像的相机的视角,候选表面点在图像中是可见的,则将候选表面点视为可见。然而,在另一图像中,基于拍摄图像的相机的不同视角,该候选表面点可能被另一物体遮挡。如果基于拍摄该图像的相机的视角,该候选表面点在该图像中不可见,该候选表面点被认为不可见。每一候选表面点可以与相应候选表面点是可见的图像的列表相关联。
[0059]在实施例中,识别多个候选表面点中的每一个和用于被确定为查看候选表面点的相应图像的每一相机模型之间的空白空间。候选表面点和被确定为查看候选表面点的图像的相机模型之间的空间具有是空白空间的高可能性。同样地,高可信度地确定从可见相机中心到可见点的线上的所有点是空白的。
[0060]例如,在图100中,线段160从相机101延伸到候选表面点165。候选表面点165在多个三维候选表面点115中。线段160上的点具有作为表面点的低可能性,并且可以被确定为空白空间。线段160的预定半径内的点也可以具有作为表面点的低可能性。在实施例中,宽基线立体提供指示空白空间的可视光线作为输出,并且可以通过识别可见光线来识别空白空间。
[0061]识别空白空间可以用在执行场景的全重构中。有关于此的更多细节如下。
[0062]C.候选表面点的曲面法线
[0063]—个或多个候选表面点在候选表面点的位置的表面上可以具有法向量。法向量能够来自用来从图像生成三维数据集的工具。
[0064]在实施例中,对于每一候选表面点,确定曲面法线。候选表面点的曲面法线垂直指向候选表面点处的表面。在图100中,将用于每一候选表面点的曲面法线示为指向垂直于候选表面点处的表面的方向的箭头。
[0065]在不例中,候选表面点165位于建筑物105的屋顶。箭头在垂直于建筑物105的屋顶的方向中从候选表面点105延伸。在另一不例中,候选表面点175位于建筑物110的侧面。箭头在垂直于建筑物110的侧面的方向中从候选表面点175延伸。
[0066]有关候选表面点的曲面法线的更多细节如下。
[0067]II1.使用第二立体重构技术来重构表面
[0068]宽基线立体可以具有高精度和全一体重构的优点。然而,宽基线立体可能要求精确校准和可能具有困难的遮挡处理。
[0069]此外,宽基线立体通常谨慎。宽基线立体可能难以在包括具有反射属性(例如水或玻璃)的物体或元件的图像中或在包括被遮挡的物体(例如,从不同角度被建筑物遮挡的街道)的图像中产生候选表面点。例如,在图1中,由于难以识别由例如相机101、102和103拍摄的多个图像中的可见表面,宽基线立体不能确定玻璃建筑物145上的候选表面点。这种困难可能是因为玻璃从不同角度具有不同外观由此在不同图像中具有不同的外观,导致用于宽基线立体的不一致结果。而且,该困难可能是因为表面缺乏足够的区别特征。因此,宽基线立体可能跳过这些点并且不将它们输出为候选表面点。
[0070]如果三维点是位置处的表面点的可能性不满足阈值,宽基线立体在那一位置将不产生任何三维点。这会导致洞或丢失区域。这里,可以使用第二立体重构技术来补充宽基线立体以便修订可能包括或不包括表面点的这些丢失区域。
[0071]可以使用来自宽基线立体的结果来初始化第二立体重构技术。在实施例中,第二立体重构技术是窄基线立体。窄基线立体可以具有对校正误差不太敏感的优点,并且邻近对之间的相关校准可能相当准确。
[0072]宽基线立体从高可靠种子点开始并且尽可能地生长表面,而不要求感兴趣界限的体积。宽基线点进而可以用来对用于窄基线立体的感兴趣体积给出严格界限。定义感兴趣体积可以是不微不足道的。例如,感兴趣体积估计过高可能导致不必要的计算时间和存储器或降低精度。
[0073]窄基线立体可能仅使用相邻接近拍摄的一对邻近图像。可以由在几乎同一时间点快速拍摄照片的同一相机来捕捉窄基线立体图像。通常在相差几秒内捕捉图像,意味着外观保持不变,使图片一致性计算更容易。同时,遮挡不太严重,以及在两个图像中大部分表面是可见的。这两个图像可能大致相同,因为在相机的视点方面没有许多变化。例如,与宽基线立体相比,光照保持一致并且遮挡更不可能。因此,表面上的点在两个不同照片中看起来相同有更高可信度。由此,与宽基线立体相比,使用窄基线立体匹配这些点可能相对更容易。
[0074]利用窄基线立体来补充宽基线立体可以避免错误,诸如确定图像中的两个建筑物之间的空间为连续的,而其不是。例如,一个或多个相机可以在某一角度捕捉两个建筑物的图像,使得在一些图像中街道不可见,而在一些其他图像中街道可见。因为不一致性,宽基线立体可能忽略街道表面而不重构它们。然而,一对窄基线立体图像可以查看沿该街道的一些点,并且窄基线可以重构街道表面。
[0075]在另一示例中,宽基线立体在玻璃表面上可能具有不良质量匹配,但具有来自周围表面的足够信息,窄基线立体可以能够注意到表面点的弱表示并且相应地填充表面点。
[0076]窄基线立体中的点的差异小于宽基线立体中的点的差异。差异可以指每一图像中的特定点的像素坐标的差异。换句话说,差异可以指点在一个图像中向另一个图像移动多少。与宽基线立体相比,图像中的点的运动在窄基线立体中更小。
[0077]在窄基线立体中,包括在两个图像中的特定点的差异可能小(例如,在图像的大小或宽度的10%内)。例如,如果图像包括1000X 1000像素并且两个图像中的特定点的差异为运动100像素或更小,窄基线立体可以应用于图像对。
[0078]相反,在宽基线立体中,包括在两个图像中的特定点的差异与窄基线立体相比更大。例如,用于宽基线立体的差异的典型范围可能是图像的50%或更大。在另一示例中,差异可能在10%至50%之间。在该示例中,图像可能处于灰色区域。
[0079]可以依据在图像之间应用窄基线立体算法还是宽基线立体算法,以及所应用的算法是否对图像起作用,限定窄基线立体算法和宽基线立体算法。例如,如果算法以约90%精度恢复深度,则可以认为对窄基线立体有用。如果窄基线立体失败,可以将宽基线立体应用于图像。
[0080]IV.窄基线立体的应用
[0081]图2是图示根据实施例的使用第二立体重构技术从一对图像重构的场景中确定的三维候选表面点的图200。
[0082]图200包括相机源201和202、以及建筑物105、110和145。相机源201和202可以是在不同时间点拍摄的地理区域的图像的同一相机源,或可以是拍摄的地理区域的图像的不同源。第二立体重构技术可以应用于由相机源201和202拍摄的图像。
[0083]第二立体重构技术可以是窄基线立体。在实施例中,使用窄基线立体,对于来自多个图像的多个图像对中的每一个,可以确定用于图像对的表面估计。确定用于图像对的表面估计可以包括确定感兴趣体积中的每一点是表面点的可能性以及基于所确定的可能性来确定用于图像对的表面估计。
[0084]A.感兴趣体积
[0085]使用宽基线立体确定的候选表面点可以指示感兴趣体积,通过该感兴趣体积,可以应用窄基线立体来确定表面估计。在示例中,将窄基线立体应用于感兴趣体积来搜索表面。使用宽基线立体来确定应用窄基线立体的所限定的感兴趣体积可以节省时间和处理能力,因为窄基线立体可能很昂贵。
[0086]感兴趣体积可以包括候选表面点的位置。例如,感兴趣体积可以包括指示表面的高可能性的候选表面点的位置。例如,窄基线立体可以应用于包括多个候选表面点115、120、125、130和140的区域。可以使用窄基线立体来重构使用宽基线立体确定的表面。
[0087]感兴趣体积还可以包括指示表面的潜在存在的候选表面点的位置。在示例中,宽基线立体确定来自离地几百米高(例如,位于250米高度)的建筑物的候选表面点。例如,再参考图1,宽基线立体可以确定指示建筑物105和110的底部和顶部的候选表面点。宽基线立体可以不确定沿玻璃建筑物145的候选表面点,因为在图像中看起来不同并且宽基线立体算法不能获得一致读数。因此,宽基线立体可以确定建筑物105和110上的候选表面点,而不能确定玻璃建筑物145上的候选表面点。
[0088]在图2中,可以识别感兴趣体积210,并且可以将窄基线立体应用于感兴趣体积210。感兴趣体积210可以由建筑物105和110的底部和顶部限制,并且窄基线立体可以被约束在该范围内。窄基线立体可以从建筑物105上的最低确定的候选表面点(例如候选表面点170)的位置扫描到建筑物110的最低确定的候选表面点(例如候选表面点175),直到建筑物105和110的顶部为止。
[0089]B.表面可能性的体积表不
[0090]窄基线立体可以搜索感兴趣体积210中的表面。在实施例中,确定感兴趣体积210中的每一点是表面点的可能性。因此,可以对感兴趣体积210中的每一点计算图片一致性。对于感兴趣体积中的一个或多个点,可以基于计算匹配分值来确定图片一致性度量以便确定特定点是表面点的可能性。感兴趣体积中的点是表面点的可能性的体积表示可以称为图片一致性体积或成本体积。
[0091]窄基线立体可以使用平面扫描方法来计算用于感兴趣体积中的每一点的图片一致性。图片一致性分值可以指示该点的图片一致性。窄基线立体算法可以在该范围内扫描。在实施例中,确定感兴趣体积中的每一点是表面点的可能性包括确定包括感兴趣体积中的点的平面,并且将被确定为查看该点的图像投影在该平面上。例如,窄基线立体可以扫描通过空间(例如感兴趣体积210)的平面220,并且当窄基线立体扫描平面220时,可以测试该空间中的每一点来确定平面是表面的可能性。平面220可以例如高于地面100米。窄基线立体可以确定匹配那一平面的表面的可能性。为了确定该平面是否包括表面,可以将所有图像投影在那一平面上。如果平面与建筑物屋顶相交并且该平面非常接近建筑物屋顶,在那一点,图像相符。
[0092]该点是表面点的可能性可以取决于各种因素,诸如那一点作为表面假设在图像中有多匹配。例如,如果该点位于空中,如果通过那一点的成像的大部分具有大致相同的外观,该点是表面点的可能性可能高。因此,该点可以是表面点的良好估计。如果这不成立,并且通过那一点的成像不具有大致相同的外观,那么,该点是表面点的可能性可能低。因此,该点可能是表面点的不良估计。
[0093]可以通过合并使用宽基线立体识别的空白空间,来改进容积量。如所述,沿在多个候选表面点中的每一个和用于被确定为查看候选表面点的相应图像的每一相机模型之间的线段的点可以被识别为具有作为表面点的低可能性。沿该线段的这些点可以被识别为空白空间。感兴趣体积210中的点是表面点的可能性可以基于该空白空间。在示例中,与当该点在空白空间外时相比,当该点位于空白空间中时,可能降低该点是表面点的可能性。在示例中,与当该点位于空白空间外时相比,当该点在空白空间中时,该点是表面点的可能性可能低。
[0094]在实施例中,将感兴趣体积210中的每一点是表面点的可能性表示为体素网格。体素网格中的每一体素可以具有三维空间中的相关联位置。体素网格可以包括感兴趣体积中的每一点是表面点的可能性,以及可以进一步合并有关空白空间的知识。可以减小与在候选表面点和用于被确定为查看候选表面点的相应图像的每一相机模型之间的线段相交的体素的表面可能性。例如,体素网格可以包括空白空间,使得当与该点在空白空间外时相t匕,当该点在空白空间内时,该点是表面点的可能性更低。存储大量图片一致性度量会消耗大量存储器。
[0095]C.表面估计
[0096]可以同时对多个图像执行宽基线立体。相反,可以对邻近图像对执行窄基线立体。窄基线立体产生用于每一图像对的表面估计。可以通过识别穿过所有高可能性图片一致性点的最小表面区域来确定表面估计。图像对可以是来自基本上相同视点的表面的视图。视点可以稍微不同,并且可以从基本上相同的视点重构表面估计。
[0097]在实施例中,对于窄基线图像对,使用图分割技术来计算通过最多图片一致性点的平滑表面,将实空间与空白空间分离。可以使用宽基线点来增加图形加权,使得该表面更可能通过具有作为表面点的高可能性的候选表面点并且不通过点和相机中心之间的空白空间。
[0098]在实施例中,可以通过识别具有与阈值匹配的、作为表面点的可能性的点,来确定用于图像对的表面估计。在示例中,包括在空白空间中的三维点不满足该阈值。在另一示例中,可以通过增加图形加权,使得表面估计通过满足阈值的点并且不通过空白空间,来确定表面估计。
[0099]V.识别最终表面
[0100]在已经重构用于每一图像对的表面估计后,可以合并表面估计来确定最终表面。窄基线表面估计不是统一的重构,因为对每一邻近图像对的场景,执行一次重构,它们可能不一定一致。为了产生三维模型的单个统一表面,可以合并用于每一图像对的表面估计来形成最终表面。最终表面可以是地理区域的表示。
[0101 ] 还可以使用宽基线候选表面点来形成最终表面。从窄基线立体重构的最终表面可以与从宽基线立体重构的表面合并。可以从宽基线立体候选点重构表面,因为点也具有可以用来重构表面的曲面法线。
[0102]A.有符号的距离函数
[0103]在构建表面后,可以确定有符号的距离函数。可以通过确定体积表示中的点与表面之间的距离值,来确定有符号的距离函数。体积表示中的每一点可以与较短距离值关联。例如,如果体积表示是体素网格,该距离值可以表示体素网格中的体素与表面之间的最短距离。对于每一输入的体素,沿与三维模型的表面相关联的视角,测量距离。更具体地说,可以沿从直接朝向虚拟相机或直接远离虚拟相机的体素的射线,测量该距离。
[0104]该距离可以是有符号的距离值,意指其大小(绝对值)可以是点和表面之间的距离,但其可以为正或负。例如,所确定的距离值可以为正来表示从虚拟相机的视角,该体素位于该表面上,以及负的所确定的距离值表示从虚拟相机的视角看,该体素位于表面下。
[0105]图3是图示根据实施例的使用体素网格的各种距离测量的图300。图300示出具有相应的虚拟相机302和304的三维模型312和314的表面。可以对体素320,生成用于三维模型中的每一个的距离值。具体地,图300示出用于模型312的距离332和用于模型314的距离334。如图300中所示,将距离332测量为3m,意指体素320高于表面3123米,距离334测量为-7m,意指体素320位于表面314下7米。
[0106]如果将感兴趣体积中的每一点是表面点的可能性的体积表示表示为体素网格,可以通过确定体素网格中的体素以及从该体素到表面估计的最短距离,从窄基线表面估计来构建有符号的距离函数。可以合并这些有符号的距离函数来识别最终表面。有关于此的更多细节如下。
[0107]图4是图示根据实施例的用于窄基线表面估计410的有符号的距离函数的图400。表面估计410是对窄基线图像对确定的表面估计的示例。图400示出离表面估计410的距离测量。例如,点420离表面估计410约+3米,并且比表面估计410高3米,而点430离表面估计410约-2米,并且比表面估计410低2米。具有离表面估计410为O的距离值的点为位于表面估计410上的表面点。
[0108]图5是图示根据实施例的用于宽基线候选表面点510的有符号的距离函数的图500。在图500中,在区域520内示出位于候选表面点510附近的体素。区域520内的体素可以在候选表面点510前或后。可以基于候选表面点510和位于候选表面点510附近的体素,对候选表面点510计算有符号的距离函数。以这种方式,每一候选表面点可以提供部分有符号的距离函数。
[0109]使用宽基线立体确定的每一候选表面点能视作部分有符号的距离函数。在每一点,基于该点的曲面法线,能狗构造部分表面。在示例中,如果候选表面点的曲面法线向上,高于或低于那一点的列中的体素可以是创建用于那一列的有符号的距离函数的输入并且可以添加到整个体积来确定总的有符号的距离函数。
[0110]B.合并有符号的距离函数
[0111]在实施例中,合并表面估计来使用有符号的距离函数确定最终表面。
[0112]在示例中,可以使用有符号的距离函数来合并用于每一图像对的窄基线表面估计。在窄基线立体中,每一图像对可以产生场景的表面估计,并且可以合并这些表面估计来获得场景中的物体的最终表面。在示例中,可以合并用于每一窄基线表面估计的有符号的距离函数来确定总的有符号的距离函数。总的有符号的距离函数可以指示物体的最终表面。
[0113]图6是图示根据实施例的用于宽基线立体的候选表面点和用于窄基线立体的估计表面的图600。图600图示估计表面610和620。对第一图像对可以确定估计表面610,以及对不同于第一图像对的第二图像对,可以确定估计表面620。
[0114]图600还图示来自宽基线重构的候选表面点630及其法线。用来产生用于窄基线立体的第一或第二图像对的相机的位置之间的距离小于用来产生用在宽基线立体中的图像对的相机的位置之间的距离。
[0115]可以整合窄基线表面估计来确定最终表面。在实施例中,将来自窄基线的表面整合成一个统一的有符号的距离函数框架。
[0116]宽基线候选表面点还可以与窄基线表面估计合并来确定最终表面。例如,在实施例中,可以将来自窄基线的表面和来自宽基线立体的候选表面点整合成一个统一的有符号的距离函数框架。在实施例中,确定用于多个宽基线候选表面点中的每一个的曲面法线,并且基于曲面法线来确定用于多个候选表面点中的每一个的表面估计。可以确定用于表面估计中的每一个的有符号的距离函数。可以将这些有符号的距离函数与基于窄基线立体的有符号的距离函数合并。
[0117]图7是图示根据实施例的可以确定有符号的距离函数的估计表面610和620、候选表面点630和横截面705的图700。横截面705表不沿那一曲线的有符号的距离函数的一维函数。
[0118]图8是图示根据实施例的用于横截面805的平均有符号的距离函数840的图800。
[0119]图800图示线段810、820和830。线段810是沿横截面705的用于表面估计610的有符号的距离函数,线820是沿横截面705的用于表面估计620的有符号的距离函数,以及线830是沿横截面705的用于候选表面点630的有符号的距离函数。
[0120]线段810、820和830中的每一个与横截面805相交,并且横截面805上的点可以对应于横截面705上的点。例如,线段810在点850处与横截面805相交,以及点850对应于图7中的表面估计610与横截面705相交的点。线段820在点855处与横截面805相交,并且点855对应于图7中的表面估计620与横截面705相交的点。线段830在点860处与横截面805相交,并且点860对应于图7中的表面估计630与横截面705相交的点。
[0121]对于横截面805上的点,可以确定该点离特定表面有多远。在实施例中,高于横截面805的线段810、820和830的部分指示正向中离开表面并且进入空白空间的距离。类似地,低于横截面805的线段810、820和830的部分指示负方向中低于表面的距离。
[0122]在另一实施例中,高于横截面805的线段810、820和830的部分指示正向中低于表面的距离。类似地,低于横截面805的线段810、820和830的部分指示负方向中距离表面并且进入空白空间中的距离。
[0123]零交叉点可以指有符号的距离函数穿过O或等于O的位置。该位置也可以称为离表面为O距离。零交叉点可以指示表面上的点。
[0124]例如,横截面805上的点850离表面估计610为O距离,并且表示表面估计610上的表面点,横截面805上的点855离表面估计620为O距离,并且表示表面估计620上的表面点,以及横截面805上的点860离表面估计630为O距离,并且表示候选表面点610上的表面点或其法线。
[0125]线段810、820和830是不同的,并且可以被合并来确定线段840。线段840是基于线段810、820和830的平均有符号的距离函数。线段840可以指示三维模型的最终表面上的点。在示例中,线段840的零交点可以指示三维模型的最终表面上的点。线段840在点865处与横截面805相交,并且点865指示三维模型的最终表面上的点。当向用户显示三维模型时,可以显示点865。
[0126]最终表面可以被提取为最终有符号的距离函数的零距离等值面。横截面805通过最终表面并且可以近似地垂直于最终表面。
[0127]可以通过应用将有符号的距离函数整合在一起的算法来合并有符号的距离函数。示例性有符号的距离函数是体积范围图像处理(VRIP)式网格算法。VRIP整合用于每一输入表面的有符号的距离函数,并且平均存在多个表面的位置的有符号的距离函数。然后,将最终表面提取为最终有符号的距离函数的零距离等值面。可以如通过VRIP算法所述地计算用于每一窄基线表面和每一宽基线点的有符号的距离函数。可以稍微改变加权来使沿直接测量表面距离的图像的视线的距离值置于更大置信度。
[0128]基于总有符号的距离函数,可以通过在体素网格中的每一点确定零距离等值面,来从体素网格提取最终表面。在体素网格中具有O的距离值的点被确定为物体的最终表面。
[0129]总有符号的距离函数可以包括来自窄基线立体结果的每一有符号的距离函数和来自宽基线立体的候选表面点的有符号的距离函数的总和。这会导致能用来查看地理区域的高保真大范围城市模型。
[0130]在图800中,通过合并候选表面点和估计表面,来识别最终表面。
[0131]在另一实施例中,通过仅合并估计表面,来识别最终表面。在该实施例中,最终表面不包括候选表面点。这可能是因为候选表面点稀少。
[0132]1.示例系统
[0133]图9是图示例根据实施例的使用两个不同的立体重构技术来确定用于三维模型的最终表面的系统900的图。系统900可以将第一立体重构技术和第二立体重构技术应用于多个图像。第一立体重构技术不同于第二立体重构技术。
[0134]系统900包括图像数据库901和表面重构系统902。表面重构系统902通过网络904耦接到客户端903。
[0135]图像数据库901包括由一个或多个相机从不同视角拍摄的地理区域的图像。可以从由一个或多个相机自不同视角拍摄的地理区域的多个图像来确定三维模型。第一立体重构技术和第二立体重构技术可以应用于图像。
[0136]表面重构系统902包括第一立体重构技术引擎910、空白空间识别器920、第二立体重构技术引擎930和合并引擎940。
[0137]第一立体重构技术引擎910可以将多个图像取做输入并且将第一立体重构技术应用于多个图像。第一立体重构技术引擎910包括候选表面点引擎945和可见性引擎950。候选表面点引擎945使用第一立体重构技术来从多个图像确定多个三维候选表面点。可见性引擎950使用第一立体重构技术来确定多个图像中的哪些图像查看多个候选表面点中的每一个。
[0138]空白空间识别器920识别多个候选表面点中的每一个与通过可见性引擎950确定为查看候选表面点的相应图像的每一相机模型之间的空白空间。
[0139]第二立体重构技术引擎930可以将来自多个图像的一对图像取做输入,并且将第二立体重构技术应用于该对图像。用来生成用于第二立体重构技术的图像对的相机的位置之间的距离小于用来生成用在第一立体重构技术中的图像对的相机的位置之间的距离。对于来自多个图像的多个图像对中的每一个,第二立体重构技术引擎930使用第二立体重构技术来确定用于图像对的表面估计。
[0140]第二立体重构技术引擎930包括可能性引擎955和表面估计器960。为了确定用于图像对的表面估计,可能性引擎955基于由空白空间识别器920确定的空白空间确定感兴趣体积中的每一点是表面点的可能性。该点是表面点的可能性在该点在空白空间内时比在该点在空白空间外时小。可能性引擎955基于所确定的可能性来确定该图像对的表面估计。
[0141 ] 在实施例中,合并引擎940合并通过第二立体重构技术弓I擎930确定的表面估计。例如,合并引擎940可以合并由表面估计器960确定的表面估计来识别最终表面。
[0142]在实施例中,合并引擎940合并由第一立体重构技术引擎910和第二立体重构技术引擎930确定的表面估计。例如,候选表面点引擎945可以基于候选表面点及其曲面法线来确定候选表面点的表面估计。合并引擎940可以合并由表面估计器960和候选表面点引擎945确定的表面估计来识别最终表面。
[0143]表面重构系统902可以将包括最终表面的图像发送到客户端903,用于显示给用户。
[0144]可以在任意计算设备上实现表面重构系统902和客户端903。这些计算设备能包括但不限于个人计算机、诸如移动电话的移动装置、工作站、嵌入式系统、游戏控制台、电视、机顶盒或任何其他计算设备。此外,计算设备能包括但不限于具有处理器和用于执行和存储指令的存储器的装置。软件可以包括一个或多个应用和操作系统。硬件能包括但不限于处理器、存储器和图形用户界面显示器。计算设备还可以具有多个处理器和多个共享或分离存储部件。例如,计算设备可以是集群计算环境或服务器群。
[0145]可以用硬件、软件、固件或其任意组合实现空白空间识别器920、合并引擎940、候选表面点引擎945、可见性引擎950、可能性引擎955和表面估计器960中的每一个。
[0146]I1.示例性方法
[0147]图10是图示根据实施例的使用两个不同的立体重构技术来确定用于三维模型的最终表面的方法1000的流程图。
[0148]在阶段1005,将第一立体重构技术应用于多个图像。阶段1005可以包括阶段1010和1015。在阶段1010,使用第一立体重构技术,确定来自多个图像的多个三维候选表面点。在阶段1015,确定多个图像中的哪些图像查看多个候选表面点中的每一个。
[0149]在阶段1020,识别多个候选表面点中的每一个和在阶段1015确定为查看候选表面点的相应图像的每一相机模型之间的空白空间。
[0150]在阶段1025,将第二立体重构技术应用于来自多个图像的多个图像对。阶段1025可以包括阶段1030。阶段1030,对于来自多个图像的多个图像对中的每一个,使用第二立体重构技术,确定用于图像对的表面估计。
[0151]阶段1030可以包括阶段1035和1040。在阶段1035,基于在阶段1020识别的空白空间来确定感兴趣体积中的每一点是表面点的可能性,使得该点是表面点的可能性在该点在空白空间内时比在该点在空白空间外时小。在阶段1040,基于在阶段1035确定的可能性,确定用于图像对的表面估计。用来生成用于第二立体重构技术的图像对的相机的位置之间的距离小于用来生成用在第一立体重构技术中的图像对的相机的位置之间的距离。
[0152]在阶段1045,合并在阶段1030确定的表面估计来识别最终表面。
[0153]VII1.示例性计算机实施例
[0154]在实施例中,使用非常公知的计算机来实现在此所述的实施例的系统和部件。例如,可以使用系统1100来实现表面重构系统902。
[0155]图11图示一种示例性计算机系统1100,其中,可以将实施例实现为计算机可读代码。硬件、软件或其任意组合可以体现图9中的模块和部件的任何一个。
[0156]如果使用可编程逻辑,这些逻辑可以在商业上可获得的处理平台或专用装置上执行。本领域的技术人员可以意识到能通过各种计算机系统结构,包括多核微处理器系统、微计算机、主机、与分布式功能链接或集群的计算机、以及可以嵌入几乎任何装置中的普遍或小型计算机,来实施所公开的主题的实施例。
[0157]例如,可以使用具有至少一个处理器装置和存储器的计算设备来实现上述实施例。处理器装置可以是单一处理器、多个处理器或其组合。处理器装置可以具有一个或多个处理器“内核”。
[0158]根据该示例性计算机系统110,描述了各个实施例。在阅读本说明书后,对本领域的技术人员来说,使用其他计算机系统和/或计算机体系结构如何实现实施例将变得显而易见。尽管操作可以被描述为顺序过程,但事实上,可以以并行、同时和/或分布式环境中以及通过局部或远程存储的由单一或多处理器机器访问的程序代码执行一些操作。此外,在一些实施例中,在不背离所公开的主题的精神的情况下,可以重新排列操作的顺序。
[0159]处理器装置1104可以是专用或通用处理器装置。如相关技术的技术人员将意识至|J,处理器装置1104还可以是多内核/多处理器系统中的单一处理器,该系统单独或在集群或服务器群中操作的计算设备集群中操作。处理器装置1104连接到通信基础设施1106,例如总线、消息队列、网络或多内核消息传递方案。计算机系统1100还可以包括显示接口1102和显示器单元1130。显示接口 1102允许计算机操作的结果经显示器单元1130显示给用户或应用开发者。
[0160]计算机系统1100还包括主存储器1108,例如随机存取存储器(RAM),以及还可以包括辅助存储器1110。辅助存储器1110可以包括例如硬盘驱动1112和可移动存储驱动1114。可移动存储驱动1114可以包括软盘驱动、磁带驱动、光盘驱动、闪存等等。可移动存储装置1114以非常公知的方式从可移动存储单元1118读取和/或写入该可移动存储单元1118。可移动存储单元1118可以包括由可移动存储驱动1114读取和写入的软盘、磁带、光盘等等。如相关领域的技术人员将意识到,可移动存储单元1118包括其中存储计算机软件和/或数据的计算机可用存储介质。
[0161]在替选的实现中,辅助存储器1110可以包括其他类似的装置,用于允许计算机程序或其他指令加载到计算机系统1100中。这些装置可以包括例如可移动存储单元1122和接口 1120。这些装置的示例可以包括程序盒和盒接口(诸如在视频游戏装置中所找到的)、可移动存储芯片(诸如EPROM或PR0M)和相关联的插槽以及允许软件和数据从可移动存储单元1122传输到计算机系统1100的其他可移动存储单元1122和接口 1120。
[0162]计算机系统1100还可以包括通信接口 1124。通信接口 1124允许在计算机系统1100和外部装置之间传输软件和数据。通信接口 1124可以包括调制解调器、网络接口(诸如以太网卡)、通信端口、PCMCIA插槽和卡等等。经通信接口 1124传送的软件和数据可以以信号的形式,其可以是电、电磁、光或其他信号,能由通信接口 1124接收。可以经通信路径1126,将这些信号提供给通信接口 1124。通信路径1126承载信号并且可以使用线或电缆、光纤、电话线、蜂窝电话链路、RF链路或其他通信信道实现。
[0163]在该文档中,术语“计算机程序介质”和“计算机可用介质”用来通称介质,诸如可移动存储单元1118、可移动存储单元1122和安装在硬盘驱动1112中的硬盘。计算机程序介质和计算机可用介质也可以指代存储器,诸如主存储器1108和辅助存储器1110,其可以是存储器半导体(例如DRAM等等)。
[0164]计算机程序(也称为计算机控制逻辑)存储在主存储器1108和/或辅助存储器1110中。计算机程序还可以经通信接口 1124接收。这些计算机程序当被执行时使计算机系统1100实现在此所述的实施例。具体地,计算机程序当被执行时使处理器装置1104实现过程,诸如在由上述图9的流程图900中所示的方法中的阶段。因此,这些计算机程序表示计算机系统1100的控制器。在使用软件实现实施例的情况下,软件可以存储在计算机程序产品中并且使用可移动存储单元1114、接口 1120和硬盘驱动1112或通信接口 1124加载到计算机系统1100中。
[0165]实施例还可以针对包括存储在任何计算机可用介质上的软件的计算机程序产品。该软件当在一个或多个数据处理装置中被执行时使数据处理装置如在此所述操作。实施例采用任何计算机可用或可读介质。计算机可用介质的示例包括但不限于主存储装置(例如,任何类型的随机存取存储器)、辅助存储装置(例如,硬驱动、软盘、⑶ROM、ZIP盘、带、磁存储装置和光存储装置、MEMS、纳米技术存储装置等等)。
[0166]
【发明内容】
和摘要部分可以阐述由发明人预期的本发明的一个或多个但并非全部示例性实施例,由此,不意在以任何方式限定本发明和所附的权利要求。
[0167]在上文中,已经借助于说明特定功能及其关系的实现的功能构建块描述了本发明。为了描述方便,在此任意限定这些功能构件块的边界。能够限定替选边界,只要适当地执行特定功能及其关系。
[0168]特定实施例的上述描述将全面地展示本发明的一般特性,使得通过应用本领域的技术人员内的知识,其他人能易于修改和/或适配各种应用,诸如特定实施例,无需过度实验,而不背离本发明的一般概念。因此,这些适配和改进旨在基于在此提出的教导和指导在所公开的实施例的等同物的意义和范围内。将理解到在此的措辞或术语为了描述而不是限定目的,使得本说明书的术语或措辞将由技术人员鉴于教导和指导解释。
[0169]本发明的宽度和范围不应当受上述示例性实施例的任何一个限定,而是应当仅根据下述权利要求书及其等同物限定。
【权利要求】
1.一种用于从由一个或多个相机自不同视角对一个地理区域拍摄的多个图像确定三维模型的方法,包括: (a)使用第一立体重构技术来:(i)从所述多个图像确定多个三维候选表面点,以及(?)确定所述多个图像中的哪些图像查看所述多个候选表面点中的每一个; (b)识别所述多个候选表面点中的每一个候选表面点与用于在(a)中确定为查看该候选表面点的相应图像的每一相机模型之间的空白空间; (c)对于来自所述多个图像中的多个图像对中的每一个图像对,使用第二立体重构技术来确定用于该图像对的表面估计,确定用于该图像对的表面估计(c)包括: (i)基于在(b)中识别的空白空间,确定感兴趣体积中的每一点是表面点的可能性,使得所述点是表面点的可能性在所述点在所述空白空间内时比在所述点在所述空白空间外时小;以及 (?)基于在(c)⑴中确定的可能性,确定用于该图像对的表面估计, 其中,用来生成用于所述第二立体重构技术的该图像对的相机的位置之间的距离小于用来生成用在所述第一立体重构技术中的图像对的相机的位置之间的距离;以及 (d)合并在(C)中确定的表面估计来识别最终表面。
2.如权利要求1所述的方法,其中,将所述感兴趣体积中的每一点是表面点的可能性表示为体素网格,所述方法进一步包括: (e)确定所述体素网格中的每一点和在(c)(?)中确定的表面估计之间的最短距离;以及 (f)基于在(e)中确定的最短距离,确定用于所述体素网格中的每一点的有符号的距离函数, 其中,所述合并⑷包括合并在(f)中确定的有符号的距离函数。
3.如权利要求2所述的方法,其中,所述确定(a)包括对于所述多个候选表面点中的每一个,确定曲面法线,所述方法进一步包括: (g)基于所述曲面法线,确定用于所述多个候选表面点中的每一个的表面估计;以及 (h)对于在(g)中确定的每一表面估计,确定有符号的距离函数, 其中,所述合并⑷包括合并在(h)中确定的有符号的距离函数。
4.如权利要求1所述的方法,其中,所述确定(a)包括将指示空白空间的可见光线提供为输出并且所述识别空白空间(b)包括识别所述可见光线。
5.如权利要求1所述的方法,进一步包括基于所述候选表面点来识别所述感兴趣体积。
6.如权利要求1所述的方法,其中,所述确定用于图像对的表面估计(c)(?)包括识别具有作为与阈值匹配的表面点的可能性的点。
7.如权利要求6所述的方法,其中,包括在所述空白空间中的三维点不满足所述阈值。
8.如权利要求1所述的方法,其中,确定表面估计(c)(?)包括增加图形加权,使得所述表面估计通过满足阈值的点并且不通过所述空白空间。
9.如权利要求1所述的方法,其中,确定感兴趣体积中的每一点是表面点的可能性(c)(i)包括:确定包括在所述感兴趣体积中的点的平面,并且将被确定为查看所述点的图像投影在所述平面上。
10.如权利要求1所述的方法,其中,所述第一立体重构技术是宽基线立体以及所述第二立体重构技术是窄基线立体。
11.如权利要求1所述的方法,其中,所述图像中的每一个是地理区域的倾斜图像。
12.如权利要求1所述的方法,其中,所述最终表面是所述地理区域的表示。
13.一种用于从由一个或多个相机自不同视角对一个地理区域拍摄的多个图像确定三维模型的系统,包括: 至少一个计算装置; 在所述至少一个计算装置上实现的宽基线立体引擎,所述宽基线立体引擎被配置成:(i)从所述多个图像确定多个三维候选表面点,以及(ii)确定所述多个图像中的哪些图像查看所述多个候选表面点中的每一个; 在所述至少一个计算装置上实现的空白空间识别器,所述空白空间识别器被配置成:识别所述多个候选表面点中的每一个候选表面点与由所述宽基线立体引擎确定为查看该候选表面点的相应图像的每一相机模型之间的空白空间; 在所述至少一个计算装置上实现的感兴趣体积识别器,所述感兴趣体积识别器被配置成:对于来自所述多个图像中的多个图像对中的每一个图像对,识别该图像对中的感兴趣体积; 在所述至少一个计算装置上实现的体素网格,所述体素网格被配置成:存储用于所述感兴趣体积中的每一点的图片一致性分值; 在所述至少一个计算装置上实现的窄基线立体引擎,所述窄基线立体引擎被配置成:对于来自所述多个图像中的多个图像对中的每一个图像对:(i)确定所述感兴趣体积中的平面;(ii)将被确定为查看所述点的图像投影在所述平面上;(iii)基于该投影计算用于所述平面中的每一点的图片一致性分值,其中在所述空白空间内的第一点的图片一致性分值低于在所述空白空间外的第二点的图片一致性分值,以及(iv)基于所述体素网格中的图片一致性分值确定表面估计,其中所述表面估计包括满足阈值的图片一致性分值;以及 在所述至少一个计算装置上实现的合并引擎,所述合并引擎被配置成:合并由所述窄基线立体引擎确定的表面估计来确定最终表面。
14.如权利要求13所述的系统,其中,所述最终表面是所述地理区域的表示。
15.如权利要求13所述的系统,其中,所述宽基线立体引擎被配置成将指示所述空白空间的可见光线提供为输出,以及所述空白空间识别器被配置成识别包括所述可见光线的所述空白空间。
16.如权利要求13所述的系统,其中,所述合并引擎被配置成确定用于每一窄基线表面估计的有符号的距离函数,以及当所述合并引擎合并由所述窄基线立体引擎确定的表面估计时,所述合并引擎合并用于每一窄基线表面估计的有符号的距离函数来确定所述最终表面。
17.如权利要求16所述的系统,其中,所述合并引擎被配置成将所述最终表面提取为所述有符号的距离函数的零距离等值面表面。
18.如权利要求13所述的系统,其中,所述宽基线立体引擎被配置成确定用于所述多个三维候选表面点中的每一个的曲面法线,以及(iv)基于所述三维候选表面点和所述三维候选表面点的曲面法线来确定用于所述多个三维候选表面点中的每一个的宽基线表面估计;以及 当所述合并引擎合并由所述窄基线立体引擎确定的表面估计来确定最终表面时,所述合并引擎被配置成将由所述窄基线立体引擎确定的表面估计与由所述宽基线立体引擎确定的宽基线表面估计合并。
19.一种编码有计算机程序的计算机可读存储介质,所述程序包括当由一个或多个处理器执行时使所述一个或多个处理执行下述操作的指令: (a)使用第一立体重构技术,(i)从所述多个图像确定多个三维候选表面点,以及(ii)确定所述多个图像中的哪些图像查看所述多个候选表面点中的每一个; (b)识别所述多个候选表面点中的每一个候选表面点与用于在(a)中确定为查看该候选表面点的相应图像的每一相机模型之间的空白空间; (C)对于来自所述多个图像中的多个图像对中的每一个图像对,使用第二立体重构技术来确定用于该图像对的表面估计,其中所述程序包括当由一个或多个处理器执行时使所述一个或多个处理执行使用第二立体重构技术来确定用于该图像对的表面估计的操作的指令,进一步使得所述一个或多个处理器执行以下操作: (i)基于在(b)中识别的空白空间,确定感兴趣体积中的每一点是表面点的可能性,使得所述点是表面点的可能性在所述点在所述空白空间内时比在所述点在所述空白空间外时小;以及 (ii)基于在(c)⑴中确定的可能性,确定用于该图像对的表面估计, 其中,用来生成用于所述第二立体重构技术的该图像对的相机的位置之间的距离小于用来生成用在所述第一立体重构技术中的图像对的相机的位置之间的距离;以及 (d)合并在(C)中确定的表面估计来识别最终表面。
20.如权利要求19所述的计算机可读存储介质,其中,所述最终表面是所述地理区域的表示。
21.一种用于从由一个或多个相机自不同视角对一个地理区域拍摄的多个图像确定三维模型的方法,包括: (a)使用宽基线立体从所述多个图像确定多个三维候选表面点; (b)使用宽基线立体来识别所述多个候选表面点中的每一个候选表面点与用于查看该候选表面点的相应图像的每一相机模型之间的空白空间; (c)对于来自所述多个图像中的多个图像对中的每一个图像对,使用窄基线立体来基于所述多个候选表面点和所述空白空间确定用于该图像对的表面估计;以及 (d)合并在(C)中确定的表面估计来识别最终表面。
【文档编号】G06T17/00GK104350525SQ201380027462
【公开日】2015年2月11日 申请日期:2013年5月9日 优先权日:2012年5月25日
【发明者】戴维·盖洛普, 阿莱克希·戈洛温斯基, 迈克尔·红迈·林, 蒂尔曼·赖因哈特 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1