CN118036115A - 用于建筑物信息确定的多个建筑物图像的自动图像间分析 - Google Patents

用于建筑物信息确定的多个建筑物图像的自动图像间分析 Download PDF

Info

Publication number
CN118036115A
CN118036115A CN202311495769.0A CN202311495769A CN118036115A CN 118036115 A CN118036115 A CN 118036115A CN 202311495769 A CN202311495769 A CN 202311495769A CN 118036115 A CN118036115 A CN 118036115A
Authority
CN
China
Prior art keywords
information
image
images
building
room
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311495769.0A
Other languages
English (en)
Inventor
威尔·A·哈奇克罗夫特
曼朱纳斯·纳拉亚纳
李宇光
内加尔·内贾蒂沙伊丁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mftb Co ltd
Original Assignee
Mftb Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US18/114,951 external-priority patent/US20240161348A1/en
Application filed by Mftb Co ltd filed Critical Mftb Co ltd
Publication of CN118036115A publication Critical patent/CN118036115A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/04Architectural design, interior design

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Architecture (AREA)
  • Civil Engineering (AREA)
  • Computer Graphics (AREA)
  • Structural Engineering (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

描述了用于自动操作的技术,以从在建筑物的多个房间中获取的图像分析视觉数据,以生成一种或多种类型的建筑物信息(例如,全局图像间姿态数据、建筑物的楼层平面图等),例如通过同时或以其他方式同时分析三个或更多个图像的组,该三个或更多个图像的组具有在这些图像的对之间的至少成对视觉重叠,以确定包括全局图像间姿态和结构元素地点的信息,并且为了随后以一种或多种其它自动方式使用所生成的建筑物信息,在一些情况下进一步执行建筑物信息生成,而不具有或使用来自任何距离测量装置的关于从图像的获取地点到周围房间中的墙壁或其它对象的距离的信息。

Description

用于建筑物信息确定的多个建筑物图像的自动图像间分析
技术领域
以下公开内容一般地涉及用于基于对多个图像的组合的视觉数据的分析来自动分析为建筑物获取的图像的视觉数据以确定和使用多种类型的建筑物信息的技术,诸如通过同时或以其它方式同时分析三个或更多个图像的组,该三个或更多个图像的组具有在成对的那些图像之间的至少成对视觉重叠,以确定包括全局图像间姿态数据和结构建筑物元素地点(例如,用于生成建筑物的最终楼层平面图)的信息,以及用于随后以一种或多种方式使用所确定的信息,从而改善建筑物的导航。
背景技术
在各种领域和环境中,诸如建筑物分析、地产检查、地产获取和开发、重塑和改善服务、总承包、自动导航和其它环境,可能希望查看关于房屋、办公室或其它建筑物的内部的信息,而不必物理地行进到并且进入建筑物,包括确定关于建筑物的实际建造信息,而不是来自建造建筑物之前的设计信息。然而,可能难以有效地捕获、表示和使用这样的建筑物内部信息,包括向远程地点的用户显示在建筑物内部捕获的可视信息(例如,使用户能够完全理解内部的布局和其它细节,包括以用户选择的方式控制显示)。此外,尽管建筑物的平面图可以提供关于建筑物内部的布局和其它细节的一些信息,但是这种使用平面图在某些情况下具有一些缺点,包括楼层平面图难以构造和维护,难以精确地缩放和填充关于房间内部的信息,难以可视化和以其它方式使用等。
附图说明
图1是描绘在本公开的实施方式中使用的示例性建筑物内部环境和(多个)计算系统的图,包括生成和呈现表示建筑物的区域的信息。
图2A至图2D示出了在建筑物的多个房间中获取的图像的示例。
图2E和图2F示出了根据本公开的图像间映射信息生成管理器(IIMIGM)系统的实施方式和IIMIGM成对图像分析器(PIA)组件的实施方式的示例数据和处理流程。
图2G至图2P示出了用于分析在建筑物的多个房间中获取的图像的视觉数据的自动操作的示例,诸如至少部分地基于分析具有至少部分视觉重叠的图像的视觉数据,并且可选地组合来自多个图像对的分析的数据,以用于生成和提供关于建筑物的楼层平面图的信息。
图3是示出适于执行一个或多个系统的实施方式的计算系统的框图,该一个或多个系统执行本公开中所描述的至少一些技术。
图4示出了根据本公开的实施方式的图像捕获和分析(ICA)系统例程的示例流程图。
图5A至图5B示出了根据本公开的实施方式的IIMIGM系统例程的示例流程图。
图6示出了根据本公开的实施方式的建筑物信息访问系统例程的示例流程图。
具体实施方式
本公开描述了用于使用计算装置执行自动操作的技术,该自动操作涉及从在建筑物的多个房间中获取的图像分析视觉数据以生成多种类型的建筑物信息(例如,建筑物的楼层平面图、图像获取地点的位置等),并且随后以一种或多种其他自动化方式使用所生成的建筑物信息。图像可以例如包括全景图像(例如,以等矩形投影格式)和/或在多房间建筑物(例如,房屋、办公室等)中或周围的获取地点处获取的其它类型的图像(例如,以直线立体图或正投影格式)。此外,在至少一些这样的实施方式中,在不具有或不使用来自任何深度传感器或其它测距装置的关于以下各项的信息的情况下进一步执行自动化建筑物信息生成:从目标图像的获取地点到周围建筑物中的墙壁或其它对象的距离(例如,通过仅使用图像的视觉数据,诸如RGB或红绿蓝像素数据)。在各种实施方式中,所生成的用于建筑物的楼层平面图(包括所确定的房间形状或建筑物内各个房间的其它结构布局)和/或其它类型的所生成的建筑物信息可以以各种方式进一步使用,包括用于控制移动装置(例如,自主车辆)的导航,用于在相应GUI(图形用户界面)中的一个或多个客户端装置上的一个或多个计算机网络上显示或其它呈现等。下面包括关于从在建筑物的多个房间中获取的图像自动分析视觉数据以生成和使用多种类型的建筑物信息的附加细节,并且在至少一些实施方式中,可以经由图像间映射信息生成管理器(“IIMIGM”)系统的自动操作来执行本文中描述的一些或全部技术,如下面进一步讨论的。
如上所述,IIMIGM系统的自动操作可以包括分析来自在多房间建筑物处获取的多个目标图像的视觉数据,诸如在多个房间中的多个获取地点处以及可选地在建筑物的其它区域获取的多个全景图像。在至少一些实施方式中,这样的全景图像各自都包括围绕竖直轴的360°的水平视觉覆盖以及一个或多个房间中的楼层和/或天花板中的一些或全部的视觉覆盖(例如,180°或更多的竖直视觉覆盖),并且在本文中有时被称为“360°”或“360”全景图像或全景(例如,“360全景”,“360°全景图像”等),并且在一些情况下可以使用等矩形投影呈现(在投影中以直线示出竖直线和其它竖直信息,并且,如果所获取的周围环境中的水平线和其它水平信息位于图像的水平中点之上或之下,则它们以弯曲的方式在投影中示出,并且曲率量随着距水平中心线的距离的增加而增加)。此外,当在至少一些实施方式中分析这种全景图像或其他图像时,这种全景图像或其他图像可以被投影到或以其他方式转换为“拉直的”格式,使得这种拉直的图像中的像素列对应于周围环境(例如,竖直面)中的信息的竖直切片,无论基于以这种拉直的格式获取(例如,使用具有与周围环境中的这种竖直信息或重力的方向完美对准的竖直轴的相机装置)和/或被处理以将图像中的原始视觉数据修改为拉直格式(例如,使用关于相机装置相对于这样的竖直轴的变化的信息;利用周围环境中的竖直信息,诸如墙壁间边界或门框侧面;等)。获取目标图像的(多个)图像获取装置可以例如是一个或多个移动计算装置,每个移动计算装置包括一个或多个相机或其他成像系统(可选地包括用于获取全景图像的一个或多个鱼眼镜头和/或其他镜头),并且可选地包括用于获取非视觉数据的附加硬件传感器,诸如获取反映装置运动的数据的一个或多个惯性测量单元(或“IMU”)传感器,和/或可以是一个或多个摄像机装置,该摄像机装置各自缺少计算能力并且可选地与附近的移动计算装置相关联。
如上所述,IIMIGM系统的自动操作可以包括基于分析来自在建筑物处获取的多个目标图像的视觉数据来生成多房间建筑物的多种类型的建筑物信息,其中这种生成的建筑物信息在本文中有时也被称为建筑物的“映射信息”,并且多个建筑物信息类型的生成至少部分地基于对来自多个目标图像的重叠视觉数据的分析。在至少一些实施方式中,IIMIGM系统可以包括成对图像分析器(PIA)组件,其对具有视觉数据重叠(或“视觉重叠”)的成对的目标图像进行初始成对分析,以从成对的目标图像的视觉数据(例如,在每个目标图像的单独的局部坐标系中,在为该成对的图像的信息确定并共享的局部坐标系统中,等)确定初始局部结构信息(例如,平面墙壁表面、墙壁元素等),诸如通过使用训练过的神经网络通过组合来自成对的图像的视觉数据来共同生成多种类型的建筑物信息。例如,在至少一些实施方式中,经训练的神经网络可用于分析成对的图像,并根据一对图像中的两个图像的视觉数据来共同确定多种类型的建筑物信息,以便执行对两个拉直图像的图像像素列中的每个的分析,以预测或以其它方式确定以下信息中的一些或全部:共可见性信息(例如,正被分析的图像像素列的视觉数据是否在该对图像中的另一个图像中也是可见的,诸如,两个图像都显示周围环境的相同竖直切片);图像角度对应信息(例如,如果被分析的图像像素列的视觉数据在该对的另一个图像中也是可见的,则该对图像的另一个图像的一个或多个图像像素列包含用于周围环境的相同竖直切片的视觉数据);墙壁-地板和/或墙壁-天花板边界信息(例如,如果在被分析的图像像素列中存在墙壁的至少一部分和墙壁与地板和/或天花板的边界,则该图像像素列中的一个或多个图像像素行对应于墙壁-地板和/或墙壁-天花板边界);结构墙壁元素和/或其它结构元素的位置(例如,如果一个或多个结构元素的至少一部分存在于被分析的图像像素列中,则该图像像素列中的一个或多个图像像素行对应于结构元素中的每个)等。在各种实施方式中,所识别的结构元素可以具有各种形式,诸如墙壁或作为墙壁和/或天花板和/或地板(例如,窗和/或天窗;进入和/或离开房间的通道,诸如在墙壁、楼梯、走廊等中的门道和其它开口;相邻连接墙壁之间的边界;墙壁与地板之间的边界;墙壁与天花板之间的边界;地板与天花板之间的边界;至少三个表面或平面相遇的拐角(或立体几何顶点);壁炉;地板的凹陷和/或升高部分;天花板的锯齿状或挤压状部分;等)的部分的其它结构元素,任选地,其它固定结构元素(例如,台面、浴盆、水槽、岛、壁炉等)。此外,在至少一些实施方式中,可以使用概率或其它似然值(例如,图像像素列的视觉数据在其它图像中是共可见的x%概率)和/或用不确定度的度量(例如,基于与图像像素列的所确定类型的建筑物信息对应的预测的正态或非正态概率分布的标准偏差,以及可选地,具有从用于该建筑物信息类型的可能值的概率分布中选择的值,诸如平均值或中值或模式)来生成所确定的每像素列类型的建筑物信息的一些或全部。
此外,在至少一些实施方式中,IIMIGM系统可以包括基于图形神经网络的分析器(GNNBA)组件,该基于图形神经网络的分析器组件分析具有至少成对视觉重叠的三个或更多个目标图像(例如,360°全景图像)的组,以确定至少全局图像间姿态信息(例如,在为所有这些图像确定的并由所有这些图像的信息共享的全局坐标系中),以及可选地附加建筑物信息,该附加建筑物信息包括结构元素地点(例如,平面墙壁表面、房间形状、房间形状布局、墙壁厚度等)和用于建筑物的最终楼层平面图,例如通过使用由PIA部件(如果可用的话)确定的局部结构信息,或在一些实施方式中通过以其它方式或不使用这样的局部结构信息来确定这样的局部结构信息。例如,GNNBA组件可以使用多个层图形神经网络(GNN),其在第一层中使用GNN的节点来表示建筑物的三个或更多个目标图像(例如,包括建筑物的多个房间中的每个中的一个或多个目标图像并且可选地在建筑物周围的外部区域中的多个目标图像)中的每个,并且使用成对节点之间的GNN中的节点间边缘来表示这种对的两个节点的关联图像之间的相对的图像间姿态(例如,距离和方向)(例如,其中第一层中的网络完全连接,以便具有所有成对的节点之间的边缘,并且不具有足够置信度的节点之间的边可选地在后续层中被丢弃或以其他方式打折)。例如,第一层中的每个节点可以用对从关联目标图像(例如,通过PIA组件)提取的视觉特征进行编码的表示来初始化,以及第一层中的每个边缘可以例如用基于边缘连接的两个节点的可视特征的级联的表示来初始化。可以执行通过GNN的多个层的单次传递以优化三个或更多个目标图像的全局图像间姿态信息,包括使用来自先前层的信息来更新两个层之间的边缘表示(例如,嵌入与相对姿态回归有关的信息),使用在节点和层之间传递的消息来更新节点表示(例如,嵌入和保持与目标图像之间的全局姿态回归有关的信息),以及从最后一层生成最终的全局图像间姿态信息(例如,使用4个参数来表示使用缩放的平移矢量和单位旋转矢量的成对目标图像之间的图像间姿态)。生成的全局图像间姿态信息可以可选地进一步用作确定其它建筑物信息的部分,例如通过将来自PIA组件的初始局部结构信息(例如,以二维或“2D”形式和/或以三维或“3D”形式表示的墙壁和/或房间形状)定位在全局参考系(例如,全局公共坐标系)中,并使用它生成具有2D和/或3D信息的楼层平面图。以下包括与这种GNNBA组件的操作相关的其它细节,包括关于图2E至图2F和图2N至图2P及其相关联的文本描述。
所描述的技术在各种实施方式中提供各种益处,包括允许从为建筑物或其它结构获取的(多个)目标图像自动生成多房间建筑物和其它结构的部分或完整的楼层平面图,包括提供更完整和准确的房间形状信息,并且在一些实施方式中包括不具有或不使用来自深度传感器或其它距离测量装置的关于从图像获取地点到周围建筑物或其它结构中的墙壁或其它对象的距离的信息。所描述的技术的额外此类益处的非排他性示例包括以下:通过同时或以其它方式同时分析三个或更多个图像的组,该三个或更多个图像的群组具有在成对的那些图像之间的至少成对视觉重叠,产生用于图像的全局信息,且任选地产生其中获取那些图像的相关建筑物,包括以所使用的较少计算资源(例如,CPU时间、存储器、存储装置等)做得如此快得多并且产生比使用不同阶段或时期以首先产生的现有技术更精确的结果,并且然后尝试添加和对齐结构信息或以其他方式组合各组局部信息;识别与一个或多个指示图像(例如,至少三个指示图像的组)具有至少部分视觉重叠的其它图像的能力,以便提供相应的搜索结果;在图像获取时段期间提供关于已经获取的图像(例如,最近获取的图像)和/或关于(诸如以关于获取(多个)图像的实时或近似实时的方式)要获取的一个或多个附加图像的反馈的能力;互连多个目标图像并且在其他链接的目标图像的方向上显示具有用户可选择的可视指示符的目标图像中的至少一个的能力,所述其他链接的目标图像在被选择时引起链接的目标图像中的相应的另一个的显示(例如,作为虚拟游览的部分),例如通过将各个目标图像放置在至少示出它们的相对地点的公共坐标系中,或以其他方式确定成对的目标图像之间的至少方向(例如,至少部分地基于对所述对中的目标图像的视觉内容的自动分析,并且可选地基于来自移动计算装置的沿着目标图像之间的行进路径的进一步移动数据),并且使用所确定的图像间方向来链接各个目标图像等。此外,所描述的自动化技术允许比先前现有的技术更快速地确定这种房间形状信息,并且在至少一些实施方式中以更高的精度来确定这种房间形状信息,包括通过使用从实际建筑物环境(而不是从关于建筑物应该如何在理论上构造的平面图)获取的信息,以及使得能够识别在建筑物初始构造之后发生的结构元素的改变。这种所描述的技术还提供了至少部分地基于所确定的图像获取地点和/或所生成的楼层平面图信息(以及可选地其他所生成的映射信息)来允许由装置(例如,半自主或全自主车辆)对建筑物进行改善的自动导航的益处,包括显著降低用于尝试以其他方式学习建筑物布局的计算能力和时间。此外,在一些实施方式中,所描述的技术可以用于提供改善的GUI,其中用户可以更准确和快速地获取关于建筑物内部(例如,用于导航该内部)和/或其他关联区域的信息,包括响应于搜索请求,作为向用户提供个性化信息的部分,作为向用户提供关于建筑物的价值估计和/或其他信息的部分等。还通过所述技术提供了各种其它益处,其中一些在本文别处进一步描述。
为了说明的目的,下面描述一些实施方式,其中特定类型的信息是针对特定类型的结构并且通过使用特定类型的装置以特定方式获取、使用和/或呈现的。然而,将理解,所描述的技术可以以其它方式在其它实施方式中使用,并且因此本发明不限于所提供的示例性细节。作为一个非排他性的示例,尽管可以为不包括对特定房间或对整个房屋的详细测量的房屋生成楼层平面图,但是应当理解,在其它实施方式中,可以类似地生成其它类型的楼层平面图或其它映射信息,包括对与房屋分开的建筑物(或其它结构或布局)(包括确定对特定房间或对整个建筑物或其它结构或布局的详细测量),和/或对于其他类型的环境,其中在环境的不同区域中获取不同的目标图像,以生成用于该环境的一些或全部的地图(例如,对于房屋或其他建筑物外部和周围的区域,诸如在与建筑物相同的地产上;或对于与建筑物和/或地产(诸如道路、附近、城市、跑道等)分离的环境)。作为另一个非排他性的示例,尽管房屋或其它建筑物的楼层平面图可以用于显示以帮助观察者导航建筑物,但是在其它实施方式中可以以其它方式使用所生成的映射信息。作为另一个非排他性示例,虽然一些实施方式讨论了从一个或多种类型的图像获取装置(例如,移动计算装置和/或单独的相机装置)获取和使用数据,但是在其他实施方式中,所使用的一个或多个装置可以具有其他形式,以便使用获取一些或全部附加数据但不提供其自己的计算能力的移动装置(例如,附加的“非计算”移动装置)、各自获取附加数据中的一些的多个单独的移动装置(无论是移动计算装置和/或非计算移动装置)等。此外,术语“建筑物”在本文中是指任何部分或完全封闭的结构,通常但不一定包括在视觉上或以其它方式分隔所述结构的内部空间的一个或多个房间,并且在一些情况下包括一个或多个相邻或以其它方式相关联的外部区域和/或外部附属结构。这种建筑物的非限制性示例包括房屋、公寓建筑物或其中的单独公寓、场馆、办公建筑物、商业建筑物或其它批发和零售结构(例如,购物商场、百货商店、仓库等)等。本文所用的关于建筑物内部、获取地点或其它地点(除非上下文另外清楚地指示)的术语“获取”或“捕获”可以指任何媒体、传感器数据和/或与空间和/或视觉特性和/或建筑物内部或其它位置或其子集的其它可感知特性相关的其它信息的记载(recording)、存储或记录(logging),例如通过记载装置或通过从记载装置接收信息的另一个装置。如本文所使用的,术语“全景图像”可以指基于、包括或可分离成多个离散分量图像的视觉表示,所述多个离散分量图像源自在不同方向上基本上相似的物理地点,并且描述比单独描述的任何离散分量图像更大的视场,该离散分量图像包括从物理地点具有足够广角视角的图像,以包括超过在单个方向上从人的凝视可察觉的角度的角度(例如,大于120°或150°或180°等)。本文所用的术语获取地点的“序列(sequence)”通常是指两个或更多个获取地点,每个获取地点以相应的顺序至少被访问一次,无论其它非获取地点是否在它们之间被访问,以及无论对获取地点的访问是否在单个连续的时间段期间或在多个不同的时间发生、或由单个用户和/或装置、或由多个不同的用户和/或装置发生。此外,出于示例性目的,在附图和文本中提供了各种细节,但并不旨在限制本发明的范围。例如,附图中的元素的尺寸和相对位置不必按比例绘制,其中省略了一些细节和/或提供了更大的突出(例如,通过尺寸和定位)以增强易读性和/或清晰度。此外,在附图中可以使用相同的附图标记来标识类似的元素或动作。
图1是在一些实施方式中可以参与所描述的技术的各种装置和系统的示例框图。特别地,目标全景图像165已经通过具有成像系统的一个或多个移动计算装置185和/或通过一个或多个单独的相机装置184(例如,不具有机载计算能力)在用于一个或多个建筑物或其他结构的获取地点处获取,诸如在该示例中在一个或多个服务器计算系统180上执行的内部捕捉和分析(ICA)系统160的控制下。图1示出了这样的全景图像获取地点210的一个示例,全景图像获取地点210用于下面进一步讨论的特定示例性房屋198的部分以及与ICA系统的自动操作相关的附加细节被包括在本文中的其它地方。在至少一些实施方式中,ICA系统中的至少一些可以部分地在移动计算装置185上执行(例如,作为ICA应用154的部分,不管是作为一个或多个服务器计算系统180上的ICA系统160的补充还是替代),以控制由该移动计算设备和/或由一个或多个附近(例如,在相同的房间中)的可选的单独的相机装置184结合该移动计算装置操作对目标图像和可选的附加非视觉数据的获取,如下面进一步讨论的。
图1还示出了IIMIGM(图像间映射信息生成管理器)系统140,其在一个或多个服务器计算系统180上执行,以分析在一些或所有建筑物房间或其它建筑物区域中的每个中获取的目标图像(例如,全景图像165)的视觉数据,并使用分析的结果来生成信息145,该信息145至少包括全局图像间姿态数据、以及在至少一些实施方式和情形中的建筑物楼层平面图(例如,具有2D和/或3D房间形状)和相关联的基础2D和/或3D信息(例如,房间形状和房间间形状布局;室内结构元素(诸如墙壁、门道、窗、非门道墙壁开口等)的地点;图像的室内获取地点等)以及基于目标图像的使用以及关于其获取和链接的任选地相关联的元数据的任选地其他映射相关信息(例如,链接的全景图像、3D模型等)。图2J至图2K示出了这种楼层平面图的非排他性示例,如以下进一步讨论的,并且与IIMIGM系统的自动操作相关的附加细节包括在本文别处。在所示示例中,IIMIGM系统包括成对图像分析器(PIA)组件146和基于图形神经网络的分析器(GNNBA)组件142。在其它实施方式中,GNNBA组件可以作为IIMIGM系统的部分提供和/或作为没有PIA组件的目标图像的特定分析的部分使用。在一些实施方式中,ICA系统160和/或IIMIGM系统140可以在相同的或多个服务器计算系统上执行,例如,如果这些系统中的多个或全部由单个实体操作,或以其他方式相互协调地执行(例如,这些系统的一些或全部功能被集成在一起成为更大的系统),而在其他实施方式中,IIMIGM系统可以替代地与ICA系统分开操作(例如,不与ICA系统交互),以便从一个或多个外部源获取目标图像和/或可选地获取其它信息(例如,其它附加图像等),并且可选地将它们与IIMIGM系统一起本地(未示出)存储以便进一步分析和使用。
在至少一些实施方式和情形中,IIMIGM客户端计算装置105的一个或多个系统操作员用户(未示出)可以可选地进一步通过网络170与IIMIGM系统140和/或其组件142和146中的一个或多个交互,以便帮助(多个)IIMIGM系统/组件的一些自动操作和/或随后使用由(多个)IIMIGM系统/组件以一个或多个进一步的自动化方式确定和生成的信息。一个或多个其他客户端计算装置175的一个或多个其他最终用户(未示出)可以进一步通过一个或多个计算机网络170与IIMIGM系统140以及可选地与ICA系统160交互,以便获取和使用所生成的楼层平面图和/或其他所生成的映射信息,和/或可选地与这种所生成的平面图和/或其他所生成的映射信息交互,和/或获取和可选地与诸如一个或多个相关联的目标图像(例如,在楼层平面图和在该楼层平面内或附近的获取地点处的特定目标图像的视图之间改变;改变显示全景图像的对应子集的水平和/或竖直观看方向,以便确定当前用户观看方向指向的全景图像的部分,等等)的附加信息交互,和/或获取与一个或多个指示的目标图像匹配的图像的信息。此外,在至少一些实施方式和情形中,移动图像获取装置185还可以在图像获取时段期间与IIMIGM系统和/或其组件中的一个或多个交互,以获取关于已经获取和/或应该获取的图像的反馈(例如,通过接收和显示从所获取的图像生成的至少部分建筑物楼层平面图信息,诸如针对一个或多个房间),如本文别处更详细讨论的。此外,虽然在图1中未示出,但楼层平面图(或其一部分)可以链接到一个或多个其他类型的信息或以其他方式与一个或多个其他类型的信息相关联,包括对于多个层或其他方式的多层建筑物的楼层平面图具有用于互连(例如,通过连接楼梯通道)的不同楼层(story)或层(level)的多个相关联的子层平面图,对于将建筑物的二维(“2D”)楼层平面图链接到建筑物的三维(“3D”)模型楼层平面图或以其他方式与建筑物的三维(“3D”)模型楼层平面图关联等。在其它实施方式中,多个层或多层建筑物的楼层平面图可以代替地包括关于所有楼层或其它层的信息,和/或可以同时显示关于所有层或其它层的这样的信息。此外,虽然在图1中未示出,但是在一些实施方式中,客户端计算装置175(或其它装置,未示出)可以以附加方式接收和使用所生成的平面图信息和/或其它相关信息,以便控制或辅助那些装置(例如,由自主车辆或其它装置)的自动导航活动,无论是代替显示所生成的信息还是除了显示所生成信息之外。
在图1的计算环境中,网络170可以是一个或多个公众可访问的链接网络,可能由各种不同方(例如因特网)操作。在其它实现方式中,网络170可以具有其它形式。例如,网络170可以改为专用网络,例如非特权用户完全或部分不可访问的公司或大学网络。在其它实现中,网络170可以包括专用网络和公共网络,其中一个或多个专用网络访问和/或形成一个或多个公共网络。此外,网络170可以在各种情况下包括各种类型的有线和/或无线网络。此外,客户端计算装置105和175以及服务器计算系统180可以包括各种硬件组件和存储的信息,如下面参考图3更详细地讨论的。
在图1的示例中,ICA系统160可以在多个相关联的获取地点(例如,在建筑物或其他结构内的多个房间或其他区域中以及可选地在建筑物或其它结构的外部的一些或全部周围)执行涉及生成多个目标全景图像(例如,每个都是围绕竖直轴的360度全景)的自动操作,诸如用于生成和提供建筑物(包括其内部)或其它结构的表示。在一些实施方式中,ICA系统的进一步自动操作可以进一步包括分析信息以确定两个或更多个获取地点中的每个之间的相对位置/方向,基于这样确定的位置/方向在全景中创建到一个或多个其它全景中的每个的全景间位置/方向链接,并且然后提供信息以显示或以其它方式呈现用于建筑物内各个获取地点的多个链接的全景图像,而在其它实施方式中,一些或所有这种进一步的自动操作可以改为由IIMIGM系统或其组件142和146中的一个或多个来执行。
图1还描绘了示例性建筑物环境的框图,在该建筑物环境中,可以获取、链接全景图像并将全景图像用于生成和提供相应的建筑物楼层平面图,以及用于向用户呈现全景图像和/或用于如本文所讨论的其它用途。特别地,图1示出了在地产179上的建筑物198的部分,该地产包括庭院182、187和188以及附加的室外建筑物189,并且建筑物198的内部和外部至少部分地经由多个目标全景图像来获取,例如由携带一个或多个具有图像获取能力的移动计算装置185和/或一个或多个分离的相机装置184的用户(未示出)通过建筑物内部到达多个获取地点210的序列,以获取目标图像和可选地用于多个获取地点210的附加非视觉数据。ICA系统的实施方式(例如,(多个)服务器计算系统180上的ICA系统160;在用户的移动装置上执行的ICA系统的一些或全部的副本,诸如在装置185上的存储器152中执行的ICA应用系统154;等)可以自动执行或帮助获取表示建筑物内部的数据。用户的移动计算装置185可以包括各种硬件组件,诸如一个或多个传感器148(例如,移动装置的陀螺仪148a、加速度计148b、指南针148c等,诸如一个或多个IMU的部分、或惯性测量单元;高度计;光检测器等)、一个或多个硬件处理器132、存储器152、显示器143、任选地一个或多个相机或其它成像系统135、任选地GPS接收器、以及任选地未示出的其它组件(例如,额外的非易失性存储器;传输能力,用于通过网络170和/或经由直接装置到装置通信与其它装置交互,例如与相关联的相机装置184或远程服务器计算系统180交互;一个或多个外部灯;麦克风等)。然而,在一些实施方式中,移动装置可能不能访问或使用硬件装置来测量建筑物中相对于移动装置的地点的对象的深度(使得可以部分或全部基于对图像的视觉数据的分析来确定不同全景图像与其获取地点之间的关系,并且可选地在一些这样的实施方式中,通过进一步使用来自所列出的硬件组件中的其它硬件组件(例如,IMU传感器148),但不使用来自任何此类深度传感器的任何数据),而在其它实施方式中,移动装置可具有一个或多个测距传感器136(例如,使用激光雷达或其它激光测距技术、结构化光、合成孔径雷达或其它类型雷达等),其用于针对一个或多个图像的获取地点到周围墙壁和其他周围物体的深度(例如,与来自对(多个)图像的视觉数据的分析的确定的建筑物信息相结合,诸如,相对于可以与房间或其他建筑物区域对应的结构布局信息的一对或多对全景图像的确定的图像间姿态信息)。虽然为了简洁起见未示出,但是一个或多个相机装置184可以类似地每个都包括至少一个或多个图像传感器和存储器,在其上存储所获取的目标图像和传输能力以将所获取的目标图像传输到其他装置(例如,相关联的移动计算装置185、远程服务器计算系统180等),可选地连同一个或多个镜头和灯以及其他物理组件(例如,为移动计算装置示出的一些或所有其它组件)。尽管提供方向指示器109用于观众参考,但是在至少一些实施方式中,移动装置和/或ICA系统可以不使用绝对方向信息,以便在不使用实际地理位置/方向的情况下,确定全景图像的获取地点210之间的相对方向和距离。
在操作中,移动计算装置185和/或相机装置184(以下有时称为“一个或多个图像获取装置”)到达建筑物内部的第一房间内的第一获取地点(例如,在房屋的起居室中的获取地点210A,诸如在从外部门道190-1进入房屋之后),并且获取建筑物内部的从该获取地点可见的部分的视觉数据(例如,第一房间的部分或全部,以及可选地一个或多个其他相邻或附近房间的小部分,例如通过门道、大厅、楼梯或来自第一房间的其他连接通道)。在该示例实施方式中,在在获取地点210C和210D继续获取进一步的图像之前(如关于图2D和图2H中所示的示例图像进一步讨论的),可以在获取地点210A获取第一图像,并且可以在相同的房间内的获取地点210B获取第二图像(如关于图2A至图2D中所示的示例图像进一步讨论的)。在至少一些情况下,所述一个或多个图像获取装置可以由一个或多个用户携带或以其它方式由一个或多个用户伴随,而在其它实施方式和情况下,可以安装在一个或多个自供电装置上或由一个或多个自供电装置携带,该自供电装置在其自身的电力(例如,空中无人机、地面无人机等)下移动通过建筑物。此外,在各种实施方式中,可以以各种方式执行从获取地点获取视觉数据(例如,通过使用同时获取所有图像数据的一个或多个镜头,通过相关联的用户在保持一个或多个图像获取装置相对于用户身体静止的同时将他或她的身体在圆圈内转动,通过其上安装或承载有一个或多个图像获取装置的自动装置旋转一个或多个图像获取装置等),并且可以包括在获取地点记录视频和/或在获取地点拍摄一个或多个图像的序列,包括获取描绘在从获取地点获取或在获取地点附近获取的图像(例如,视频帧)中可见的多个对象或其他元素(例如,结构细节)的视觉信息。在图1的示例中,这样的物体或其它元素包括在结构上是墙壁的部分的各种元素(或“墙壁元素”),例如门道190和它们的门(例如,具有摆动和/或滑动门,例如门道190-1至190-5)、窗196(例如,196-1至196-8)、墙壁间边界(例如,拐角或边缘)195(包括建筑物198的西北拐角中的拐角195-1、第一房间的东北拐角中的拐角195-2、建筑物198的西南拐角中的拐角195-3、以及第一房间的东南拐角中的拐角195-4)、其他拐角或墙壁间边界183(例如,在起居室和东边走廊之间的墙壁开口的北侧的拐角/边界183-1)等。此外,图1的示例中的这种物体或其它元素还可以包括房间内的其它元素,例如家具191至193(例如,躺椅191;椅子192;桌子193;等)、图片或绘画或电视或悬挂在墙壁上的其它物体194(例如194-1和194-2)、灯具等。一个或多个图像获取装置可以可选地进一步获取在获取地点处或获取地点附近的附加数据(例如,使用成像系统135的附加视觉数据,使用传感器模块148的附加运动数据,可选地使用测距传感器136的附加深度数据等),可选地在旋转的同时,以及可选地在一个或多个图像获取装置移动到获取地点和/或从获取地点移动的同时获取进一步的这种附加数据。在一些实施方式中,(多个)图像获取装置的动作可以通过使用在移动计算装置185上执行的(多个)程序(例如,通过对(多个)图像获取装置或另一移动装置(未示出)的自动指令,该另一移动设备在其自身的电力下携带这些装置穿过建筑物;经由对房间中的关联用户的指令;等)来控制或促进,诸如ICA应用系统154和/或可选浏览器162、用于管理I/O(输入/输出)和/或用于装置185的通信和/或联网的控制系统147(例如,从用户接收指令并向用户呈现信息,例如在装置上执行的操作系统(未示出)的部分)等等。用户还可以可选地提供要与获取地点相关联的文本或听觉标识符,诸如用于获取地点210A的“入口”或用于获取地点210B的“起居室”,而在其它实施方式中,ICA系统可以自动生成这样的标识符(例如,通过自动分析建筑物的视频和/或其它记录的信息以执行相应的自动确定,诸如通过使用机器学习),或可以不使用标识符。
在已经获取了第一获取地点的视觉数据和可选地其他信息之后,(多个)图像获取装置(以及用户,如果存在的话)可以可选地在相同的图像获取时段期间沿着路径115前进到下一获取地点(例如,从获取地点210A到获取地点210B等),可选地在获取地点之间的移动期间记录移动数据,诸如来自硬件组件的视频和/或其他数据(例如,来自一个或多个IMU传感器148、来自成像系统135、来自测距传感器136等)。在下一个获取地点,一个或多个图像获取装置可以类似地从该获取地点获取一个或多个图像,并且可选地在该获取地点处或该获取地点附近获取附加数据。对于建筑物的一些或所有房间以及可选地在建筑物外部重复该过程,如针对获取地点210A-210P所示,在该示例中包括获取在外部平台或庭院或阳台区域186上、在较大的外部后院或庭院区域187上、在单独的侧院区域188中、在可以具有一个或多个房间以及门道190-6和窗196-9的外部额外的外部建筑物或附件结构区域189(例如,车库、棚屋、附属住宅单元、温室、凉亭、汽车码头等)附近或在该外部额外的外部建筑物或附件结构区域189中、在建筑物198和街道或道路181之间的前院182中(例如,在与用于获取一些或所有其它目标图像不同的图像获取时段期间),以及在其它实施方式和情况中,来自相邻的街道或道路181(未示出)、来自一个或多个头顶位置(例如,来自无人机,飞机、卫星等,未示出)等。用于每个获取地点的获取视频和/或其它图像被进一步分析以生成用于获取地点210A-210P的一些或全部中的每个的目标全景图像,包括在一些实施方式中将来自获取地点的多个组成图像缝合在一起以创建用于该获取地点的目标全景图像和/或以其它方式将视觉数据组合在不同图像(例如,对象和其它元素、潜在空间特征等)中。
除了生成这样的目标全景图像之外,在至少一些实施方式中,可以由IIMIGM系统(例如,与图像获取活动同时或在图像获取之后)执行进一步的分析,以为房间中的每个(以及可选地为其他限定区域,诸如建筑物外部的平台或其他庭院或其他外部限定区域)确定布局(例如,房间形状和可选地标识的结构元素和其他对象的地点),包括可选地确定每个目标图像的获取地点信息,并进一步确定建筑物和任何相关联的周围区域(例如,建筑物坐落的地产179的地段或土地)的楼层平面图和/或建筑物的其它相关映射信息(例如,建筑物和任何相关联的周围区域的3D模型,链接的目标全景图像的互连组等)。在一些情况下,例如使用所描述的技术,可以使用全景图像中可见的重叠特征来将这些全景图像中的至少一些和它们的获取地点“链接”在一起(为了说明起见,示出了示例获取地点210A至210C之间的一些相应的方向线215)。图2I示出了关于可以由IIMIGM系统确定和使用的相应图像间链接的附加细节,包括在一些实施方式和情形中,进一步链接其相关联的目标图像与任何其它目标图像几乎没有视觉重叠的至少一些获取地点和/或使用其它确定的对准来链接其图像不包括任何重叠视觉覆盖的两个获取地点。
参考图1提供了各种细节,但是应当理解,所提供的细节是出于说明目的而包括的非排他性示例,并且可以以其它方式执行其它实施方式,而没有一些或全部这样的细节。
如上所述,在至少一些实施方式和情形中,为建筑物获取的一些或全部图像可以是全景图像,该全景图像各自都在建筑物内或建筑物周围的多个获取地点之一处获取,以便在每个这样的获取地点处从在该获取地点处获取的一个或多个视频(例如,从由在该获取地点处转向的用户持有的智能电话或其它移动装置获取的360°视频)生成全景图像,或在多个方向上从获取地点获取多个图像(例如,从在该获取地点转向的用户所持有的智能电话或其它移动装置获取;从在该获取地点处的装置的自动旋转,例如在该获取地点处的三脚架上等),或(例如,使用一个或多个鱼眼镜头)同时获取特定获取地点的所有图像信息等。将理解,这种全景图像在某些情况下可以使用等矩形投影(在投影中以直线示出环境中的竖直线和其它竖直信息,并且如果水平线和其它水平信息在图像的水平中心线之上或之下并且曲率量随着距水平中心线的距离增加而增加,则在投影中以弯曲方式示出环境中的水平线和其它水平信息)来呈现,并且提供围绕水平和/或竖直线的多达360°的覆盖(例如,沿着水平面和围绕竖直轴的360°的覆盖),而在其它实施方式中,所获取的全景图像或其它图像可以包括小于360°的竖直覆盖(例如,对于宽度超过高度超过典型纵横比的图像,例如,等于或超过21:9或16:9或3:2或7:5或4:3或5:4或1:1,包括所谓的“超宽”镜头和所得的超宽图像)。此外,应当理解,可以允许观看这种全景图像(或具有足够水平和/或竖直覆盖范围的其它图像,使得在任何给定时间仅显示图像的部分)的用户将全景图像内的观看方向移动到不同的取向,以使得全景图像的不同子集图像被渲染,并且在某些情况下可以使用等矩形投影存储和/或呈现这种全景图像(包括,如果全景图像是使用等矩形投影表示的,并且如果正在渲染全景图像的特定子集图像,则在显示之前将渲染的图像转换为平面坐标系,例如转换为立体图像)。此外,可以以各种方式获取和使用关于获取这种全景图像的获取元数据,例如当用户携带或以其他方式在获取地点之间移动时从移动装置的IMU传感器或其它传感器获取的数据。这种获取元数据的非排他性示例可以包括获取时间、获取地点(例如GPS坐标或其它位置指示)、获取方向和/或取向、对于为建筑物获取的或以其它方式相关联的多个图像的相对或绝对获取顺序等等中的一个或多个,并且这样的获取元数据还可以可选地用作在至少一些实施方式和情况下确定图像的获取地点的部分,如下面进一步讨论的。以下包括关于在获取图像和可选地获取元数据时涉及的实现图像获取和分析(ICA)系统的装置的自动操作的附加细节,包括关于图1、图2A至图2D和图4以及本文其它地方。
如上所述,在至少一些实施方式中,可以生成用于建筑物的一些或全部房间的具有相关联的房间布局或形状信息的建筑物楼层平面图,并且还可以以一种或多种方式使用,例如在建筑物内的附加图像的获取地点的后续自动确定中。在各种实施方式中,具有相关联的房间形状信息的建筑物楼层平面图可以具有各种形式,诸如建筑物的2D(二维)楼层图(例如,不包括或显示高度信息的示意性楼层图的正投影俯视图或其它俯视图)和/或建筑物的显示高度信息的3D(三维)或2.5D(二维半)楼层图模型。此外,在各种实施方式中,可以以各种方式自动地确定建筑物的房间的布局和/或形状,在一些实施方式中,包括在建筑物内的特定图像的获取地点的自动确定之前的时间。例如,在至少一些实施方式中,图像间映射信息生成管理器(IIMIGM)系统可以分析在建筑物中和建筑物周围获取的各种目标图像,以便自动确定建筑物房间的房间形状(例如,3D房间形状、2D房间形状等,以便反映建筑物的周围结构元素的几何形状)。例如,该分析可以包括自动操作以在公共参考帧中“登记”图像的相机位置以便“对准”图像并估计房间中对象的3D地点和形状,例如通过确定在这种图像的内容中可见的特征(例如,以确定获取装置在拍摄特定图像时的方向和/或取向、获取装置行进穿过房间的路径等)和/或通过确定和聚集关于用于检测到的特征的平面和那些平面的法线(正交)方向的信息,以识别用于房间的墙壁和其它表面的可能地点的平面表面,并连接各种可能的墙壁地点(例如,使用一个或多个约束,诸如在墙壁之间和/或在墙壁和地板之间具有90°角,作为所谓的“曼哈顿世界假设(Manhattan world assumption)”的部分),并形成房间的估计的部分房间形状。在确定建筑物中的房间的估计的部分房间布局和/或形状之后,在至少一些实施方式中,自动操作可以进一步包括将多个房间形状定位在一起以形成建筑物的楼层平面图和/或其它相关的映射信息,例如通过连接各种房间形状,可选地至少部分地基于关于门道和楼梯以及在特定房间中标识的其它房间间墙壁开口的信息。以及可选地至少部分地基于所确定的移动计算装置在房间之间的行进路径信息。以下包括关于实现IIMIGM系统的(多个)装置的自动操作的附加细节,该IIMIGM系统涉及确定房间形状和组合房间形状以生成楼层平面图,包括关于图2E至图2P和图5A至图5B以及本文其它地方。
此外,基于PIA组件的自动操作生成多种类型的建筑物信息以执行来自在建筑物处获取的多个目标图像的视觉数据的成对分析可进一步包括使用两个图像的视觉数据的组合来确定另外类型的建筑物信息,在至少一些实施方式中作为分析成对图像的部分,另外类型的建筑物信息诸如以下各项中的一个或多个:结构元素的地点(例如,使用两个图像的边界框和/或像素遮罩);用于在图像中可见的一个或多个房间的至少一部分的2D和/或3D房间形状或其它结构布局(例如,通过组合来自图像的关于墙壁地板和/或墙壁天花板边界的信息,任选地与作为结构布局的部分示出的结构元素的地点和/或与图像的获取地点组合);图像间方向和获取地点位置(组合在一起,在本文中有时称为图像间“姿态”信息)以及任选的两个图像的获取地点之间的距离,例如以相对和/或绝对的方式(例如,识别图像中的每个中的一个或多个图像像素列,该一个或多个图像像素列包含另一个图像的获取地点的视觉数据或以其他方式指向该另一个获取地点;识别图像中可见的一个或多个房间中的一些或全部的(多个)结构布局内或以其他方式在确定的点处的图像的获取地点等)等。如同使用每像素列分析所确定的建筑物信息的类型一样,在至少一些实施方式中,可以使用概率或其它似然值(例如,用于结构元素的地点的概率掩码)和/或用不确定性的度量(例如,使用与所确定类型的建筑物信息相对应的预测的正态或非正态概率分布)来生成所确定的附加类型的建筑物信息中的一些或全部。
在至少一些实施方式中,基于IIMIGM系统的自动操作从分析在建筑物处获取的来自多个目标图像的视觉数据生成多种类型的建筑物信息可以进一步包括,组合来自多个图像对的信息以确定一种或多种其他类型的建筑物信息,诸如以下项中的一个或多个:建筑物的部分或完整的楼层平面图;“链接的”目标图像的组,诸如基于该组的一些或所有成对图像之间的图像间方向,并且可选地通过使用重叠在该组的一个或多个所显示图像上的所显示的用户可选链接来用作建筑物的虚拟游览,以使得显示与所选择的链接相关联的对应的下一图像;等。作为生成一些或所有这种其它类型的建筑物信息的部分,IIMIGM系统的自动操作可以包括组合来自用于一些或所有目标图像的多对图像的局部图像间姿态信息,以便将那些目标图像的获取地点聚集在一起并确定那些获取地点的全局对准(例如,在全局公共坐标系中确定那些一些或所有目标图像的获取地点,无论以相对或绝对的方式),以及使用图像的全局对准的获取地点和相关联的结构布局信息来形成2D和/或3D平面图(不论是部分还是完整的,诸如基于哪些目标图像被获取和/或被包括在公共坐标系中)。
在一些实施方式中,IIMIGM系统可以进一步使用在一些或所有目标图像的获取期间或附近获取的附加数据(例如,图像获取装置和/或伴随的移动计算装置的IMU运动数据,到周围结构元素的深度数据等),而在其它实施方式中可以不使用这种附加数据。在至少一些这样的实施方式中,来自成对目标图像的确定的结构布局信息可以是2D结构信息(例如,平面墙壁表面相对于彼此的位置的指示,任选地具有添加的附加信息,诸如结构墙壁元素的地点),而在其他实施方式中,确定的结构布局信息可以包括用于(多个)可视房间或(多个)其他建筑物区域的部分或完整的3D结构。来自成对目标图像的这种3D结构可以对应于在该对的目标图像的视觉数据中可见的一个或多个房间中的每个房间的估计的部分或全房间形状,例如,诸如3D点云(具有对应于墙壁上的地点以及可选地地板和/或天花板的多个3D数据点)和/或不连续的部分平坦表面(对应于墙壁以及可选地地板和/或天花板的部分)和/或线框结构线(例如,为了显示墙壁之间的一个或多个边界,墙壁和天花板之间的边界,墙壁和地板之间的边界,门道和/或其它房间间墙壁开口的轮廓,窗的轮廓等)。此外,在产生这种房间形状的实施方式中,它们还可以用作一个或多个附加操作的部分,例如当产生楼层平面图时(例如,使用3D房间形状产生3D模型平面图,通过将3D房间形状拟合在一起然后去除高度信息来产生2D平面图等,并且例如通过使用全局对准和一致的2D和/或3D点云、全局对准和一致的平面表面、全局对准和一致的线框结构线等),和/或当确定局部对准信息时(例如,通过对准从一对的两个全景图像生成的3D房间形状,诸如使用房间间通道的地点和/或房间形状),和/或当从确定的用于成对的全景图像或其它图像的局部信息执行全局对准信息时。在至少一些这样的实施方式中,确定成对目标图像的结构布局信息还可以在所确定的(多个)房间或(多个)其他区域的(多个)布局内确定目标图像中的每个的姿态(目标图像的获取地点,诸如在三维或自由度中,并且有时在三维网格中表示为X、Y、Z元组和目标图像的取向,诸如在三个附加维度或自由度中,并且有时被表示为三维旋转元组或其它方向矢量),该姿态在本文中有时也被称为目标图像的“获取姿态”或“获取位置”。此外,在至少一些这样的实施方式中,可以使用关于房间和其它建筑物区域的确定的结构元素的信息来将结构布局拟合在一起,以便匹配两个房间之间的门道和其它墙壁开口,使用用于在另一侧不具有另一个房间的外部墙壁的窗(除非通过两个房间之间的窗可获取的视觉数据显示匹配这两个房间中获取的图像),并且可选地在另一侧具有匹配的外部区域。在一些实施方式中,可以为一个或多个子组而不是成对图像确定局部对准信息,每个子组具有两个或多个图像(例如,至少三个图像),并且用于确定全局对准信息的互连的目标图像组可以包括多个这样的图像子组。以下包括关于分析建筑物的目标图像的视觉数据以确定建筑物的多种类型的建筑物信息的附加细节。
此外,IIMIGM系统和/或一个或多个关联系统的自动操作可以进一步包括在一个或多个实施方式中使用建筑物的一种或多种类型的确定的建筑物信息用于一种或多种用途。这种用途的非排他性示例可以包括以下的一个或多个:显示或以其他方式呈现或提供关于建筑物的生成的楼层平面图的信息和/或建筑物的其他生成的映射信息(例如,相互链接的图像的组),以实现建筑物的导航,诸如由在其自身电力下移动的车辆或其他装置对建筑物的物理导航(例如,由装置的自动导航、由装置的用户辅助导航等)、由一个或多个用户对建筑物的物理导航、由一个或多个用户对建筑物的虚拟导航等;使用一个或多个所指示的目标图像来识别与所指示的(多个)目标图像具有阈值或其它所指示量的视觉重叠和/或以其它方式满足一个或多个匹配标准的其它图像(例如,基于与另一所识别的图像共可见的所指示的目标图像的像素列的量和/或百分比,使用所识别的结构墙壁元素和/或所产生的结构布局和/或所确定的在所指示的目标图像与另一所识别的图像之间的图像间姿态信息,等),诸如通过搜索建筑物的其它目标图像,和/或通过搜索多个建筑物的其它图像(例如,在与一个或多个指示的目标图像相关联的(多个)建筑物未知的情况下),并且可选地在搜索结果中使用到指示一个或多个目标图像的查询;在建筑物的图像获取时段期间提供反馈,诸如用于一个或多个最近获取的目标图像(例如,在最近图像获取之后以实时或接近实时的方式,例如在一秒或多秒或一分钟或几分钟或几分之一秒内)或用于建筑物的其它指示的目标图像,以及关于为建筑物获取的其它图像(例如,在图像获取时段期间获取的其它图像),诸如基于所指示的(多个)目标图像与一个或多个其他所识别的图像之间的视觉重叠的量和/或基于一个或多个其他反馈标准的反馈(例如,反映建筑物是否有足够的覆盖范围和/或指导获取与其他获取的图像具有指示的视觉重叠的量或以其他方式具有指示的特征的一个或多个附加图像的反馈,诸如基于与另一识别图像共可见的指示目标图像的像素列的数量和/或百分比,使用所识别的结构墙壁元素和/或所生成的结构布局和/或在指示目标图像和另一识别的图像之间确定的图像间姿态信息,等)等。以下包括关于从建筑物的目标图像的视觉数据的分析确定的各种类型的建筑物信息的使用的附加细节。
此外,在一些实施方式中,IIMIGM系统和/或其一个或多个组件的自动操作可以包括从一个或多个用户(例如,IIMIGM系统的在其操作中辅助的系统操作员用户,从IIMIGM系统获得信息的结果的最终用户等)获取一种或多种类型的输入信息,以便以各种方式结合到随后的自动分析中,包括替换或补充自动生成的相同类型的信息,以在稍后的自动分析(例如,通过训练的神经网络)期间用作约束和/或先验概率等。此外,在一些实施方式中,IIMIGM系统的自动操作还包括在其分析活动期间获取和使用附加类型的信息,这种附加类型的信息使用的非排他性示例包括以下:获取和使用用于特定房间或其它建筑物区域的名称或其它标签,诸如用于对其获取地点在这种房间或其它区域中的目标图像进行分组;获取用作目标图像的初始姿态信息的信息(例如,在从目标图像对结构布局信息的后续自动确定中要细化);获取并使用其他图像获取元数据来对目标图像进行分组或以其他方式辅助图像分析,以便使用图像获取时间信息和/或顺序信息来识别可以在接近的获取地点获取的连续图像;等。
图2A至图2P示出了自动操作的示例,该自动操作用于分析在建筑物的多个房间中获取的图像的视觉数据,以至少部分地基于使用图像的视觉数据来确定多种类型的建筑物信息(例如,全局图像间姿态数据、建筑物的楼层平面图等),并且诸如基于在图1的建筑物198内获取的目标图像,用于生成和呈现关于建筑物的楼层平面图的信息。
具体地,图2A示出了示例图像250a,诸如由一个或多个图像获取装置在东北方向上从图1的房屋198的起居室中的获取地点210B获取的非全景立体图像(或以从该获取地点拍摄的360度全景图像的直线方式格式化的面向东北的子集)。在该示例中,方向指示器109a也被显示以示出拍摄图像的东北方向。在所示示例中,所显示的图像包括几个可视元素(例如,灯具130a)、家具(例如,椅子192)、两个窗196-1以及悬挂在起居室的北壁上的画194-1。进入或离开起居室的通道(例如,门道或其它墙壁开口)在该图像中没有可见。然而,在图像250a中可见多个房间边界,包括起居室的北壁的可见部分与起居室的天花板和地板之间的水平边界、起居室的东壁的可见部分与起居室的天花板和地板之间的水平边界、以及北壁与东壁之间的墙壁间竖直边界195-2。
图2B继续图2A的示例,并且示出了由一个或多个图像获取装置在西北方向从图1的房屋198的起居室中的获取地点210B获取的附加立体图像250b(或以从该获取地点拍摄的360度全景图像的直线方式格式化的面向西北的子集)。方向指示器109b也被显示以示出拍摄图像的西北方向。在该示例图像中,窗196-1中的一个的小部分以及窗196-2的部分和新的照明器材130b继续可见。此外,水平和竖直房间边界在图像250b中以类似于图2A的方式可见。
图2C继续图2A至图2B的示例,并且示出了由图1的房屋198的起居室中的西南方向的一个或多个图像获取装置从获取地点210B获取的第三立体图像250c(或以从该获取地点拍摄的360度全景图像的直线方式格式化的面向西南的子集)。方向指示器109c也被显示以示出拍摄图像的西南方向。在该示例图像中,窗196-2的部分继续是可见的,就像躺椅191和视觉水平和竖直房间边界以类似于图2A和图2B的方式一样。该示例图像还示出了进入/离开起居室的墙壁开口通道,在该示例中,该墙壁开口通道是进入和离开起居室的门道190-1(该门道190-1是房子的前院182以及随后的街道或道路181的外部门,如图1所示)。将理解,可以从获取地点210B和/或其它获取地点获取各种其它立体图像。
图2D继续图2A至图2C的示例,并且示出了图1的房屋198的部分的进一步信息,包括目标全景图像250d,该目标全景图像250d示出了起居室和走廊的有限部分以及起居室的东侧的卧室(包括走廊和卧室之间的门道190-3,通过起居室和走廊之间的墙壁开口263a可见,以及起居室的包括墙壁间边界183-1和195-1至195-4、窗196-1至196-3等的结构墙壁元素)。特别地,图像250d是在获取地点210B处获取的360°目标全景图像,其中整个全景图像使用拉直的等矩形投影格式显示。如关于图1和图2A至图2C所讨论的,在一些实施方式中,目标全景图像可以在房屋内部的不同地点处获取,例如在起居室中的地点210B处,其中随后使用示例性目标全景图像250d的相应视觉内容来确定至少起居室的布局。此外,在至少一些实施方式中,可以获取附加图像,诸如如果一个或多个图像获取装置(未示出)在它们移动通过房屋内部时正在获取视频或一个或多个其它连续或接近连续的图像序列。图2D还示出了在获取地点210C处获取的另一个360°目标全景图像250e,其中使用拉直的等矩形投影格式来显示整个全景图像。如图所示,起居室的部分通过墙壁开口263a是可见的220a,包括窗196-2、门道190-1、墙壁间边界195-1和195-3等。此外,图像250e还示出了走廊和餐厅到走廊的东侧的附加部分(通过墙壁间开口263b),以及卧室的通过门道190-3的小部分。在该示例中,房间的在门道190-4和190-5后面的部分(分别是浴室和第二卧室)由于那些门道中的门关闭而不可见。
图2E继续图2A至图2D的示例,并且示出了进一步的信息255e,其示出了在至少一些实施方式中的IIMIGM系统140的自动操作期间的数据和处理流程的示例性高级概述。特别地,在图2E的示例中,为建筑物获取多个目标全景图像241,以便对应于图1中所示的获取地点210A-210P中的一些或全部。例如,可以通过ICA系统的实施方式生成一些或全部全景图像,或可以从一个或多个其它源向所示的IIMIGM系统140提供一些或全部全景图像。然后将多个全景图像241和可选的附加信息(例如,相机高度信息、地板/天花板高度信息、一个或多个附加指示的目标图像等)提供给IIMIGM系统140。在一些实施方式和情形中,全景图像241可以首先被提供给成对图像分析器(PIA)组件,以确定240特定于特定图像和图像对的初始局部信息231a,例如在特定图像和图像对的局部坐标系或其它局部参考帧中,其中这种PIA组件的操作的一个示例将参照图2F进一步讨论。在步骤240a之后,或可选地如果没有执行步骤240a,则例程继续执行步骤240b-240d,如果执行步骤240a,则作为步骤240a的输出的局部信息231a被提供作为步骤240b的进一步输入。虽然这里未示出,但是在其它实施方式中(例如,如果PIA组件未被提供或以其他方式未被使用),一些或所有这样的局部信息231a可以改为从其他源提供给步骤240b和/或可以在步骤240b中由相应的GNNBA组件确定。
关于步骤240b,该例程使用基于图形神经网络的分析器(GNNBA)组件来同时或以其他方式同时确定具有至少成对视觉重叠的多个全景图像241中的至少3个全景图像的全局图像间姿态信息,例如通过使用单次通过包括在层之间传播当前全局信息的基于多个层图形的神经网络来进行进一步改善(例如,优化)。这样的操作可以包括例如以下操作:从多个目标图像,诸如从执行步骤240a的PIA组件,获取关于建筑物信息的预测的局部图像信息;任选地将图像中的可见墙壁和任选地其它结构元素建模为2D或3D结构元素(如果在所获取的信息中尚未完成);使用局部图像信息作为生成基于多个层图形的神经网络的部分,以便在每个层中包括用于每个目标图像的节点,并且使用例如对从相关联的目标图像(例如,由PIA组件)提取的视觉特征进行编码的表示来初始化第一层中的每个这样的节点,并且包括至少一些成对节点之间的边缘(例如,表示这样一对节点中的两个节点的相关图像之间的相对图像间姿态),并用例如边缘连接的两个节点的视觉特征的级联来初始化第一层中的每个边缘;传播和更新通过多个层的图像间姿态信息,例如通过使用来自先前层的信息更新两个层之间的边缘表示(例如,以嵌入与相对姿态回归有关的信息)以及通过使用在节点和层之间传递的消息来更新节点表示(例如,以嵌入和保留与目标图像之间的全局姿态回归有关的信息);从最后一层生成最终的全局图像间姿态信息(例如,使用4个参数来表示使用缩放的平移矢量和单位旋转矢量的成对目标图像之间的图像间姿态);等。本文别处更详细地讨论了另外的细节。在步骤240b中生成包括全局对准的图像间姿态(例如,在公共坐标系中)的对应输出信息231b,并将对应输出信息231b提供给步骤240f以用于存储和进一步使用,例如在步骤240c和/或240d和/或240g中。在步骤240b之后,例程继续到步骤240c,以可选地确定在图像中可见的房间的附加类型的建筑物信息,例如2D和/或3D结构布局信息(例如,房间形状)和/或布局/房间形状内的图像获取地点,例如通过使用局部图像信息231a和全局对准的图像间姿态信息231b,并生成相应的输出附加建筑物信息231c(例如,房间结构布局、房间内图像获取地点等),该附加建筑物信息231c提供给步骤240f以供存储和进一步使用,诸如在步骤240d和/或240g中。在步骤240c之后,例程继续到步骤240d,以通过组合来自结构布局和全局图像间姿态的信息来可选地产生建筑物楼层平面图,并且可选地进一步生成附加的映射信息,例如通过使用全局对准的图像间姿态信息231b和附加的建筑物信息231c,并且生成相应的输出231d(例如楼层平面图和可选的其他映射信息),该相应的输出231d被提供给步骤240f用于存储和进一步使用,例如在步骤240g中。
在步骤240f之后,例程在识别图像241中的一个或多个与一个或多个指示的目标图像的匹配时和/或在识别生成的建筑物楼层平面图(和/或其他生成的建筑物信息)与一个或多个指示的目标楼层平面图(和/或其他指示的目标建筑物信息)的匹配中,继续确定是否使用来自IIMIGM系统140的自动操作的确定的建筑物信息用于当前建筑物,并且如果是,则继续到步骤240g,在步骤240g中,根据图像241确定的数据相应地相对于一个或多个指定的匹配标准(例如,具有一个或多个确定的阈值,每个阈值与匹配程度对应)使用,并且根据信息240f提供任何对应的识别图像241和/或生成的楼层平面图(或其他确定的建筑物信息)。在步骤240g之后,或如果确定不执行这种匹配操作,则例程结束(或继续对相同的建筑物的下一组全景图像241执行类似的操作,例如建筑物或其周围地产、或者不同的建筑物的不同层或楼层或其他区域)。
图2F继续图2A至图2E的示例,其中图2F示出了在至少一些实施方式中的IIMIGM成对图像分析器(PIA)组件146的自动操作期间的数据和处理流程的示例高级概述的进一步信息255f。特别地,在图2F的示例中,首先为建筑物获取多个全景图像241,以便对应于图1所示的获取地点210A-210P中的一些或全部。例如,可以通过ICA系统的实施方式生成一些或全部全景图像,或可以改为从一个或多个其它源提供给所示的PIA组件146。然后将多个全景图像241和可选的附加信息(例如,相机高度信息、地板/天花板高度信息、一个或多个附加指示的目标图像等)提供给PIA组件146。
在该示例中,在将多个全景图像241提供给PIA组件之后,在步骤281中将它们中的每个可选地转换为拉直的等矩形投影格式,例如,如果还没有是该格式,则步骤281的输出包括拉直的等矩形投影格式242中的目标图像,该目标图像在步骤281完成之后被进一步提供作为步骤282以及可选地随后的步骤286的输入,尽管在其他实施例中,步骤281和282可以改为至少部分地同时执行(例如,步骤282开始分析已经在步骤281中分析的第一对图像,而步骤281同时执行其对附加图像的处理)。在步骤281之后(或与步骤281同时进行,一旦步骤281已经分析了至少两个图像),PIA组件的操作在步骤282中继续,该步骤282以平直球形投影格式242的目标图像作为输入,从第一对开始选择下一对图像(为了参考起见称为图像A和B),并使用训练的神经网络至少部分地基于每个图像的视觉数据的每图像像素列分析来共同确定在该对的图像中可见的(多个)房间的多种类型的预测局部信息,并且在该示例中所确定的建筑物信息包括数据243(例如,每像素列的共可见性和角度对应匹配的概率以及结构元素(诸如窗、门道和非门道开口、墙壁间边界等)的地点,以及每个像素列墙壁边界与地板和/或天花板,可选地具有相关联的不确定性信息),如本文别处更详细讨论的。在至少一些这样的实施方式中,成对图像被考虑的顺序可以是随机的。
在步骤282之后,PIA组件的操作在步骤283中继续,其中该对的两个图像的视觉数据的组合被用于确定在图像中可见的(多个)房间的一个或多个附加类型的建筑物信息(例如,(多个)房间的2D和/或3D结构布局、图像的图像间姿态信息、以及图像在结构布局内的室内获取地点等),例如通过使用数据243并产生相应的输出图像对信息244。然后,自动操作继续确定是否有要比较的更多的成对的图像(例如,直到所有的图像对已经被比较),并且如果是这样的话,返回到步骤282以选择下一成对的图像进行比较。否则,自动操作继续到步骤285以存储所确定的信息242和243以及244供以后使用。在步骤285之后,自动操作继续确定是否在生成和提供关于一个或多个指示的目标图像的反馈时(例如,在正在进行的建筑物图像的获取期间)使用来自对成对的图像的视觉数据的分析的确定的建筑物信息,并且如果是这样,则继续到步骤286,在步骤286,用于各种图像的数据242和/或243和/或244用于根据一个或多个指定的反馈标准(例如,基于所指示的(多个)目标图像与其他图像的视觉重叠)来识别反馈,并提供反馈。在步骤286之后,或如果确定不执行步骤286,则例程结束,或以其他方式继续(未示出)以处理在正在进行的图像获取时段期间(例如,至少部分地基于在该正在进行的图像获取时段期间在步骤286中提供的反馈)接收的附加全景图像241。与PIA组件的示例性实施方式的操作相关的附加细节被包括在Lambert等人的“SALVe:Semantic Alignment Verification for Floorplan Reconstruction from SparsePanoramas(SALVe:从稀疏全景重构楼层平面图的语义对准验证)”(欧洲计算机视觉会议,10/23/2022,并且可以在https://doi.org/10.1007/978-3-031-19821-2_37获得)和Hutchcroft等人的“CoVisPose:Co-Visibility Pose Transformer for Wide-BaselineRelative Pose Estimation in 360°Indoor Panoramas(CoVisPose:360°室内全景中的宽基线相对姿态估计的共可见姿态变换器)”(欧洲计算机视觉会议,10/23/2022,并且可以在https://www.ecva.net/papers/eccv_2022/papers_ECCV/papers/136920610.pdf获得),其每一篇通过引用以其整体的方式并入本文中。
图2G至图2H进一步说明关于图2F中的IIMIGM PIA组件讨论的各种操作281-283的示例。具体地,图2G继续图2A至图2F的示例,并且示出了基于对两个示例性全景图像250g-a和250g-b的视觉数据的分析而确定的各种类型的建筑物信息的示例。尽管未相对于图2D中的示例性全景图像250d和250e示出,但是可以为该对图像生成相同或相似类型的信息,如参考图2H至图2K进一步讨论的。关于图2G,它包括信息255g,该信息255g以直的等矩形投影格式示出了成对的两个示例性全景图像250g-a和250g-b,其中示出了PIA组件的各种输出273至278和252。在该示例中,每个图像具有360°的水平覆盖,如分别由图像250g-a和250g-b的图像角度信息271a和271b所示,并且每个图像的视觉数据被分成512个像素行(未示出)和1024个像素列,如分别由图像像素列信息272a和272b所示。应当理解,每个图像角度可以与一个或多个像素列对应。
图2G的信息273说明了用于两个图像的概率预测的共可见性数据,包括用于图像250g-a的信息273a和用于图像250g-b的信息273b。在该示例中,两个图像中的每个的几乎所有视觉数据相对于另一个图像是共可见的,例如基于两个图像在相同的房间中的获取地点并且至多具有最小的介入障碍物或其它遮挡对象。例如,对于图像250g-a,信息273a中的大部分图像像素列以白色示出,以指示与图像250g-b共可见的100%概率,除了以散列方式示出的区域273c以外,以指示图像250g-a的小部分在不同实施例中的不同可能值,其中通过门道的另一房间的部分的视觉数据(例如,如果考虑通过门道的视觉数据,则以黑色显示,以指示0%的共可见概率,因为252g处的图像250g-b中的相应门道显示为与该图像的获取地点成大约90°角,使得另一个房间在图像250g-b中不可见,或者如果不考虑通过门道的视觉数据,则区域273c可以类似地以白色示出,以指示100%的共可见概率),以及与图像250g-b中的门道的部分对应的区域273d的类似情况(因为在图像250g-a中对于相同门道的左侧部分存在共可见)。在其它情况下,共可见性数据的概率信息可以包括0%和100%之间的中间值,其方式类似于以下关于窗位置概率所讨论的方式。此外,图2G的信息274示出了用于两个图像的概率预测图像角对应数据,包括用于图像250g-a的信息274a和用于图像250g-b的信息274b。在该示例中,为了帮助示出两个图像之间的图像角度对应数据中的匹配,在每个图像(图像250g-a的图例279a和对于图像250g-b的图例279b)下方示出了视觉图例279,每个图像使用颜色光谱(例如,随机选择的)来对应于不同的图像角,其中该对中的第一图像的图像角度对应数据中的信息使用该对中另一个第二图像的像素列图例颜色来说明第一图像中对应于第二图像中其他像素列的像素列。例如,图像角度对应栏252被重叠以示出对应于图像中窗的正左边的图像250g-a的示例像素列270a被赋予中绿色调239A的图例279A中的颜色,其中图像250g-b的对应图像像素列270b已经被识别为包括用于周围房间的相同部分的视觉数据,并且因此具有相同的中绿色调,其中针对图像角度271a、像素列272a、共可见信息273a和图像角度对应数据274a,为图像250g-a示出了对应信息231a、232a、233a和234a,以及其中针对图像角度271b、像素列272b、共可见信息273b和图像角度对应数据274b,为图像250g-b示出类似对应的信息231b、232b、233b和234b。将会理解,由于图像250g-a具有比图像250g-b更少数量的具有窗的视觉数据的图像像素列,因此在图像250g-b的图像角度对应信息274b中存在更大数量的图像像素列,其包括与图像250g-a的图例信息279a的各个部分对应的各种色调的绿色。类似地重叠第二图像角度对应栏251以说明图像250g-a的一个或多个像素列,该像素列具有视觉数据,该视觉数据在图像角度对应数据274a中的品红色调的颜色对应于图像250g-b的图例279b中的相同颜色239b。
此外,图2G还示出了信息275,该信息275对应于墙壁-地板边界的部分,该部分在每个图像中被概率性地预测并且被显示为一系列红色弧线(在该示例中包括估计门道和其中墙壁不存在或不可见的其它区域的边界,例如在图像250g-b中所示的开放门道的后面),包括用于图像250g-a的信息275a以示出该图像的墙壁-地板边界的部分,以及用于图像250g-b的信息275b以示出该图像的墙壁-地板边界的部分。例如,对于图像250g-a中的图像像素列270a,图像250g-a的图像像素行235a被识别为对应于该像素列的墙壁-地板边界,并且图像250g-b的图像像素行235b被类似地识别为对应于图像250g-b的图像像素列270b的墙壁-地板边界。还示出了信息276、277和278,以分别说明窗、门道和非门道墙壁开口的地点的概率预测数据,包括图像250g-a的信息276a-278a和图像250g-b的信息276b-278b。例如,关于图像250g-a的窗地点概率信息276a,信息236a示出了图像250g-a的像素列,其被预测为包括窗的视觉数据,其中信息236a的最左边的部分以灰色示出以指示较低的概率(例如,由于窗阴影部分地模糊窗的左端),则图像250g-b的窗口地点概率数据276b的信息236a-236b的其他部分类似地示出了该图像的预测窗地点信息。以类似的方式,图像250g-a的门道地点概率信息277a的部分237a示出了在该图像中可见的两个门道的预测地点,并且图像250g-b的门道地点概率信息277b的对应部分237b示出了在该图像中可见的两个门道的预测地点。图像250g-a的墙壁间边界地点概率信息278a的部分238a示出了在该图像中可见的四个墙壁间边界的预测地点,并且图像250g-b的墙壁间边界地点概率信息278b的对应部分238b示出了在该图像中可见的四个墙壁间边界的预测地点。
除了每图像像素列预测类型的建筑物信息273-278之外,基于两个图像的视觉数据的组合来确定另外的建筑物信息类型,所述两个图像包括基于墙壁-楼层边界信息275的结构布局信息275'和图像间姿态信息252'ab,被示为图2G的信息256g的部分,并且像素列指示符252a和252b分别被示出用于图像250g-a和250g-b,以显示在每个图像中的像素列,该像素列包括在另一个图像的方向上的视觉数据。在该示例中,结构布局信息275'ab基于分别来自图像250g-a和图像250g-b的边界信息275a和275b以及分别来自图像250g-a和图像250g-b的墙壁间边界概率信息278a和278b的组合,并且结构布局信息275'ab以其中获取两个图像的房间的二维房间形状的形式示出。在结构布局275'ab上示出了另外的确定的建筑物信息,包括分别用于图像250g-a和250g-b的确定的获取地点250'g-a和250'g-b,以及窗地点236'ab、门道地点237'ab、非门道墙壁开口地点238'ab和墙壁边界地点238'ab的指示,其中示出了相应的图例267作为参考。在该示例中,在结构布局上指示的两个获取地点还包括指示器251a和251b,以示出从图像的0°部分所对应的获取地点开始的方向。此外,为了参考的目的,在结构布局上示出方向270'a的指示,以指示图像250g-a的像素列270a。在该示例中用'ab'标记的每种类型的信息指示来自两个图像的数据的组合。在该示例中,还为房间确定各种类型的比例信息,包括房间宽度长度和高度的预测值269、两个图像获取地点之间的距离的预测值252”、以及与从图像获取地点250'g-a到像素列270a中所示的墙壁的距离相对应的预测距离值270a'。此外,可以存在关于任何和/或所有预测类型的建筑物信息的不确定性信息,如在该示例中针对结构布局信息275'ab所示,由与关于房间右侧地点的不确定性相对应的不确定性带268表示。在该示例中未示出针对其它类型的确定的建筑物信息或针对结构布局275'ab的其它部分的不确定性信息。应当理解,在其它实施方式中可以确定各种其它类型的建筑物信息,并且在其它实施方式中可以以其它方式示出建筑物信息类型。
图2L和图2M示出了以类似于图2G的方式中的一些方式对两个图像的视觉数据进行成对分析的另外的示例,但是图2L对应于在不同房间中捕获的两个图像具有显著视觉重叠(例如,对应于80%以上的图像像素列彼此具有共可见性)的示例,并且图2M对应于在不同房间中具有两个图像但没有任何视觉重叠的示例。特别地,关于图2L的信息256l,预测的共能见度信息273l-1例如被显示为图像250l-1,并且预测的共能见度信息273l-2例如被显示为图像250l-2,其中大部分图像的像素列以白色显示,以指示100%的共可见性的预测概率,并且其他像素列以灰色或黑色的变化阴影显示,以指示小于100%的变化的预测概率。类似地,对于图像250l-1和250l-2分别示出了颜色图例信息279l-1和279l-2,对于图像250l-1和250l-2分别在另一个图像的预测图像角对应信息274l-1和274l-2中示出了相应的颜色。以与图2M的信息256m类似的方式,例如图像250m-1示出了预测的共可见性信息273m-1,例如图像250m-2示出了预测的共可见性信息273m-2,其中大部分图像的像素列以黑色示出,以指示共可见性的0%预测概率。类似地,分别示出了图像250m-1和250m-2的颜色图例信息279m-1和279m-2,其中对于图像250m-1和250m-2分别在另一图像的预测图像角度对应信息274m-1和274m-2中示出对应的颜色(在本例中,由于缺乏共可见性,没有示出这样的对应颜色)。
图2H继续图2A至图2G的示例,并且进一步示出信息256h,该信息256h可以由分别与获取地点210B和210C对应的目标全景图像250d和250e的成对对准产生、由分别与获取地点210C和210D对应的目标全景图像250e和250h(在图2H中示出)的成对对准产生、以及由与获取地点210A对应的目标全景图像(例如,全景或非全景图像,未示出)和与获取地点210B对应的全景图像250e的成对对准产生。特别地,如前面关于在获取地点210A-210C获取的图像所讨论的,对那些图像的成对分析可以生成图像间姿态信息,该图像间姿态信息对应于(经由对那些获取地点获取的图像的成对分析,在获取地点210A和210B之间)链接215-AB、(经由对那些获取地点获取的图像的成对分析,在获取地点210A和210c之间)链接215-AC、以及(经由对那些获取地点处获取的图像的成对分析,在获取地点210A和210B之间)链接215-BC,其中链接215-AB和215-BC显示在与起居室对应的结构布局260上,该结构布局260可以至少部分地基于对获取地点210A和210B处获取的图像的成对分析来确定,其中进一步指示窗196-1至196-3、门道190-1和墙壁开口263a的位置的结构布局、获取地点210A和210B、以及(通过在那些获取地点获取的图像的成对分析,在获取地点210C和210D之间)另一链路215-CD。图像250h包括房间的各种结构元素(例如,门道190-3、窗196-4等)和各种其它特征(例如,照明130q、书架199a、地毯199b等),以及通过门道190-3(例如,墙壁开口263a)可见的走廊和起居室的部分220b。信息256h还示出了与走廊对应的结构布局262(例如,至少部分地基于对与获取地点210B和210C对应的目标全景图像250d和250e的成对分析),包括门道190-3至190-5的位置和获取地点210C。类似地,信息256h还示出了与具有门190-3的卧室对应的结构布局261(例如,至少部分地基于对与获取地点210C和210D对应的目标全景图像250e和250h的成对分析),包括门190-3、窗196-4和获取地点210D的位置。在该示例中,用于三个房间的结构布局进一步拟合在一起,例如至少部分地基于位置和门道以及非门道墙壁开口。在该示例性实施方式中,示出了起居室和卧室的墙壁可能不能完美地与所形成的间隙264h拟合在一起,所述间隙264h例如可能是不正确的间隙并且由来自全景图像250e和250h之间的有限视觉重叠的初始不完美的成对对准(例如,在全局对准活动和/或生成最终楼层平面图的期间稍后被校正)导致,或间隙是正确的并且反映起居室和卧室(即,卧室的西壁)之间的墙壁的厚度宽度。
对于基于图形神经网络的分析器(GNNBA)组件,在一个非排他性示例实施方式中,组件的操作可以在平面相机运动约束下,从多个360°全景图像执行宽基线相机姿态估计(例如,所有图像都是在地板上方固定高度的2D平面中拍摄的,例如使用三脚架或用户手持图像获取设备的一致相机定位),并使用两视图和三视图几何体作为基本构建块,在其上估计绝对(按比例)多视图相机姿态。虽然一些现有技术使用姿态图形优化(PGO),例如具有鲁棒噪声模型并且从一组成对估计开始,但是那些对来自各个成对结果的异常值(outliers)和噪声敏感。相反,在该示例实施方式中使用新颖的基于图形的神经网络(GNN)体系结构,其以端到端的完全监督方法从3个或更多个360°全景图像共同学习共可见结构和绝对运动。在以下进一步讨论的一个具体示例中,该技术用于3个这样的全景图像(也称为“360全景”),但是也可以与大于3个全景图像一起使用。
当周围场景的部分通常由两个相机观察时,PIA组件可对两个全景图像之间存在的成对约束进行建模,使得一致的高级几何提示(例如,房间的布局)可提供用于端到端姿态估计的有效且鲁棒的信号。然而,相机/图像姿态估计的应用很少在成对估计处结束,并且为定义大空间(例如,在数十或数百或数千中)的集合中的所有全景估计全局姿态是困难的,并且通常涉及缓慢且经常麻烦的多级方法(例如,在许多图像对中成对地显式匹配检测到的语义特征(如窗户和门),然后是全局姿态图优化阶段)。例如,这种多级方法意味着,由于估计的成对姿态被当作固定的观测值对待,姿态估计中的误差可能对最终方案具有特大的影响,成对姿态估计中的大误差产生不准确的全局姿态计算。
相反,在该示例实施方式中的GNNBA组件使用集成模型,该集成模型组合了多个视图之间的局部成对姿态估计和全局关系,以便以共同方式学习全景图像的全局姿态和成对局部姿态之间的复杂交互,而不使用模型的共同训练之外的单独调谐或相关设计选择。在以下讨论的示例中,讨论了三图像姿态估计(例如,在一个大空间内,图像集合之间具有宽基线,导致相对较小的图像间共可见性),但是这些技术可以扩展到更大的全景图像组,这些全景图像组被同时或以其他方式同时分析,包括以更小或更大的图像间共可见性。例如,当用作室内结构估计和楼层平面图生成的部分时,通常在大空间中捕获多个全景以便为空间的每一部分提供覆盖和细节。通过使用图形神经网络,该模型扩展了用于精确的成对全景姿态估计的技术,同时遍历多于两个的图像以学习回归一致的绝对姿态,以执行明显优于随后进行全局优化的成对姿态估计。与纯粹集中于成对姿态或使用两阶段方法来获取全局姿态的现有方法相比,GNNBA组件共同估计输入集中每个全景的全局姿态,其中消息传递GNN体系结构通过允许通过从多个视图导出的信息进行细化来对多个全景之间的复杂交互进行建模。网络将每个姿态节点密集地连接到每个其它节点,并因此允许直接从数据学习多个视图之间的相关性,而不是要求图形的初始化,其中在全景图像中固有的强几何先验被利用,并且当全景图像之间具有变化的视觉重叠量时支持多视图姿态估计。
在图2N的信息256n中示出了GNNBA组件的结构,示出了用于估计多个全景图像的全局姿态的端到端模型。在这个示例中,三个全景图像被输入到模型中,如左上角所示。在该示例性实施方式中,使用以下项来初始化边缘:保持边缘的节点的特征的连结、He等人的“Deep Residual Learning for Image Recognition(用于图像识别的深度残差学习)”中描述的ResNet(可以在https://doi.org/10.48550/arXiv.1512.03385v1中访问)、与Lambert等人的“SALVe:Semantic Alignment Verification for FloorplanReconstruction from Sparse Panoramas SALVe:从稀疏全景重构楼层平面图的语义对准验证”(欧洲计算机视觉会议,10/23/2022,并且可以在https://doi.org/10.1007/978-3-031-19821-2_37获得)中包括的PIA组件和/或GNNBA组件的操作有关的附加细节和Hutchcroft等人的“CoVisPose:Co-Visibility Pose Transformer for Wide-BaselineRelative Pose Estimation in 360°Indoor Panoramas(CoVisPose:360°室内全景中的宽基线相对姿态估计的共可见姿态变换器)”(欧洲计算机视觉会议,10/23/2022,并且可以在https://www.ecva.net/papers/eccv_2022/papers_ECCV/papers/136920610.pdf获得),其所有通过引用以其整体的方式并入本文中。在该示例实施方式中的网络体系结构由六个层组成,并且使用从相邻节点和边缘发送的消息在每个层中更新每个节点,该相邻节点和边缘被称为节点特征计算模块,并且使用边缘特征计算模块(EFM)更新每个边缘。最后,该模型产生全局姿态图形,其中节点表示全局姿态、边缘表示几何线索,并且该信息可选地进一步使用,如关于图2E和本文别处所讨论的。每个节点和边缘被馈送到完全连接的层,以分别估计全局坐标系中的姿态和几何信息(例如角度对应、共可见度掩码和墙壁-地板边界)。该示例中的组件接收一组室内360°全景图像(具有仅由在训练时可用的GPU存储器限制的图像量)作为输入,并估计共享公共坐标系中的3-DOF(自由度)姿态。在该示例性实施方式中,假定相机是直立的,对于每个家庭具有固定的高度,并且使全景图变直,以便确保直立的相机轴以重力矢量定向。在该示例性实施方式中,假设所谓的“亚特兰大(Atlanta)世界”布局,其具有正交于地板的直立墙壁。细化节点和边缘特征表示,并且可以使用来自PIA组件的输入(例如,特征提取、高度压缩、段嵌入、六层变换器编码器等),以便初始化网络的第一层。为了在该示例性实施方式中产生初始节点表示,将ResNet50特征提取器和高度压缩模块应用于每个全景图,其在图像列上产生特征序列,以将位置信息赋予随后的置换不变变换器层,添加固定位置编码,并且为了传递关于节点标识的信息,将可学习节点嵌入添加到每个节点表示,包括向网络指示在输出全局姿态坐标系中充当原点的节点。该体系结构采用六个消息传递层来演化节点和边缘表示,其中在节点之间传递的消息首先由变换器编码器介导,该变换器编码器对沿边缘的节点之间的关系进行编码,接着是变换器解码器,该变换器解码器在给定相邻节点的嵌入以及边缘嵌入的情况下计算节点更新消息。为了鼓励提取用于直接姿态估计的丰富表示,使用单个线性层来估计来自最终边缘表示的角度对应性、共可见性和布局边界,并且使用3层多个层感知器(MLP)从每个节点表示估计绝对姿态。
关于姿态表示并给出输入全景图的三元组
不失一般性,采用I1作为原点全景图,在以原点为中心的共享坐标系中估计出剩余的姿态P2、P3。如上所述,在直立摄像机、摄像机轴对准的墙壁和正交地板的假设下操作,采用由平移向量t∈R2和旋转矩阵R∈SO(2)组成的平面运动姿态表示,使得姿态Pi∈SE(2)。姿态由4个参数表示,直接估计单位旋转矢量r旁边的缩放平移矢量t。在可以在不同高度获取图像姿态的可选实施方式中,可以代之以使用表示6个自由度的6个参数。
关于图形表示,并将输入导向图形定义为
全景图的集合用节点表示
通过边缘集合对图像间关系进行建模
图G中的每个节点vi与节点特征相关联
其中l是指层数。输入图形节点特征
用从全景图Ii中提取的视觉特征Φi初始化。使用PIA组件的特征提取器,其包括ResNet50主干和高度压缩模块,随后添加固定的位置编码。
边缘特征
是用Φi和Φj的级联初始化的。在级联之前,添加来自PIA组件的预训练的段嵌入,以将图像成员关系传送到随后的变换器编码器层。
关于网络体系结构,通过六个消息传递层来处理网络的表示,以嵌入姿态回归的丰富表示,在图2N的下半部分中的进一步信息中示出了该示例性实施方式的消息传递方案。消息计算模块(MCM)计算每个节点的传入消息,首先使用边缘特征模块(EFM)用单层变换器更新边缘表示,并且随后使用这些表示来构造在节点特征计算模块(NFM)中聚集的消息以更新节点嵌入。通过变换器解码器计算消息,其中现有的节点表示参与边缘表示和相邻节点的嵌入的级联。为了更新边缘特征,每个消息传递层中的EFM由单个变换器编码器层组成,其权重由来自PIA组件的预训练模型的编码器层权重初始化,如下所示
其中,是第l消息传递层中的单层变换器编码器,并且分别是EFM的输入和输出处的边缘eij的边缘特征。在方程1中已经更新边缘特征之后,MCM然后在聚集之前使用单层变换器解码器计算每个节点的传入消息
其中,是从源节点vj到目标节点vi的消息,并且是更新的边缘特征与相邻节点j的现有节点表示之间的级联。这样,现有的节点表示关注沿着边缘提取的图像间信息,以及相邻的全景节点表示。随后,通过在节点特征计算模块(NFM)中的所有传入消息上取平均值来更新节点嵌入。
其中,表示节点vi的图形邻域,并且deg(i)是与节点vi有关的边的数目。以类似于PIA组件的方式来估计视觉重叠、对应和布局几何形状的密集列式表示,其中最终消息传递层的输出处的边缘特征通过单个完全连接的层θDC被映射到密集列式输出。
其中,φij,αij,pij分别是列式的竖直的楼-墙壁边界角、角度对应和共可见性概率,并且是最后一层L的输出处的边缘特征。再者,θDC是用来自使用PIA组件的预训练模型的权重进行初始化。沿着边缘学习这些量鼓励边缘特征嵌入对相对姿态回归重要的信息,然后节点嵌入可以参与相对姿态回归,以便在全景组内保留与绝对姿态回归相关的信息。为了将节点嵌入解码到4参数姿态估计中,应用三个完全连接的层,在前两个层之间具有Mish激活函数。将三个完全连接的层姿态解码器表示为θP,估计的姿态被获得为
对于模型的训练,可以使用例如真实房屋的大规模数据集,诸如包含多个共定位的等矩形全景图,具有支持基于布局的对应和共可见性表示的布局注释。在示例实施方式中的训练以支持3个图像同时分析期间,从包含多于三个全景的大的开放空间随机地采样三元组,并且进一步应用随机旋转增强来水平地移动全景。此外,节点排序被随机置换,从而产生随机选择的源节点。这两种类型的增强都导致改变的坐标系和姿态,从而在训练期间向网络呈现变化的姿态目标。例如,训练可以持续200个时期,通过验证误差选择最佳模型。
关于损失函数,在该示例实施方式中的模型使用由两个主要组件,即节点损失和边缘损失组成的损失函数。节点损失本身由两个项组成,首先通过全局节点损失直接最小化以原点全景为中心的全局坐标系中的姿态误差。
另外,为了鼓励全局一致性,在所有节点估计之间制定相对姿态,并最小化相对于地面真实相对姿态的误差。在三元组情况下,这相当于对全景2和3之间的相对姿态的一个附加约束。然后相对姿态节点损失是
总之,我们的节点损失是
其中βr是控制全局与相对姿态损失的相对影响的常数,我们将该相对姿态损失设定为0.1(十分之一)。以类似于PIA组件的方式将边缘损失应用于密集的共可见性、对应性和布局几何估计。
组件损失是
其中,分别是布局边界、角度对应和共可见性损失,并且BCE是二进制交叉熵损失。关于全局原点选择,在训练阶段期间,输入列表中的第一全景被认为是原点。在推断时间,模型运行三次,每个全景处于原点,保留原点节点对相邻全景具有最高平均共可见性分数的结果。根据从不同的成对相对姿态估计获取全局姿态的问题的图表视图,在具有三个全景图像的该示例中的目标是将所有三个全景作为节点放置在图表中的其估计的全局位置处,所述全局位置具有表示它们之间的相对成对姿态的边缘。作为第一基线,根据其预测的共可见性对成对姿态进行排序,并从最高共可见性到最低共可见性贪婪地添加,直到所有全景被放置在图中。对于三元组全景图像,这实质上意味着首先将具有最高预测共可见度的两个全景放置在图中,任意选择其中之一为原点,并且将第二全景放置在相对于第一全景的预测相对姿态处。然后,通过将第三全景与来自第一对的已经放置的全景以相对于放置的全景的适当的相对姿态连接,添加第二最高的共可见边缘。使用姿态图优化,利用多个相对成对姿态来估计全局姿态。来自贪婪生成树基线的图形结构连同未考虑的边缘(最低的共可见性相对姿态)被用作姿态图形并执行优化。为了计算在任意坐标系中的全景图像的地面真值和预测姿态之间的误差,计算两个配置之间的对准变换。使用最小二乘拟合来对准2D点集(三元组中每个全景i的xi和yi地点),估计变换矩阵(2D空间中的旋转和平移)以最佳地对准地面真值和预测姿态,对准姿态的位置和方向之间的差被报告为绝对平移误差(ATE)和绝对旋转误差(ARE)。
图2O(这里被称为“2-O”以防止与数字“20”混淆)包括信息256o,其进一步示出了在单个非矩形空间内获取的三个示例全景图像的全局图像间姿态信息的示例以及所得到的空间形状确定。在房间形状的右下象限中示出了地面真值,在从左到右和从上到下的其它三个象限中示出了连续的细化,其中“ARE”表示绝对旋转误差,而“ATE”表示绝对平移误差。
图2P包括信息256P,该信息256P进一步示出了在由短走廊分隔的两个房间中捕获的三个示例全景图像的附加示例,并且示出了结果的示例可视化。在该示例中,每行中的第一(最左边)图像是原点全景,在每个图像上方的顶部行和第二行分别表示共可见性和角度对应信息(在每个图像的顶部和底部处的色带指示从当前全景到原点全景的匹配角度对应,反之亦然),并且在最右边的列中可视化所生成的楼层-墙壁边界的最终自顶向下视图。预测的墙壁-楼层边界在每个图像内以彩色线示出。下一行反映地面真实情况,而上一行反映GNNBA组件的操作。
在一些实施方式中,除了来自PIA组件的信息之外或代替来自PIA组件的信息,可以将附加类型的信息结合到图形神经网络中并与图形神经网络一起使用。作为一个非排他性示例,如果对于一组目标图像,全局图像间姿态信息的初始版本可从另一个源获取,则该信息可以在图形神经网络的新的第一层中被建模和编码,以便用作第一层中的先前示例实施方式中所描述的信息的先验信息(例如,先前的第一层现在是图形神经网络的第二层,其进一步集成来自新的第一层的这样的信息),并利用图形神经网络的最终输出反映该组目标图像的修改后的全局图像间姿态信息。作为另一个非排他性示例,在GNNBA组件在第一时间使用表示建筑物的至少一些(例如,建筑物的单层)的目标图像组以生成用于那些目标图像的第一组全局图像间姿态信息(以及可选地,用于建筑物的该部分的平面图和/或其它结构布局信息)之后,GNNBA组件可进一步更新该第一组全局图像间姿态信息(以及可选地,用于该建筑物的该部分的楼层平面图和/或其它结构布局信息),用于在稍后的时间反映该建筑物的一个或多个附加目标图像(例如,用于该建筑物的相同的单层上的附加房间、和/或该建筑物的外部区域、和/或该建筑物的一个或多个其它层的附加目标图像,和/或用于在该建筑物的相同部分中提供附加视觉信息),诸如通过扩展先前使用的图形神经网络以包括对应于附加目标图像的节点和边缘,并且通过使用第一组全局图像间姿态信息作为包括用于附加目标图像的节点的新图形神经网络的先验信息,通过更新的图形神经网络的多个层执行下一次更新等。此外,通过去除恒定的相机高度假设,来自多个不同高度的目标图像可以由GNNBA组件一起分析,包括在一些实施方式和情形中,通过使用经由至少一对具有重叠视觉覆盖范围的图像(例如,在直楼梯的顶部和底部,使用在楼梯的一些或所有台阶上拍摄的一系列图像,等等)连接的不同楼层或其它层上的目标图像来确定全局图像间姿态数据(以及可选地,相关联的楼层平面图和/或其它结构信息),来连接建筑物内的多个楼层或其它层。
此外,在至少一些实施方式和情形中,GNNBA组件可以使用其它类型的图形神经网络结构和/或处理技术。作为一个非排他性示例,如果以足够高的确定性和/或置信度(例如,具有低于一个或多个定义的阈值的(多个)相关误差)来确定特定节点的姿态信息,则针对该节点的消息传递可针对后续层而暂停。作为另一个非排他性的示例,对于连接节点的其图像间姿态信息,具有足够低程度的确定性和/或置信度(例如,高于一个或多个定义的阈值的(多个)相关误差)的边缘可以从图形神经网络中丢弃(或该边缘的信息以其他方式被折扣),用于进一步的层和相关的计算。作为另一个非排他性示例,GNNBA组件可以在层间传播信息中使用基于约束的损失函数,无论是基于节点损失和/或边缘损失的损失函数之外还是代替基于节点损失和/或边缘损失的损失函数。这种基于约束的损失函数可以例如包括基于在不同目标图像中确定的结构信息的约束,例如基于在两个目标图像中可见的公共墙壁部分的位置的差异的墙壁投影损失,基于在两个目标图像中可见的一个或多个公共结构元素(例如,墙壁间边界,其中两个墙壁与地板或天花板组合的房间拐角等)的位置的差异的结构元素投影损失,基于在两个目标图像中可见的像素列中所示的公共信息的位置的差异的交叉视图角对应损失,基于在两个或多个目标图像中可见的墙壁厚度(和/或墙壁的相对表面中的位置)的差异的墙壁厚度损失,等。
图2I继续图2A至图2H的示例,并且进一步示出了对应于图2E的步骤240b的信息,包括信息256i,该信息256i包括通过将至少用于获取地点210B-210D的目标全景图像250d、250e、250g和用于获取地点210A和210G的附加目标图像(未示出)全局对准到公共坐标系205(如使用链路214-AB、214-BC、214-AC、214-CD、214-BG和214-CG所示)而得到的信息。图2I进一步说明自动操作可包括识别用于其它获取地点210E-210N的目标全景图像之间的其它链接214,且可任选地包括使用其它确定的信息来链接其图像不包括任何重叠视觉覆盖的两个获取地点(例如,在获取地点210E与210H之间所示的链接213-EH)和/或进一步链接其相关联的目标图像不具有与任何其它目标图像的视觉重叠的至少一些获取地点(例如,图2I中所示的获取地点210P和210B之间的链路212-PB),诸如基于确定用于获取地点210P的目标全景图像的视觉数据对应于前院并且包括进入门道190-1的视图,以及在用于获取地点210B的目标全景图像中示出的起居室的进入门道190-1可能通向前院(使得在两个全景图像中可见的两个门道对应于相同的门道)。在一些实施方式中,给定目标全景图像的成对的获取地点之间的相对测量,为一些或全部目标全景图像生成全局图像间姿态信息。例如,如果存在简单的无噪声情况,则所有的测量将彼此一致,并且只能链接在一起,结果图的生成树通过将变换链接在一起给出全局姿态信息。在一些测量值有噪声和不正确的实际情况下,可以使用旋转平均来根据局部对准的成对信息的成对相对旋转来估计单个公共全局坐标系中的旋转。作为这样做的部分,可以使用一系列级联的循环一致性检查,包括在公共坐标系框架中的平移方向上(如果标度已知的话),以确保三个或更多个互连的获取地点的循环(每个获取地点具有局部成对对准信息)导致循环中的零总平移(例如,三个获取地点的循环三元组中的相对旋转应当构成身份旋转)。
图2J至图2K继续图2A至图2I的示例,并且示出了可以从图2E至图2I中讨论的分析类型生成的用于房屋198的进一步的映射信息。特别地,图2J示出了信息255j(例如,GUI画面),该信息255j包括可基于所描述的技术构造的示例性楼层平面图230j,在该示例中,该楼层平面图230j包括墙壁以及门道和窗的指示。在一些实施方式中,这样的平面图可以具有所示的进一步信息,例如关于由分析操作自动检测和/或由一个或多个用户随后添加的其它特征。例如,楼层平面图230j包括各种类型的附加信息,例如可以根据对来自图像和/或来自深度数据的视觉数据的分析操作来自动识别,包括一个或多个以下类型的信息:房间标签(例如,用于起居室的“起居室”)、房间尺寸、固定装置或器具或其它内置特征的可视指示、附加类型的关联和链接信息的位置的可视指示(例如,在指定的获取地点处获取的全景图像和/或立体图像中,最终用户可以选择所述全景图像和/或立体图像用于进一步显示;最终用户可以选择用于进一步呈现的音频注释和/或录音;等)、门道和窗的视觉指示等。在其它实施方式和情形中,一些或所有这种类型的信息可以由一个或多个IIMIGM系统操作员用户和/或ICA系统操作员用户提供。此外,当向最终用户显示平面图230j时,可以添加一个或多个用户可选控件以提供作为GUI画面255j的部分的交互功能,以便指示所显示的当前楼层,以允许最终用户选择要显示的不同楼层等,其中在该示例中添加到GUI的相应的示例用户可选控件228。此外,在一些实施方式中,楼层或其它层中的变化也可以通过用户与所显示的楼层平面图的交互直接进行,例如通过选择相应的连接通道(例如到不同楼层的楼梯),并且可以通过选择相应的所显示的用户可选控件(例如,选择与特定地点处的特定图像对应的控件,并接收该图像的显示,无论是替代或附加于从中选择图像的楼层平面图的先前显示)。在其它实施方式中,可以同时显示一些或所有不同楼层的信息,例如通过显示用于单独楼层的单独的次楼层平面图,或替代地通过将所有房间和楼层的房间连接信息集成到一次一起示出的单个楼层平面图(例如,3D模型)中。应当理解,在一些实施方式中可以添加各种其它类型的信息,在一些实施方式中可以不提供所示类型的信息中的一些,并且在其它实施方式中可以以其它方式显示和选择所链接的和相关联的信息的可视指示和用户选择。图2K继续图2A至图2J的示例,并且示出了可以从本文中公开的自动分析技术生成并显示(例如,在类似于图2J的GUI的GUI中)的附加信息265k,其在该示例中是房屋的一个楼层的2.5D或3D模型楼层平面图。这种模型265k可以是基于平面图230j生成的附加的与映射有关的信息,其中示出了关于高度的附加信息,以便示出诸如窗和门的特征的墙壁中的可视地点,或取而代之的是以通过组合3D形状的最终估计的房间形状。虽然在图2K中未示出,但是在一些实施方式中,可以将附加信息添加到所显示的墙壁,诸如从所获取的图像(例如,以渲染和示出来自所渲染的模型265k上的房屋的实际油漆、墙纸或其它表面),和/或可以以其它方式用于将指定颜色、纹理或其它视觉信息添加到墙壁和/或其它表面,和/或图2J中所示的其它类型的附加信息(例如,关于外部区域和/或附属结构的信息)可以使用这样的渲染模型来显示。
在一个非排他性示例性实施方式中,IIMIGM PIA组件可以执行自动操作,以针对成对的全景图像(“全景”)来确定:1)两个全景是否看到相同的墙壁结构,2)存在什么视觉对应,3)两个全景可见的墙壁结构和墙壁特征(例如,门/窗),以及4)一个全景图相对于另一个全景图的坐标系的位置,例如通过从单个训练的神经网络中共同估计这些量,以便通过相互有益的上下文来改善每个单个任务的性能,以及简化和加速必要信息的提取。
作为该示例性实施方式的自动操作的部分,神经网络接受成对拉直的球形全景图像(例如,由相机装置捕获,其中相机轴与竖直轴对准),成对拉直的球形全景图像可以共享或不共享相同的空间(即,可以共享或不共享视觉重叠)。如果图像被拉直,并且提供的墙壁也被竖直对准,然后,墙壁深度是给定图像列的单个共享值。然后,神经网络为每个图像的每个列估计多个量。在其它实施方式和/或情况下,可以接收其它类型的图像作为输入,例如具有未知视场(FOV)角的不同投影的图像(例如,来自针孔相机的立体图像)、具有等矩形图像投影或圆柱形图像投影的部分全景图像、具有RGB像素数据和/或其它数据通道(例如,深度、合成孔径雷达等)。
确定的建筑物信息的类型可以包括以下:
-对于一个全景中的每个图像像素列,另一个全景包括像素列中的图像内容的概率;
-对于一个全景中的每个图像像素列,包括相同图像内容的其他全景中的视线角度(如果有,仅在可见时有效)。作为一个示例,在512×1024像素等矩形全景图像中,1024个图像列中的每个对应于总360度球形FOV中的特定角(具有平均值的角带),并且一个全景中的每个图像像素列的图像角度对应信息可以包括另一个全景中的零个或一个或多个图像像素列;
-对于一个全景中的每个图像像素列,地板-墙壁边界可从其看到的竖直视线角。在已知相机高度的情况下,通过使竖直视线与地板平面相交,这相当于给定图像列中的墙壁深度;
-对于全景图中的每个图像像素列,门、窗或墙壁-墙壁边界接合在像素列中可见的概率;以及
-除了上述这些列式输出之外,可以共同估计两个附加的量,包括图像间相对姿态(例如,2D平移矢量,其可以被分解成单位方向矢量和比例因子的乘积,以及第二全景相对于第一全景的2D方向(旋转)矢量);以及用于两个全景的组合的可视几何形状的分割掩码(例如,通过将以上针对每个全景所指示的楼层边界轮廓投影到地板平面中以从每个视角产生可视地板分割,然后可以共同细化该可视地板分割以产生组合的可视地板分割,可以从组合的可视地板分割提取房间布局多边形)。
此外,可以使用均方误差(L2范数)或平均绝对误差(L1范数)损失函数直接学习该示例实施方式中的PIA组件的回归目标(例如,图像对应角、边界轮廓角和相对姿态);然而,除了目标值(预测的平均值)之外,训练的神经网络还预测标准偏差,利用预测的平均值和标准偏差值,然后定义正态概率分布,该正态概率分布继而引起用于学习回归目标的负对数似然损失函数,并且利用所学习的标准偏差值能够被用作不确定性的度量(例如,以指示网络的预测应该被信任到什么程度)。此外,这种损失公式允许网络扩大用于困难示例的标准偏差,并紧缩用于简单示例的标准偏差,这调整了训练期间示例特定误差的重要性。这种误差调整方案可以提供更好的信号来训练模型。
作为该示例性实施方式中的PIA组件的自动操作的部分,每个图像通过相同的特征提取器,该特征提取器应用多个卷积层来以多个比例提取特征,然后对这些特征进行重新整形和级联,以产生列式图像特征。然后,所得到的特征被认为是两个按列顺序的序列,并被输入到变换器模块以进行处理。图像的这种提取的特征还可以被用作图像特征嵌入矢量的部分,以表示用于随后的图像间比较的图像(例如,作为对一个或多个其它图像的搜索的部分,该其它图像具有与满足所定义的阈值的目标图像相匹配的程度),如下面进一步讨论的。当变换器并行处理所有序列元素时,没有任何固有的次序考虑,将两个嵌入添加到图像列特征序列,如下:位置嵌入(例如,对序列位置进行编码,诸如给定序列元素对应于哪个图像列);以及段嵌入(例如,编码图像成员资格,诸如给定序列元素属于哪个图像)。变换器编码器可以包括多个块,每个块具有固定的层结构。在将位置和段嵌入添加到按列图像特征序列之后,将序列按长度级联并输入到变换器编码器块中的第一个。在每个块中,首先应用多头自注意层。输入序列被映射到查询、键和值,并且作为查询和键的函数的缩放的点积注意力被用来为值的注意力加权和创建权重。这样,对于给定的序列位置,模型可以评估输入序列中任何其他位置的信息的相关性;应用图像内和图像间的注意。在注意层之后,前馈层将结果映射到输出。在注意层和前馈层之后,输入序列以跳跃连接的形式被添加到输出序列,这允许来自输入的信息直接传播到输出而不受影响,然后将归一化应用到输出以归一化样本统计。在最后一个变换器编码器块之后,输出新的序列。根据该序列,线性或卷积层可以用于根据由变换器编码器产生的序列来预测最终的列式输出以及直接回归的相对姿态。为了对楼层分割进行共同估计,首先进行地板边界轮廓分割。然后,可以基于所估计的姿态来投影一对全景中的第一全景的地板分割,以与另一全景的分割对准。然后,来自两个全景的图像特征可以经历立体投影,以从地板和/或天花板视图提取特征。然后,第一全景图像的图像特征可以用以估计的姿态为条件的学习的仿射变换来处理。最后,可以级联地板分割和处理的特征,并且通过卷积层块产生最终的共同地板分割。
除了如上所述的直接姿态回归学习之外,角度对应、共可见度和边界轮廓也可以选择性地用于在随后的后处理步骤中导出相对姿态。这三个输出一起发射2D楼层平面中的点对应物,其可用于通过奇异值分解或通过RANSAC过程来优化相对姿态旋转和平移。首先,从三个列式输出导出双向点对应的过程如下。对于每个全景中的给定图像像素列,通过使用已知的相机高度将边界位置从图像坐标投影到地板平面,在该图像列中可见的墙壁边界的x、y坐标(在全景的局部坐标系中)。在组合中,所有图像列然后为每个图像在x、y平面中产生点云。在预测的共可见性较高的情况下,预测的角度对应然后可以被用于匹配两个全景的点云中的点,导致两个点云中的每个都在它们的局部坐标系中,并且它们之间有点对应/匹配。对于每个点,训练的神经网络将产生不确定性得分,其传递网络对预测的置信度。然后旋转和平移可以使用基于奇异值分解的刚性配准直接求解,或可以在RANSAC例程中使用。在基于奇异值分解的刚性配准中,可以使用不确定性分数来加权相应的点。换句话说,不同的点在导出相对姿态时将具有不同的重要性。在迭代RANSAC过程中,在每次迭代时,根据概率随机选择两个点对。该概率由这两个点的不确定度得分确定。具有低不确定性分数的点将具有高选择概率。从这两个点对应,可以导出候选旋转和平移。一旦应用该R、t来对准两个全景的点云,就可以确定基于接近度的点匹配,并且从该匹配,可以确定内点(inliers)和异常值(outliers)的数量,以评估拟合的姿态优度。在多次迭代之后,可以使用来自产生最高内点数量的候选姿态的匹配来进行最终细化,以获得最终的基于RANSAC的姿态。因此,提取相对姿态可能有三种方法,如下:直接姿态回归作为模型输出;基于奇异值分解(SVD)的点对应姿态回归;基于RANSAC的点对应姿态回归。
使用来自一对图像的共同预测提供了关于从单个图像进行预测的尝试的益处,例如,在单个图像中的相机和墙壁特征之间的遮挡和相对观察位置可能导致一些墙壁特征具有来自单个图像的很少或没有观察区域覆盖,并且因此难以检测。相反,通过使用图像角度对应模型输出,在一对全景的全景之间存在列式匹配,并且基于一个全景中的列的顺序,与另一个全景中的每个图像列对应的列式特征可以被重新采样和重新排序。在列重新排序之后,来自一个全景的重新组合(reshuffled)的特征将表示与在每一列位置处的另一全景类似的图像内容,并且来自一个全景的原始按列特征可以与在每一列级别处的另一全景的重新组合的按列特征级联。然后可以使用卷积层和最大汇集层来最终对一个全景(例如,边界、窗、门道、非门道墙壁开口等)处的每个图像列的类型进行分类,或回归一个全景处的每列图像深度,以便使用来自一个全景的图像内容将来自2个视图的信息融合在一起,以增强另一个全景中的预测。
当在建筑物的所有目标全景上成对运行时,共可见性输出可用于按如下方式对全景组进行聚类:对于每对,通过在两个图像上取平均共可见FOV分数,可将所得共可见性聚集成分数。然后,该得分总结两个全景是否共享相同的空间,以及视觉重叠的程度。然后,该成对信息可以用于基于视觉连通性将全景聚集到连接的组件中,例如,如果给定全景与现有集群中的任何其他全景具有大于某个阈值的共可见性得分,则将该全景添加到集群中。通过以这种方式生长群集,形成了连接的分量姿态图,其中沿着成对的全景之间的边缘定义了相对姿态。在这些聚类的每个中,可以通过基于相对姿态置信度,例如,从在配准的点云上计算的内点的数目、或从直接估计的姿态或每列墙壁深度/角度对应的一些学习的置信度,以贪婪的方式将全景图迭代地组合在一起,来导出全局坐标系。由于差的质量相对姿态可能导致差的全局坐标,可以使用例如循环一致性通过沿着连接的三元组顺序应用相对姿态并检查起点和终点之间的旋转/位置一致性来抑制异常值相对姿态。最后,利用异常值抑制的相对姿态集作为约束,可以应用姿态图优化来提高全局坐标系的精度。
示例性实施方式的PIA组件的输出提供了各种益处,并且可以以各种方式使用。一个示例包括估计一个全景与另一个全景的相对姿态,这可以被认为与执行图像特征点匹配的现有方法不同,在现有方法中,姿态以几何形状为条件。与这种现有方法相反,示例实施方式的PIA组件可以产生稳健的图像内容匹配,而不管两个图像之间的重叠视觉数据的量,以及产生用于输入图像的可靠的特征匹配,该输入图像具有大部分重复的图案或具有显著特征的稀缺性。这种现有方法(例如,图像显著特征匹配)对输入图像之间的类似内容的量具有更高水平的要求,以便在两个图像之间产生稳健的匹配特征。此外,与尝试仅利用来自单个获取地点的信息来估计的类似量相比,通过组合来自两个不同获取地点的视觉数据而预测的结构特征(例如,对于墙壁、墙壁间边界和墙壁边界)可以具有更高的质量。例如,如果一对的第一全景具有比该对的第二全景更好的确定的墙壁结构的视点,则由该第一全景提供的信息可以改善从第二全景估计的几何结构的质量。因此,从两个获取地点估计的可见墙壁几何形状可以被组合和细化,或通过投影到分割图和通过一系列卷积层的处理,或通过后处理步骤来集成来自每个获取地点的信息,以便产生组合的可见几何形状,其具有墙壁特征和布局,这能够估计墙壁特征和用于较大空间的布局,所述较大空间可以从任何单个获取地点仅部分可见。
作为使用PIA组件的输出的一个示例,共可见性数据和/或图像角度对应数据可用于引导图像的获取(例如,用于生成诸如链接图像的平面图和/或虚拟游览的映射信息),以确保新获取的图像与先前获取的图像在视觉上重叠,从而提供用于生成映射信息的良好转换。例如,ICA系统和/或其它图像获取系统可以建议在新捕获的图像和现有图像之间缺少连通性,或拒绝新获取的图像。此外,一旦获取新获取的图像,图像角对应数据和图像间姿态数据就可以确定每个图像(例如,在周围结构布局内)的获取地点,并且图像获取系统可以建议一个或多个新的获取地点,在该获取地点获取将改善图像之间的共可见性的一个或多个附加图像。因此,当用户获取每个新图像时,PIA组件可以确定新图像(或多个新图像)和现有图像之间的共可见性数据和/或图像角度对应数据,以产生实况获取反馈(例如,以实时或近似实时的方式)。为了提高图像匹配过程的速度,图像嵌入提取和图像嵌入匹配可以被去耦,以便提取和存储用于至少一些图像的图像特征嵌入特征(例如,其可以被比较以基于两个图像的图像特征嵌入矢量之间的匹配程度快速确定两个图像之间的匹配程度),即使图像被用于作为多个不同图像对的部分的图像匹配,每个图像也仅执行一次图像特征提取。
已经参考图2A至图2P提供了各种细节,但是应当理解,所提供的细节是出于说明的目的而包括的非排他性示例,并且可以以其它方式执行其它实施方式,而没有一些或全部这样的细节。
图3是示出了执行IIMIGM系统140的实现方式的一个或多个服务器计算系统300以及执行ICA系统389的实现方式的一个或多个服务器计算系统380的实施方式的框图。尽管在图3中未示出,但是IIMIGM系统140可以进一步包括一个或多个组件(例如,图1的PIA组件146,图1的GNNBA组件142等),每个组件都执行IIMIGM系统的一些或全部功能。(多个)服务器计算系统和IIMIGM系统(和/或其组件)可以使用形成电子电路的多个硬件组件来实现,所述电子电路适于并且配置为在组合操作时执行本文所述的至少一些技术。在所示实施方式中,每个服务器计算系统300包括一个或多个硬件中央处理单元(“CPU”)或其它硬件处理器305、各种输入/输出(“I/O”)组件310、存储装置320和存储器330,其中所示I/O组件包括显示器311、网络连接312、计算机可读介质驱动器313和其它I/O装置315(例如,键盘、鼠标或其它定点装置、麦克风、扬声器、GPS接收器等)。每个服务器计算系统380可以包括类似于服务器计算系统300的硬件组件的硬件组件,包括一个或多个硬件CPU处理器381、各种I/O组件382、存储装置385和存储器387,但是为了简洁起见,在服务器380中省略了服务器300的一些细节。
(多个)服务器计算系统300和执行IIMIGM系统140可以经由一个或多个网络399(例如,因特网、一个或多个蜂窝电话网络等)与其他计算系统和装置通信,例如用户客户端计算装置390(例如,用于查看楼层平面图,相关图像和/或其他相关信息)、(多个)ICA服务器计算系统380、一个或多个移动计算装置360和可选地一个或多个相机装置375(例如,用作图像获取装置)、可选地接收和使用楼层平面图的其他可导航装置395和可选地其他生成的用于导航目的的信息(例如,由半自主或完全自主车辆或其他装置使用)、以及可选地未示出的其他计算系统(例如,用于存储和提供与建筑物相关的附加信息;用于获取建筑物内部数据;用于存储和向客户端计算装置提供信息,例如与图像及其所包含的建筑物或其它周围环境相关联的附加补充信息;等)。在一些实施例中,无论是除了执行经由网络399的通信之外还是代替执行经由网络398的通信,一个或多个相机设备375中的一些或全部可以直接(例如,无线地和/或经由电缆或其他物理连接,并且可选地以对等方式)与它们附近的一个或更多个相关联的移动计算装置360通信(例如,发送所获取的目标图像、接收启动目标图像获取的指令等),并且与能够通过网络399将从一个或多个相机设备375接收到的所获取的目标图像和可选的其他所获取的数据提供给其他计算系统和设备(例如,服务器计算系统380和/或300)的这种相关联的移动计算设备360相关联。
在所示实施方式中,IIMIGM系统140的实施方式在存储器330中执行,以便执行至少一些所描述的技术,例如通过使用(多个)处理器305以配置(多个)处理器305和(多个)计算系统300以执行实现那些所描述的技术的自动操作的方式来执行系统140的软件指令。IIMIGM系统的所示实施方式可以包括未示出的一个或多个组件,以各自执行IIMIGM系统的功能的部分,并且存储器可以进一步可选地执行一个或多个其它程序335。作为一个示例,在至少一些实施方式中,其它程序335中的一个可以包括ICA系统的执行副本(例如,代替或除了在(多个)服务器计算系统380上的存储器387中执行的ICA系统389之外)和/或可以包括用于访问建筑物信息的系统的执行副本(例如,如关于客户机计算装置175和图6的例程所讨论的)。IIMIGM系统140还可以在其操作期间在存储器320上(例如,在一个或多个数据库或其它数据结构中)存储和/或检索各种类型的数据,诸如关于目标全景图像的信息321(例如,由一个或多个相机装置375获取)、关于从目标全景图像确定的多种类型的建筑物信息的信息323(例如,墙壁和其他结构元素的地点、结构墙壁元件的地点、图像获取姿态信息、共可见信息、图像角度对应信息等)、关于全局对准的图像获取地点信息的信息325(例如全局图像间姿态信息)、各种类型的楼层平面图信息和其它建筑物映射信息326(例如,生成和保存的2D楼层平面图,其具有在那些楼层平面图上的墙壁元素和其它元素的2D房间形状和位置以及任选的附加信息,例如用于与相关联的楼层平面图一起使用的建筑物和房间尺寸、具有指定位置、注释信息等的现有图像;生成并保存2.5D和/或3D模型楼层平面图,该2.5D和/或3D模型楼层平面图类似于2D楼层平面图,但还包括高度信息和3D房间形状;等),可选地,来自IIMIGM系统的其它类型的结果信息327(例如,匹配关于一个或多个指示的目标图像的图像,在图像获取时段期间关于在图像获取时段期间获取的一个或多个指示的目标图像的反馈等),可选地,关于客户端计算装置390的用户和/或移动设备360的与IIMIGM系统交互的操作员用户的用户信息328,可选地,训练由IIMIGM系统使用的一个或多个神经网络和/或所得到的(多个)训练的神经网络(未示出)使用的数据,以及可选地,各种其它类型的附加信息329。ICA系统389可以类似地在存储器385(例如,在一个或多个数据库或其它数据结构中)的操作期间在存储器385上存储和/或检索各种类型的数据,并且向IIMIGM系统140提供一些或所有这样的信息以供其使用(无论以推和/或拉的方式),诸如图像386(例如,由一个或多个相机装置375获取并且由那些相机装置和/或通过一个或多个中间关联的移动计算装置360传送到服务器计算系统380的360°目标全景图像),以及可选地各种类型的附加信息(例如,与一个或多个建筑物内部或由ICA系统获取的其他环境的呈现或其他使用有关的各种分析信息,未示出)。
用户客户端计算装置390(例如,移动装置)、移动计算装置360、相机装置375、其他可导航装置395和其他计算系统中的一些或全部可以类似地包括针对服务器计算系统300和380所示的相同类型的组件中的一些或全部。作为一个非限制性示例,移动计算装置360每个被示出为包括一个或多个硬件CPU 361、I/O组件362、存储装置365、成像系统364、IMU硬件传感器369、可选的深度传感器(未示出)和存储器367,其中浏览器和一个或多个客户端应用368(例如,专用于IIMIGM系统和/或ICA系统的应用)中的一个或两个可选地在存储器367内执行,以便参与与IIMIGM系统140、ICA系统389、相关联的相机装置375和/或其它计算系统的通信。虽然没有针对其它可导航装置395或客户端计算系统390说明特定组件,但将了解,其可包含类似和/或额外组件。
还应当理解,图3中包括的计算系统300和380以及相机装置375和其它系统和装置仅仅是说明性的,而不是要限制本发明的范围。系统和/或装置可以代之以每个都包括多个交互计算系统或装置,并且可以连接到未具体示出的其他装置,包括经由蓝牙通信或通过诸如因特网的一个或多个网络的其他直接通信、经由Web、或经由一个或多个专用网络(例如,移动通信网络等)。更一般地,装置或其它计算系统可以包括硬件的任何组合,其可以交互和执行所述类型的功能,可选地当用特定软件指令和/或数据结构编程或以其它方式配置时,包括但不限于台式计算机或其它计算机(例如,平板计算机、笔记型电脑等)、数据库服务器、网络存储装置和其它网络装置、智能电话和其它蜂窝电话、消费电子装置、可佩戴装置、数字音乐播放器装置、手持游戏装置、PDA、无线电话、因特网装置、相机装置和附件、以及包括适当通信能力的各种其它消费产品。此外,在一些实施方式中,由所示IIMIGM系统140提供的功能可以分布在各种组件中,可以不提供IIMIGM系统140的一些所述功能、和/或可以提供其它附加功能。
还应当理解,尽管在使用时将各种项目示出为存储在存储器中或存储在存储装置中,但是出于存储器管理和数据完整性的目的,可以在存储器和其它存储装置之间传送这些项目或它们的部分。可选地,在其它实施方式中,软件组件和/或系统中的一些或全部可在另一装置上的存储器中执行,并经由计算机间通信与所说明的计算系统通信。因此,在一些实施方式中,当由一个或多个软件程序(例如,由在服务器计算系统300上执行的IIMIGM系统140)和/或数据结构配置时,例如通过执行一个或多个软件程序的软件指令和/或通过存储这样的软件指令和/或数据结构,可以由包括一个或多个处理器和/或存储器和/或存储装置的硬件装置来执行所描述的技术中的一些或全部,并且以便执行如在流程图和本文的其它公开中描述的算法。此外,在一些实施方式中,系统和/或组件中的一些或全部可以以其它方式来实现或提供,例如通过由在固件和/或硬件中部分或全部实现的一个或多个装置(例如,而不是由配置特定CPU或其它处理器的软件指令整体或部分实现的装置)组成,包括但不限于一个或多个专用集成电路(ASIC)、标准集成电路、控制器(例如,通过执行适当的指令,并且包括微控制器和/或嵌入式控制器)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)等。组件、系统和数据结构中的一些或全部也可以存储(例如,作为软件指令或结构化数据)在非暂时性计算机可读存储介质上,诸如将由适当的驱动器或经由适当的连接来读取的硬盘或闪存驱动器或其它非易失性存储装置、易失性或非易失性存储器(例如,RAM或闪存RAM)、网络存储装置或便携式介质制品(例如,DVD盘、CD盘、光盘、闪存装置等)。在一些实施方式中,系统、组件和数据结构还可以经由生成的数据信号(例如,作为载波或其它模拟或数字传播信号的部分)在各种计算机可读传输介质上传输,所述计算机可读传输介质包括基于无线和基于有线/电缆的介质,并且可以采取各种形式(例如,作为单个或多路复用模拟信号的部分,或作为多个离散数字分组或帧)。在其它实施方式中,这种计算机程序产品也可以采用其它形式。因此,本公开的实施方式可以用其它计算机系统配置来实现。
图4示出了ICA系统例程400的实施方式的示例流程图。该例程可以由例如图1的ICA系统160,图3的ICA系统389,和/或如本文另外描述的ICA系统来执行,以便获取360°目标全景图像和/或建筑物或其它结构内的其它图像(例如,用于随后生成相关的楼层平面图和/或其它映射信息,例如通过IIMIGM系统例程的实施方式),关于图5A至图5B所示的这种程序的一个示例;用于随后确定目标图像的获取地点和任选地确定目标图像的获取取向;等)。尽管关于在特定地点处获取特定类型的图像来讨论示例例程400的部分,但是将理解,可以使用该例程或类似例程来获取视频或其它数据(例如,音频)和/或不是全景的其它类型的图像,而不是这种全景图像或除了这种全景图像之外的其它类型的图像。此外,虽然所示的实施方式从目标建筑物的内部获取和使用信息,但是应当理解,其它实施方式可以对其它类型的数据执行类似的技术,包括对非建筑物结构和/或对一个或多个感兴趣的目标建筑物外部的信息。此外,可以在用户用来参与获取图像信息和/或相关附加数据的移动装置上,和/或由远离这种移动装置的系统执行一些或全部例程。
例程的所示实施方式在框405处开始,在框405处接收指令或信息。在框410,例程确定所接收的指令或信息是否指示获取表示建筑物的数据(例如,在建筑物内部),并且如果不是,则继续到框490。否则,例程进行到框412以接收在第一获取地点开始图像获取过程的指示(例如,来自与一个或多个相机装置相关联的移动计算装置的用户)。在框412之后,例程进行到框415,以便执行获取地点图像获取活动,以便通过至少一个图像获取装置(以及可选地通过诸如来自IMU传感器和/或深度传感器的移动计算装置的一个或多个附加图像和/或其他附加数据)获取感兴趣的目标建筑物处的获取地点的至少一个360°全景图像,从而提供围绕竖直轴的至少360°的水平覆盖。该例程还可以可选地从用户获取关于获取地点和/或周围环境的注释和/或其它信息,例如用于稍后在呈现关于该获取地点和/或周围环境的信息时使用。在框415完成之后,例程继续到框417,以在图像获取时段期间可选地发起获取和提供关于所指示的(多个)目标图像(例如,在框415中获取的图像)的反馈(例如,向参与当前图像获取时段的(多个)用户),诸如与MIGM系统交互以获取这种反馈。
在框417之后,例程继续到框420,以确定是否存在更多的获取图像的获取地点,例如基于由移动计算装置的用户提供的相应信息和/或满足指定的标准(例如,在目标建筑物的一些或所有房间中的每个中和/或在目标建筑物外部的一个或多个区域中的每个中要获取的至少指定数量的全景图像)。如果是,则例程继续到框422,以便在移动装置沿着远离当前获取地点的行进路径并朝向建筑物的下一获取地点移动期间,可选地启动链接信息(例如,视觉数据、来自一个或多个IMU传感器的加速度数据等)的获取。如本文别处所述,所获取的链接信息可包括在此类移动期间记录的额外传感器数据(例如,来自移动计算设备上或用户以其他方式携带的一个或多个IMU或惯性测量单元)和/或额外视觉信息(例如,全景图像、其它类型的图像、全景或非全景视频等),且在一些实施方式中可经分析以在移动计算装置期间确定移动计算装置的变化的姿态(位置和取向),以及关于在移动期间封闭房间(或其它区域)的房间形状和移动计算装置的路径的信息。可以响应于来自移动计算装置的用户的显式指示或基于从移动计算装置记录的信息的一个或多个自动分析来执行启动对这种链接信息的获取。此外,在一些实施方式中,例程可以进一步可选地确定并向用户提供一个或多个关于移动装置的运动、传感器数据的质量和/或在移动到下一个获取地点期间获取的视觉信息(例如,通过监视移动装置的运动)的引导提示,所述引导提示包括关于相关照明/环境条件的信息、获取下一个获取地点的可取性、以及获取链接信息的任何其它合适的方面。类似地,例程可以可选地从用户获取关于行进路径的注释和/或其它信息,例如用于稍后在呈现关于该行进路径的信息或结果的全景图像间连接链接中使用。在框424中,例程然后确定移动计算装置(以及一个或多个相关联的相机装置)到达下一个获取地点(例如,基于来自用户的指示,基于用户停止至少预定时间量的向前移动等),用作新的当前获取地点,并且返回到框415,以便执行用于新的当前获取地点的图像获取活动。
如果在框420中确定没有获取当前建筑物或其它结构(或当前图像获取时段)的图像信息的获取地点,则例程进行到框430,以可选地分析建筑物或其它结构的获取地点信息,以便识别可能的附加覆盖范围(和/或其它信息),以在建筑物内部获取或以其它方式与建筑物相关联。例如,ICA系统可以向用户提供关于在获取多个获取地点期间获取的信息以及可选地相应的链接信息的一个或多个通知,例如,如果它确定所记录的信息的一个或多个段具有不充分的或不期望的质量,或没有看起来提供建筑物的完全覆盖。此外,在至少一些实施方式中,如果所获取的图像(例如,每个房间中的至少两个全景图像,每个房间中的至多一个全景图像,彼此之间的最大和/或最小指定距离内的全景图像等)没有满足图像的最小标准(例如,图像的最小量和/或类型),则ICA系统可以提示或指导获取附加全景图像以满足这种标准。在框430之后,例程继续到框435,以在随后用于生成相关的映射信息之前可选地预处理所获取的360°目标全景图像(例如,将它们放置在拉直的等矩形格式中,以确定消逝线和消逝点等)。在框480中,图像和任何相关的生成或获取的信息被存储以供以后使用。
如果在框410中确定在框405中陈述的指令或其它信息不是要获取表示建筑物的图像和其它数据,则例程继续到框490以视情况执行任何其它指示的操作,诸如任何内务处理任务,以配置要在系统的各种操作中使用的参数(例如,至少部分地基于由系统的用户指定的信息,诸如获取一个或多个建筑物内部的移动装置的用户,ICA系统的操作员用户等),以获取和存储关于系统用户的其它信息,以响应对生成和存储的信息的请求等。
在框480或490之后,例程进行到框495以确定是否继续,例如直到接收到要终止的显式指示,或仅在接收到要继续的显式指示时才进行。如果确定继续,则例程返回到框405以等待额外的指令或信息,并且如果不是,则前进到框499并结束。
图5A至图5B示出了用于图像间映射信息生成管理器(IIMIGM)系统例程500的流程图的示例性实施方式。该例程可以通过例如执行图1和图3的IIMIGM系统140、关于图2E至图2P讨论的IIMIGM系统、和/或如本文别处描述的IIMIGM系统来执行,以便生成用于在建筑物或其它限定区域处获取的目标图像的集合的全局图像间姿态数据,并且可选地进一步生成用于建筑物或其它限定区域的楼层平面图和/或其它映射信息,其至少部分地基于目标图像的视觉数据和可选地由移动计算装置获取的附加数据,和/或通过分析成对图像的视觉数据来确定其它类型的信息。在图5A至图5B的示例中,所生成的用于建筑物(例如,房屋)的映射信息包括2D层平面图和/或3D计算机模型层平面图,但是在其它实施方式中,可以生成其它类型的映射信息并以其它方式使用,包括用于其它类型的结构和所定义的区域,如本文别处所讨论的。
例程的所示实施方式在框505处开始,在框505处接收信息或指令。例程继续到框515,以获取建筑物的目标图像以及可选的相关联的维度/比例信息(例如,检索先前获取并与所指示的建筑物相关联的所存储的目标图像;使用在框505中提供的目标图像;为了同时获取这样的信息,图4提供了用于执行这样的图像获取的ICA系统例程的一个示例性实施方式,包括可选地等待一个或多个用户或装置在建筑物的一个或多个房间中移动,并且在建筑物房间和可选地其他建筑物区域中的获取地点处获取全景或其他图像,以及可选地连同与获取有关的元数据信息和/或与获取位置之间的移动有关的互连信息,如本文其他地方更详细地讨论的;等)。
在框515之后,例程继续到框520,其中,对于每个目标图像,如果图像还不是这样的格式(例如,用于全景图像的平直球形投影格式,用于非全景图像的平直球形或直线形式等),则将图像转换为平直投影格式。在框525中,例程然后选择下一对目标图像(以第一对开始),并且然后进行到框530,以使用训练的神经网络来至少部分地基于每个图像的视觉数据的每图像像素列分析,共同确定在该对的图像中可见的(多个)房间的多种类型的预测建筑物信息,例如每像素列共可见性和角度对应匹配的概率以及结构元素(例如,窗、门道和非门道开口、墙壁间边界)的地点,以及具有地板和/或天花板的每个像素列墙壁边界,可选地具有相关联的不确定性信息。在框535中,例程然后使用来自该对的图像的数据的组合来确定用于在图像中可见的(多个)房间的附加类型的建筑物信息,诸如用于(多个)房间的2D和/或3D结构布局,用于图像的图像间姿态信息,以及可选地在结构布局内的图像的室内获取地点。在框535之后,框540中的例程继续确定是否有更多的图像对要进行比较,并且如果是,则返回框525以选择下一对图像。
否则,例程继续执行框550和555,以生成目标图像的全局图像间姿态数据(例如,对应于GNNBA组件的操作)。在框550中,该例程生成表示目标图像的多个层图形神经网络,其中第一层中的节点表示每个目标图像,并且每个节点用编码该目标图像的视觉特征的表示来初始化,并且第一层中的节点间边缘表示与连接到该边缘的节点相关联的两个目标图像的相对图像间姿态数据,并且每个节点用这两个连接的节点的视觉特征的级联来初始化。在框555中,例程然后执行单次通过图形神经网络的多个层,以生成用于最后层中的目标图像的最终全局图像间姿态数据,使用在节点和层之间传递的消息来连续地更新和细化通过层的姿态数据。
在框555之后,例程继续到框580,在框580,它确定是否进一步使用来自框530-555的确定类型的信息作为进一步生成建筑物的楼层平面图的部分,例如基于在框505中接收的指令或其它信息,并且如果不是,则继续到框570。否则,例程继续到框583,使用全局图像间姿态数据来定位来自目标图像的局部结构布局信息,以生成建筑物的至少一个对应的楼层平面图,以及可选的附加的相关映射信息。
在框583之后,或在框580中确定不使用来自框530至535的所确定的建筑物信息类型作为生成建筑物的楼层平面图的部分,例程继续到框570以确定是否使用来自框530至555和583的所确定的建筑物信息类型作为识别一个或多个指示的目标图像的一个或多个匹配图像(如果有的话)的部分。例如基于在框505中接收的指令或其它信息。如果是,则例程继续到框572,以针对一个或多个指示的目标图像(例如,如框505中指示的或经由一个或多个当前用户交互在框572中标识的),使用来自对所指示的(多个)目标图像的分析的信息来确定与所指示的(多个)目标图像相匹配的一个或多个其他图像(如果有的话)(例如,与所指示的(多个)目标图像具有指示量的视觉重叠和/或满足其他指定的匹配标准,如本文别处更详细讨论的),并显示或以其它方式提供确定的其它目标图像(例如,将它们提供给图6的例程600以用于显示,例如响应于在框505中接收的来自例程600的指示一个或多个目标图像以及可选地一些或所有其它图像以分析以及可选地一些或所有匹配标准的对应请求)。如果在框570中确定不使用所确定的建筑物信息类型作为识别一个或多个指示的目标图像的一个或多个匹配图像(如果有的话)的部分,则例程继续到框575,以确定是否使用来自框530至555和583的所确定类型的建筑物信息作为确定和提供于一个或多个指示的目标图像对应的反馈的部分,例如基于在框505中接收的指令或其它信息。如果不是,则例程继续到框590,否则继续到框578,以针对一个或多个指示的目标图像(例如,如框505中所指示的或经由一个或多个当前用户交互在框578中所标识的),使用来自对所指示的目标图像的分析的信息来确定要提供的反馈(例如,基于与所指示的(多个)目标图像的所指示的视觉重叠量和/或与其它指定的反馈标准对应的所指示的视觉重叠量,如本文别处更详细讨论的那样),并且显示或以其它方式提供所确定的反馈(例如,将它们提供给图6的例程600以用于显示,例如响应于在框505中接收到的来自例程600的对应请求,该请求指示一个或多个目标图像以及可选地一些或所有其它图像以分析以及可选地一些或所有反馈标准)。如本文别处更详细讨论的,在一些实施方式中,框530和535中的一些或全部可以由IIMIGM系统的PIA组件执行,并且在一些实施方式中,框550至555中的一些或全部可以由IIMIGM系统的BAPA组件执行(例如通过使用由PIA组件生成的信息)。
在框572或578之后,例程继续到框588,以存储所生成的映射信息和/或其他所生成或确定的信息,并且可选地进一步使用所确定的和所生成的信息中的一些或全部,以便提供所确定的全局图像间姿态数据和/或所生成的2D楼层平面图和/或所生成的3D计算机模型楼层平面图和/或其他所生成或确定的信息,用于自动导航那些装置和/或相关联的车辆或其他实体,以提供和使用关于所确定的房间布局/形状和/或全景图像的链接集合的信息和/或关于所确定关于房间的内容和/或房间之间的通道的附加信息等。
在框590中,例程取而代之继续视情况执行一个或多个其它指示的操作。例如,这样的其它操作可以包括至少部分地基于在建筑物中捕获的其它目标图像的所确定的全局图像间姿态数据(例如,通过与全局获取姿态数据已知的目标图像的视觉数据进行比较,通过由GNNBA组件执行补充分析,所述GNNBA组件包括(多个)附加图像和那些目标图像中的一些或全部,等),确定建筑物中捕获的一个或多个附加图像的定位数据(例如,捕获地点位置和可选取向),接收和响应对先前确定的全局图像间姿态数据和/或先前生成的楼层平面图和/或先前确定的房间布局/形状和/或其它生成的信息的请求(例如,对用于在一个或多个客户端装置上显示的这种信息的请求,对这种信息的请求,以将其提供给一个或多个其它装置以在自动导航中使用等),获取和存储关于在稍后的操作中使用的建筑物的信息(例如,关于房间的尺寸、数量或类型、总平方长度、邻近或附近的其它建筑物、邻近或附近的植被、外部图像等的信息)等。
在框588或590之后,例程继续到框595,以确定是否继续,例如直到接收到要终止的显式指示,或仅在接收到要继续的显式指示时才继续。如果确定继续,则例程返回到框505以等待并接收附加指令或信息,否则继续到框599并结束。
虽然没有针对图5A至图5B的示例性实施方式中所示的自动操作进行说明,但是在一些实施方式中,人类用户还可以帮助促进PIA组件的一些操作,例如为PIA组件的操作员用户和/或最终用户提供对一个或多种类型的输入,该输入进一步用于后续的自动操作中。
图6示出了用于建筑物信息访问系统例程600的流程图的示例性实施方式。该例程可以通过例如执行图1的建筑物信息访问客户端计算装置175及其软件系统(未示出),客户端计算装置390和/或图3的移动计算装置360,和/或如本文别处所述的映射信息访问查看器或呈现系统来执行,以便接收和显示针对可选地包括一个或多个确定的图像获取地点的视觉指示的限定区域生成的楼层平面图和/或其他映射信息(例如3D模型楼层平面图、确定的房间结构布局/形状等),以获取并显示关于与一个或多个所指示的目标图像匹配的图像的信息,以获取并显示与在图像获取时段期间获取的一个或多个所指示的目标图像对应的反馈(例如,关于在所述获取时段期间获取的其它图像和/或关于相关联的建筑物),在映射信息中显示与特定获取地点相关联的附加信息(例如,图像)等。在图6的示例中,所呈现的映射信息是针对建筑物(诸如房屋的内部)的,但是在其它实施方式中,可以针对其它类型的建筑物或环境呈现其它类型的映射信息,并且以其它方式使用,如本文别处所讨论的。
例程的所示实施方式在框605处开始,在框605处接收指令或信息。在框610,例程确定在框605中所接收的指令或信息是否要显示用于一个或多个目标建筑物的所确定的信息,并且如果是,则继续到框615以确定在框605中所接收的指令或信息是否要使用所指定的标准来选择一个或多个目标建筑物,并且如果不是,则继续到框620以从用户获取要使用的目标建筑物的指示(例如,基于当前用户选择,诸如从显示的列表或其他用户选择机制;基于在框605中接收的信息;等)。否则,如果在框615中确定从指定的标准中选择一个或多个目标建筑物,则例程继续到框625,在框625中,例程获取要使用的一个或多个搜索标准的指示,诸如从当前用户选择或如在框605中接收的信息或指令中所指示的,然后搜索所存储的关于建筑物的信息以确定满足搜索标准的一个或多个建筑物。在所示实施方式中,例程然后进一步从(多个)返回的建筑物(例如,对于指定标准具有最高相似性或其它匹配等级的建筑物,或使用在框605中接收的指令或其它信息中指示的另一选择技术)中选择最佳匹配目标建筑物。
在框620或625之后,例程继续到框635,以检索用于目标建筑物的楼层平面图或用于建筑物的其它生成的映射信息,以及可选地指示用于建筑物内部和/或建筑物外部的周围地点的相关联的链接信息,并选择所检索的信息的初始视图(例如,平面图的视图、特定房间形状等)。在框640中,例程然后显示或以其他方式呈现所检索的信息的当前视图,并且在框645中等待用户选择。在框645中的用户选择之后,如果在框650中确定用户选择对应于调整当前目标建筑物的当前视图(例如,改变当前视图的一个或多个方面),则例程继续到框655,以根据用户选择更新当前视图,然后返回到框640,以相应地更新所显示的或以其他方式所呈现的信息。用户选择和当前视图的相应更新可以例如显示或以其他方式呈现用户选择的一条关联的链接信息(例如,与所确定的获取地点的所显示的视觉指示相关联的特定图像,以便将关联的链接信息覆盖在先前显示的至少一些上),和/或改变当前视图如何显示(例如,放大或缩小;在适当的情况下旋转信息;选择要显示或以其它方式呈现的楼层平面图的新部分,例如新部分的一些或所有先前不可见,或代之以新部分是先前可见信息的子集;等)。如果在框650中确定用户选择不显示当前目标建筑物的进一步信息(例如,显示另一建筑物的信息,结束当前显示操作等),则例程继续到框695,并且如果用户选择涉及这样的进一步操作,则返回框605以执行用户选择的操作。
如果在框610中确定在框605中接收的指令或其它信息不将呈现表示建筑物的信息,则例程继续到框660,以确定在框605中接收的指令或其它信息是否对应于识别与一个或多个指示的目标图像对应的其它图像(如果有的话),并且如果继续到框665-670,则执行这样的活动。特别地,在框665中,例程接收用于匹配的一个或多个目标图像的指示(例如,来自在框605中接收的信息或基于与用户的一个或多个当前交互)以及一个或多个匹配标准(例如,视觉重叠的量),并且在框670中,标识匹配所指示的(多个)目标图像的一个或多个其他图像(如果有的话),例如通过与IIMIGM系统交互以获取(多个)其它图像。然后,该例程在框670中显示或以其它方式提供关于所识别的(多个)其它图像的信息,以便提供关于它们的信息作为搜索结果的部分,以显示所识别的(多个)其它图像中的一个或多个,等等。如果在框660中确定在框605中接收的指令或其它信息不是要识别与一个或多个指示的目标图像对应的其它图像,则例程继续到框675,以确定在框605中接收的指令或其它信息是否对应于在图像获取时段期间获取和提供关于一个或多个指示的目标图像(例如,最近获取的图像)的反馈。如果是,则继续到框680,否则继续到框690。在框680中,例程获取关于所指示的(多个)目标图像和在当前图像获取时段期间获取的和/或当前建筑物的其他图像之间的视觉重叠量和/或其他关系的信息,以便与IIMIGM系统交互,并且在框680中显示或以其他方式提供反馈。
在框690中,例程继续视情况执行其它指示的操作,诸如任何内务处理任务,以配置要在系统的各种操作中使用的参数(例如,至少部分地基于由系统的用户(例如获取一个或多个建筑物内部的移动装置的用户、IIMIGM系统的操作员用户等)指定的信息,包括用于根据他/她的偏好为特定用户个性化信息显示),以获取和存储关于系统用户的其它信息,以响应对生成和存储的信息的请求等。
在框670或框680或框690之后,或如果在框650中确定用户选择与当前建筑物不对应,则例程进行到框695以确定是否继续,例如直到接收到要终止的显式指示,或仅在接收到要继续的显式指示时才进行。如果确定继续(包括用户是否在框645中做出与要呈现的新建筑物相关的选择),则例程返回到框605以等待附加指令或信息(或如果用户在框645中做出与要呈现的新建筑物相关的选择,则直接继续到框635),并且如果不进行,则前进到框699并结束。
在以下条款中进一步描述了本文描述的非排他性示例性实施方式。
A01.一种用于一个或多个计算装置执行自动操作的计算机实现的方法,包括:
通过所述一个或多个计算装置,获得在房屋的多个房间中的多个获取地点处获取的多个全景图像,其中,所述全景图像中的每个仅具有等矩形格式的RGB(红-绿-蓝)像素数据,所述等矩形格式提供围绕竖直轴的360度水平视觉覆盖;
通过所述一个或多个计算装置并且使用训练成共同确定关于所述房屋的多种类型的信息的神经网络,分析多个图像对,所述多个图像对各自包括全景图像中的两个,所述全景图像的水平视觉覆盖对于所述多个房间中的至少一个具有至少部分视觉重叠,对于所述多个图像对中的每对,包括:
作为所述多种类型的信息中的一个并且使用所述图像对的所述两个全景图像之间的所述至少一个房间的部分视觉重叠,确定多个像素列匹配的图像角度对应信息,所述多个像素列匹配各自在所述两个全景图像中的第一全景图像的第一列像素与所述两个全景图像中的第二全景图像的相应第二列像素之间,其中每个像素列匹配的所述第一列像素和所述第二列像素两者示出了所述至少一个房间的墙壁的相同竖直切片,
作为所述多种类型的信息中的一个并且基于所述图像对的全景图像的RGB像素数据的组合,确定所述图像对的部分视觉重叠中的所述至少一个房间的结构布局信息,所述结构布局信息包括所述至少一个房间的至少一些墙壁的位置,并且包括所述墙壁中的一个与所述墙壁的附加的一个、所述至少一个房间的地板或所述至少一个房间的天花板中的至少一个之间的一个或多个边界的位置,并且包括所述至少一个房间的门道或非门道墙壁开口中的至少一个的位置;以及
作为所述多种类型的信息中的一种,并且至少部分地基于为所述图像对确定的包括所确定的多个像素列匹配的信息和所确定的结构布局信息的信息,确定所述图像对的全景图像的局部图像间获取姿态信息在所述图像对的局部坐标系中的初始估计,包括在至少一个房间中的获取全景图像的所确定的获取地点,并且包括在那些所确定的获取地点之间的全景图像中的每个中的方向;
通过所述一个或多个计算装置并且至少部分地基于所确定的所述多个图像对的结构布局信息,生成所述多个房间的房间形状;
通过所述一个或多个计算装置,生成具有多个层的图形神经网络,其中,所述图形神经网络的所述多个层中的第一层包括多个节点,所述多个节点各自与所述多个全景图像中的相应一个全景图像相关联,并且还包括多个边缘,所述多个边缘各自对应于所述多个图像对中的相应一个图像对,并且位于其相关联的全景图像是所述图像对的部分的两个节点之间;
通过所述一个或多个计算装置,初始化所述图形神经网络的所述第一层的节点和边缘,包括:向所述第一层的节点中的每个添加表示,所述表示对关于在与所述节点相关联的所述全景图像中可见的所确定的结构布局信息的数据进行编码,以及向所述边缘中的每个边缘添加关于所述边缘所对应的所述图像对的所述局部图像间获取姿态信息的所确定的初始估计的信息;
通过所述一个或多个计算装置并且使用一个或多个节点损失函数和一个或多个边缘损失函数,将来自所述第一层的初始化的节点和边缘的信息通过所述多个层传播,以协调添加到所述多个边缘的所述局部图像间获取姿态信息的局部坐标系,包括使用在节点之间传递的消息,以依次更新与所述多个边缘相关联的所述局部图像间获取姿态信息,以在所述多个层的最后一层中在公共坐标系中产生所述多个全景图像中的所有全景图像的所确定的全局图像间获取姿态信息;
通过所述一个或多个计算装置,生成用于所述房屋的楼层平面图,所述楼层平面图包括使用所述多个全景图像的所确定的全局图像间获取姿态信息定位的所确定的房屋形状;以及
通过所述一个或多个计算装置,呈现所述房屋的楼层平面图,以使得所述楼层平面图用于所述房屋的导航。
A02.一种用于一个或多个计算装置以执行自动操作的计算机实现的方法,包括:
通过一个或多个计算装置,从对在建筑物中获取的成对的多个全景图像的视觉数据的分析中获得信息,所述成对的多个全景图像包括具有第一视觉重叠的第一全景图像和第二全景图像的至少第一图像对,所述第一视觉重叠包括示出所述建筑物的第一房间的第一墙壁的第一视觉数据,并且所述成对的多个全景图像还包括第二全景图像和与所述第二全景图像具有第二视觉重叠并且缺少与所述第一全景图像的视觉重叠的第三全景图像的至少第二图像对,所述第二视觉重叠包括示出所述建筑物的第二房间的第二墙壁的第二视觉数据,其中,所获得的信息至少包括所述第一图像对和所述第二图像对中的每个的局部图像间获取姿态信息的初始估计,所述局部图像间获取姿态信息的初始估计指示在所述图像对的局部坐标系中所述图像对的全景图像之间的相对位置和取向;
通过所述一个或多个计算装置,生成具有多个层的图形神经网络,以确定所述多个全景图像的全局获取姿态信息,其中,所述图形神经网络的所述多个层中的第一层包括多个节点,所述多个节点各自与所述多个全景图像中的相应一个相关联,并且所述第一层还包括所述多个节点中的至少一些对之间的多个边缘,所述多个边缘各自表示与通过该边缘连接的所述对中的两个节点相关联的两个全景图像之间的图像间获取姿态信息,所述多个边缘包括与所述第一图像对对应的第一边缘和与所述第二图像对对应的第二边缘;
通过所述一个或多个计算装置,使用从对所述成对的多个全景图像的所述视觉数据的分析中获取的信息,初始化所述图形神经网络的所述第一层的节点和边缘,包括:向所述第一层的节点中的每个节点添加对关于在与该节点相关联的全景图像中可见的元素的数据进行编码的表示;以及向所述边缘中的每个边缘添加关于与该边缘的两个节点相关联的两个全景图像之间的局部图像间获取姿态信息的信息,其中,向所述边缘添加信息包括将关于所述第一图像对的所述局部图像间获取姿态信息的初始估计的信息添加到所述第一边缘,并且包括将关于所述第二图像对的所述局部图像间获取姿态信息的初始估计的信息添加到所述第二边缘;
通过所述一个或多个计算装置并且使用一个或多个损失函数,将来自所述第一层的初始化的节点和边缘的信息通过所述多个层传播,以协调添加到所述多个边缘的所述局部图像间获取姿态信息的局部坐标系,包括依次更新与所述多个边缘相关联的所述局部图像间获取姿态信息,以在所述多个层的最后一层中在公共坐标系中产生所述多个全景图像中的所有全景图像的所确定的全局图像间获取姿态信息;
通过所述一个或多个计算装置并且使用所述多个全景图像的所确定的全局图像间获取姿态信息,生成所述建筑物的至少部分楼层平面图,所述至少部分楼层平面图包括相对于彼此定位的至少所述第一房间和所述第二房间的房间形状;以及
通过所述一个或多个计算装置,呈现所述建筑物的所述至少部分楼层平面图,以使得能够使用所述至少部分楼层平面图来导航所述建筑物。
A03.一种用于一个或多个计算装置以执行自动操作的计算机实现的方法,包括:
通过所述一个或多个计算装置,从对在建筑物中获取的多个图像的视觉数据的分析中获得信息,所获得的信息至少包括多个图像对中的每对的初始估计的局部图像间获取姿态信息,所述初始估计的局部图像间获取姿态信息指示在所述对的局部坐标系中所述对的两个图像之间的位置和取向;
通过所述一个或多个计算装置,生成具有多个层的图形神经网络,以确定所述多个图像的全局获取姿态信息,其中,所述图形神经网络的所述多个层中的第一层包括多个节点,所述多个节点各自与所述多个图像中的相应一个图像相关联,并且所述第一层还包括所述多个节点中的至少一些对之间的多个边缘,以各自表示与通过所述边缘连接的所述对中的两个节点相关联的两个图像之间的图像间获取姿态信息,所述多个边缘包括复数边缘,所述复数边缘各自与所述多个图像对中的一个对应;
通过所述一个或多个计算装置,使用从对所述多个图像的所述对的视觉数据的分析中获得的信息,初始化所述图形神经网络的所述第一层的所述节点和所述边缘,包括向所述第一层的所述节点中的每个添加关于与所述节点相关联的图像中可见的建筑物的元素的编码数据,以及将关于所述边缘所对应的图像对的初始估计的局部图像间获取姿态信息的信息添加到所述复数边缘中的每个边缘;
通过所述一个或多个计算装置并且使用一个或多个损失函数,将来自所述第一层的初始化的节点和边缘的信息通过所述多个层传播,包括依次更新与所述多个边缘相关联的获取姿态信息,以在所述多个层的最后一层中,在公共坐标系中产生所述多个图像中的所有图像的所确定的全局图像间获取姿态信息;以及
通过所述一个或多个计算装置,提供所述多个图像中的所有图像的所确定的全局图像间获取姿态信息,以供进一步使用。
A04.一种用于一个或多个计算装置以执行自动操作的计算机实现的方法,包括:
从对在建筑物中获取的多个图像的视觉数据的分析中获得信息,所获得的信息至少包括多个图像对中的每对的初始估计的图像间获取姿态信息,所述初始估计的图像间获取姿态信息指示在所述对的局部坐标系中所述对的两个图像之间的位置和取向;
生成用于确定所述多个图像的全局获取姿态信息的所述多个图像的表示,所述多个图像的表示包括多个节点,所述多个节点各自与所述多个图像中的相应一个图像相关联,并且包括所述多个节点中的至少一些对之间的多个边缘,以各自表示与通过所述边缘连接的所述对中的两个节点相关联的两个图像之间的图像间获取姿态信息,其中,所述生成包括使用从对所述多个图像的所述对的所述视觉数据的分析获取的信息来初始化所述节点和所述边缘,包括向所述节点中的每个节点添加关于在与该节点相关联的图像中可见的建筑物的元素的编码数据,以及向所述边缘中的每个边缘添加关于在与该边缘的两个节点相关联的两个图像之间的初始估计的图像间获取姿态信息的信息;
对所生成的表示应用一个或多个损失函数,包括更新与所述多个边缘相关联的获取姿态信息,以在公共坐标系中产生所述多个图像中的所有图像的所确定的全局图像间获取姿态信息;以及
通过所述一个或多个计算装置,提供所述多个图像中的所有图像的所确定的全局图像间获取姿态信息,以供进一步使用。
A05.如条款A01-A04中任一项所述的计算机实现的方法,其中,生成所述图形神经网络包括:在所述第一层中创建具有所有节点对之间的边缘的完全连接网络,并且其中,所述信息通过所述多个层的传播包括:确定与所述多个层中的每个的所述多个边缘相关联的所述获取姿态信息中的置信度,以及对于具有低于确定阈值的相关联的确定的置信度的所述多个边缘中的至少一个,执行从所述图形神经网络移除至少一个边缘或对与至少一个边缘的图像间获取姿态信息相关联的权重打折中的至少一个。
A06.如条款A01-A05中任一项所述的计算机实现的方法,其中,所述信息通过所述多个层的传播包括:对于在最后一层之前的层中的至少一个节点,并且具有在一个或多个附加边缘中的具有低于确定阈值的相关误差的获取姿态信息,暂停在所述图形神经网络的后续层中传递给所述至少一个节点的消息。
A07.如条款A01-A06中任一项所述的计算机实现的方法,其中,所述一个或多个损失函数包括:节点损失函数,以最小化在所述公共坐标系中的所述全局图像间获取姿态信息中的误差,并且最小化所述多个图像对的所述图像间获取姿态信息中的误差;以及边缘损失函数,以最小化所确定的结构布局信息中和所确定的图像角度对应信息中的误差。
A08.如条款A01-A07中任一项所述的计算机实现的方法,其中,所述建筑物具有多个房间,所述多个房间包括所述第一房间和所述第二房间,并且还包括一个或多个附加房间,其中,所述多个全景图像包括所述多个房间中的每个中的至少一个全景图像,其中,从所述分析中获取所述信息包括根据所述多个房间中的墙壁的复数对所述多个全景图像中的共享可见性来确定信息,并且其中,生成所述建筑物的所述至少部分楼层平面图包括生成所述建筑物的完整楼层平面图,所述完整楼层平面图包括多个房间中的每个的房间形状。
A09.如条款A01-A08中任一项所述的计算机实现的方法,其中,所述多个全景图像的所述视觉数据仅包括RGB(红-绿-蓝)像素数据,并且其中,从对所述视觉数据的分析中获取所述信息包括:通过所述一个或多个计算装置并且使用经训练以共同确定关于所述建筑物的多种类型的信息的神经网络,针对多个图像对中的每个,通过以下分析包括第一对和第二对以及一个或多个附加对并且各自具有所述多个全景图像中的两个的所述多个图像对:
作为所述多种类型的信息中的一种并且使用示出至少一个房间中的至少一些的图像对的两个图像之间的部分视觉重叠,确定多个像素列匹配的图像角度对应信息,所述多个像素列匹配各自在所述两个图像中的第一图像的第一列像素与所述两个图像中的第二图像的相应第二列像素之间,其中匹配的所述第一列像素和所述第二列像素两者示出所述至少一个房间的墙壁的相同竖直切片,
作为所述多种类型的信息中的一种,并且基于所述图像对的图像的所述视觉数据,确定所述至少一个房间的结构布局信息,所述结构布局信息包括所述至少一个房间的至少一些墙壁的位置,并且包括所述至少一个房间的门道或非门道墙壁开口中的至少一个的位置;以及
作为所述多种类型的信息中的一种,并且至少部分地基于为所述图像对确定的包括所确定的多个像素列匹配的信息和所确定的结构布局信息的信息,确定所述图像对的局部图像间获取姿态信息的初始估计,所述局部图像间获取姿态信息的初始估计包括所述对的所述两个图像的初始确定的获取地点。
A10.如条款A01-A09中任一项所述的计算机实现的方法,还包括:针对所述多个全景图像中的每个并且至少部分地基于所确定的全局图像间获取姿态信息,确定所述房间形状中的一个内获取所述全景图像的位置,并且其中,呈现所述至少部分楼层平面图还包括在所述多个全景图像的所述至少部分楼层平面图上显示所确定的位置。
A11.如条款A01-A10中任一项所述的计算机实现的方法,还包括:通过所述一个或多个计算装置并且使用所述多个图像的所确定的全局图像间获取姿态信息,生成所述建筑物的至少部分楼层平面图,所述至少部分楼层平面图包括所述建筑物中相对于彼此定位的至少两个房间的房间形状,并且其中,提供所述多个全景图像的所确定的全局图像间获取姿态信息包括:通过所述一个或多个计算装置,呈现所述建筑物的所述至少部分楼层平面图,以使得能够使用所述至少部分楼层平面图来导航所述建筑物。
A12.如条款A01-A11中任一项所述的计算机实现的方法,其中,所述自动操作还包括:通过所述一个或多个计算装置,确定在所述建筑物的房间内获取所述多个图像中的每个的位置,并且其中,提供所述多个图像中的所有图像的所确定的全局图像间获取姿态信息还包括:在所确定的所述房间的房间形状上显示所述多个图像的所确定的位置。
A13.如条款A01-A12中任一项所述的计算机实现的方法,其中,所述多个图像的所述视觉数据仅包括RGB(红-绿-蓝)像素数据,并且其中,从对所述多个图像的所述视觉数据的分析中获得所述信息包括:通过所述一个或多个计算装置并且使用经训练以共同确定关于所述建筑物的多种类型的信息的神经网络,针对所述多个图像对中的每对,通过以下分析所述多个图像对:
作为所述多种类型的信息中的一种并且使用示出至少一个房间中的至少一些的图像对的两个图像之间的部分视觉重叠,确定多个像素列匹配的图像角度对应信息,所述多个像素列匹配各自在所述两个图像中的第一图像的第一列像素与所述两个图像中的第二图像的相应第二列像素之间,其中像素列匹配的所述第一列像素和所述第二列像素两者示出所述至少一个房间的墙壁的相同竖直切片,
作为所述多种类型的信息中的一种,并且基于所述图像对的图像的所述RGB像素数据,确定所述至少一个房间的结构布局信息,所述结构布局信息包括所述至少一个房间的至少一些墙壁的位置,并且包括所述墙壁中的一个与所述墙壁的附加的一个、所述至少一个房间的地板或所述至少一个房间的天花板中的至少一个之间的一个或多个边界的位置,并且包括所述至少一个房间的门道或非门道墙壁开口中的至少一个的位置;以及
作为所述多种类型的信息中的一种,并且至少部分地基于为所述图像对确定的包括所确定的多个像素列匹配的信息和所确定的结构布局信息的信息,确定所述图像对的初始估计的图像间获取姿态信息,所述初始估计的图像间获取姿态信息包括所述对的所述两个图像的初始确定的获取地点。
A14.如条款A01-A13中任一项所述的计算机实现的方法,其中,对于所述多个图像对中的每个,从所述视觉数据的分析获得的信息包括:关于在所述图像对的所述两个图像中可见的至少一个房间的结构元素的信息;以及关于在所述两个图像中显示所述至少一个房间的相同部分的相应像素列的信息,并且其中,所述一个或多个损失函数包括:节点损失函数,以最小化在所述公共坐标系中的所述全局图像间获取姿态信息中的误差,并且最小化所述多个图像对的所述图像间获取姿态信息中的误差;以及边缘损失函数,以最小化关于结构元素的信息和关于相应像素列的信息中的误差。
A15.如条款A01-A14中任一项所述的计算机实现的方法,其中,所述多个图像包括全景图像,其中,从对所述视觉数据的分析中获得的信息包括关于所述建筑物的至少一些房间的墙壁的信息,并且其中,所述一个或多个损失函数至少部分地基于对所述墙壁的位置的几何约束。
A16.如条款A01-A15中任一项所述的计算机实现的方法,其中,生成所述图形神经网络包括:在所述第一层中创建具有所有节点对之间的边缘的完全连接网络,并且其中,所述信息通过所述多个层的传播包括:确定与所述多个层中的每个的所述多个边缘相关联的所述图像间获取姿态信息中的置信度;以及对于具有低于确定阈值的相关联的确定的置信度的所述多个边缘中的至少一个,执行从所述图形神经网络移除至少一个边缘或对与至少一个边缘的图像间获取姿态信息相关联的权重打折中的至少一个。
A17.如条款A01-A16中任一项所述的计算机实现的方法,其中,所述信息通过所述多个层的传播包括:使用在所述图形神经网络的节点和层之间传递的消息;以及对于在具有低于在所述最后一层之前的层的确定的阈值的相关联的误差的一个或多个附加边缘中具有图像间获取姿态信息的至少一个节点,暂停在所述图形神经网络的后续层中传递给所述至少一个节点的消息。
A18.如条款A01-A17中任一项所述的计算机实现的方法,其中,所述自动操作还包括:在所述信息通过所述多个层传播之前,获得所述全局图像间获取姿态信息的初始估计,以及还将来自所述全局图像间获取姿态信息的所述初始估计的信息添加到所述第一层的边缘。
A19.如条款A01-A18中任一项所述的计算机实现的方法,其中,所述自动操作还包括:在提供所确定的全局图像间获取姿态信息之后,获得关于在所述建筑物处获取的一个或多个附加图像的信息;使用来自对所述一个或多个附加图像的进一步视觉数据的分析的进一步信息,以更新在所述公共坐标系中所述多个图像中的所有图像的所确定的全局图像间获取姿态信息;以及提供所更新的确定的全局图像间获取姿态信息。
A20.如条款A01-A19中任一项所述的计算机实现的方法,其中,所述自动操作还包括:在提供所确定的全局图像间获取姿态信息之后,获得关于在所述建筑物处获取的一个或多个附加图像的信息;使用来自对所述一个或多个附加图像的进一步视觉数据的分析的进一步信息结合所确定的全局图像间获取姿态信息,以确定所述公共坐标系中的所述一个或多个附加图像的进一步获取姿态信息;以及为所述一个或多个附加图像提供所确定的进一步获取姿态信息。
A21.如条款A01-A20中任一项所述的计算机实现的方法,其中,所述建筑物包括两个楼层上的复数房间,其中,所述多个图像包括在所述两个楼层中的每个楼层上的至少一个图像以及其视觉数据包括所述两个楼层之间的楼梯的两个或更多个图像,并且其中,所述多个图像中的所有图像的所确定的全局图像间获取姿态信息包括:使用所述两个或更多个图像以连接所述两个楼层中的每个楼层上的至少一个图像的所述两个楼层两者上的获取姿态信息。
A22.如条款A01-A21中任一项所述的计算机实现的方法,其中,所述多个图像的所述视觉数据显示所述建筑物的至少两个房间的至少一些墙壁,其中,所述存储的指令包括软件指令,当所述软件指令被执行时,使得所述一个或多个计算装置执行进一步的自动操作,所述进一步的自动操作包括:使用所述多个图像的所确定的全局图像间获取姿态信息,生成所述建筑物的至少部分楼层平面图,所述至少部分楼层平面图包括相对于彼此定位的至少两个房间的房间形状,并且其中,提供所述多个全景图像的所确定的全局图像间获取姿态信息包括:通过所述一个或多个计算装置,呈现所述建筑物的所述至少部分楼层平面图,以使得能够使用所述至少部分楼层平面图来导航所述建筑物。
A23.如条款A01-A22中任一项所述的计算机实现的方法,其中,所述多个图像各自是全景图像,
其中,生成所述多个图像的所述表示包括生成具有多个层的图形神经网络,所述图形神经网络包括多个节点,所述多个节点各自与所述多个全景图像中的相应一个相关联,并且所述图形神经网络还包括所述多个节点中的至少一些对之间的多个边缘,所述多个边缘各自表示与通过该边缘连接的所述对中的两个节点相关联的两个全景图像之间的图像间获取姿态信息,其中对所述图形神经网络的所述多个层中的第一层中的多个节点和多个边缘的表示执行所述初始化;以及
其中,将所述一个或多个损失函数应用于所生成的表示包括:使用所述一个或多个损失函数,将来自所述第一层的初始化的节点和边缘的信息通过所述多个层传播,包括依次更新与所述多个边缘相关联的图像间获取姿态信息,以在所述多个层中的最后一层中在公共坐标系中产生所述多个全景图像中的所有全景图像的所确定的全局图像间获取姿态信息。
A24.如条款A01-A23中任一项所述的计算机实现的方法,其中,所述多个图像的所述视觉数据仅包括RGB(红-绿-蓝)像素数据,并且其中,从对所述多个图像的所述视觉数据的分析中获取所述信息包括:使用经训练以共同确定关于所述建筑物的多种类型的信息的神经网络,针对所述多个图像对中的每对,通过以下分析所述多个图像对:
作为所述多种类型的信息中的一种并且使用示出至少一个房间中的至少一些的图像对的两个图像之间的部分视觉重叠,确定多个像素列匹配的图像角度对应信息,所述多个像素列匹配各自在所述两个图像中的第一图像的第一列像素与所述两个图像中的第二图像的相应第二列像素之间,其中像素列匹配的所述第一列像素和所述第二列像素两者示出所述至少一个房间的墙壁的相同竖直切片,
作为所述多种类型的信息中的一种,并且基于所述图像对的图像的所述RGB像素数据,确定所述至少一个房间的结构布局信息,所述结构布局信息包括所述至少一个房间的至少一些墙壁的位置,并且包括所述墙壁中的一个与所述墙壁的附加的一个、所述至少一个房间的地板或所述至少一个房间的天花板中的至少一个之间的一个或多个边界的位置;以及
作为所述多种类型的信息中的一种,并且至少部分地基于为所述图像对确定的包括所确定的多个像素列匹配的信息和所确定的结构布局信息的信息,确定所述图像对的初始估计的图像间获取姿态信息,所述初始估计的图像间获取姿态信息包括所述对的所述两个图像的初始确定的获取地点。
A25.一种计算机实现的方法,包括执行自动操作的多个步骤,所述自动操作实现基本上如本文所公开的描述的技术。
B01.一种具有存储的可执行软件指令和/或其它存储的内容的非暂时性计算机可读介质,所述存储的可执行软件指令和/或其它存储的内容使得一个或多个计算系统执行实现条款A01-A25中任一项的方法的自动操作。
B02.一种具有存储的可执行软件指令和/或其它存储的内容的非暂时性计算机可读介质,所述存储的可执行软件指令和/或其它存储的内容使得一个或多个计算系统执行实现基本上如本文所公开的所描述技术的自动操作。
C01.一个或多个计算系统,包括一个或多个硬件处理器和具有存储的指令的一个或多个存储器,当所述存储的指令由所述一个或多个硬件处理器中的至少一个执行时,使得所述一个或多个计算系统执行实现条款A01-A25中的任一项的方法的自动操作。
C02.一个或多个计算系统,包括一个或多个硬件处理器和具有存储的指令的一个或多个存储器,当所述存储指令由所述一个或多个硬件处理器中的至少一个执行时,使得所述一个或多个计算系统执行实现基本上如本文所公开的所描述的技术的自动操作。
D01.一种计算机程序,适于当所述计算机程序在计算机上运行时执行条款A01-A25中的任一项的方法。
A01.一种计算机实现的方法,包括:
通过所述一个或多个计算装置,获得在房屋的多个房间中的多个获取地点处获取的多个全景图像,其中,所述全景图像中的每个在所述多个房间中的一个获取并且仅具有等矩形格式的RGB(红-绿-蓝)像素数据,所述等矩形格式提供围绕竖直轴的360度水平视觉覆盖;
通过所述一个或多个计算装置并且使用训练成共同确定关于所述房屋的多种类型的信息的神经网络,分析多个图像对,所述多个图像对各自包括全景图像中的两个,所述全景图像的水平视觉覆盖对于所述多个房间中的至少一个具有部分视觉重叠,对于所述多个图像对中的每对,包括:
作为所述图像对的所述两个全景图像之间的所述至少一个房间的部分视觉重叠的部分,确定多个像素列匹配,所述多个像素列匹配各自在所述两个全景图像中的第一全景图像的第一列像素与所述两个全景图像中的第二全景图像的相应第二列像素之间,其中所述匹配的所述第一列像素和所述第二列像素两者示出了所述至少一个房间的相同竖直切片,
使用所述第一全景图像和第二全景图像的不在所述部分视觉重叠中的部分,确定所述第一全景图像的示出所述至少一个房间的在所述第二全景图像中不可见的第一竖直切片的附加第一列像素,以及所述第二全景图像的示出所述至少一个房间的在所述第一全景图像中不可见的另外的第二竖直切片的附加第二列像素;
基于所述图像对的所述第一全景图像和所述第二全景图像的RGB像素数据的组合,以及针对所述图像对的所述部分视觉重叠中的所述至少一个房间,确定所述至少一个房间的结构布局信息,所述结构布局信息包括所述至少一个房间的至少一些墙壁的位置,并且包括所述墙壁中的一个与所述墙壁的附加的一个、所述至少一个房间的地板或所述至少一个房间的天花板中的至少一个之间的一个或多个边界的位置,并且包括所述至少一个房间的门道或非门道墙壁开口中的至少一个的位置;以及
至少部分地基于为所述图像对确定的包括所确定的多个像素列匹配的信息和所确定的结构布局信息的信息,确定所述图像对的所述第一全景图像和所述第二全景图像的相对姿态信息,所述相对姿态信息包括在至少一个房间中的获取所述第一全景图像和所述第二全景图像的所确定的获取地点,并且包括在那些所确定的获取地点之间的所述第一全景图像和所述第二全景图像中的每个中的方向;
通过所述一个或多个计算这种,生成全局对准信息,所述全局对准信息包括所述多个获取地点在公共坐标系中的位置,包括组合所述多个图像对中的至少一些图像对的所确定的相对姿态信息;
通过所述一个或多个计算装置,生成所述房屋的楼层平面图,包括拟合针对所述多个获取地点的所述全局对准信息中的位置周围的所述多个图像对确定的结构布局信息,并且包括基于所述门道或非门道墙壁开口中的至少一个的所述多个图像对的位置来对准所拟合的结构布局信息;以及
通过所述一个或多个计算装置,呈现所生成的楼层平面图,以使得在导航所述房屋时使用所生成的楼层平面图。
A02.一种计算机实现的方法,包括:
通过一个或多个计算装置,获得在建筑物中获取的多个全景图像,所述多个全景图像包括:具有第一视觉数据的第一全景图像,所述第一视觉数据提供建筑物的第一房间的结构元素的第一视觉覆盖,并且包括具有第二视觉数据的第二全景图像,所述第二视觉数据提供第一房间的结构元素中的一些的第二视觉覆盖,其中,所述结构元素包括第一房间的一些或全部墙壁,并且包括第一房间的地板或天花板中的至少一个的一些或全部;
通过所述一个或多个计算装置并且使用训练的神经网络,分析所述多个全景图像中的一对或多对,以基于所述对的全景图像的重叠视觉覆盖来共同确定所述对中的每对的多种类型的建筑物信息,包括,对于所述对中的包括所述第一全景图像和所述第二全景图像的一对,分析所述第一全景图像和所述第二全景图像的所述第一视觉数据和所述第二视觉数据,以基于所述第一视觉覆盖和所述第二视觉覆盖之间的部分重叠来确定建筑物信息中的至少一些,通过以下方式:
作为所述第一视觉覆盖和所述第二视觉覆盖之间的部分重叠的部分,确定多个图像部分重叠对,所述多个图像部分重叠对各自具有第一全景图像的第一部分和所述第二图像的相应第二部分,第一全景图像的第一部分和所述第二图像的相应第二部分两者示出了所述第一房间的共同结构元素;以及
至少部分地基于所述第一视觉覆盖和所述第二视觉覆盖之间的部分重叠,确定在所述建筑物中获取所述第一全景图像和所述第二全景图像的相对获取地点;
通过所述一个或多个计算装置并且至少部分地基于所确定的建筑物信息,生成所述建筑物的至少部分楼层平面图,所述至少部分楼层平面图包括所述第一房间的结构元素中的至少一些的表示;以及
通过所述一个或多个计算装置,呈现用于所述建筑物的所述至少部分楼层平面图,以使得能够使用所述至少部分楼层平面图用于所述建筑物的导航。
A03.一种计算机实现的方法,包括:
通过一个或多个计算装置,获得在建筑物中获取的多个图像,所述多个图像包括:具有第一视觉数据的第一图像,所述第一视觉数据提供所述建筑物的至少第一房间的结构元素的第一视觉覆盖,并且包括具有第二视觉数据的第二图像,所述第二视觉数据提供所述至少第一房间的结构元素中的一些的第二视觉覆盖,其中,所述结构元素包括所述至少第一房间的一些或全部墙壁,并且包括所述至少第一房间的地板或天花板中的至少一个的一些或全部;
通过所述一个或多个计算装置并且使用训练的神经网络,分析所述第一图像和所述第二图像,以至少部分地基于所述第一视觉覆盖和所述第二视觉覆盖之间的部分重叠来共同地确定所述建筑物的多个类型的信息,通过以下方式:
作为所述第一视觉覆盖和所述第二视觉覆盖之间的部分重叠的部分,确定多个图像部分重叠对,所述多个图像部分重叠对各自具有所述第一图像的第一部分和所述第二图像的相应第二部分,所述第一图像的第一部分和所述第二图像的相应第二部分两者示出了所述至少第一房间的公共结构元素;以及
至少部分地基于所述第一视觉覆盖和所述第二视觉覆盖之间的部分重叠,确定在所述建筑物中获取所述第一图像和所述第二图像的获取地点;以及
通过所述一个或多个计算装置,提供所述建筑物的所确定的信息中的至少一些,以使得能够使用所述至少一些确定的建筑物信息。
A04.一种用于一个或多个计算装置执行自动操作的计算机实现的方法,包括:
通过所述一个或多个计算装置,获得在建筑物中获取的多个图像,所述多个图像包括:具有第一视觉数据的第一图像,所述第一视觉数据提供所述建筑物的至少第一房间的结构元素的第一视觉覆盖,并且包括具有第二视觉数据的第二图像,所述第二视觉数据提供所述至少第一房间的结构元素中的一些的第二视觉覆盖,其中,所述结构元素包括所述至少第一房间的窗,并且包括所述至少第一房间的一些或全部墙壁,并且包括至少第一房间的门道或非门道墙壁开口中的至少一个的一些或全部,并且包括所述至少第一房间的底板或天花板中的至少一个的一些或全部,其中,所述第一图像和所述第二图像中的每个中的每列像素具有与所述建筑物中的竖直平面对应的视觉数据;
通过所述一个或多个计算装置并且使用训练的神经网络,分析所述第一图像和所述第二图像,以至少部分地基于所述第一视觉覆盖和所述第二视觉覆盖之间的部分重叠来共同地确定所述建筑物的多个类型的信息,包括:
作为所述第一视觉覆盖和所述第二视觉覆盖之间的部分重叠的部分,确定多个图像部分重叠对,所述多个图像部分重叠对各自具有所述第一图像的第一部分和所述第二图像的相应第二部分,所述第一图像的第一部分和所述第二图像的相应第二部分两者示出了所述至少第一房间的公共结构元素,其中,所述公共结构元素与所述窗、所述门道、所述非门道墙壁开口或者所述墙壁中的一个与所述地板、所述天花板或所述墙壁中的另一个之间的边界中的至少一个对应;以及
至少部分地基于来自所述多个图像部分重叠对的信息并且使用来自所述第一图像和所述第二图像两者的数据,确定所述至少第一房间的结构布局信息,所述结构布局信息包括具有所述结构元素中的至少一些的所确定的位置的所述至少第一房间的形状;以及
通过所述一个或多个计算装置,提供所述至少第一房间的所确定的结构布局信息。
A05.一种用于一个或多个计算装置执行自动操作的计算机实现的方法,至少包括:
获得在建筑物中获取的多个图像,所述多个图像包括:具有第一视觉数据的第一图像,所述第一视觉数据提供所述建筑物的至少第一房间的结构元素的第一视觉覆盖,并且包括具有第二视觉数据的第二图像,所述第二视觉数据提供所述至少第一房间的结构元素中的一些的第二视觉覆盖,其中,所述结构元素包括所述至少第一房间的一些或全部墙壁,并且包括至少第一房间的门道或非门道墙壁开口中的至少一个的一些或全部,并且包括所述至少第一房间的底板或天花板中的至少一个的一些或全部;
使用训练的神经网络,分析所述第一图像和所述第二图像,以至少部分地基于所述第一视觉覆盖和所述第二视觉覆盖之间的部分重叠来共同地确定所述建筑物的多个类型的信息,包括:
作为所述第一视觉覆盖和所述第二视觉覆盖之间的部分重叠的部分,确定多个图像部分重叠对,所述多个图像部分重叠对各自具有所述第一图像的第一部分和所述第二图像的相应第二部分,所述第一图像的第一部分和所述第二图像的相应第二部分两者示出了所述至少第一房间的公共结构元素,其中,所述公共结构元素与所述门道或非门道墙壁开口或者所述墙壁中的一个与所述地板、所述天花板或所述墙壁中的另一个之间的边界中的至少一个对应;以及
对于作为多个图像部分重叠对的部分的第一图像中的每个像素列,确定与地板和墙壁之间的边界对应的像素列中的至少一个第一像素,并且至少部分地基于所识别的至少一个第一像素,确定所述像素列中可见的墙壁与所述第一图像的获取地点之间的距离;
对于作为多个图像部分重叠对的部分的第二图像中的每个像素列,确定与地板和墙壁之间的边界对应的像素列中的至少一个第二像素,并且至少部分地基于所识别的至少一个第二像素,确定像素列中可见的墙壁与第二图像的获取地点之间的距离;以及
使用来自所述第一图像和所述第二图像两者的数据并且至少部分地基于所确定的所述第一图像和所述第二图像的距离,确定所述至少第一房间的结构布局信息;以及
提供所述至少第一房间的所确定的结构布局信息。
A06.如条款A01-A05中任一项所述的计算机实现的方法,其中,所述建筑物具有多个房间,并且对于所述多个房间中的每个,所述多个全景图像包括在所述房间中获取的、并且具有所述房间中的墙壁、地板和天花板中的至少一些的视觉覆盖的所述全景图像中的一个全景图像,其中,针对每对全景图像,执行分析所述一对或多对,并且包括确定所述多个房间中的每个的结构元素,并且其中,生成所述至少部分楼层平面图包括生成所述建筑物的楼层平面图,所述建筑物的楼层平面图包括所述多个房间中的每个的所确定的结构元素的表示。
A07.如条款A01-A06中任一项所述的计算机实现的方法,其中,分析成对的所述第一全景图像和所述第二全景图像还包括:通过执行以下方式中的至少一个来确定附加建筑物信息:
通过所述一个或多个计算装置并且针对作为所述多个图像部分重叠对的部分的所述第一全景图像中的多个第一角度中的每个,确定所述第二全景图像中的一个或多个相应的第二角度,对于所述一个或多个相应的第二角度,所述一个或多个相应的第二角度的所述第二全景图像中的第二视觉数据指示所述第一房间的墙壁的与针对所述第一角度的所述第一全景图像中的第一视觉数据所指示的相同的部分;或
通过所述一个或多个计算装置并且针对作为所述多个图像部分重叠对的部分的所述第二全景图像中的多个第四角度中的每个,确定所述第一全景图像中的一个或多个相应的第三角度,对于所述一个或多个相应的第三角度,所述一个或多个相应的第三角度的所述第一全景图像中的第三视觉数据指示所述第一房间的墙壁的与针对所述第四角度的所述第二全景图像中的第四视觉数据所指示的相同的部分;或
通过所述一个或多个计算装置并且针对作为所述多个图像部分重叠对的部分的所述第一全景图像中的每列像素,确定与地板和墙壁之间的边界对应的像素列中的至少一个第一像素,并且至少部分地基于所识别的至少一个第一像素,确定所述像素列中可见的墙壁与所述第一全景图像的获取地点之间的距离;或
通过所述一个或多个计算装置并且针对作为所述多个图像部分重叠对的部分的所述第二全景图像中的每列像素,确定与地板和墙壁之间的边界对应的像素列中的至少一个第二像素,并且至少部分地基于所识别的至少一个第二像素,确定所述像素列中可见的墙壁与所述第二全景图像的获取地点之间的距离;或
通过所述一个或多个计算装置并且至少部分地基于来自所述多个图像部分重叠对的信息并且使用来自所述第一全景图像和所述第二全景图像两者的数据,确定所述第一房间的结构元素中的至少一些的位置;或
通过所述一个或多个计算装置并且至少部分地基于来自所述多个图像部分重叠对的信息并且使用来自所述第一全景图像和所述第二全景图像两者的数据,确定所述第一房间的结构布局信息,所述结构布局信息包括具有所确定的所述第一房间的至少一些结构元素的位置的所述第一房间的形状,
并且其中所述方法还包括:提供所确定的附加建筑物信息。
A08.如条款A01-A07中任一项所述的计算机实现的方法,还包括:在分析所述一对或多对所述多个全景图像之前,通过所述一个或多个计算装置,修改所述多个全景图像中的至少一些,使得所述多个全景图像中的每个中的每列像素具有与所述建筑物中的竖直平面对应的视觉数据,其中,确定多个图像部分重叠对作为分析所述第一全景图像和所述第二全景图像的第一视觉数据和第二视觉数据的部分包括:
通过所述一个或多个计算装置,并且对于所述第一全景图像,确定所述第一全景图像中的每个像素列是否在所述多个图像部分重叠对中的一个中,并且至少部分地基于确定所述第一全景图像,生成所述第一全景图像中的像素列中的每个的共可见性值;以及
通过所述一个或多个计算装置,并且对于所述第二全景图像,确定所述第二全景图像中的每个像素列是否在所述多个图像部分重叠对中的一个中,并且至少部分地基于确定所述第二全景图像,生成所述第二全景图像中的像素列中的每个的共可见性值,
并且其中,所述方法还包括为所述第一全景图像和所述第二全景图像中的像素列提供所生成的共可见性值。
A09.如条款A01-A08中任何一项所述的计算机实现的方法,其中,确定所述多种类型的建筑物信息包括:为所述多种类型的建筑物信息中的至少一种产生至少一个不确定性度量,并且其中,呈现所述建筑物的所述至少部分楼层平面图包括:提供所述至少一个不确定性度量的指示。
A10.如条款A09所述的计算机实现的方法,还包括,在分析所述一对或多对所述多个全景图像之前,使用不同的标准偏差值来训练所述神经网络,以用于训练具有不同的视觉重叠量的全景图像的示例对,并且其中,为所述至少一种类型的建筑物信息生成所述至少一个不确定性度量包括:通过所述一个或多个计算装置,预测所述多种类型的建筑物信息中的每个的标准偏差值,并且使用一种类型的建筑物信息的预测标准偏差值,以产生该类型的建筑物信息的不确定性度量。
A11.如条款A01-A10中任一项所述的计算机实现的方法,其中,在所述建筑物中的多个获取地点处获取所述多个全景图像,其中,所述方法还包括获得所述建筑物的附加信息,所述附加信息包括在所述建筑物中获取的一个或多个非全景图像、或者在所述建筑物中为所述多个获取地点中的一个或多个获取地点获取的深度数据到围绕所述一个或多个获取地点的一个或多个墙壁、或者对在建筑物中获取的雷达数据中的至少一个,其中,分析一对或多对所述多个全景图像还包括:基于分析建筑物的附加信息,生成建筑物的附加结构信息,并且其中,所呈现的建筑物的至少部分楼层平面图包括基于所生成的附加结构信息的信息。
A12.如条款A01-A11中任一项所述的计算机实现的方法,还包括:通过所述一个或多个计算装置并且至少部分地基于所述第一视觉覆盖和所述第二视觉覆盖之间的部分重叠,确定在所述建筑物中获取所述第一图像和所述第二图像的获取地点,并且其中,确定所述结构布局信息至少部分地基于所确定的获取地点,并且包括生成所述建筑物的包括所确定的结构布局信息的至少部分楼层平面图。
A13.如条款A01-A12中任一项所述的计算机实现的方法,其中,所述图像中的每个是在所述建筑物的多个房间中的一个房间中获取的并且仅具有等矩形格式的RGB(红-绿-蓝)像素数据全景图像,所述RGB(红-绿-蓝)像素数据提供围绕竖直轴的360度的水平视觉覆盖,并且其中,提供所述至少第一房间的所确定的结构布局信息包括:通过所述一个或多个计算装置以及通过一个或多个网络将所确定的所述至少第一房间的结构布局信息发送到一个或多个客户端装置,以使得在所述一个或多个客户端装置上显示所确定的所述至少第一房间的结构布局信息。
A14.根据条款A01-A13中任一项所述的计算机实现的方法,其中,作为图像获取时段的部分获取所述第一图像和所述第二图像中的至少一个,并且其中,所述自动操作还包括,在所述图像获取时段继续的同时,确定与所述第一视觉覆盖范围和所述第二视觉覆盖范围之间的部分重叠的量对应的分数,并且在所述图像获取时段期间提供反馈,所述反馈与一个或多个附加图像的获取对应,并且所述反馈至少部分地基于分数的确定。
A15.如条款A01-A14中任一项所述的计算机实现的方法,其中,所述第一图像被提供为查询的部分,并且所述第二图像是多个先前获取的图像中的一个,其中,执行分析所述第一图像和所述第二图像作为识别所述先前获取的图像中的与所述第一图像重叠的量超过指定阈值的一个或多个的部分,并且其中,所述自动操作还包括为所述查询提供搜索结果,所述搜索结果包括关于所述第二图像的信息。
A16.如条款A01-A15中任一项所述的计算机实现的方法,还包括:至少部分地基于所述第一视觉覆盖和所述第二视觉覆盖之间的部分重叠,确定在所述建筑物中获取所述第一图像和所述第二图像的获取地点,并且其中,确定所述结构布局信息至少部分地基于所确定的获取地点,并且包括生成所述建筑物的包括所确定的结构布局信息的至少部分楼层平面图。
A17.如条款A01-A16中任一项所述的计算机实现的方法,其中,所述图像中的每个是在所述建筑物的多个房间中的一个房间中获取的并且仅具有等矩形格式的RGB(红-绿-蓝)像素数据全景图像,所述RGB(红-绿-蓝)像素数据提供围绕竖直轴的360度的水平视觉覆盖并且每个像素列具有与所述建筑物中的竖直平面对应的视觉数据,并且其中,提供所述至少第一房间的所确定的结构布局信息包括:通过所述一个或多个计算装置以及通过一个或多个网络将所确定的所述至少第一房间的结构布局信息发送到一个或多个客户端装置,以使得在所述一个或多个客户端装置上显示所确定的所述至少第一房间的结构布局信息。
A18.如条款A01-A17中任一项所述的计算机实现的方法,其中,提供所述至少一些确定的建筑物信息包括:通过所述一个或多个计算装置并且通过一个或多个网络向一个或多个客户端装置发送关于所述确定的多个图像部分重叠对或所确定的获取地点中的至少一个的信息,以使得在所述一个或多个客户端装置上呈现所发送的关于所确定的多个图像部分重叠对或所确定的获取地点中的所述至少一个的信息。
A19.如条款A01-A18中任一项所述的计算机实现的方法,其中,所述多个全景图像各自是拉直图像,在所述拉直图像中,每个像素列具有用于所述房屋中的竖直平面的视觉数据,其中,分析所述多个图像对中的每对还包括:
通过所述一个或多个计算装置,并且对于所述图像对的所述第一全景图像中的每个像素列,确定所述像素列是在与所述图像对匹配的多个像素列中的一个中还是在附加的第一像素列中的一个中,并且识别与地板和墙壁之间的边界对应的像素列中的至少一个第一像素,并且至少部分地基于所识别的至少一个第一像素,确定所述像素列中可见的墙壁与所述第一全景图像的获取地点之间的距离;
通过所述一个或多个计算装置,并且对于所述图像对的所述第二全景图像中的每列像素,确定所述像素列是在与所述图像对匹配的多个像素列中的一个中还是在附加的第二像素列中的一个中,并且识别与地板和墙壁之间的边界对应的像素列中的至少一个第二像素,并且至少部分地基于所识别的至少一个第二像素,确定像素列中可见的墙壁与第二全景图像的获取地点之间的距离;
通过所述一个或多个计算装置,并且作为所述图像对的所述部分视觉重叠中的所述至少一个房间的所确定的结构布局信息的部分,通过组合关于所述多个像素列中的每个中的所识别的至少一个第一像素和第二像素的信息并且通过使用所述第一全景图像和所述第二全景图像的所述像素列中的每个的所确定的距离,确定所述至少一个房间的至少二维房间形状;以及
通过所述一个或多个计算装置,至少部分地基于所确定的所述图像对的所述部分视觉重叠中的所述至少一个房间的至少二维房间形状,执行确定所述图像对的所述第一全景图像和所述第二全景图像的所述相对姿态信息;
并且其中,生成所述楼层平面图包括使用根据对所述多个图像对的分析中确定的至少二维房间形状。
A20.如条款A01-A19中任一项所述的计算机实现的方法,还包括:通过所述一个或多个计算装置并使用训练的神经网络,分析不同于所述多个图像对的多个附加图像对,以尝试从所述附加图像对共同地确定关于所述多个类型的房屋的附加信息,其中,所述附加图像对中的每对包括所述全景图像中的两个,所述全景图像中的两个的水平视觉覆盖具有低于限定的阈值的视觉重叠量,
并且其中,生成全局对准信息包括使用所确定的多个全景图像的相对姿态信息作为组合的部分,所述全景图像是所述多个图像对中的至少两个图像对的每部分,并且还包括使用所确定的附加信息中的至少一些作为约束,用于在所述全局对准信息中包括所述多个采集地点中的至少一个,在所述多个采集地点处采集与所述多个全景图像分离的至少一个全景图像。
A21.一种计算机实现的方法,包括执行自动操作的多个步骤,所述自动操作实现基本上如本文所公开的描述的技术。
B01.一种具有存储的可执行软件指令和/或其它存储的内容的非暂时性计算机可读介质,所述存储的可执行软件指令和/或其它存储的内容使得一个或多个计算系统执行实现条款A01-A21中任一项的方法的自动操作。
B02.一种具有存储的可执行软件指令和/或其它存储的内容的非暂时性计算机可读介质,所述存储的可执行软件指令和/或其它存储的内容使得一个或多个计算系统执行实现基本上如本文所公开的所描述技术的自动操作。
C01.一个或多个计算系统,包括一个或多个硬件处理器和具有存储的指令的一个或多个存储器,当所述存储的指令由所述一个或多个硬件处理器中的至少一个执行时,使得所述一个或多个计算系统执行实现条款A01-A21中的任一项的方法的自动操作。
C02.一个或多个计算系统,包括一个或多个硬件处理器和具有存储的指令的一个或多个存储器,当所述存储指令由所述一个或多个硬件处理器中的至少一个执行时,使得所述一个或多个计算系统执行实现基本上如本文所公开的所描述的技术的自动操作。
D01.一种计算机程序,适于当所述计算机程序在计算机上运行时执行条款A01-A21中的任一项的方法。
本文中参考根据本公开的实施方式的方法、设备(系统)和计算机程序产品的流程图和/或框图来描述本公开的方面。将理解,流程图和/或框图的每个块以及流程图和/或框图中的块的组合可以由计算机可读程序指令来实现。将进一步理解,在一些实现方式中,可以以替代的方式来提供由以上讨论的例程提供的功能,例如在更多例程之间进行拆分,或合并成更少的例程。类似地,在一些实现方式中,所示例程可以提供比所描述的更多或更少的功能,例如当其他所示例程分别缺少或包括这样的功能时,或当所提供的功能量改变时。此外,虽然可以将各种操作示出为以特定方式(例如,串行或并行,或同步或异步)和/或以特定顺序执行,但是在其他实现中,可以以其他顺序和其他方式执行操作。上面讨论的任何数据结构也可以以不同的方式构造,例如通过将单个数据结构分成多个数据结构和/或通过将多个数据结构合并成单个数据结构。类似地,在一些实现方式中,所示的数据结构可以存储比所描述的更多或更少的信息,例如如果其他所示的数据结构缺少或包括这样的信息,或如果所存储的信息的量或类型被改变。
从上文可以理解,尽管本文为了说明的目的描述了特定的实施方式,但是可以在不脱离本发明的精神和范围的情况下进行各种修改。因此,本发明除了由相应的权利要求和那些权利要求所引用的元素之外不受限制。此外,虽然本发明的某些方面可以在某些时间以某些权利要求的形式呈现,但是本发明人以任何可用的权利要求的形式考虑了本发明的各个方面。例如,虽然仅本发明的一些方面可以被描述为在特定时间在计算机可读介质中具体化,但是也可以同样地具体化其他方面。

Claims (20)

1.一种具有存储的内容的非暂时性计算机可读介质,所述存储的内容使得一个或多个计算装置执行自动操作,所述自动操作至少包括:
通过所述一个或多个计算装置,从对在建筑物中获取的多个图像的视觉数据的分析中获得信息,所获得的信息至少包括多个图像对中的每对的初始估计的局部图像间获取姿态信息,所述初始估计的局部图像间获取姿态信息指示在所述对的局部坐标系中所述对的两个图像之间的位置和取向;
通过所述一个或多个计算装置,生成具有多个层的图形神经网络,以确定所述多个图像的全局获取姿态信息,其中,所述图形神经网络的所述多个层中的第一层包括多个节点,所述多个节点各自与所述多个图像中的相应一个图像相关联,并且所述第一层还包括所述多个节点中的至少一些对之间的多个边缘,以各自表示与通过所述边缘连接的所述对中的两个节点相关联的两个图像之间的图像间获取姿态信息,所述多个边缘包括复数边缘,所述复数边缘各自与所述多个图像对中的一个对应;
通过所述一个或多个计算装置,使用从对所述多个图像的所述对的视觉数据的分析中获得的信息,初始化所述图形神经网络的所述第一层的所述节点和所述边缘,包括向所述第一层的所述节点中的每个添加关于与所述节点相关联的图像中可见的建筑物的元素的编码数据,以及将关于所述边缘所对应的图像对的初始估计的局部图像间获取姿态信息的信息添加到所述复数边缘中的每个边缘;
通过所述一个或多个计算装置并且使用一个或多个损失函数,将来自所述第一层的初始化的节点和边缘的信息通过所述多个层传播,包括依次更新与所述多个边缘相关联的获取姿态信息,以在所述多个层的最后一层中,在公共坐标系中产生所述多个图像中的所有图像的所确定的全局图像间获取姿态信息;以及
通过所述一个或多个计算装置,提供所述多个图像中的所有图像的所确定的全局图像间获取姿态信息,以供进一步使用。
2.如权利要求1所述的非暂时性计算机可读介质,其中,所述存储的内容包括软件指令,当所述软件指令被执行时,使得所述一个或多个计算装置执行进一步的自动操作,所述进一步的自动操作包括:通过所述一个或多个计算装置并且使用所述多个图像的所确定的全局图像间获取姿态信息,生成所述建筑物的至少部分楼层平面图,所述至少部分楼层平面图包括所述建筑物中相对于彼此定位的至少两个房间的房间形状,并且其中,提供所述多个图像的所确定的全局图像间获取姿态信息包括:通过所述一个或多个计算装置,呈现所述建筑物的所述至少部分楼层平面图,以使得能够使用所述至少部分楼层平面图来导航所述建筑物。
3.如权利要求1所述的非暂时性计算机可读介质,其中,所述自动操作还包括:通过所述一个或多个计算装置,确定在所述建筑物的房间内获取所述多个图像中的每个的位置,并且其中,提供所述多个图像中的所有图像的所确定的全局图像间获取姿态信息还包括:在所确定的所述房间的房间形状上显示所述多个图像的所确定的位置。
4.如权利要求1所述的非暂时性计算机可读介质,其中,所述多个图像的所述视觉数据仅包括RGB(红-绿-蓝)像素数据,并且其中,从对所述多个图像的所述视觉数据的分析中获得所述信息包括:通过所述一个或多个计算装置并且使用经训练以共同确定关于所述建筑物的多种类型的信息的神经网络,针对所述多个图像对中的每对,通过以下分析所述多个图像对:
作为所述多种类型的信息中的一种并且使用示出至少一个房间中的至少一些的图像对的两个图像之间的部分视觉重叠,确定多个像素列匹配的图像角度对应信息,所述多个像素列匹配各自在所述两个图像中的第一图像的第一列像素与所述两个图像中的第二图像的相应第二列像素之间,其中像素列匹配的所述第一列像素和所述第二列像素两者示出所述至少一个房间的墙壁的相同竖直切片,
作为所述多种类型的信息中的一种,并且基于所述图像对的图像的所述RGB像素数据,确定所述至少一个房间的结构布局信息,所述结构布局信息包括所述至少一个房间的至少一些墙壁的位置,并且包括所述墙壁中的一个与所述墙壁的附加的一个、所述至少一个房间的地板或所述至少一个房间的天花板中的至少一个之间的一个或多个边界的位置,并且包括所述至少一个房间的门道或非门道墙壁开口中的至少一个的位置;以及
作为所述多种类型的信息中的一种,并且至少部分地基于为所述图像对确定的包括所确定的多个像素列匹配的信息和所确定的结构布局信息的信息,确定所述图像对的初始估计的图像间获取姿态信息,所述初始估计的图像间获取姿态信息包括所述对的所述两个图像的初始确定的获取地点。
5.如权利要求1所述的非暂时性计算机可读介质,其中,对于所述多个图像对中的每个,从所述视觉数据的分析获得的信息包括:关于在所述图像对的所述两个图像中可见的至少一个房间的结构元素的信息;以及关于在所述两个图像中显示所述至少一个房间的相同部分的相应像素列的信息,并且其中,所述一个或多个损失函数包括:节点损失函数,以最小化在所述公共坐标系中的所述全局图像间获取姿态信息中的误差,并且最小化所述多个图像对的所述图像间获取姿态信息中的误差;以及边缘损失函数,以最小化关于结构元素的信息和关于相应像素列的信息中的误差。
6.如权利要求1所述的非暂时性计算机可读介质,其中,所述多个图像包括全景图像,其中,从对所述视觉数据的分析中获得的信息包括关于所述建筑物的至少一些房间的墙壁的信息,并且其中,所述一个或多个损失函数至少部分地基于对所述墙壁的位置的几何约束。
7.如权利要求1所述的非暂时性计算机可读介质,其中,生成所述图形神经网络包括:在所述第一层中创建具有所有节点对之间的边缘的完全连接网络,并且其中,所述信息通过所述多个层的传播包括:确定与所述多个层中的每个的所述多个边缘相关联的所述图像间获取姿态信息中的置信度;以及对于具有低于确定阈值的相关联的确定的置信度的所述多个边缘中的至少一个,执行从所述图形神经网络移除至少一个边缘或对与至少一个边缘的图像间获取姿态信息相关联的权重打折中的至少一个。
8.如权利要求1所述的非暂时性计算机可读介质,其中,所述信息通过所述多个层的传播包括:使用在所述图形神经网络的节点和层之间传递的消息;以及对于在具有低于在所述最后一层之前的层的确定的阈值的相关联的误差的一个或多个附加边缘中具有图像间获取姿态信息的至少一个节点,暂停在所述图形神经网络的后续层中传递给所述至少一个节点的消息。
9.如权利要求1所述的非暂时性计算机可读介质,其中,所述自动操作还包括:在所述信息通过所述多个层传播之前,获得所述全局图像间获取姿态信息的初始估计,以及还将来自所述全局图像间获取姿态信息的所述初始估计的信息添加到所述第一层的边缘。
10.如权利要求1所述的非暂时性计算机可读介质,其中,所述自动操作还包括:在提供所确定的全局图像间获取姿态信息之后,获得关于在所述建筑物处获取的一个或多个附加图像的信息;使用来自对所述一个或多个附加图像的进一步视觉数据的分析的进一步信息,以更新在所述公共坐标系中所述多个图像中的所有图像的所确定的全局图像间获取姿态信息;以及提供所更新的确定的全局图像间获取姿态信息。
11.如权利要求1所述的非暂时性计算机可读介质,其中,所述自动操作还包括:在提供所确定的全局图像间获取姿态信息之后,获得关于在所述建筑物处获取的一个或多个附加图像的信息;使用来自对所述一个或多个附加图像的进一步视觉数据的分析的进一步信息结合所确定的全局图像间获取姿态信息,以确定所述公共坐标系中的所述一个或多个附加图像的进一步获取姿态信息;以及为所述一个或多个附加图像提供所确定的进一步获取姿态信息。
12.如权利要求1所述的非暂时性计算机可读介质,其中,所述建筑物包括两个楼层上的复数房间,其中,所述多个图像包括在所述两个楼层中的每个楼层上的至少一个图像以及其视觉数据包括所述两个楼层之间的楼梯的两个或更多个图像,并且其中,所述多个图像中的所有图像的所确定的全局图像间获取姿态信息包括:使用所述两个或更多个图像以连接所述两个楼层中的每个楼层上的至少一个图像的所述两个楼层两者上的获取姿态信息。
13.一种计算机实现的方法,包括:
通过一个或多个计算装置,从对在建筑物中获取的成对的多个全景图像的视觉数据的分析中获得信息,所述成对的多个全景图像包括具有第一视觉重叠的第一全景图像和第二全景图像的至少第一图像对,所述第一视觉重叠包括示出所述建筑物的第一房间的第一墙壁的第一视觉数据,并且所述成对的多个全景图像还包括第二全景图像和与所述第二全景图像具有第二视觉重叠并且缺少与所述第一全景图像的视觉重叠的第三全景图像的至少第二图像对,所述第二视觉重叠包括示出所述建筑物的第二房间的第二墙壁的第二视觉数据,其中,所获得的信息至少包括所述第一图像对和所述第二图像对中的每个的局部图像间获取姿态信息的初始估计,所述局部图像间获取姿态信息的初始估计指示在所述图像对的局部坐标系中所述图像对的全景图像之间的相对位置和取向;
通过所述一个或多个计算装置,生成具有多个层的图形神经网络,以确定所述多个全景图像的全局获取姿态信息,其中,所述图形神经网络的所述多个层中的第一层包括多个节点,所述多个节点各自与所述多个全景图像中的相应一个相关联,并且所述第一层还包括所述多个节点中的至少一些对之间的多个边缘,所述多个边缘各自表示与通过该边缘连接的所述对中的两个节点相关联的两个全景图像之间的图像间获取姿态信息,所述多个边缘包括与所述第一图像对对应的第一边缘和与所述第二图像对对应的第二边缘;
通过所述一个或多个计算装置,使用从对所述成对的多个全景图像的所述视觉数据的分析中获取的信息,初始化所述图形神经网络的所述第一层的节点和边缘,包括:向所述第一层的节点中的每个节点添加对关于在与该节点相关联的全景图像中可见的元素的数据进行编码的表示;以及向所述边缘中的每个边缘添加关于与该边缘的两个节点相关联的两个全景图像之间的局部图像间获取姿态信息的信息,其中,向所述边缘添加信息包括将关于所述第一图像对的所述局部图像间获取姿态信息的初始估计的信息添加到所述第一边缘,并且包括将关于所述第二图像对的所述局部图像间获取姿态信息的初始估计的信息添加到所述第二边缘;
通过所述一个或多个计算装置并且使用一个或多个损失函数,将来自所述第一层的初始化的节点和边缘的信息通过所述多个层传播,以协调添加到所述多个边缘的所述局部图像间获取姿态信息的局部坐标系,包括依次更新与所述多个边缘相关联的所述局部图像间获取姿态信息,以在所述多个层的最后一层中在公共坐标系中产生所述多个全景图像中的所有全景图像的所确定的全局图像间获取姿态信息;
通过所述一个或多个计算装置并且使用所述多个全景图像的所确定的全局图像间获取姿态信息,生成所述建筑物的至少部分楼层平面图,所述至少部分楼层平面图包括相对于彼此定位的至少所述第一房间和所述第二房间的房间形状;以及
通过所述一个或多个计算装置,呈现所述建筑物的所述至少部分楼层平面图,以使得能够使用所述至少部分楼层平面图来导航所述建筑物。
14.如权利要求13所述的计算机实现的方法,其中,所述建筑物具有多个房间,所述多个房间包括所述第一房间和所述第二房间,并且还包括一个或多个附加房间,其中,所述多个全景图像包括所述多个房间中的每个中的至少一个全景图像,其中,从所述分析中获取所述信息包括根据所述多个房间中的墙壁的复数对所述多个全景图像中的共享可见性来确定信息,并且其中,生成所述建筑物的所述至少部分楼层平面图包括生成所述建筑物的完整楼层平面图,所述完整楼层平面图包括多个房间中的每个的房间形状。
15.如权利要求13所述的计算机实现的方法,其中,所述多个全景图像的所述视觉数据仅包括RGB(红-绿-蓝)像素数据,并且其中,从对所述视觉数据的分析中获取所述信息包括:通过所述一个或多个计算装置并且使用经训练以共同确定关于所述建筑物的多种类型的信息的神经网络,针对多个图像对中的每个,通过以下分析包括第一对和第二对以及一个或多个附加对并且各自具有所述多个全景图像中的两个的所述多个图像对:
作为所述多种类型的信息中的一种并且使用示出至少一个房间中的至少一些的图像对的两个图像之间的部分视觉重叠,确定多个像素列匹配的图像角度对应信息,所述多个像素列匹配各自在所述两个图像中的第一图像的第一列像素与所述两个图像中的第二图像的相应第二列像素之间,其中匹配的所述第一列像素和所述第二列像素两者示出所述至少一个房间的墙壁的相同竖直切片,
作为所述多种类型的信息中的一种,并且基于所述图像对的图像的所述视觉数据,确定所述至少一个房间的结构布局信息,所述结构布局信息包括所述至少一个房间的至少一些墙壁的位置,并且包括所述至少一个房间的门道或非门道墙壁开口中的至少一个的位置;以及
作为所述多种类型的信息中的一种,并且至少部分地基于为所述图像对确定的包括所确定的多个像素列匹配的信息和所确定的结构布局信息的信息,确定所述图像对的局部图像间获取姿态信息的初始估计,所述局部图像间获取姿态信息的初始估计包括所述对的所述两个图像的初始确定的获取地点。
16.如权利要求13所述的计算机实现的方法,还包括:针对所述多个全景图像中的每个并且至少部分地基于所确定的全局图像间获取姿态信息,确定所述房间形状中的一个内获取所述全景图像的位置,并且其中,呈现所述至少部分楼层平面图还包括在所述多个全景图像的所述至少部分楼层平面图上显示所确定的位置。
17.一种系统,包括:
一个或多个计算装置的一个或多个硬件处理器;以及
具有存储的指令的一个或多个存储器,当所述存储的指令由所述一个或多个硬件处理器中的至少一个执行时,使得所述一个或多个计算装置执行自动操作,所述自动操作至少包括:
从对在建筑物中获取的多个图像的视觉数据的分析中获得信息,所获得的信息至少包括多个图像对中的每对的初始估计的图像间获取姿态信息,所述初始估计的图像间获取姿态信息指示在所述对的局部坐标系中所述对的两个图像之间的位置和取向;
生成用于确定所述多个图像的全局获取姿态信息的所述多个图像的表示,所述多个图像的表示包括多个节点,所述多个节点各自与所述多个图像中的相应一个图像相关联,并且包括所述多个节点中的至少一些对之间的多个边缘,以各自表示与通过所述边缘连接的所述对中的两个节点相关联的两个图像之间的图像间获取姿态信息,其中,所述生成包括使用从对所述多个图像的所述对的所述视觉数据的分析获取的信息来初始化所述节点和所述边缘,包括向所述节点中的每个节点添加关于在与该节点相关联的图像中可见的建筑物的元素的编码数据,以及向所述边缘中的每个边缘添加关于在与该边缘的两个节点相关联的两个图像之间的初始估计的图像间获取姿态信息的信息;
对所生成的表示应用一个或多个损失函数,包括更新与所述多个边缘相关联的获取姿态信息,以在公共坐标系中产生所述多个图像中的所有图像的所确定的全局图像间获取姿态信息;以及
通过所述一个或多个计算装置,提供所述多个图像中的所有图像的所确定的全局图像间获取姿态信息,以供进一步使用。
18.如权利要求17所述的系统,其中,所述多个图像的所述视觉数据显示所述建筑物的至少两个房间的至少一些墙壁,其中,所述存储的指令包括软件指令,当所述软件指令被执行时,使得所述一个或多个计算装置执行进一步的自动操作,所述进一步的自动操作包括:使用所述多个图像的所确定的全局图像间获取姿态信息,生成所述建筑物的至少部分楼层平面图,所述至少部分楼层平面图包括相对于彼此定位的至少两个房间的房间形状,并且其中,提供所述多个全景图像的所确定的全局图像间获取姿态信息包括:通过所述一个或多个计算装置,呈现所述建筑物的所述至少部分楼层平面图,以使得能够使用所述至少部分楼层平面图来导航所述建筑物。
19.如权利要求17所述的系统,其中,所述多个图像各自是全景图像,
其中,生成所述多个图像的所述表示包括生成具有多个层的图形神经网络,所述图形神经网络包括多个节点,所述多个节点各自与所述多个全景图像中的相应一个相关联,并且所述图形神经网络还包括所述多个节点中的至少一些对之间的多个边缘,所述多个边缘各自表示与通过该边缘连接的所述对中的两个节点相关联的两个全景图像之间的图像间获取姿态信息,其中对所述图形神经网络的所述多个层中的第一层中的多个节点和多个边缘的表示执行所述初始化;以及
其中,将所述一个或多个损失函数应用于所生成的表示包括:使用所述一个或多个损失函数,将来自所述第一层的初始化的节点和边缘的信息通过所述多个层传播,包括依次更新与所述多个边缘相关联的图像间获取姿态信息,以在所述多个层中的最后一层中在公共坐标系中产生所述多个全景图像中的所有全景图像的所确定的全局图像间获取姿态信息。
20.如权利要求17所述的系统,其中,所述多个图像的所述视觉数据仅包括RGB(红-绿-蓝)像素数据,并且其中,从对所述多个图像的所述视觉数据的分析中获取所述信息包括:使用经训练以共同确定关于所述建筑物的多种类型的信息的神经网络,针对所述多个图像对中的每对,通过以下分析所述多个图像对:
作为所述多种类型的信息中的一种并且使用示出至少一个房间中的至少一些的图像对的两个图像之间的部分视觉重叠,确定多个像素列匹配的图像角度对应信息,所述多个像素列匹配各自在所述两个图像中的第一图像的第一列像素与所述两个图像中的第二图像的相应第二列像素之间,其中像素列匹配的所述第一列像素和所述第二列像素两者示出所述至少一个房间的墙壁的相同竖直切片,
作为所述多种类型的信息中的一种,并且基于所述图像对的图像的所述RGB像素数据,确定所述至少一个房间的结构布局信息,所述结构布局信息包括所述至少一个房间的至少一些墙壁的位置,并且包括所述墙壁中的一个与所述墙壁的附加的一个、所述至少一个房间的地板或所述至少一个房间的天花板中的至少一个之间的一个或多个边界的位置;以及
作为所述多种类型的信息中的一种,并且至少部分地基于为所述图像对确定的包括所确定的多个像素列匹配的信息和所确定的结构布局信息的信息,确定所述图像对的初始估计的图像间获取姿态信息,所述初始估计的图像间获取姿态信息包括所述对的所述两个图像的初始确定的获取地点。
CN202311495769.0A 2022-11-11 2023-11-10 用于建筑物信息确定的多个建筑物图像的自动图像间分析 Pending CN118036115A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US63/424,847 2022-11-11
US18/114,951 2023-02-27
US18/114,951 US20240161348A1 (en) 2022-11-11 2023-02-27 Automated Inter-Image Analysis Of Multiple Building Images For Building Information Determination

Publications (1)

Publication Number Publication Date
CN118036115A true CN118036115A (zh) 2024-05-14

Family

ID=91003043

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311495769.0A Pending CN118036115A (zh) 2022-11-11 2023-11-10 用于建筑物信息确定的多个建筑物图像的自动图像间分析

Country Status (1)

Country Link
CN (1) CN118036115A (zh)

Similar Documents

Publication Publication Date Title
US11494973B2 (en) Generating floor maps for buildings from automated analysis of visual data of the buildings' interiors
US20220092227A1 (en) Automated Identification And Use Of Building Floor Plan Information
US11514674B2 (en) Automated analysis of image contents to determine the acquisition location of the image
CA3154186C (en) Automated building floor plan generation using visual data of multiple building images
CN117857899A (zh) 基于识别的周围物体对采集的建筑物图像的采集位置的自动化确定
US11842464B2 (en) Automated exchange and use of attribute information between building images of multiple types
AU2022202815B2 (en) Automated building information determination using inter-image analysis of multiple building images
EP4170593A1 (en) Automated analysis of visual data of images to determine the images' acquisition locations on building floor plans
EP4141702A1 (en) Automated mapping information generation from analysis of building photos
EP4375931A1 (en) Automated inter-image analysis of multiple building images for building information determination
CN117456040A (zh) 用于建筑物测绘信息的增量生成的自动化工具
CN117409438A (zh) 使用楼层平面图和采集的建筑物图像的自动化建筑物识别
EP4394701A1 (en) Automated inter-image analysis of multiple building images for building floor plan generation
CN118036115A (zh) 用于建筑物信息确定的多个建筑物图像的自动图像间分析
CN118036116A (zh) 用于建筑物楼层平面图生成的多个建筑物图像的自动图像间分析
US20240312136A1 (en) Automated Generation Of Building Floor Plans Having Associated Absolute Locations Using Multiple Data Capture Devices

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination