CN118036116A - 用于建筑物楼层平面图生成的多个建筑物图像的自动图像间分析 - Google Patents

用于建筑物楼层平面图生成的多个建筑物图像的自动图像间分析 Download PDF

Info

Publication number
CN118036116A
CN118036116A CN202311496049.6A CN202311496049A CN118036116A CN 118036116 A CN118036116 A CN 118036116A CN 202311496049 A CN202311496049 A CN 202311496049A CN 118036116 A CN118036116 A CN 118036116A
Authority
CN
China
Prior art keywords
images
information
image
wall
building
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
CN202311496049.6A
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
Application filed by Mftb Co ltd filed Critical Mftb Co ltd
Publication of CN118036116A publication Critical patent/CN118036116A/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至图2R示出了用于分析在建筑物的多个房间中获取的图像的视觉数据的自动操作的示例,诸如至少部分地基于分析具有至少部分视觉重叠的图像的视觉数据,并且组合来自多个图像对的分析的数据,以用于生成和提供关于建筑物的楼层平面图的信息。
图3是示出适于执行一个或多个系统的实施方式的计算系统的框图,该一个或多个系统执行本公开中所描述的至少一些技术。
图4示出了根据本公开的实施方式的图像捕获和分析(ICA)系统例程的示例流程图。
图5A至图5B示出了根据本公开的实施方式的IIMIGM系统例程的示例流程图。
图6示出了根据本公开的实施方式的建筑物信息访问系统例程的示例流程图。
具体实施方式
本公开描述了用于使用计算装置执行自动操作的技术,该自动操作涉及从在建筑物的多个房间中获取的图像分析视觉数据以生成多种类型的建筑物信息(例如,以包括建筑物的楼层平面图),并且随后以一种或多种其他自动化方式使用所生成的建筑物信息。图像可以例如包括全景图像(例如,以等矩形投影格式)和/或在多房间建筑物(例如,房屋、办公室等)中或周围的获取地点处获取的其它类型的图像(例如,以直线立体图或正投影格式)。此外,在至少一些这样的实施方式中,在不具有或不使用来自任何深度传感器或其它测距装置的关于以下各项的信息的情况下进一步执行自动化建筑物信息生成:从目标图像的获取地点到周围建筑物中的墙壁或其它对象的距离(例如,通过仅使用图像的视觉数据,诸如RGB或红绿蓝像素数据)。所生成的用于建筑物的楼层平面图(包括所确定的房间形状或建筑物内各个房间的其它结构布局)和/或其它类型的所生成的建筑物信息可以以各种方式进一步使用,包括用于控制移动装置(例如,自主车辆)的导航,用于在相应GUI(图形用户界面)中的一个或多个客户端装置上的一个或多个计算机网络上显示或其它呈现等。下面包括关于从在建筑物的多个房间中获取的图像自动分析视觉数据以生成和使用多种类型的建筑物信息(楼层平面图信息和/或其他类型的生成的建筑物信息)的附加细节,并且在至少一些实施方式中,可以经由图像间映射信息生成管理器(“IIMIGM”)系统的自动操作来执行本文中描述的一些或全部技术,如下面进一步讨论的。
如上所述,IIMIGM系统的自动操作可以包括分析来自在多房间建筑物处获取的多个目标图像的视觉数据,诸如在多个房间中的多个获取地点处以及可选地在建筑物的其它区域获取的多个全景图像。在至少一些实施方式中,这样的全景图像各自都包括围绕竖直轴的360°的水平视觉覆盖以及一个或多个房间中的楼层和/或天花板中的一些或全部的视觉覆盖(例如,180°或更多的竖直视觉覆盖),并且在本文中有时被称为“360°”或“360”全景图像或全景(例如,“360全景”,“360°全景图像”等),并且在一些情况下可以使用等矩形投影呈现(在投影中以直线示出竖直线和其它竖直信息,并且,如果所获取的周围环境中的水平线和其它水平信息位于图像的水平中点之上或之下,则它们以曲形的方式在投影中示出,并且曲率量随着距水平中心线的距离的增加而增加)。此外,当在至少一些实施方式中分析这种全景图像或其他图像时,这种全景图像或其他图像可以被投影到或以其他方式转换为“拉直的”格式,使得这种拉直的图像中的像素列对应于周围环境(例如,竖直面)中的信息的竖直切片,无论基于以这种拉直的格式获取(例如,使用具有与周围环境中的这种竖直信息或重力的方向完美对准的竖直轴的相机装置)和/或被处理以将图像中的原始视觉数据修改为拉直格式(例如,使用关于相机装置相对于这样的竖直轴的变化的信息;利用周围环境中的竖直信息,诸如墙壁间边界或门框侧面;等)。获取目标图像的(多个)图像获取装置可以例如是一个或多个移动计算装置,每个移动计算装置包括一个或多个相机或其他成像系统(可选地包括用于获取全景图像的一个或多个鱼眼镜头和/或其他镜头),并且可选地包括用于获取非视觉数据的附加硬件传感器,诸如获取反映装置运动的数据的一个或多个惯性测量单元(或“IMU”)传感器,和/或可以是一个或多个摄像机装置,该摄像机装置各自缺少计算能力并且可选地与附近的移动计算装置相关联。
如上所述,IIMIGM系统的自动操作可以包括基于分析来自在建筑物处获取的多个目标图像的视觉数据来生成多房间建筑物的多种类型的建筑物信息,其中这种生成的建筑物信息在本文中有时也被称为建筑物的“映射信息”,并且多个建筑物信息类型的生成至少部分地基于对来自多个目标图像的重叠视觉数据的分析。在至少一些实施方式中,IIMIGM系统可以包括成对图像分析器(PIA)组件,其对具有视觉数据重叠(或“视觉重叠”)的成对的目标图像进行成对分析,以从成对的目标图像的视觉数据(例如,在每个目标图像的单独的局部坐标系中,在为该成对的目标图像的信息确定并共享的共享的局部坐标系统中,等)确定初始局部结构信息,诸如通过使用训练过的神经网络通过组合来自成对的图像的视觉数据来共同生成多种类型的建筑物信息。例如,在至少一些实施方式中,经训练的神经网络可用于分析成对的图像,并根据一对图像中的两个图像的视觉数据来共同确定多种类型的建筑物信息,以便执行对两个拉直图像的图像像素列中的每个的分析,以预测或以其它方式确定以下信息中的一些或全部:共可见性信息(例如,正被分析的图像像素列的视觉数据是否在该对图像中的另一个图像中也是可见的,诸如,两个图像都显示周围环境的相同竖直切片);图像角度对应信息(例如,如果被分析的图像像素列的视觉数据在该对的另一个图像中也是可见的,则该对图像的另一个图像的一个或多个图像像素列包含用于周围环境的相同竖直切片的视觉数据);墙壁-地板和/或墙壁-天花板边界信息(例如,如果在被分析的图像像素列中存在墙壁的至少一部分和墙壁与地板和/或天花板的边界,则该图像像素列中的一个或多个图像像素行对应于墙壁-地板和/或墙壁-天花板边界);结构墙壁元素和/或其它结构元素的位置(例如,如果一个或多个结构元素的至少一部分存在于被分析的图像像素列中,则该图像像素列中的一个或多个图像像素行对应于结构元素中的每个)等。在各种实施方式中,所识别的结构元素可以具有各种形式,诸如作为墙壁和/或天花板和/或地板(例如,窗和/或天窗;进入和/或离开房间的通道,诸如在墙壁、楼梯、走廊等中的门道和其它开口;相邻连接墙壁之间的边界;墙壁与地板之间的边界;墙壁与天花板之间的边界;地板与天花板之间的边界;至少三个表面或平面相遇的拐角(或立体几何顶点);壁炉;地板的凹陷和/或升高部分;天花板的锯齿状或挤压状部分;等)的部分的结构元素,并且任选地,其它固定结构元素(例如,台面、浴盆、水槽、岛、壁炉等)。此外,在至少一些实施方式中,可以使用概率或其它似然值(例如,图像像素列的视觉数据在其它图像中是共可见的x%概率)和/或用不确定度的度量(例如,基于与图像像素列的所确定类型的建筑物信息对应的预测的正态或非正态概率分布的标准偏差,以及可选地,具有从用于该建筑物信息类型的可能值的概率分布中选择的值,诸如平均值或中值或模式)来生成所确定的每像素列类型的建筑物信息的一些或全部。在至少一些实施方式中,关于墙壁和其它结构元素的信息可以进一步用于确定建筑物的房间的初始房间形状,并且组合初始粗糙房间形状以形成建筑物的初始粗糙楼层平面图。可选地,如果建筑物的楼层平面图的图像可用(例如,光栅图像),则可以通过分析该图像(例如,光栅到矢量转换)来生成建筑物的初始粗略楼层平面图,无论是除了使用初始粗略房间形状的组合还是代替使用初始粗略房间形状的组合,包括在一些实施方式和情况中使用关于结构元素的信息来组合建筑物的第一初始粗略楼层平面图和从现有建筑物楼层平面图的图像(例如,以加权方式)生成的建筑物的第二初始粗略楼层平面图。
此外,在至少一些实施方式中,IIMIGM系统可包括束调整管道(BundleAdjustment Pipeline)分析器(BAPA)组件,其分析建筑物的三个或更多个目标图像(例如,360°全景图像)的组,该建筑物的三个或更多个目标图像在这些成对图像之间具有至少成对视觉重叠,以确定包括全局图像间姿态和结构元素地点(例如,房间形状和房间形状布局以及墙壁厚度)的建筑物信息,并且生成建筑物的最终楼层平面图,诸如通过从由PIA组件确定的每个目标图像或目标图像对(如果可用的话)的初始局部结构信息开始,或在一些实施方式中,通过以其它方式或不使用这样的初始局部结构信息来确定这样的初始局部结构信息。与尝试将相机姿态信息与单个一维(“1D”)点的三维(“3D”)位置(例如作为点云的一部分)的姿态信息同时细化的图像(例如,具有来自运动的结构或SfM;具有同时定位和映射,或SLAM;等)的其他束调整技术使用相比,在分析的单个阶段或时期的多个迭代中的每一次期间,以及任选地使用多个单独的损失函数的组合,BAPA组件使用束调整优化技术来同时细化相机姿态信息与整个墙壁部分(例如,平面或曲面2D表面,3D结构等)和任选的其它二维(“2D”)或3D结构元素的位置的相机姿态信息,作为使用这样的墙壁部分和任选的其它结构元素生成楼层平面图的部分。该技术可以包括估计每个目标图像的至少初始墙壁信息(例如,位置和形状)和每个目标图像的初始图像姿态数据(获取位置和取向),并且然后使用来自多个目标图像的信息的组合来调整至少初始姿态数据,以确定将墙壁拟合在一起(例如,在至少一些情况下以90°角)并且形成相应的房间和其它地理区域的修订的墙壁位置和/或形状信息,包括在至少一些实施方式中确定墙壁厚度,并最终产生建筑物的生成的楼层平面图。在至少一些这样的实施方式中,所述技术可以包括分析目标图像的视觉数据以将目标图像中可见的每个墙壁建模为包括对应于目标图像的多个识别的像素列的平面表面或曲形表面,其中每个这样的墙壁任选地具有一个或多个与另一个可见墙壁的可见的墙壁间边界(并且每个这样的墙壁间边界具有目标图像的一个或多个关联的像素列)和/或具有墙壁和在目标图像中可见的地板的至少一部分之间的一个或多个边界(并且每个这样的墙壁-地板边界在目标图像的墙壁的像素列中的每一个中具有一个或多个相关联的行)和/或在墙壁和在目标图像中可见的天花板的至少部分之间具有一个或多个边界(并且每个这样的墙壁-天花板边界在目标图像的墙壁的像素列中的每一个中具有一个或多个相关联的行)。与目标图像的这种信息确定相关的附加细节包括在本文中的其它地方,包括关于图2G。技术可进一步包括执行场景初始化,以组合墙壁的不同墙壁部分(例如,对于线性延伸跨过多个房间的墙壁,不同房间的不同墙壁部分;对于两个相邻房间之间的墙壁并且在这两个房间中具有两个相对的面或侧面,来自这两个房间的墙壁部分并且具有与这些墙壁部分之间的初始估计墙壁宽度对应的初始估计墙壁厚度,等等)。例如,BAPA组件可以使用束调整技术和多个定义的损失函数中的一个或多个作为用于使用优化技术来确定建筑物信息的约束,以最小化(多个)损失函数,诸如管道架构的部分,以及与多个目标图像的信息的差异(例如,成对的目标图像中的相应视觉数据中的差异,和/或在目标图像中识别的墙壁和/或其他几何形状中的差异,以及/或者其他地点数据或与目标图像相关联的其他元数据中的差异)有关的所定义的损失函数。这种优化技术的非排他性示例包括最小二乘、用于全局优化的自适应存储器编程、双重退火(annealing)等。此外,至少一些实施方式,一些或所有建模的墙壁还可以各自被视为三维(“3D”)形状,其具有两个相对的面(例如,具有相反的法向取向,诸如在用于形成房间间分隔器的墙壁的两个不同房间中),所述两个相对的面由初始确定的墙壁厚度分隔(诸如,将平坦的墙壁表示为3D“板”或其它3D形状),并且可选地,给定的墙跨过多个房间线性延伸。如果是,则所定义的损失函数可以进一步用于确定特定壁的修改的墙壁厚度,以及隔离在其初始估计数据中具有最可能的或实际的误差的特定目标图像,如下面进一步讨论的。
在各种实施方式中,由BAPA组件使用的所定义的损失函数可以是各种类型,例如以下:一个或多个基于图像的损失函数和约束,其反映基于成对目标图像之间的重叠视觉数据(诸如基于该对的目标图像的共可见性信息和/或图像角度对应信息)的差异,并且具有至少部分地导致两个目标图像中的一个或两个的初始估计位置和取向(或“姿态”)中的误差的差异;一个或多个基于结构元素的损失函数和约束,所述结构元素反映基于墙壁和/或其它结构元素(例如,窗、门道、非门道墙壁开口、墙壁间竖直边界、墙壁与天花板或地板中的一个或两个之间的水平边界等)的初始位置和/或形状的差异,所述初始位置和/或形状是根据一对目标图像确定的,例如,对于被建模为3D形状并且具有平坦表面(对于“平”墙壁)或曲形表面(例如,对于曲形墙壁,诸如被拟合为曲形形状和/或一系列分段线性形状)的墙壁;一个或多个基于几何形状的损失函数和约束,以便反映壁的初始厚度(例如,如从图像数据、默认数据等初始确定的)与随后确定壁的相对面的位置之间的差异,以(如果初始粗略楼层平面图可用)反映壁和/或其它结构元素的地点与初始粗略楼层平面图和由BAPA组件生成的确定的楼层平面图之间的差异;反映基于与目标图像相关联的非视觉数据(例如,GPS数据或其它地点数据)的差异的一个或多个损失函数;等。作为一个非排他性的示例,目标图像中的墙壁-地板和/或墙壁-天花板边界的识别可以用于从目标图像的获取地点估计到那些一个或多个墙壁的初始距离,以及从成对目标图像估计这样的墙壁距离信息的差异,该成对目标图像各自具有相同墙壁的视图(无论在单个房间中墙壁的相同面还是不同面,无论是延伸穿过多个房间的墙壁的相同或不同的线性部分,等等)可以用作损失函数之一,例如基于将目标图像之一的墙壁信息重新投影到目标图像中的另一个中,并且基于距离测量墙壁位置之间的差异。作为另一个非排他性的示例,一对目标图像的图像角度对应信息的差异可以用作损失函数之一,诸如基于将一个或多个图像像素列的信息从目标图像中的一个重新投影到目标图像的另一个中,并确定与另一个目标图像中的相应图像像素列的差异。作为另一个非排他性的示例,来自成对目标图像的墙壁位置和形状信息的差异可以用作损失函数之一,该成对目标图像各自具有相同墙壁的视图(无论是单个房间中的墙壁的相同面还是不同面,无论是延伸穿过多个房间的墙壁的相同或不同的线性部分,等等),诸如基于将目标图像之一的墙壁信息重新投影到目标图像中的另一个中,并且测量墙壁位置和/或形状之间的差异。此外,关于基于结构元素的一个或多个损失函数和约束,所述结构元素反映基于墙壁和/或其它结构元素的初始位置和/或形状的差异,这种损失函数和约束的非排他性示例包括以下:基于墙壁之间的竖直度(例如,在墙壁间边界处接合的两个墙壁);基于墙壁与居间的墙壁间边界之间的邻接(例如,墙壁A终止于墙壁间边界,而墙壁B也终止于相同的墙壁间边界,使得不应存在重叠或交叉);基于墙壁(例如,房间相对侧的两个墙壁)之间的平行度;基于多个房间中的墙壁对准(例如,对于延伸跨过多个房间的墙壁,不同房间中的墙壁的不同部分);基于单独的房间形状(例如,初始粗糙房间形状(例如由PIA组件确定或以其它方式接收作为输入)与附加的房间形状(例如由BAPA组件确定)之间的差异);基于整体楼层平面图布局(例如,初始楼层平面图布局(例如,由PIA组件确定或以其它方式接收)与附加平面布局(例如,由BAPA组件确定)之间的差异);等。在一些实施方式中,可以训练和使用机器学习模型来获取墙壁-距离矩阵和从图像中提取结构元素并预测墙壁关系。
此外,在至少一些实施方式中,关于墙壁(或墙壁的部分)与至少两个目标图像中的对应图像像素列之间的关联的信息可以用于识别可能在束调整期间不使用的异常值墙壁-像素列关联,诸如由于较高的误差可能性(或可使用但赋予较低的权重)。在一些实施方式和情形中,PIA组件产生地板-墙壁边界信息和相关联的预测置信度作为标准偏差,并且这种预测置信度可用于识别边缘和图像列关联中的异常值,如下文更详细论述。此外,可以识别多个“循环”,每个“循环”包括至少两个目标图像的序列,以及在这两个目标图像中都可见的序列中的每两个相邻目标图像的至少一个壁,其中每个这样的成对的相邻目标图像和相关联的墙壁在循环中被称为“链接”,以及这种成对目标图像的相应图像-墙壁信息用作那些目标图像的姿态和墙壁的位置和形状的约束。用于具有一个或多个链接的这种循环(在本文中也称为“约束循环”)的约束可以用于确定与墙壁信息相关联的误差量,并且对于多链接循环,一个或多个特定链接可以被识别为具有足够高的更大误差可能性以将其作为异常值(例如,高于所定义的阈值的误差量)对待。此外,这种约束循环可以是“直接”循环,其中每个链接的目标图像正在观看墙壁的相同面的相同部分,或是“间接”循环,其中至少一个链接的目标图像正在观看相同墙壁的不同部分,该不同部分经由中间估计信息进一步彼此连接(例如,相同墙壁部分的两个面被估计的墙壁深度分开)。
以下包括与这种BAPA组件的操作相关的其它细节,包括关于图2E-图2R及其描述。
所描述的技术在各种实施方式中提供各种益处,包括允许从为建筑物或其它结构获取的(多个)目标图像自动生成多房间建筑物和其它结构的部分或完整的楼层平面图,包括提供更完整和准确的房间形状信息,并且在一些实施方式中包括不具有或不使用来自深度传感器或其它距离测量装置的关于从图像获取地点到周围建筑物或其它结构中的墙壁或其它对象的距离的信息。所描述的技术的附加此类益处的非排他性示例包括以下:通过同时或以其它方式同时分析三个或更多个图像的组,该三个或更多个图像的群组具有在成对的那些图像之间的至少成对视觉重叠,产生用于图像的全局信息,且任选地产生其中获取那些图像的相关建筑物,包括以所使用的较少计算资源(例如,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和基于束调整管道分析器(BAPA)组件144。在其它实施方式中,BAPA组件可以作为IIMIGM系统的部分提供和/或作为没有PIA组件的目标图像的特定分析的部分使用。在一些实施方式中,ICA系统160和/或IIMIGM系统140可以在相同的或多个服务器计算系统上执行,例如,如果这些系统中的多个或全部由单个实体操作,或以其他方式相互协调地执行(例如,这些系统的一些或全部功能被集成在一起成为更大的系统),而在其他实施方式中,IIMIGM系统可以替代地与ICA系统分开操作(例如,不与ICA系统交互),以便从一个或多个外部源获取目标图像和/或可选地获取其它信息(例如,其它附加图像等),并且可选地将它们与IIMIGM系统一起本地(未示出)存储以便进一步分析和使用。
在至少一些实施方式和情形中,IIMIGM客户端计算装置105的一个或多个系统操作员用户(未示出)可以可选地进一步通过网络170与IIMIGM系统140和/或其组件144和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系统或其组件144和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、显示器142、任选地一个或多个相机或其它成像系统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和它们的门(例如,具有摆动和/或滑动门)、窗196、墙壁间边界(例如,拐角或边缘)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中、在可以具有一个或多个房间的外部附加的外部建筑物或附件结构区域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至图2R和图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至图2R示出了自动操作的示例,该自动操作用于分析在建筑物的多个房间中获取的图像的视觉数据,以至少部分地基于使用图像的视觉数据来确定多种类型的建筑物信息(例如,建筑物的楼层平面图),并且诸如基于在图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是可见的,包括窗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,则例程继续执行步骤240e,如果执行步骤240a,则作为步骤240a的输出的局部信息231a被提供作为步骤240e的进一步输入。虽然这里未示出,但是在其它实施方式中(例如,如果PIA组件未被提供或以其他方式未被使用),一些或所有这样的局部信息231a可以改为从其他源提供给步骤240e和/或可以在步骤240e中由相应的BAPA组件确定。
关于步骤240e,该例程使用束调整管道分析器(BAPA)组件从至少具有成对视觉重叠的多个全景图像241中的一些或全部来确定建筑物的楼层平面图,诸如通过使用多个损失函数来执行束调整操作以确定全局图像姿态信息(例如,在公共坐标系中)和房间形状确定以及相对房间形状布置和墙壁厚度确定,以便在分析的单个阶段或时期的多次迭代中的每个期间,将相机姿态信息与整个墙壁部分(例如,平面或曲形的2D表面,3D结构等)的位置以及可选地其它二维(“2D”)或3D结构元素的位置同时细化。例如,这样的操作可以包括以下步骤:从多个目标图像,例如从执行框240a的PIA组件,获得关于建筑物的预测的局部图像信息;将图像中的可见墙壁和任选的其它结构元素建模为2D或3D结构元素(如果在所获得的信息中尚未完成);可选地,利用基于图像-墙壁信息中的误差量的异常值,确定和去除在随后的束调整优化操作中使用的异常值信息,并且异常值的确定包括确定和分析约束循环,每个约束循环具有一个或多个链接(link),每个链接包括至少两个图像和在那些图像中可见的至少一个墙壁部分;选择多个定义的损失函数中的一个或多个,并且使用定义的损失函数和在可选地去除异常值信息之后剩余的信息作为束调整优化操作的部分,以组合来自多个目标图像的信息来调整墙壁位置和/或形状,以及可选地墙壁厚度,作为生成和/或调整墙壁连接以产生建筑物楼层平面图的部分,包括生成全局图像间姿态和组合结构布局。在本文中别处更详细地讨论了其它细节,包括在以下图2H的描述之前。在框240e中生成相应的输出信息231e(例如,楼层平面图、全局对准的图像间姿态、诸如所确定的房间结构布局和墙壁厚度的附加建筑物信息以及室内图像获取地点等),并将相应的输出信息231e提供给步骤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),并使用训练的神经网络至少部分地基于每个图像的视觉数据的每图像像素列分析来共同确定在该对的图像282中可见的(多个)房间的多种类型的预测局部信息,并且在该示例中所确定的建筑物信息包括数据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的指示,其中示出了相应的图例268作为参考。在该示例中,在结构布局上指示的两个获取地点还包括指示器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,预测的共能见度信息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中示出了相应的颜色。图2L进一步示出了例如图像250l-1所示的预测地板-墙壁边界估计信息284l-1和例如图像250l-2所示的预计地板-墙壁边缘估计信息284l-2。以与图2M类似的方式,例如图像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中示出对应的颜色(在本例中,由于缺乏共可见性,没有示出这样的对应颜色)。此外,预测的地板-墙壁边界估计信息284m-1和284m-2分别显示为例如图像250m-1和250m-2。
关于束调整流水线分析器(BAPA)组件,在一个非排他性示例实施方式中,该组件的操作可以包括将各种信息作为输入,诸如从一组目标全景图像自动生成预测(例如,在全景局部坐标系下具有不确定性的房间地板-墙壁边界估计;全景局部坐标系下的房间拐角预测;全景局部坐标系下的对象边界框;全景图对之间的角度对应;每个全景图像相对于相同全局坐标系的初始粗略姿态估计,例如根据图像获取信息;等等),并产生一种或多种类型的输出(例如,具有高空间精度的精细全景姿态,包括诸如x、y、z、俯仰(pitch)、偏航角的相机外部特征;具有高空间精度的精细平面、房间拐角、对象和房间形状几何图形,诸如通过线取向和偏移进行描述;最终楼层平面图,例如二维或三维cad模型的部分,并由平面墙壁板描述;等)。如果使用初始粗略姿态估计简单地叠加多个这样的目标图像的多个局部每图像几何形状预测,则像在图2N的信息256n1的左半部分中的图像的一些可能产生,其中对于每个墙壁、房间和对象存在许多预测,并且结果是困惑的并且毫无用处。反而,通过使用如本文所述的束调整技术,针对由一个或多个全景图像共可见的每个墙壁,以及具有多个这种墙壁的每个房间和这种房间中的每个已识别对象,生成并提供单个表示,如图2N的信息256n1的右半部分所示。使用所描述的技术,并且在该示例性实施方式中使用全景图像作为目标图像,非排他性示例性实施方式的BAPA组件可以将每个墙壁建模为2个线段,每个线段具有正常取向,其中每个线段覆盖来自相应全景图像的特定图像列集合。使用拐角估计和每图像地板墙壁边界预测来初始化自顶向下的几何结构,并且使用预测的角度对应来进行自顶向下的墙壁到全景的列关联,从而导致来自每个全景图像的每个图像列被分配给全局自顶向下场景中的墙壁对象。例如,如图2O的信息256o的上半部分所示(在这里被称为“2-O”,以防止与数字“20”混淆),以及具有高置信度地板-墙壁边界预测的图像列被突出显示,以及在以下针对该示例实施方式描述的优化过程中进一步使用,可以可视化列-全局墙壁关联。
对于初始化这种自顶向下的几何形状(出于本示例实施方式的目的,也称为“场景初始化”),目标是初始化全局坐标系中的墙壁(或“边缘”),并建立全景图像列和边缘之间的相关性以生成信息为此,对于每个全景图像并且基于具有不确定性的地板-墙壁边界预测和房间拐角预测,使用线性回归在每图像级别提取多个高置信度墙壁边缘,并且将每个全景图像的边缘以每图像的顺序添加到全局场景中。对于每个图像的每个边缘,检查所有图像列以查看是否存在将该列连接到另一个全景图像中的图像列的角度对应信号。如果存在从全景Pa中的列到全景Pb的对应匹配,并且如果来自全景Pb中的匹配列的匹配边缘已经被添加到全局场景中,则不从全景Pa向全局场景添加新的边缘。反而,来自全景Pa的图像列被关联到来自全景Pb的现有全局边缘中。由于每个边缘可以包含多个图像列,因此可以使用基于统计的试探法来决定来自全景Pa的边缘是否应该与全景Pb中的边缘匹配,但是如果没有角度对应匹配或如果列匹配试探法没有达到其阈值,则将来自全景Pa的新边缘添加到场景中。迭代方法可以如下使用:
-在每个全景Vi上进行迭代
具有拐角预测Ci的段(segment)地板-墙壁边界为段索引m生成密集等高线段
的xy回归曼哈顿线,计算方向dk和偏差bk,并且生成边缘/>
使用空间接近度和方向,对Vi中的不同段进行编组和合并。产生/>的新的集合。
-将来自每个全景Vi的边缘添加到场景的边缘中,表示为{Em}world,使用角度对应{corresij|j=0,1,...,i-1,i+1,...,N}和共可见分数{covisij|j=0,1,...,i-1,i+1,...,N}以确定/>中的每个如何匹配{Em}world
对于{Em}world中的每个边缘,将有来自的至多1个边缘被附接。来自/>的边缘通过Vi和Ek之间的角度对应分数具有最匹配的列。
如果来自的边缘与来自{Em}world的任何边缘不匹配,则将/>附加到{Em}world
如果来自的边缘/>与来自{Em}world的边缘Em′匹配,则来自/>的列/>附接到Em′
在示例性实施方式中可以使用一个或多个损失函数,在至少一些实施方式中使用两个或多个这样的损失函数的组合。损失函数的非排他性示例包括以下:
-每全景图像壁投影损失。当全局自顶向下的墙壁被投影到每个全景中时,它们不与正确的像素或预测的地板-墙壁边界完美地对准。这种重新投影误差是由2个因素引起的(1-全景姿态相对于全局场景的误差,以及2-墙壁几何形状相对于全局场景的误差),并且可以在选定的高置信度全景图像列位置处采样。在图2-O的信息256o的下半部分中示出了这种墙壁投影误差的示例,其中黄色线是全局墙壁轮廓投影,而绿色线是全景图像的局部地板-墙壁边界轮廓。
-房间拐角、墙壁接合重新投影损失。房间拐角是全局墙壁线段的交叉点,并且可以在全景图像中检测对应的图像列,其可以用于形成重新投影损失函数,以测量重新投影的全局几何形状与每个全景视图的匹配程度。类似地,对象检测(例如门和/或窗)用于每全景图像的重新投影损失函数的成本。
-交叉视图角度对应损失。角度对应描述了两个全景图像之间的按列映射,其可以在给定两个输入图像的情况下预测(例如,由PIA组件预测)。利用墙壁和全景图像的全局位置,来自P0的每个图像列可以被射线投射到P1中的图像列位置,反之亦然。投影图像列位置可能与预测的角度对应不同,并且这种投影误差可以用作损失函数。如果几何墙壁几何和全景姿态高度精确并且投影误差非常小,则这种投影误差损失应该接近于零。这种角度对应损失也可以扩展到图像之间的匹配点。例如,当特征点被检测和匹配时,如果这些点在墙壁上,则它们可以类似于角度对应列被使用。
-墙壁厚度损失。每个墙壁具有2面或2侧(例如,一侧具有浴室,另一侧具有卧室),并且来自2个这种房间的全景图像将不共享任何视觉重叠,除非在房间之间存在允许两个房间的部分在图像中的至少一个中可见的墙壁开口,但他们都看到的墙壁板具有一定的墙壁厚度,该墙壁厚度可以用作优化活动中的先验(例如,根据对一个或多个全景图像中的壁厚宽度的视觉分析确定,例如通过在(多个)图像中可见的敞开的门道或其他壁开口,并且其宽度是使用该视觉数据估计的)。
关于使用全局束调整和参数优化,以及从在用非重复的墙壁和全景姿态初始化全局场景之后的端到端流水线的角度,可以基于所使用的损失函数来计算场景的总损失(例如,总损失是以上描述的所有单独损失的总和,并且可选地具有给予提供更好拟合的特定损失函数的更大权重)。此外,可以通过优化全景姿态和墙壁、对象位置和旋转的参数来调整总损失,例如使用高斯牛顿梯度下降和/或模拟退火(annealing)(例如,通过一系列迭代)。当每个墙壁被投影到相应的全景图像时,它们与图像像素重叠。此外,使用具有厚度和房间分割的3D墙壁板(或其它3D墙壁结构)的集合,由全局束调整和参数优化产生的优化场景可以直接变成楼层平面图产品。
如上所述,在至少一些实施方式中,关于墙壁(或墙壁的部分)与至少两个目标图像中的相应图像像素列之间的关联的信息可用于识别在束调整期间可能不使用的异常值墙壁-像素列关联,例如由于较高的误差可能性。在一个非排他性示例实施方式中,全景图像被用作目标图像,并且初始束调整操作被应用于墙壁边缘/全景列关联信息,以在执行附加束调整操作之前识别和去除墙壁边缘/全景关联信息中的异常值。在该示例实施方式中,使用两个或更多个全景图像之间的循环一致性,其中循环一致性描述如下:循环由一系列链接组成,该一系列链接使用壁边缘Ek描述从全景图像Pn到Pn-1的相对姿态,并且循环可以在xy方向上或在使用曼哈顿世界假设的单个方向上。参考图2P的信息256p的上部分,在具有3个链接的单个x方向上的一个示例直接循环可以表示如下,其中该示例循环以全景图P1开始和结束:链接1:P1-E6-P2,链接2:P2-E4-P0,链接3:P0-E0-P1。在该示例循环中,可以使用P1-E6(墙壁边缘E6,如在全景图像P1中可见)、P2-E6、P2-E4、P0-E4、P0-E0和P1-E0的地板-墙壁边界估计。具有大循环闭包(cycle closure)的循环表示所有循环链接可以是高置信度的良好概率。
参考图2P的信息256p的下部分,另一个间接循环的示例表明,循环闭包也可以包括墙壁厚度和墙壁对准约束,例如对于下一个循环。
链接1:P0–>E2–墙壁厚度–>E4->P1
链接2:P1->E6->P0
另一个具有如下循环闭包的循环:
链接1:P1->E4->P2
链接2:P2->E6->P1
如果我们具有来自循环2而不是来自循环1的循环闭包,则可以确定来自视图P0-E2和P0-E6的误差比来自涉及全景P1和P2的视图的误差具有更高的机会,其可以用如下概率建模:
-每链接级
对于来自上述第一示例循环的链接1,可以在x方向上从P1到P2的xP1-E6-P2方向上执行平移。利用P1-E6和P2-E6的地板墙壁边界预测计算平移。这两个术语表示为dP1-E6和dP2-E6
xP1-E6-P2=dP1-E6-dP2-E6
对于来自示例1的链接1,基于P1-E6和P2-E6之间的距离,假设地板墙壁边界具有定义为标准偏差εpx像素的误差,ε对于所有地板-墙壁边界可以是常数。在自顶向下的视图中,我们将具有误差标准偏差和/>这是从全景到墙壁边缘的距离的函数。
链接1的xP1-E6-P2的误差标准偏差如下:
-每循环级
循环闭包误差可以计算为:
Δxloop=xP1-E6-P2+xP2-E4-P0+xP0-E0-P1
当前误差还可以表征为:
这种具有循环闭包的循环的可能性可以用乘以f(Δxloop)的概率密度函数来计算。
-全局级异常值检测-选项1
对于一个循环,循环闭包的概率可以用以下假设来建模:当一个循环闭包时,从所有相关的全景到墙壁边缘关联的地板-墙壁边界预测是精确的。因此,对于该循环,我们具有:
f(Δxloop)=probP1-E6*probP2-E6*probP2-E4*probP0-E4*probP0-E0*probP1-E0
非负加权最小二乘法:
场景图由x和y方向上的许多循环组成。可以分别从不同的方向确定循环一致性,并且可以回归特定全景的特定墙壁边缘的地板墙壁边界的精确概率。每个循环可以被建模为观察值,并且循环闭包平移误差的不同标准偏差可以被看作是来自整个方程的每个观察值的权重。
log(f(Δxloop))=Σlog(probpano-edge)
利用非负加权最小二乘法,计算probpano-edge。从最低probpano-edge开始,这些全景视图预测被视为异常值,并且在束调整优化之前被去除。
-全局级异常值检测-选项2
对于每个循环,方程建立在墙壁边缘-全景关联的误差值上,而不是建立在精确的概率上。可将循环1的方程式写成如下:
现在,都具有不同的误差分布或误差灵敏度,这主要是由于墙壁边缘和全景之间的距离。自上而下误差/>的标准偏差可以相对于/>近似为:
最小二乘法用于拟合从循环闭包观测得到的方程组,来求解和它们的误差分布。
下面关于图2R包括与循环分析以及异常值确定和去除有关的附加细节。
如前所述,在一些实施方式和情形中,PIA组件产生地板-墙壁边界信息和相关联的预测置信度两者作为标准偏差,并且这种预测置信度可用于识别边缘和图像列关联中的异常值。作为一个非排他性的示例,地板-墙壁边界可以用相关联的不确定性预测来产生,该相关联的不确定性预测表示在一定概率量下的估计误差范围,其中两种类型的数据用于将地板-墙壁边界表示为由其均值和标准偏差控制的高斯分布。
墙壁边缘重投影成本:
其中,AdaptiveHuber在Sun,Qiang,Wen-Xin Zhou和Jianqing Fan“美国统计协会杂志”115(529):254-265(2020)中的“Adaptive Huber Regression(自适应Huber回归”)”中被介绍。
其中,对于全景I的图像列n,是全景纹理uv空间中的原始地板墙壁边界v预测;
以及其中,是几何体/>从墙壁边缘n投影到列k处的全景i的v坐标。
该项如下计算:
-对于附接到边缘En的Pi的图像列k,计算从相机中心开始的2d矢量通过姿态Ti变换。
-计算和全局边缘En之间的交叉,以获得点/>
-利用姿态Ti将点投影回全景uv空间。然后,我们得到/>其中,/>是自适应Huber损失的曲线形状参数,并且是与表示估计的地板墙壁边界不确定性预测的线性相关的。
视图边缘关联异常值拒绝
BAPA组件可以使用交叉视图墙壁几何形状重新投影来优化壁和相机姿态,并且图2R中所示的示例示出了这种场景。在该场景中,P0-P3是相机。L1-L4是墙壁。L2由P0和P1两者观察到,因此我们将从P0和P1局部观察到的L2表示为L2-P0和L2-P1。在全局场景初始化期间,来自PIA组件的角度对应信息被用于将L2-P0和L2-P1关联在一起,类似于实际上是不正确的L1-P0和L1-P1。执行异常值拒绝活动以识别不正确的潜在视图墙壁关联,诸如L1-P0和L1-P1,使得在进一步分析之前将它们移除。
墙壁到视图距离模型YP1→L1
在特定视图处的每个墙壁具有一组地板-墙壁边界估计点,其中每个边界点到相机中心位置P5的距离沿着法线方向被估计为墙壁L5到视图P5距离可以被建模为:
其中,是高斯分布,/>是从作为输入信号/>导出的/>的估计的地板估计的不确定性。
循环一致性:
循环1:YP0→P1→P0=(YL1→P0-YL1→P1)+(YL2→P1-YL2→P0)
循环1位于下部房间内
循环2:YP0→P3→P0=(YL4→P3-YL4→P1)+(YL1→P0-YL3→P3-τ)
循环2位于下部房间和上部房间之间。
τ是墙壁厚度常数先验。
YP0→P1→P0和YP0→P3→P0是组合分布。当所有视图-墙壁关联都准确时,YP0→P1→P0和YP0→P3→P0分布两者应该包括值零。当YP0→P1→P0和YP0→P3→P0不是零时,所涉及的视图-墙壁关联中的至少一个是不正确的,并且执行迭代去除过程以确定是否优化在没有它们的情况下更好地收敛,并且被识别为不正确的相应视图-墙壁关联被去除为异常值。
作为执行束调整优化的一个非排他性示例性实施方式,诸如在异常值确定和移除之后,可以使用交叉视图共可见性和重新投影以及楼层平面图先验来执行多视图束调整,如下所示:
约束:
对预测的地板-墙壁边界的每视图墙壁边缘重新投影。
交叉视图图像列匹配约束
墙壁厚度约束
楼层平面图拐角每视图重新投影约束
场景:
全景和相机姿态
具有+/-法线方向的墙壁边缘(单侧)
由墙壁边缘构成的墙壁板。每个墙壁板具有两个厚度的侧面。
拐角:由2个墙壁边缘限定的墙壁交叉
输入:
对于全景Vi
姿态pi3DOF(自由度):x、y、偏航(或在可选实施方式中,6DOF,包括滚动、俯仰和z)
消失角度:vpi
拐角预测:Ci
全景uv空间中密集地板墙壁边界预测:2D纹理映射中的“u”和“v”轴的
角度对应:{corresij|j=0,1,...,i-1,i+1,...,N}
共可见性分数:{covisij|j=0,1,...,i-1,i+1,...,N}
初始粗略姿态:
用于优化的场景:
对于全景Vi:姿态pi
对于墙壁边缘Ek:方向dk(曼哈顿方向x或y);偏差bk;每视图Vi的可见图像列:图像列}}
视图采样对几何形状采样:使用视图采样,对于每个墙壁边缘,存在来自全景视图的更多的采样和更多的权重,该全景视图具有与该墙壁边缘更宽的投影范围角度。
针对以下优化:
用于非参考全景N视图的全景姿态Pi->(N-1)*2个参数
墙壁偏差值bk,K墙壁边缘->K参数
基于机器学习(ML)的场景初始化:
用于优化的成本函数:(误差分布)
-总成本:
Costtotal=Costedges+Costwall+Costcorners
墙壁边缘重投影成本:
对于全景i的图像列n,是全景纹理uv空间中的原始地板墙壁边界v预测。
是在列n处从墙壁边缘k到全景图i的几何v投影的v坐标。该项目计算如下:
对于图像列n,计算从相机中心开始、通过姿态pi变换的2D矢量veci,n
计算veci,n和墙壁边缘Ek之间的交叉以得到点
使用姿态pi将点投影回全景uv空间。然后我们具有/>
-墙壁厚度和对准成本:
参照图2Q的示例信息256q
τ-假设的墙壁厚度
是墙壁边缘Ek的线偏差值
是由/>分组的所有墙壁边缘的线偏差的平均值:
墙壁分组流程:
使用成对分组阈值对墙壁边缘进行分组的贪婪方法:
从具有连接组件的成对分组中扩大墙壁边缘组。
成对墙壁边缘在以下情况下组合在一起:
墙壁边缘之间距离dperp<σperp
墙壁边缘之间距离doverlap>σoverlap
拐角重投影成本:
是场景中的拐角。每个拐角被定义为x方向墙壁边缘/>和y方向墙壁边缘/>的交叉。因此,/>的坐标被定义为/>每个拐角可以与从不同视图可见的一个或多个拐角相匹配。
是/>到视图Vi的投影的u坐标。
是在全景纹理uv空间中从视图Vi预测与/>匹配的房间拐角的u坐标。
此外,所描述的技术可以在一些实施方式和情况下扩展,以分析为建筑物获取的图像,并生成建筑物的楼层平面图以外的类型的信息,其中一个非排他性的示例是预测家用固定装置(例如,橱柜、炉子、水槽等)和家具的3D结构,例如通过预测固定装置和/或家具与地板或天花板相遇的位置的交叉边界,并且以与图2E-图2G中所讨论的类似的方式使用该信息,以生成和细化关于这些类型的室内3D结构的信息。作为另一个非排他性示例,IIMIGM系统及其BAPA组件在一些实施方式和情形中也可以用于支持一些全景姿态和/或3D结构的细化。例如,如果IIMIGM系统在执行初始分析之后捕获另外的照片,则可以使用类似的束调整技术来快速细化照片的相机姿态。作为做一些事的部分,通过在原始图像与新照片之间进行匹配,可以从新照片的内容将更多的几何数据添加到现有场景中,以便冻结现有场景中的现有建筑物布局和全景姿态的部分,并且仅优化与新照片相关的参数,这可以非常快速地进行。这样做使得增强的现实体验能够将来自全局场景的任何3D估计应用到新添加的照片中。
图2H继续图2A至图2G的示例,并且进一步示出信息256h,该信息256h可以由分别与获取地点210B和210C对应的目标全景图像250d和250e的成对对准产生、由分别与获取地点210C和210D对应的目标全景图像250e和250h(在图2H中示出)的成对对准产生、以及由与获取地点210A对应的目标全景图像(例如,全景或非全景图像,未示出)和与获取地点210B对应的全景图像250e的成对对准产生。特别地,如前面关于在获取地点210A-210C获取的图像所讨论的,对那些图像的成对分析可以生成图像间姿态信息,该图像间姿态信息对应于(经由对那些获取地点获取的图像的成对分析,在获取地点210A和210B之间)链接215-AB、以及(经由对那些获取地点处获取的图像的成对分析,在获取地点210A和210B之间)链接215-BC,其中那些链接显示在与起居室对应的结构布局260上,该结构布局260可以至少部分地基于对获取地点210A和210B处获取的图像的成对分析来确定,其中进一步指示窗196-1至196-3、门道190-1和墙壁开口263a的位置的结构布局、以及获取地点210A和210B。信息256h还示出了与走廊对应的结构布局262(例如,至少部分地基于对与获取地点210B和210C对应的目标全景图像250d和250e的成对分析),包括门道190-3至1900-5的位置和获取地点210C。类似地,信息256h还示出了与具有门190-3的卧室对应的结构布局261(例如,至少部分地基于对与获取地点210C和210D对应的目标全景图像250e和250h的成对分析),包括门190-3、窗196-4和获取地点210D的位置。在该示例中,用于三个房间的结构布局进一步拟合在一起,例如至少部分地基于位置和门道以及非门道墙壁开口。在该示例性实施方式中,示出了起居室和卧室的墙壁可能不能完美地与所形成的间隙264h拟合在一起,所述间隙264h例如可能是不正确的间隙并且由来自全景图像250e和250h之间的有限视觉重叠的初始不完美的成对对准(例如,在全局对准活动和/或生成最终楼层平面图的期间稍后被校正)导致,或间隙是正确的并且反映起居室和卧室(即,卧室的西壁)之间的墙壁的厚度宽度。
图2I继续图2A至图2H的示例,并且进一步示出了对应于图2E的步骤240e的信息,包括信息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,该信息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)一个全景图相对于另一个全景图的坐标系的位置,例如通过从单个训练的神经网络中共同估计这些量,以便通过相互有益的上下文来改善每个单个任务的性能,以及简化和加速必要信息的提取。
作为该示例性实施方式的自动操作的部分,神经网络接受成对拉直的球形全景图像(例如,由相机装置捕获,其中相机轴与竖直轴对准),成对拉直的球形全景图像可以共享或不共享相同的空间(即,可以共享或不共享视觉重叠)。如果图像被拉直(或具有低于定义阈值(例如5度)的俯仰角和/或滚转角),并且提供的墙壁也被竖直对准,然后,墙壁深度是给定图像列的单个共享值。然后,神经网络为每个图像的每个列估计多个量。在其它实施方式和/或情况下,可以接收其它类型的图像作为输入,例如具有未知视场(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至图2R提供了各种细节,但是应当理解,所提供的细节是出于说明的目的而包括的非排他性示例,并且可以以其它方式执行其它实施方式,而没有一些或全部这样的细节。
图3是示出了执行IIMIGM系统140的实现方式的一个或多个服务器计算系统300以及执行ICA系统389的实现方式的一个或多个服务器计算系统380的实施方式的框图。尽管在图3中未示出,但是IIMIGM系统140可以进一步包括一个或多个组件(例如,图1的PIA组件146,图1的BAPA组件144等),每个组件都执行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至图2R讨论的IIMIGM系统、和/或如本文别处描述的IIMIGM系统来执行,以便至少部分地基于该区域的一个或多个图像的视觉数据以及可选地由移动计算装置获取的附加数据来生成建筑物或其他限定区域的楼层平面图,和/或至少部分地基于该区域的一个或多个图像以及可选地由移动计算装置获取的附加数据来生成建筑物或其他定义区域的其他映射信息,和/或通过分析成对图像的视觉数据来确定其它类型的信息。在图5A至图5B的示例中,所生成的用于建筑物(例如,房屋)的映射信息包括2D层平面图和/或3D计算机模型层平面图,但是在其它实施方式中,可以生成其它类型的映射信息并以其它方式使用,包括用于其它类型的结构和所定义的区域,如本文别处所讨论的。
例程的所示实施方式在框505处开始,在框505处接收信息或指令。例程继续到框515,以获取建筑物的目标图像以及可选的相关联的维度/比例信息(例如,检索先前获取并与所指示的建筑物相关联的所存储的目标图像;使用在框505中提供的目标图像;为了同时获取这样的信息,图4提供了用于执行这样的图像获取的ICA系统例程的一个示例性实施方式,包括可选地等待一个或多个用户或装置在建筑物的一个或多个房间中移动,并且在建筑物房间和可选地其他建筑物区域中的获取地点处获取全景或其他图像,以及可选地连同与获取有关的元数据信息和/或与获取地点之间的移动有关的互连信息,如本文其他地方更详细地讨论的;等)。
在框515之后,例程继续到框520,其中,对于每个目标图像,如果图像还不是这样的格式(例如,用于全景图像的平直球形投影格式,用于非全景图像的平直球形或直线形式等),则将图像转换为平直投影格式。在框525中,例程然后选择下一对目标图像(以第一对开始),并且然后进行到框530,以使用训练的神经网络来至少部分地基于每个图像的视觉数据的每图像像素列分析,共同确定在该对的图像中可见的(多个)房间的多种类型的预测建筑物信息,例如每像素列共可见性和角度对应匹配的概率以及结构元素(例如,窗、门道和非门道开口、墙壁间边界)的地点,以及具有地板和/或天花板的每个像素列墙壁边界,可选地具有相关联的不确定性信息。在框535中,例程然后使用来自该对的图像的数据的组合来确定用于在图像中可见的(多个)房间的附加类型的建筑物信息,诸如用于(多个)房间的2D和/或3D结构布局,用于图像的图像间姿态信息,以及可选地在结构布局内的图像的室内获取地点。在框535之后,框540中的例程继续确定是否有更多的图像对要进行比较,并且如果是,则返回框525以选择下一对图像。
否则,例程继续到框550,在框550,它确定是否进一步使用来自框530-框535的确定类型的建筑物信息作为进一步生成建筑物的楼层平面图的部分,诸如基于在框505中接收的指令或其它信息,并且如果否,则继续到框565。如果是,则例程继续执行框555-框565,以使用基于一个或多个定义的损失函数的束调整优化,以组合来自多个图像对的信息,以生成一些或所有目标图像的采集地点的全局对准。特别地,在框555中,例程获得多个目标图像的预测的建筑物信息和组合的图像数据,诸如从执行框530和535的PIA组件获得,并且将图像中的可见墙壁和可选地其他结构元素建模为2D或3D结构元素(如果在所获得的信息和数据中尚未完成)。在框560中,例程可选地确定和去除在随后的束调整优化操作中使用的异常值信息,异常值基于图像-墙壁信息中的误差量,并且异常值的确定包括确定和分析约束循环,该约束循环各自具有一个或多个链接(link),每个链接包括至少两个图像和在那些图像中可见的至少一个墙壁部分。在框565中,例程然后选择多个定义的损失函数中的一个或多个,并且使用定义的损失函数和在可选地去除异常值信息之后剩余的信息作为束调整优化操作的部分,以组合来自多个目标图像的信息来调整墙壁位置和/或形状,以及可选地调整墙壁厚度,作为生成和/或调整墙壁连接以产生建筑物楼层平面图的部分,包括生成全局图像间姿态以及组合结构布局以及可选地生成附加的相关映射信息。
如果在框550中确定不使用来自框530至535的所确定的建筑物信息类型作为生成建筑物的楼层平面图的部分,例程继续到框567以确定是否使用来自框530至535的所确定的建筑物信息类型作为识别一个或多个指示的目标图像的一个或多个匹配图像(如果有的话)的部分。例如基于在框505中接收的指令或其它信息。如果是,则例程继续到框570,以针对一个或多个指示的目标图像(例如,如框505中指示的或经由一个或多个当前用户交互在框570中标识的),使用来自各自包括所指示的目标图像中的一个和来自框530至535的目标图像的另一个的成对的图像的分析的信息以确定与所指示的(多个)目标图像相匹配的其他目标图像(如果有的话)(例如,与所指示的(多个)目标图像具有指示量的视觉重叠和/或满足其他指定的匹配标准,如本文别处更详细讨论的),并显示或以其它方式提供确定的其它目标图像(例如,将它们提供给图6的例程600以用于显示,例如响应于在框505中接收的来自例程600的指示一个或多个目标图像以及可选地一些或所有其它目标图像以分析以及可选地一些或所有匹配标准的对应请求)。如果在框567中确定不使用来自框530至535的所确定的建筑物信息类型作为识别一个或多个指示的目标图像的一个或多个匹配图像(如果有的话)的部分,则例程继续到框575,以确定是否使用来自框530至535的所确定类型的建筑物信息作为确定和提供于一个或多个指示的目标图像对应的反馈的部分,例如基于在框505中接收的指令或其它信息。如果不是,则例程继续到框590,否则继续到框580,以针对一个或多个指示的目标图像(例如,如框505中所指示的或经由一个或多个当前用户交互在框580中所标识的),使用来自各自包括所指示的目标图像中的一个和来自框530至535的目标图像的另一个的成对的图像的分析的信息来确定要提供的反馈(例如,基于与所指示的(多个)目标图像的所指示的视觉重叠量和/或与其它指定的反馈标准对应的所指示的视觉重叠量,如本文别处更详细讨论的那样),并且显示或以其它方式提供所确定的反馈(例如,将它们提供给图6的例程600以用于显示,例如响应于在框505中接收到的来自例程600的对应请求,该请求指示一个或多个目标图像以及可选地一些或所有其它目标图像以分析以及可选地一些或所有反馈标准)。如本文别处更详细讨论的,在一些实施方式中,步骤530和535中的一些或全部可以由IIMIGM系统的PIA组件执行,并且在一些实施方式中,步骤550至565中的一些或全部可以由IIMIGM系统的BAPA组件执行(例如通过使用由PIA组件生成的信息)。
在框565或570或580之后,例程继续到框588,以存储所生成的映射信息和/或其他所生成或确定的信息,并且可选地进一步使用所确定的和所生成的信息中的一些或全部,以便提供所生成的2D楼层平面图和/或3D计算机模型楼层平面图和/或其他所生成或确定的信息,用于自动导航那些装置和/或相关联的车辆或其他实体,以提供和使用关于所确定的房间布局/形状和/或全景图像的链接集合的信息和/或关于所确定关于房间的内容和/或房间之间的通道的附加信息等。
在框590中,例程取而代之继续视情况执行一个或多个其它指示的操作。例如,这样的其他操作可以包括接收和响应请求先前生成的楼层平面图和/或先前确定的房间布局/形状和/或其它生成的信息的请求(例如,对用于在一个或多个客户端装置上显示的这种信息的请求,对这种信息的请求,以将其提供给一个或多个其它装置以在自动导航中使用等),获取和存储关于在稍后的操作中使用的建筑物的信息(例如,关于房间的尺寸、数量或类型、总平方长度、邻近或附近的其它建筑物、邻近或附近的植被、外部图像等的信息)等。
在框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.如条款A05所述的计算机实现的方法,其中,执行所述束调整优化包括:将所述多个定义的损失函数中的所有定义的损失函数应用于所确定的多个类型的信息,并且组合从所应用的多个定义的损失函数确定的损失信息。
A07.如条款A01-A06中任一项所述的计算机实现的方法,其中,所述多个全景图像各自是拉直图像,在所述拉直图像中,每个像素列具有所述房屋中的竖直平面的视觉数据,其中,分析所述多个图像对中的每个还包括:
通过所述一个或多个计算装置,并且对于所述图像对的第一全景图像中的至少一些第一像素列中的每个,识别所述像素列中与地板和墙壁之间的边界对应的至少一个第一像素,并且至少部分地基于所识别的至少一个第一像素,确定在像素列中的可见墙壁与第一全景图像的获取地点的距离;
通过所述一个或多个计算装置,并且对于所述图像对的第二全景图像中的至少一些第二像素列中的每个,识别所述像素列中与地板和墙壁之间的边界对应的至少一个第二像素,并且至少部分地基于所识别的至少一个第二像素,确定所述像素列中的可见墙壁与所述第二全景图像的获取地点的距离;以及
通过所述一个或多个计算装置,并且作为所述图像对的部分视觉重叠中的所述至少一个房间的所确定的结构布局信息的部分,通过组合关于距所述至少一些第一像素列和第二像素列的所确定的距离的信息,确定所述至少一个房间的至少二维房间形状;;
并且其中,所述两个或更多个定义的损失函数包括所述墙壁距离损失函数并且使用与距所述至少一些第一像素列和第二像素列的确定距离有关的组合信息。
A08.根据条款A01-A07中任一项所述的计算机实现的方法,其中,对所述第一墙壁和所述第二墙壁建模包括:将所述第一墙壁和所述第二墙壁中的每个建模为具有由估计的墙壁厚度分开的多个相对面的三维结构,其中,更新所建模的第一墙壁和第二墙壁还包括对至少一个第一墙壁或第二墙壁的所估计的墙壁厚度的改变,并且其中,生成所述至少部分楼层平面图包括:使用对至少一个第一墙壁或第二墙壁的所估计的墙壁厚度的改变作为定位所述第一房间和所述第二房间的所述房间形状的部分。
A09.如条款A01-A08中任一项所述的计算机实现的方法,其中,所述建筑物具有多个房间,所述多个房间包括所述第一房间和所述第二房间,并且还包括一个或多个附加房间,其中,所述多个全景图像包括所述多个房间中的每个中的至少一个全景图像,其中,从所述分析获得所述信息包括:从所述多个房间中的墙壁的多对所述多个全景图像中的共享可见性来确定信息,其中,执行所述束调整优化包括:更新所述多个房间中的所有房间的所建模的墙壁,并且其中,生成所述建筑物的所述至少部分楼层平面图包括:生成所述建筑物的完整楼层平面图,所述完整楼层平面图包括所述多个房间中的每个的房间形状,并且包括所述多个房间的所述墙壁中的至少一些的确定的墙壁厚度。
A10.如条款A01-A09中任一项所述的计算机实现的方法,其中,所述建筑物具有多个房间,所述多个房间包括所述第一房间和所述第二房间,并且还包括一个或多个附加第三房间,其中,所述多个全景图像还包括一个或多个第四全景图像,所述第四全景图像在所述附加第三房间中的每个中具有至少一个全景图像,并且其中,所述方法还包括在执行所述束调整优化之后:
通过一个或多个计算系统,从所述多个房间中的墙壁的多对所述多个全景图像中的共享可见性来确定信息;
通过所述一个或多个计算系统,确定在所述束调整优化期间使用一个或多个定义的损失函数的损失值,以更新所述第一房间和所述第二房间的所建模的第一墙壁和第二墙壁;
通过所述一个或多个计算系统,使用所述一个或多个定义的损失函数和从所述共享可见性确定的信息,执行进一步束调整优化操作,包括:
如果所确定的损失值高于定义的阈值,则丢弃所更新的所建模的第一墙壁和第二墙壁以及至少一些多个全景图像的所更新的获取姿态信息,并且使用所述第四全景图像中的至少一些的所确定的信息,启动所述一个或多个附加第三房间的至少一些墙壁的进一步束调整优化操作;或
如果所确定的损失值不高于所述定义的阈值,则保留所更新的所建模的第一墙壁和第二墙壁以及所更新的获取姿态信息,并且使用至少一些第四全景图像的所确定的信息,启动所述一个或多个附加第三房间的所述至少一些墙壁的所述进一步束调整优化操作;以及
通过所述一个或多个计算系统并且在所述呈现之前,使用来自所述进一步束调整优化操作的信息,更新所述建筑物的所述至少部分楼层平面图。
A11.如条款A01-A10中任一项所述的计算机实现的方法,还包括在执行所述束调整优化之后:
通过所述一个或多个计算系统,接收所更新的信息,所更新的信息改变所述第一墙壁和所述第二墙壁中的一个或多个的初始估计位置和初始估计形状信息中的至少一个,或改变所述第一全景图像、所述第二全景图像和所述第三全景图像中的一个或多个的初始估计获取姿态信息;
通过所述一个或多个计算系统,丢弃所更新的所建模的第一墙壁和第二墙壁以及至少一些多个全景图像的所更新的获取姿态信息;
通过所述一个或多个计算系统,使用所述一个或多个定义的损失函数和来自所述共享可见性的更新信息,执行进一步束调整优化操作,包括生成所更新的所建模的第一墙壁和第二墙壁的新版本和所述至少一些多个全景图像的所更新的获取姿态信息;以及
通过所述一个或多个计算系统并且在所述呈现之前,使用来自所述进一步束调整优化操作的信息,更新所述建筑物的所述至少部分楼层平面图。
A12.如条款A01-A11中任一项所述的计算机实现的方法,还包括:在执行所述束调整优化之前,移除所获得的信息中的被识别为包括关于所移除的一些信息中的误差量的异常值的一些信息,其中,所移除的一些信息包括关于在所述多个全景图像中的至少一个中所识别的至少一个墙壁的信息,并且其中,将一些获得的信息识别为包括异常值包括:生成并且分析关于多个循环的信息,所述多个循环各自具有以相同的全景图像开始和结束的所述多个全景图像的序列,并且包括多个链接,其中,所述链接中的每个包括所述多个全景图像中的具有公共墙壁部分的可见性的至少两个。
A13.如条款A01-A12中任一项所述的计算机实现的方法,其中,执行所述束调整优化包括:使用所述多个定义的损失函数中的两个或更多个的组合。
A14.如条款A01-A13中任一项所述的计算机实现的方法,其中,所述存储的内容包括软件指令,当所述软件指令被执行时,使得所述一个或多个计算装置执行进一步自动操作,包括在执行所述束调整优化之前:
通过所述一个或多个计算装置,生成多个循环,所述多个循环各自包括以相同图像开始和结束的复数个所述多个图像的序列,每个循环还包括多个链接,所述多个链接各自包括所述多个图像中的具有公共墙壁部分的可见性的至少两个;
通过所述一个或多个计算装置,分析所述多个循环中的每个,以确定与关于所述循环的所述多个链接中的公共墙壁部分的信息相关联的误差量;
通过所述一个或多个计算装置,基于具有高于阈值的相关联的误差量,将至少一个循环的至少一个链接的至少一个公共墙壁部分识别为异常值;以及
通过所述一个或多个计算装置并且响应于所述识别,从所获得的信息中去除关于每个识别的公共墙壁部分的信息,所述每个识别的公共墙壁部分的信息从所识别的公共墙壁部分的至少一个循环的至少一个链接中的至少两个图像中的一个或多个提供。
A15.如条款A01-A14中任一项所述的计算机实现的方法,其中,所述一个或多个定义的损失函数包括图像角度对应损失函数,所述图像角度对应损失函数基于当来自成对图像中的一个图像的匹配图像像素列中的一些在所述成对图像中的另一个图像中重新投影时,所述成对图像中的匹配图像像素列的位置的差异。
A16.如条款A01-A15中任一项所述的计算机实现的方法,其中,所述一个或多个定义的损失函数包括图像墙壁位置损失函数,所述图像墙壁位置损失函数基于两个或多个图像中的可见墙壁在所述两个或更多个图像中的至少一个中重新投影的位置的差异。
A17.如条款A01-A16中任一项所述的计算机实现的方法,其中,所述一个或多个定义的损失函数包括墙壁厚度损失函数,所述墙壁厚度损失函数基于在至少两个图像中的可见墙壁的两个面之间的距离的差异,所述距离的差异来自所述两个面中的至少一个在所述至少两个图像中的至少一个中重新投影。
A18.如条款A01-A17中任一项所述的计算机实现的方法,其中,所述一个或多个定义的损失函数包括墙壁距离损失函数,所述墙壁距离损失函数基于多个图像中的可见墙壁边界和所述多个图像的获取地点之间的距离的差异,所述距离的差异来自所述墙壁边界在所述多个图像中的至少一个中重新投影。
A19.如条款A01-A18中任一项所述的计算机实现的方法,其中,所述多个图像各自为全景图像,其中,所述墙壁中的每个被建模为实体对象,其中,提供所述建筑物的所述至少部分楼层平面图包括:在至少一个装置上呈现所述至少部分楼层平面图,并且其中,所述一个或多个定义的损失函数包括多个定义的损失函数中的至少一个,所述多个定义的损失函数至少包括:图像角度对应损失函数,所述图像角度对应损失函数基于当来自成对图像中的一个图像的匹配图像像素列中的一些在所述成对图像中的另一个图像中重新投影时,所述成对图像中的匹配图像像素列的位置的差异;以及图像墙壁位置损失函数,所述图像墙壁位置损失函数基于两个或多个图像中的可见墙壁在所述两个或更多个图像中的至少一个中重新投影的位置的差异;以及墙壁厚度损失函数,所述墙壁厚度损失函数基于在至少两个图像中的可见墙壁的两个面之间的距离的差异,所述距离的差异来自所述两个面中的至少一个在所述至少两个图像中的至少一个中重新投影;以及墙壁距离损失函数,所述墙壁距离损失函数基于多个图像中的可见墙壁边界和所述多个图像的获取地点之间的距离的差异,所述距离的差异来自所述墙壁边界在所述多个图像中的至少一个中重新投影。
A20.如条款A19所述的计算机实现的方法,其中,执行所述束调整优化还包括:使用所述多个定义的损失函数中的两个或更多个的组合。
A21.如条款A01-A20中任一项所述的计算机实现的方法,其中,所述存储的内容包括软件指令,当所述软件指令被执行时,使得所述一个或多个计算装置执行进一步自动操作,所述进一步自动操作包括:
通过所述一个或多个计算装置,至少部分地基于在获取所述多个图像期间捕获的地点数据,获得关于所述多个图像的获取地点的进一步信息;以及
通过所述一个或多个计算装置,在生成所述多个图像的所述初始估计获取姿态信息或确定所更新的一个或多个图像的获取姿态信息中的至少一个期间,使用关于所述获取地点的进一步信息。
A22.如条款A01-A21中任一项所述的计算机实现的方法,其中,所述存储的内容包括软件指令,当所述软件指令被执行时,使得所述一个或多个计算装置执行进一步自动操作,所述进一步自动操作包括:
通过所述一个或多个计算装置,至少部分地基于在所述建筑物处捕获的地点数据,获得关于所述墙壁的地点的进一步信息;以及
通过所述一个或多个计算装置,在生成所述墙壁的所述初始估计位置或确定所更新的一个或多个墙壁的估计位置中的至少一个期间,使用关于所述墙壁的地点的进一步信息。
A23.如条款A01-A22中任一项所述的计算机实现的方法,其中,所述墙壁中的每个被建模为具有由墙壁厚度分开的两个表面的三维对象,其中,所述表面中的每个均是平面表面或曲形表面中的一个或具有多个接合的平面子表面的分段表面。
A24.如条款A01-A23中任一项所述的计算机实现的方法,其中,生成所述至少部分楼层平面图还包括:使用所更新的获取姿态信息以相对于彼此放置所述房间形状。
A25.如条款A01-A24中任一项所述的计算机实现的方法,其中,所述多个图像各自仅具有RGB(红-绿-蓝)像素数据,并且其中,从对所述多个图像的所述视觉数据的分析中获得所述信息包括:
通过所述一个或多个计算装置并且使用经训练以共同确定关于所述建筑物的多种类型的信息的神经网络,分析多个图像对,所述多个图像对各自包括所述多个图像中的具有所述多个房间中的至少一个的至少部分视觉重叠的两个,针对所述多个图像对中的每个,包括:
作为所述多种类型的信息中的一个并且使用所述图像对的两个图像之间的至少一个房间的部分视觉重叠,确定多个像素列匹配的图像角度对应信息,所述多个像素列匹配各自在所述两个图像中的第一图像的第一像素列与所述两个图像中的第二图像的相应第二像素列之间,其中所述匹配的所述第一像素列和所述第二像素列两者示出所述至少一个房间的相同竖直切片,
作为所述多种类型的信息中的一个,并且基于所述图像对的所述图像的所述RGB像素数据的组合,并且对于所述图像对的所述部分视觉重叠中的所述至少一个房间,确定所述至少一个房间的结构布局信息,所述结构布局信息包括所述至少一个房间的至少一些墙壁的位置,并且包括所述墙壁中的一个与所述墙壁的附加的一个、所述至少一个房间的地板或所述至少一个房间的天花板中的至少一个之间的一个或多个边界的位置,并且包括所述至少一个房间的门道或非门道墙壁开口中的至少一个的位置;以及
作为所述多种类型的信息中的一种,并且至少部分地基于为所述图像对确定的包括所确定的多个像素列匹配的信息和所确定的结构布局信息的信息,确定所述图像对的所述图像的相对姿态信息,所述相对姿态信息包括在所述至少一个房间中的获取所述图像的所确定的获取地点;以及
通过所述一个或多个计算装置并且至少部分地基于所确定的所述多个图像对的结构布局信息,将所述多个房间的墙壁建模为实体对象,所述实体对象各自具有至少一个二维表面。
A26.如条款A01-A25中任一项所述的计算机实现的方法,其中,所述多个图像各自为全景图像,其中,所述墙壁的所述结构元素包括各自被建模为实体对象的所述墙壁的至少部分的表面,其中,提供所述建筑物的所述至少部分楼层平面图包括:在至少一个装置上呈现所述至少部分楼层平面图,并且其中,所述一个或多个定义的损失函数包括多个定义的损失函数中的至少一个,所述多个定义的损失函数至少包括:图像角度对应损失函数,所述图像角度对应损失函数基于当来自成对图像中的一个图像的匹配图像像素列中的一些在所述成对图像中的另一个图像中重新投影时,所述成对图像中的匹配图像像素列的位置的差异;以及图像墙壁位置损失函数,所述图像墙壁位置损失函数基于两个或多个图像中的可见墙壁在所述两个或更多个图像中的至少一个中重新投影的位置的差异;以及墙壁厚度损失函数,所述墙壁厚度损失函数基于在至少两个图像中的可见墙壁的两个面之间的距离的差异,所述距离的差异来自所述两个面中的至少一个在所述至少两个图像中的至少一个中重新投影;以及墙壁距离损失函数,所述墙壁距离损失函数基于多个图像中的可见墙壁边界和所述多个图像的获取地点之间的距离的差异,所述距离的差异来自所述墙壁边界在所述多个图像中的至少一个中重新投影。
A27.如条款A01-A26中任一项所述的计算机实现的方法,其中,所述存储的指令包括软件指令,当所述软件指令被执行时,使得所述一个或多个计算装置执行进一步自动操作,所述进一步自动操作包括:
通过所述一个或多个计算装置并且至少部分地基于在所述建筑物处捕获的地点数据,获得关于所述多个图像或所述墙壁的获取地点中的至少一个的进一步地点信息;以及
通过所述一个或多个计算装置,在生成所述多个图像的所述初始估计获取姿态信息、确定所更新的一个或多个图像的获取姿态信息、生成所述墙壁的所述初始估计位置、或确定所更新的一个或多个墙壁的估计位置中的至少一个期间,使用所述进一步地点信息。
A28.一种计算机实现的方法,包括执行自动操作的多个步骤,所述自动操作实现基本上如本文所公开的描述的技术。
B01.一种具有存储的可执行软件指令和/或其它存储的内容的非暂时性计算机可读介质,所述存储的可执行软件指令和/或其它存储的内容使得一个或多个计算系统执行实现条款A01-A28中任一项的方法的自动操作。
B02.一种具有存储的可执行软件指令和/或其它存储的内容的非暂时性计算机可读介质,所述存储的可执行软件指令和/或其它存储的内容使得一个或多个计算系统执行实现基本上如本文所公开的所描述技术的自动操作。
C01.一个或多个计算系统,包括一个或多个硬件处理器和具有存储的指令的一个或多个存储器,当所述存储的指令由所述一个或多个硬件处理器中的至少一个执行时,使得所述一个或多个计算系统执行实现条款A01-A28中的任一项的方法的自动操作。
C02.一个或多个计算系统,包括一个或多个硬件处理器和具有存储的指令的一个或多个存储器,当所述存储指令由所述一个或多个硬件处理器中的至少一个执行时,使得所述一个或多个计算系统执行实现基本上如本文所公开的所描述的技术的自动操作。
D01.一种计算机程序,适于当所述计算机程序在计算机上运行时执行条款A01-A28中的任一项的方法。
在以下条款中进一步描述了本文中描述的非排他性示例性实施方式。
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所述的计算机实现的方法,其中,所述建筑物具有多个房间,所述多个房间包括所述第一房间和所述第二房间,并且还包括一个或多个附加第三房间,其中,所述多个全景图像还包括一个或多个第四全景图像,所述第四全景图像在所述附加第三房间中的每个中具有至少一个全景图像,并且其中,所述方法还包括在执行所述束调整优化之后:
通过一个或多个计算系统,从所述多个房间中的墙壁的多对所述多个全景图像中的共享可见性来确定信息;
通过所述一个或多个计算系统,确定在所述束调整优化期间使用一个或多个定义的损失函数的损失值,以更新所述第一房间和所述第二房间的所建模的第一墙壁和第二墙壁;
通过所述一个或多个计算系统,使用所述一个或多个定义的损失函数和从所述共享可见性确定的信息,执行进一步束调整优化操作,包括:
如果所确定的损失值高于定义的阈值,则丢弃所更新的所建模的第一墙壁和第二墙壁以及至少一些多个全景图像的所更新的获取姿态信息,并且使用所述第四全景图像中的至少一些的所确定的信息,启动所述一个或多个附加第三房间的至少一些墙壁的进一步束调整优化操作;或
如果所确定的损失值不高于所述定义的阈值,则保留所更新的所建模的第一墙壁和第二墙壁以及所更新的获取姿态信息,并且使用至少一些第四全景图像的所确定的信息,启动所述一个或多个附加第三房间的所述至少一些墙壁的所述进一步束调整优化操作;以及
通过所述一个或多个计算系统并且在所述呈现之前,使用来自所述进一步束调整优化操作的信息,更新所述建筑物的所述至少部分楼层平面图。
5.如权利要求1所述的计算机实现的方法,还包括在执行所述束调整优化之后:
通过所述一个或多个计算系统,接收所更新的信息,所更新的信息改变所述第一墙壁和所述第二墙壁中的一个或多个的初始估计位置和初始估计形状信息中的至少一个,或改变所述第一全景图像、所述第二全景图像和所述第三全景图像中的一个或多个的初始估计获取姿态信息;
通过所述一个或多个计算系统,丢弃所更新的所建模的第一墙壁和第二墙壁以及至少一些多个全景图像的所更新的获取姿态信息;
通过所述一个或多个计算系统,使用所述一个或多个定义的损失函数和来自所述共享可见性的更新信息,执行进一步束调整优化操作,包括生成所更新的所建模的第一墙壁和第二墙壁的新版本和所述至少一些多个全景图像的所更新的获取姿态信息;以及
通过所述一个或多个计算系统并且在所述呈现之前,使用来自所述进一步束调整优化操作的信息,更新所述建筑物的所述至少部分楼层平面图。
6.如权利要求1所述的计算机实现的方法,还包括:在执行所述束调整优化之前,移除所获得的信息中的被识别为包括关于所移除的一些信息中的误差量的异常值的一些信息,其中,所移除的一些信息包括关于在所述多个全景图像中的至少一个中所识别的至少一个墙壁的信息,并且其中,将一些获得的信息识别为包括异常值包括:生成并且分析关于多个循环的信息,所述多个循环各自具有以相同的全景图像开始和结束的所述多个全景图像的序列,并且包括多个链接,其中,所述链接中的每个包括所述多个全景图像中的具有公共墙壁部分的可见性的至少两个。
7.如权利要求1所述的计算机实现的方法,其中,执行所述束调整优化包括:使用所述多个定义的损失函数中的两个或更多个的组合。
8.一种具有存储的内容的非暂时性计算机可读介质,所述存储的内容使得一个或多个计算装置执行自动操作,所述自动操作至少包括:
通过所述一个或多个计算装置,从在建筑物的多个房间中获取的多个图像的视觉数据的分析中获得信息,其中,所获得的信息至少部分地基于示出所述多个房间的墙壁的成对的多个图像中的视觉重叠,并且至少包括所述多个图像中的每个的初始估计获取姿态信息,并且还包括所述多个房间的所述墙壁的初始估计位置,其中,所述墙壁中的每个均用至少二维表面来表示;
通过所述一个或多个计算装置,使用应用于所获得的信息的一个或多个定义的损失函数,执行束调整优化,以更新所述多个房间的所述墙壁中的一个或多个的估计位置,并且同时确定所述多个图像中的一个或多个的更新的获取姿态信息;
通过所述一个或多个计算装置,生成所述建筑物的至少部分楼层平面图,所述至少部分楼层平面图包括使用所更新的所述多个房间的所述墙壁的估计位置形成的房间形状;以及
通过所述一个或多个计算装置,提供所述建筑物的所述至少部分楼层平面图以供进一步使用。
9.如权利要求8所述的非暂时性计算机可读介质,其中,所述存储的内容包括软件指令,当所述软件指令被执行时,使得所述一个或多个计算装置执行进一步自动操作,包括在执行所述束调整优化之前:
通过所述一个或多个计算装置,生成多个循环,所述多个循环各自包括以相同图像开始和结束的复数个所述多个图像的序列,每个循环还包括多个链接,所述多个链接各自包括所述多个图像中的具有公共墙壁部分的可见性的至少两个;
通过所述一个或多个计算装置,分析所述多个循环中的每个,以确定与关于所述循环的所述多个链接中的公共墙壁部分的信息相关联的误差量;
通过所述一个或多个计算装置,基于具有高于阈值的相关联的误差量,将至少一个循环的至少一个链接的至少一个公共墙壁部分识别为异常值;以及
通过所述一个或多个计算装置并且响应于所述识别,从所获得的信息中去除关于每个识别的公共墙壁部分的信息,所述每个识别的公共墙壁部分的信息从所识别的公共墙壁部分的至少一个循环的至少一个链接中的至少两个图像中的一个或多个提供。
10.如权利要求8所述的非暂时性计算机可读介质,其中,所述一个或多个定义的损失函数包括图像角度对应损失函数,所述图像角度对应损失函数基于当来自成对图像中的一个图像的匹配图像像素列中的一些在所述成对图像中的另一个图像中重新投影时,所述成对图像中的匹配图像像素列的位置的差异。
11.如权利要求8所述的非暂时性计算机可读介质,其中,所述一个或多个定义的损失函数包括图像墙壁位置损失函数,所述图像墙壁位置损失函数基于两个或多个图像中的可见墙壁在所述两个或更多个图像中的至少一个中重新投影的位置的差异。
12.如权利要求8所述的非暂时性计算机可读介质,其中,所述一个或多个定义的损失函数包括墙壁厚度损失函数,所述墙壁厚度损失函数基于在至少两个图像中的可见墙壁的两个面之间的距离的差异,所述距离的差异来自所述两个面中的至少一个在所述至少两个图像中的至少一个中重新投影。
13.如权利要求8所述的非暂时性计算机可读介质,其中,所述一个或多个定义的损失函数包括墙壁距离损失函数,所述墙壁距离损失函数基于多个图像中的可见墙壁边界和所述多个图像的获取地点之间的距离的差异,所述距离的差异来自所述墙壁边界在所述多个图像中的至少一个中重新投影。
14.如权利要求8所述的非暂时性计算机可读介质,其中,所述多个图像各自是全景图像,其中,所述墙壁中的每个均被建模为实体对象,其中,提供所述建筑物的所述至少部分楼层平面图包括:在至少一个装置上呈现所述至少部分楼层平面图,其中,所述一个或多个定义的损失函数包括多个定义的损失函数中的两个或更多个的组合,所述多个定义的损失函数至少包括:图像角度对应损失函数,所述图像角度对应损失函数基于当来自成对图像中的一个图像的匹配图像像素列中的一些在所述成对图像中的另一个图像中重新投影时,所述成对图像中的匹配图像像素列的位置的差异;以及图像墙壁位置损失函数,所述图像墙壁位置损失函数基于两个或多个图像中的可见墙壁在所述两个或更多个图像中的至少一个中重新投影的位置的差异;以及墙壁厚度损失函数,所述墙壁厚度损失函数基于在至少两个图像中的可见墙壁的两个面之间的距离的差异,所述距离的差异来自所述两个面中的至少一个在所述至少两个图像中的至少一个中重新投影;以及墙壁距离损失函数,所述墙壁距离损失函数基于多个图像中的可见墙壁边界和所述多个图像的获取地点之间的距离的差异,所述距离的差异来自所述墙壁边界在所述多个图像中的至少一个中重新投影,以及其中,执行所述束调整优化还包括使用两个或更多个损失函数的组合。
15.如权利要求8所述的非暂时性计算机可读介质,其中,所述存储的内容包括软件指令,当所述软件指令被执行时,使得所述一个或多个计算装置执行进一步自动操作,所述进一步自动操作包括以下项中的至少一项:
通过所述一个或多个计算装置,至少部分地基于在获取所述多个图像期间捕获的地点数据,获得关于所述多个图像的获取地点的进一步信息;以及,通过所述一个或多个计算装置,在生成所述多个图像的所述初始估计获取姿态信息或确定所更新的一个或多个图像的获取姿态信息中的至少一个期间,使用关于所述获取地点的进一步信息;或
通过所述一个或多个计算装置,至少部分地基于在所述建筑物处捕获的地点数据,获得关于所述墙壁的地点的进一步信息;以及,通过所述一个或多个计算装置,在生成所述墙壁的所述初始估计位置或确定所更新的一个或多个墙壁的估计位置中的至少一个期间,使用关于所述墙壁的地点的进一步信息。
16.如权利要求8所述的非暂时性计算机可读介质,其中,所述墙壁中的每个被建模为具有由墙壁厚度分开的两个表面的三维对象,其中,所述表面中的每个均是平面表面或曲形表面中的一个或具有多个接合的平面子表面的分段表面,并且其中,生成所述至少部分楼层平面图还包括:使用所更新的获取姿态信息以相对于彼此放置所述房间形状。
17.如权利要求8所述的非暂时性计算机可读介质,其中,所述多个图像各自仅具有RGB(红-绿-蓝)像素数据,并且其中,从对所述多个图像的所述视觉数据的分析中获得所述信息包括:
通过所述一个或多个计算装置并且使用经训练以共同确定关于所述建筑物的多种类型的信息的神经网络,分析多个图像对,所述多个图像对各自包括所述多个图像中的具有所述多个房间中的至少一个的至少部分视觉重叠的两个,针对所述多个图像对中的每个,包括:
作为所述多种类型的信息中的一个并且使用所述图像对的两个图像之间的至少一个房间的部分视觉重叠,确定多个像素列匹配的图像角度对应信息,所述多个像素列匹配各自在所述两个图像中的第一图像的第一像素列与所述两个图像中的第二图像的相应第二像素列之间,其中所述匹配的所述第一像素列和所述第二像素列两者示出所述至少一个房间的相同竖直切片,
作为所述多种类型的信息中的一个,并且基于所述图像对的所述图像的所述RGB像素数据的组合,并且对于所述图像对的所述部分视觉重叠中的所述至少一个房间,确定所述至少一个房间的结构布局信息,所述结构布局信息包括所述至少一个房间的至少一些墙壁的位置,并且包括所述墙壁中的一个与所述墙壁的附加的一个、所述至少一个房间的地板或所述至少一个房间的天花板中的至少一个之间的一个或多个边界的位置,并且包括所述至少一个房间的门道或非门道墙壁开口中的至少一个的位置;以及
作为所述多种类型的信息中的一种,并且至少部分地基于为所述图像对确定的包括所确定的多个像素列匹配的信息和所确定的结构布局信息的信息,确定所述图像对的所述图像的相对姿态信息,所述相对姿态信息包括在所述至少一个房间中的获取所述图像的所确定的获取地点;以及
通过所述一个或多个计算装置并且至少部分地基于所确定的所述多个图像对的结构布局信息,将所述多个房间的墙壁建模为实体对象,所述实体对象各自具有至少一个二维表面。
18.一种系统,包括:
一个或多个计算装置的一个或多个硬件处理器;以及
具有存储的指令的一个或多个存储器,当所述存储的指令由所述一个或多个硬件处理器中的至少一个执行时,使得所述一个或多个计算装置执行自动操作,所述自动操作至少包括:
从在建筑物的多个房间中获取的多个图像的视觉数据的分析中获得信息,其中,所获得的信息至少部分地基于示出所述多个房间的墙壁的结构元素的成对的多个图像中的视觉重叠,并且至少包括所述多个图像中的每个的初始估计获取姿态信息,并且还包括所述多个房间的所述墙壁的所述结构元素的初始估计位置,其中,所述结构元素中的至少一些结构元素各自用至少二维表面来表示;
使用应用于所获得的信息的一个或多个定义的损失函数,执行束调整优化,以更新所述结构元素中的一个或多个的估计位置,并且同时确定所述多个图像中的至少一个的更新的获取姿态信息;
生成所述建筑物的至少部分楼层平面图,所述至少部分楼层平面图包括所述多个房间的使用所更新的所述结构元素的估计位置形成的房间形状;以及
提供所述建筑物的所述至少部分楼层平面图以供进一步使用。
19.如权利要求18所述的系统,其中,所述多个图像各自为全景图像,其中,所述墙壁的所述结构元素包括各自被建模为实体对象的所述墙壁的至少部分的表面,其中,提供所述建筑物的所述至少部分楼层平面图包括:在至少一个装置上呈现所述至少部分楼层平面图,并且其中,所述一个或多个定义的损失函数包括多个定义的损失函数中的至少一个,所述多个定义的损失函数至少包括:图像角度对应损失函数,所述图像角度对应损失函数基于当来自成对图像中的一个图像的匹配图像像素列中的一些在所述成对图像中的另一个图像中重新投影时,所述成对图像中的匹配图像像素列的位置的差异;以及图像墙壁位置损失函数,所述图像墙壁位置损失函数基于两个或多个图像中的可见墙壁在所述两个或更多个图像中的至少一个中重新投影的位置的差异;以及墙壁厚度损失函数,所述墙壁厚度损失函数基于在至少两个图像中的可见墙壁的两个面之间的距离的差异,所述距离的差异来自所述两个面中的至少一个在所述至少两个图像中的至少一个中重新投影;以及墙壁距离损失函数,所述墙壁距离损失函数基于多个图像中的可见墙壁边界和所述多个图像的获取地点之间的距离的差异,所述距离的差异来自所述墙壁边界在所述多个图像中的至少一个中重新投影。
20.如权利要求18所述的系统,其中,所述存储的指令包括软件指令,当所述软件指令被执行时,使得所述一个或多个计算装置执行进一步自动操作,所述进一步自动操作包括:
通过所述一个或多个计算装置并且至少部分地基于在所述建筑物处捕获的地点数据,获得关于所述多个图像或所述墙壁的获取地点中的至少一个的进一步地点信息;以及
通过所述一个或多个计算装置,在生成所述多个图像的所述初始估计获取姿态信息、确定所更新的一个或多个图像的获取姿态信息、生成所述墙壁的所述初始估计位置、或确定所更新的一个或多个墙壁的估计位置中的至少一个期间,使用所述进一步地点信息。
CN202311496049.6A 2022-11-11 2023-11-10 用于建筑物楼层平面图生成的多个建筑物图像的自动图像间分析 Pending CN118036116A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US63/424,847 2022-11-11
US202318209420A 2023-06-13 2023-06-13
US18/209,420 2023-06-13

Publications (1)

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

Family

ID=90993955

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311496049.6A Pending CN118036116A (zh) 2022-11-11 2023-11-10 用于建筑物楼层平面图生成的多个建筑物图像的自动图像间分析

Country Status (1)

Country Link
CN (1) CN118036116A (zh)

Similar Documents

Publication Publication Date Title
US11645781B2 (en) Automated determination of acquisition locations of acquired building images based on determined surrounding room data
AU2022202811B2 (en) Automated building floor plan generation using visual data of multiple building images
CN114357598A (zh) 用于生成建筑物映射信息的自动工具
AU2022200474B2 (en) Automated exchange and use of attribute information between building images of multiple types
EP4207069A1 (en) Automated building information determination using inter-image analysis of multiple building images
AU2022200471B2 (en) Automated mapping information generation from analysis of building photos
EP4170593A1 (en) Automated analysis of visual data of images to determine the images' acquisition locations on building floor plans
AU2022259701B2 (en) Automated tools for incremental generation of building mapping information
EP4375931A1 (en) Automated inter-image analysis of multiple building images for building information determination
EP4394701A1 (en) Automated inter-image analysis of multiple building images for building floor plan generation
CN118036116A (zh) 用于建筑物楼层平面图生成的多个建筑物图像的自动图像间分析
CN118036115A (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