CN116091914A - 对图像的视觉数据进行自动化分析以确定建筑物楼层平面图上的图像采集位置 - Google Patents
对图像的视觉数据进行自动化分析以确定建筑物楼层平面图上的图像采集位置 Download PDFInfo
- Publication number
- CN116091914A CN116091914A CN202211298022.1A CN202211298022A CN116091914A CN 116091914 A CN116091914 A CN 116091914A CN 202211298022 A CN202211298022 A CN 202211298022A CN 116091914 A CN116091914 A CN 116091914A
- Authority
- CN
- China
- Prior art keywords
- building
- location
- information
- descriptor
- image
- 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
Links
- 230000000007 visual effect Effects 0.000 title claims abstract description 115
- 238000004458 analytical method Methods 0.000 title claims abstract description 24
- 238000000034 method Methods 0.000 claims abstract description 85
- 238000013528 artificial neural network Methods 0.000 claims description 20
- 230000015654 memory Effects 0.000 claims description 18
- 238000010801 machine learning Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 5
- 230000001360 synchronised effect Effects 0.000 claims description 2
- 238000005259 measurement Methods 0.000 abstract description 10
- 238000013507 mapping Methods 0.000 description 22
- 238000009877 rendering Methods 0.000 description 18
- 238000003860 storage Methods 0.000 description 18
- 239000013598 vector Substances 0.000 description 14
- 238000005070 sampling Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000005094 computer simulation Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000004807 localization Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000265 homogenisation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000011524 similarity measure Methods 0.000 description 1
- 238000012358 sourcing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
- G06V20/176—Urban or other man-made structures
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor navigation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3807—Creation or updating of map data characterised by the type of data
- G01C21/383—Indoor data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3833—Creation or updating of map data characterised by the source of data
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20072—Graph-based image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/04—Architectural design, interior design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/56—Particle system, point based geometry or rendering
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Image Analysis (AREA)
- Navigation (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
描述了用于使用计算装置来执行自动化操作以使用对图像视觉内容的分析用于确定图像的采集位置的技术。在至少一些情形中,要分析的图像包括在多房间建筑物的内部中的采集位置处采集的全景图像,并且所确定的采集位置信息包括建筑物的楼层平面图上的位置以及在一些实施方式中的取向方向信息。在至少一些这种情形中,执行采集位置确定,而无需具有或无需使用来自任何距离测量装置的与从图像采集位置到周围建筑物中的物体的距离有关的信息。可以以各种自动化方式使用采集位置信息,包括用于控制装置(例如,自主车辆)的导航,用于在一个或多个客户端装置上的对应的图形用户界面中显示等。
Description
技术领域
以下公开总体上涉及用于基于对图像的视觉数据的分析相对于楼层平面图的分析来自动地确定建筑物楼层平面图上的图像的采集位置并且随后以一种或多种方式使用所确定的采集位置信息(以便使用图像的采集位置来改善建筑物的导航)的技术。
背景技术
在各种领域和情况(诸如建筑分析、财产清查、不动产购置和开发、总承包、改造成本估算、自动化导航等)下,可能期望了解房屋、办公室或其他建筑物的内部而无需亲自前往并进入建筑物。然而,可能难以有效地捕获、表示和使用这种建筑物内部信息,包括向在远程位置处的用户显示在建筑物内部内捕获的视觉信息(例如,使得用户能够充分理解内部的布局和其他细节,包括以用户选择的方式控制显示)。另外,尽管建筑物的楼层平面图可以提供与建筑物内部的布局和其他细节有关的信息,但是这样使用楼层平面图具有一些缺点,包括楼层平面图可能难以建造和维护、难以精确地缩放和填充与房间内部有关的信息、难以可视化和以其他方式使用等。
附图说明
图1包括描绘了用于本公开的实施方式中的示例性建筑物内部环境和计算系统的图示,包括生成并呈现表示建筑物的内部的信息。
图2A至图2I说明了自动地分析与建筑物的楼层平面图有关的信息和自动地分析在建筑物的内部拍摄的视觉数据的示例,以便以自动地确定图像的采集位置并将其呈现在楼层平面图上。
图3是说明了适合于执行系统的实施方式的计算系统的框图,该系统执行本公开中所描述的技术中的至少一些。
图4A至图4B说明了根据本公开的实施方式的用于图像楼层平面图位置测绘管理器(IFPLMM)系统例程的流程图的示例实施方式。
图5说明了根据本公开的实施方式的用于建筑物地图查看器系统例程的流程图的示例实施方式。
具体实施方式
本公开描述了用于使用计算装置以执行与至少部分地基于对图像的视觉数据的分析和与对应的经分析的楼层平面图信息的比较来确定图像的采集位置有关的自动化操作并且随后以一种或多种进一步自动化的方式使用所确定的图像采集位置信息的技术。在至少一些实施方式中,待分析的图像包括在多房间建筑物(例如,房屋、办公室等)的内部的一个或多个采集位置采集的一个或多个全景图像或其他图像(例如,直线立体图像),并且所确定的图像采集位置信息至少包括建筑物的楼层平面图上的位置并且在一些情形中还包括图像的至少一部分的取向或其他方向信息,在至少一些这种实施方式中,自动化图像采集位置确定进一步在不具有或不使用来自任何深度传感器或其他距离测量装置的关于从图像的采集位置到周围建筑物中的墙壁或其他物体的距离的任何采集的深度数据的情况下执行。在各种实施方式中,还可以以各种方式使用所确定的图像采集位置信息,诸如与对应的建筑物楼层平面图和/或其他生成的测绘相关信息(例如,建筑物内部的三维模型)结合使用,包括用于控制移动装置(例如,自主车辆)的导航、用于在一个或多个客户端装置上的对应GUI(图形用户界面)中显示或其他呈现等。下文包括关于所确定的图像采集位置信息的自动化采集和使用的附加细节,并且在至少一些实施方式中,本文描述的技术中的一些或全部可以经由图像楼层平面图位置测绘管理器(“IFPLMM”)系统的自动化操作来执行,如下面进一步讨论。
在至少一些实施方式和情形中,对于建筑物的采集的图像中的一些或全部各自是在建筑物中或建筑物周围的采集位置处采集的全景图像,以便以从以下一个或多个生成在多个这种采集位置中的每一个处的全景图像:在该采集位置处的视频(例如,从由用户握持的智能电话或其他移动装置在该采集位置处转动而拍摄的360°视频)、或在多个方向上从采集位置采集的多个图像(例如,从由用户握持的智能电话或其他移动装置在该采集位置处转动)、或所有图像信息的同时捕获(例如,使用一个或多个鱼眼镜头)等。将了解,在一些情形中,这种全景图像可以使用等矩形投影来呈现(其中环境中的竖直线和其他竖直信息在投影中被示出为直线,并且其中如果环境中的水平线和其他水平信息位于图像的水平中心的上方或下方,则在投影中以弯曲的方式示出环境中的水平线和其他水平信息,并且其中弯曲量随着与水平中心线的距离增加而增加),并且提供围绕水平轴和/或竖直轴的高达360°覆盖范围,使得查看起始全景图像的用户可以在起始全景图像内将查看方向移动到不同的取向以致使在起始全景图像内渲染不同的图像(或“视图”)(包括使用平面坐标系来呈现被渲染为立体图像的图像)。此外,在一些实施方式中,可以以各种方式获得和使用关于这种全景图像的捕获的采集元数据,诸如在移动装置被用户携带或以其他方式在采集位置之间移动时从IMU(惯性测量单元)传感器或移动装置的其他传感器采集的数据,而在其他实施方式中,不采集或使用这种采集元数据(例如,以便仅基于图像的视觉数据来确定建筑物楼层平面图上的所采集的图像的采集位置)。下面包括与建筑物的全景图像或其他图像的采集和使用相关的另外细节。
如上所述,IFPLMM系统的自动化操作可以包括至少部分地基于对图像内容中包括的视觉信息的分析来确定在建筑物的限定区域中(例如,在房屋或其他建筑物的房间内)捕获的图像的采集位置。在至少一些实施方式中,对图像的采集位置的这种自动化确定可以包括以下操作中的一些或全部:使用经训练的神经网络(例如,深度卷积神经网络)来分析图像并确定图像内容的视觉数据的特征(例如,基于每个像素的颜色和/或估计深度;基于相关联的像素组的信息,诸如颜色和/或纹理和/或估计深度等,或者更一般地确定由经训练的神经网络生成的一个或多个潜在空间视觉数据特征);创建具有与图像的视场对应的度数的图像的圆形描述符(例如,表示具有360°水平视觉覆盖范围的全景图像的360度的圆形描述符、表示具有180°水平视觉覆盖范围的全景图像的180°的圆形描述符、表示具有72°水平视觉覆盖范围的非全景立体图像的72度的圆形描述符等)并且其中图像圆形描述符的每一度对关于图像视觉数据中的对应度的来自图像的所确定的特征的信息进行编码(例如,相对于图像内的被指定为0°或以其他方式指定为起始角度或方向的方向);以及将图像圆形描述符与各自表示与建筑物相关联的对应位置的来自建筑物楼层平面图的信息的一个或多个对应的建筑物位置圆形描述符进行比较,其中然后识别一个或多个与建筑物位置圆形描述符最匹配并将其用于确定房间或与建筑物相关联的其他区域中的图像的采集位置。
出于说明性示例的目的,考虑在建筑物的房间中捕获的全景图像,其中全景图像包括围绕竖直轴的360°水平覆盖范围(例如,完整圆从全景图像的采集位置示出房间的所有墙壁,除非墙壁的一部分被房间中的中间物体和/或被另一中间墙壁遮挡,诸如对于不是纯粹矩形的房间形状),并且其中图像的视觉内容的x轴和y轴与房间中的对应水平和竖直信息对准(例如,两个墙壁之间的边界、墙壁与地板之间的边界、窗和门的底部和/或顶部等),使得图像不倾斜或以其他方式相对于房间未对准。出于该示例的目的,可以以与该全景图像的0°的相对起始水平方向对应的向北方向的相机取向开始,并且以圆继续,使用变化的相机取向在来自采集位置的多个方向按顺序执行图像捕获,其中该全景图像的相对90°水平方向然后与向东方向对应,该全景图像的相对180°水平方向与向南方向对应,该全景图像的相对270°水平方向与向西方向对应,并且该全景图像的相对360°水平方向回到向北方向。在至少一些实施方式中,关于全景图像的视觉数据的所识别的特征位置的信息以特定于始于采集位置的方向的这种角度的方式(例如,相对于全景图像的起始位置)进行编码,从而产生对图像中的约360°视觉覆盖范围的信息进行编码的图像的图像圆形描述符,因此这种图像的图像圆形描述符可以对关于在每个水平360度中识别出哪些特征的信息进行编码(例如,以将在该水平度方向上的一系列竖直度方向中的给定水平度方向的特征信息进行组合)。在各种实施方式中,关于所识别的特征位置的这种信息可以以各种方式进行编码和存储,包括在一些实施方式中对于每个方向角度具有一个或多个值的阵列或向量,以便识别存在于给定角方向上的一个或多个特征。另外,在其他实施方式和情形中,可以以除了基于与图像的起始方向的角度差的方式识别和呈现图像的特征信息,从而导致以类似方式使用的其他类型的图像描述符。下面包括有关这种图像圆形描述符的构建和使用的附加细节,包括关于图2D至图2I的示例的细节及其相关联的描述。
如上所述,通过IFPLMM系统的实施方式对建筑物的房间(或其他限定的建筑物区域)中的图像的采集位置的自动化确定可以包括将在图像的生成的图像圆形描述符中编码的角信息与从建筑物的平面图生成的建筑物位置圆形描述符中的对应角信息进行匹配,以便确定房间或其他区域中的特定图像采集位置(和任选地取向)。为了从建筑物的平面图生成建筑物位置圆形描述符,IFPLMM系统的自动化操作还可以包括:以建筑物的现有楼层平面图(诸如二维栅格化楼层平面图)开始,该二维栅格化楼层平面图使用自顶向下视图来至少示出建筑物内部的墙壁结构并且任选地具有附加的相关联信息,诸如关于结构墙壁元素的语义信息(例如,门、窗和其他房间间墙壁开口的位置)和/或与建筑物相关联的附加区域的结构信息(例如,一个或多个附加的外部结构,诸如独立的车库或简易车库、附属住所单元、棚屋等;一个或多个其他外部区域,诸如后院、花园、门廊、平台、露台、阳台、人行道或其他路径等);并且生成与楼层平面图的至少结构信息对应的点云(例如,二维或“2D”点云;如果可获得附加的高度信息的话,三维或“3D”点云;等),点云中的每个点可以进一步被分配一种或多种类型的相关联信息,诸如楼层平面图上的2D位置(例如,与指定位点的相对位置,以便将X-Y轴的最低和最左边点视为0,0)、法线方向(例如,相对于由该点和相邻的点形成的平面表面)、与该楼层平面图位置相关联的相关联语义信息(如果有的话)等。在至少一些实施方式中,对楼层平面图的一个或多个建筑物位置圆形描述符的这种自动化确定可以包括以下操作中的一些或全部:使用经训练的神经网络(例如,深度卷积神经网络,诸如与用来分析图像的视觉数据的神经网络类似但分开训练)来分析楼层平面图点云数据和任何附加的相关联信息以确定对应的特征(例如,由经训练的神经网络生成的一个或多个潜在空间数据特征);以及对于每个房间或与建筑物相关联的其他区域,创建该房间或其他区域的一个或多个建筑物位置圆形描述符(例如,该房间或其他区域内的多个位置的多个建筑物位置圆形描述符,诸如在网格或其他选择的信息中),每个建筑物位置圆形描述符具有选择的度数(例如,360°)并且其中建筑物位置圆形描述符的每一度对关于来自楼层平面图的任何确定的特征的信息和存在于距该建筑物位置的楼层平面图中的对应度方向(例如,其中被指定为0°或以其他方式指定为起始角度或方向的方向,诸如与向北方向或2D楼层平面图上的向上方向对应)的任何楼层平面图点云点的相关联信息进行编码。这种建筑物位置圆形描述符可以预先确定,例如,在生成或使用任何对应的图像圆形描述符之前,或者在一些情形中,反而可以在用于与在建筑物的相关联区域中拍摄的图像的图像圆形描述符比较时动态地创建。在一些实施方式中,建筑物位置的建筑物位置圆形描述符的特定度的特征信息可以对关于以下项的信息进行编码:从建筑物位置到在距建筑物位置该特定度的方向上的点云的任何点的入射角(例如,使用一组枚举的入射角范围,诸如相对于点的法线方向),以及建筑物位置与点的位置之间的估计距离的信息(例如,使用一组枚举的距离范围)。另外,在至少一些实施方式中,附加信息可以与对于建筑物房间或其他区域生成并用于比较新图像的图像圆形描述符的建筑物位置圆形描述符相关联,以便还使用并编码来自先前已经在该房间或其他区域内定位的一个或多个其他图像的建筑物位置圆形描述符中的视觉数据(通过至少确定该房间或其他区域内的这种图像的采集位置并且通过任选地进一步确定该房间或其他区域内的图像的取向来定位,以便共同指定房间或其他区域内的图像的“姿势”,并且诸如其中任选地通过将特定图像角度或其他方向与房间或其他区域的对应的楼层平面图角度或其他方向相关联来识别取向,以便将图像和楼层平面图的不同旋转坐标系对准,诸如其中任选地通过确定与图像和楼层平面图内的方向相对应的地理方向(诸如北方)等来识别取向)。
一旦对于房间或建筑物的其他区域中的多个房间位置生成或以其他方式获得多个建筑物位置圆形描述符,则可以将它们与在房间或其他区域中拍摄的图像的图像圆形描述符进行比较或以其他方式匹配,以便确定建筑物位置圆形描述符中的最佳匹配的至少一个,其中然后至少部分地基于与建筑物位置圆形描述符最匹配的房间位置来识别图像的采集位置。例如,在一些实施方式和情形中,图像的确定采集位置可以被选择为与建筑物位置圆形描述符最匹配的房间位置,或相反,在其他实施方式和情形中,图像的确定采集位置可以被确定为在距该房间位置的小距离内(例如,在基于图像圆形描述符与该最佳匹配的建筑物位置圆形描述符之间的差异的方向和/或量上),诸如通过使用经训练的神经网络(例如,与用于确定图像和建筑物楼层平面图点云的特征的一个或多个神经网络分开)来将图像采集位置细化到具有限定的建筑物位置圆形描述符的建筑物位置之间的位置。图像圆形描述符和建筑物位置圆形描述符的匹配过程可以包括以一种或多种方式(包括以独立旋转(rotation independent)方式)确定两个圆形描述符之间的距离和/或相似性/不相似性的量,诸如通过确定两个圆形描述符匹配的概率(其中最高匹配概率与最小不相似性和/或距离对应),通过测量正在比较的圆形描述符的向量的其他编码格式之间的差异等,作为一个非排他性示例,可以使用圆形推土机的距离度量来以独立旋转方式比较两个这种圆形描述符的向量(例如,不管两个圆形描述符是否使用房间中的与其相应的相对起始点相同的方向),而在其他实施方式中,可以以其他方式处理两个描述符之间的旋转差异。另外,在一些实施方式中,匹配过程可以包括将图像圆形描述符与每个可能的建筑物位置圆形描述符(例如,对于其中可能已经捕获图像的一个或多个候选建筑物生成的所有建筑物位置圆形描述符)进行比较,而在其他实施方式中,可以只考虑特定建筑物的建筑物位置圆形描述符的子集(例如,通过使用限定的相似性或不相似性度量来执行最近邻梯度上升或下降搜索)。下面包括有关这种建筑物位置圆形描述符(包括用于与一个或多个图像圆形描述符比较)的构建和使用的附加细节,诸如关于图2A至图2I的示例的细节及其相关联的描述。
在各种实施方式中,所描述的技术提供各种益处,包括允许用关于在建筑物或其他结构中或周围采集图像的采集位置的信息自动地增强多房间建筑物和其他结构的楼层平面图,包括不具有或不使用来自深度传感器或其他距离测量装置的关于从图像的采集位置到周围建筑物或其他结构中的墙壁或其他物体的距离的信息,在至少一些这种实施方式中,进一步在不具有或不使用来自图像的预测房间布局和/或不具有先前与建筑物楼层平面图上的确定的采集位置配准的任何其他图像的情况下执行对与一个或多个建筑物相关联的区域中的图像采集位置的确定。此外,这种自动化技术允许比先前存在的技术更快地确定这种图像采集位置信息,并且在至少一些实施方式中具有更高的准确度,包括通过使用从实际建筑物环境(而不是从关于理论上应该如何建造建筑物的平面图)采集的信息,以及如果对应的建筑物楼层平面图反映实际建筑物环境和/或这种变化的话,使得能够捕获在最初建造建筑物之后出现的结构元素变化。这种所描述的技术进一步提供了至少部分地基于所确定的图像采集位置来允许改善由移动装置(例如,半自主或全自主车辆)对建筑物的自动导航方面的益处,包括显著减少用于尝试以其他方式获悉建筑物的布局的计算能力和时间。另外,在一些实施方式中,所描述的技术可以用于提供改善的GUI,其中用户可以更准确地且更快速地获得关于建筑物内部的信息(例如,供在该内部导航时使用),包括响应于搜索请求,作为向用户提供个性化信息的一部分,作为向用户提供关于建筑物的价值估计和/或其他信息的一部分等。所描述的技术还提供了各种其他益处,其中一些在本文的其他地方进一步描述。
如上所述,IFPLMM系统的自动化操作可以包括:至少部分地基于对图像内容中包括的视觉信息的分析,确定在限定区域中(例如,在房屋或其他建筑物的房间内)拍摄的图像的采集位置。在至少一些实施方式中,这种IFPLMM系统可以与一个或多个单独的ICA(图像捕获和分析)系统和/或一个或多个单独的MIGM(测绘信息和生成管理器)系统结合操作,以便获得和使用来自MIGM系统的建筑物楼层平面图和其他关联信息和/或获得来自ICA系统的对于建筑物定位的图像,而在其他实施方式中,这种IFPLMM系统可以将这种ICA和/或MIGM系统的一些或全部功能并入作为IFPLMM系统的一部分。在另外的其他实施方式中,IFPLMM系统可以在不使用ICA和/或MIGM系统的一些或全部功能的情况下操作,诸如如果IFPLMM系统从其他来源(例如,从由一个或多个用户进行的手动创建、从由一个或多个外部系统或其他来源对这种建筑物楼层平面图和/或关联信息的提供,等)获得关于建筑物楼层平面图的信息和/或其他关联信息,和/或如果IFPLMM系统从其他来源(例如,从终端用户,诸如以众包方式)获得关于待定位的图像的信息。另外,以本文描述的方式使用的建筑物楼层平面图可以呈各种格式(无论是最初获得的和/或在由IFPLMM系统进行初始自动化分析之后),在至少一些实施方式中包括呈向量化形式,该向量化形式具有关于结构元素的位置的指定信息,结构元素诸如为以下各项中的一个或多个:墙壁、窗、门道和其他房间间开口、拐角等(例如,在最初收到建筑物楼层平面图的进行分析以产生向量化形式的非向量化图像形式之后)。
关于这种ICA系统的功能,在至少一些实施方式中,它可以执行自动化操作,以在与建筑物相关联的一个或多个采集位置处(例如,在建筑物的多个房间的内部、在一个或多个外部位置处等)采集一个或多个图像(例如,全景图像),以及任选地进一步采集与图像采集过程和/或捕获装置在多个采集位置之间的移动有关的元数据。例如,在至少一些这种实施方式中,这种技术可以包括:使用一个或多个移动装置(例如,具有一个或多个鱼眼镜头并安装在可旋转三脚架上或以其他方式具有自动化旋转机构的相机;具有足以在不旋转的情况下水平地捕获360°的一个或多个鱼眼镜头的相机;由用户握持和移动的智能电话,以便围绕竖直轴在360°圆旋转用户的身体并握持智能电话;由用户握持或安装在用户身上或用户衣服上的相机;安装在以空中和/或地面为基础的无人机或机器人装置上的相机;等)来从一个或多个采集位置捕获视觉数据,但不从任何深度传感器或其他距离测量装置采集关于采集位置和采集位置周围的环境中的物体之间的距离的信息,诸如从房屋(或其他建筑物)的多个房间内的一系列多个采集位置捕获视觉数据。本文的其他地方包括关于实施ICA系统的装置的操作的附加细节,以便执行这种自动化操作、以及在一些情况下以一种或多种方式进一步与一个或多个ICA系统操作员用户交互以提供进一步的功能。
关于这种MIGM系统的功能,在至少一些实施方式中,它可以执行自动化操作,以分析已对于建筑物内部(和任选地建筑物外部)采集的多个360°全景图像(和任选地其他图像)并且对于那些全景图像中的一些或全部来确定房间或其他区域的形状以及连接房间或其他区域的通道的位置,以及在至少一些实施方式和情形中确定建筑物的一些或全部房间或其他区域的墙壁元素和其他元素。两个或更多个房间或其他区域之间的连接通道的类型可以包括以下各项中的一个或多个:门道开口和其他房间间非门道墙壁开口、窗、楼梯、非房间走廊等,并且对图像的自动化分析可以至少部分基于识别通道的轮廓、识别通道内的与它们外部不同的内容(例如,不同的颜色或阴影)等来识别这种元素。自动化操作还可以包括:使用所确定的信息来生成建筑物的楼层平面图和任选地生成建筑物的其他测绘信息(例如,建筑物内部和/或外部的3D模型),诸如通过使用房间间通道信息和其他信息来确定房间或其他区域的关联形状彼此的相对位置,以及任选地将距离缩放信息和/或各种其他类型的信息添加到所生成的楼层平面图。另外,在至少一些实施方式中,MIGM系统可以执行进一步的自动化操作,以确定附加信息并将附加信息与建筑物楼层平面图和/或楼层平面图内的特定房间、区域或位置相关联,以便分析在建筑物内部捕获的图像和/或其他环境信息(例如,音频)以确定特定属性(例如,特定元素的颜色和/或材料类型和/或其他特性,特定元素诸如为地板、墙壁、天花板、台面、家具、灯具、电器、等;特定元素的存在和/或不存在,特定元素诸如为厨房中的岛;等),或以其他方式确定相关属性(例如,建筑物元素面向的方向,建筑物元素诸如为窗;来自特定窗或其他位置的视图;等)。下面包括关于实施MIGM系统的计算装置的操作的附加细节,以便执行这种自动化操作、以及在一些情况下以一种或多种方式进一步与一个或多个MIGM系统操作员用户交互以提供进一步的功能。
在各种实施方式中,所描述的技术提供各种益处,包括改善对挖掘机工程车辆和/或其他工程车辆的自主操作(例如,全自主操作)的控制,诸如至少部分地基于训练一个或多个这种工程车辆(例如,一种或多种工程车辆类型)的一个或多个机器学习行为模型并且使用经训练的机器学习行为模型来控制一个或多个对应的工程车辆的对应的自主操作。此外,这种自动化技术允许比先前存在的技术更快且以更高的准确度执行这种训练和使用,包括显著减少所使用的计算能力和时间。另外,在一些实施方式中,所描述的技术可以用于提供改善的GUI,其中用户可以更准确地且更快速地获得关于挖掘机工程车辆和/或其他工程车辆的操作的信息,包括响应于搜索请求或其他指令,作为向用户提供个性化信息的一部分等。所描述的技术还提供了各种其他益处,其中一些在其他地方进一步描述。
出于说明性目的,下文描述一些实施方式,其中对于特定类型的结构以特定方式并通过使用特定类型的装置来采集、使用和/或呈现特定类型的信息。然而,将理解,所描述的技术可以在其他实施方式中以其他方式使用,并且因此本发明不限于所提供的示例性细节。作为一个非排他性示例,尽管在一些实施方式中对于图像和房间位置生成特定类型的圆形描述符并且以特定方式比较或以其他方式匹配这些圆形描述符,但将了解,可以在其他实施方式中类似地生成并使用用于描述图像内容和房间位置的其他类型的信息,包括对于与房屋分离的建筑物(或其他结构或布局),并且可以在其他实施方式中以其他方式使用所确定的图像采集位置信息。另外,术语“建筑物”在本文中是指任何部分地或完全地封闭的结构,通常但不一定涵盖在视觉上或以其他方式划分结构的内部空间的一个或多个房间,这种建筑物的非限制性示例包括房屋、公寓大楼或其中的个人公寓、共管公寓、办公楼、商业建筑物或其他批发和零售结构(例如,购物中心、百货公司、仓库等)等。如本文参考建筑物内部、采集位置或其他位置(除非上下文另有明确指示)使用的术语“采集”或“捕获”可以是指对与建筑物内部的空间特性和/或视觉特性和/或在其他方面可感知的特性或其子集有关的媒体、传感器数据和/或其他信息的任何记录、存储或录入,诸如通过记录装置或通过从记录装置接收信息的另一个装置。如本文所使用,术语“全景图像”可以是指基于、包括或可分成源于不同方向上的基本上类似物理位置的多个离散分量图像并且描绘比离散分量图像中的任一个单独描绘的更大视场的视觉表示,包括(但不限于)来自物理位置的具有足够宽的视角以包括超出人凝视单个方向可感知到的角度的图像。如本文所使用,术语“一系列”采集位置通常是指两个或更多个采集位置,每个采集位置按对应的顺序被访问至少一次,而无论在它们之间是否访问过其他非采集位置,以及无论对所述采集位置的访问是在单个连续时间段期间还是在多个不同时间发生、或者是由单个用户和/或装置还是由多个不同用户和/或装置进行。另外,出于示例性目的,在附图和文本中提供了各种细节,但这些细节并不旨在限制本发明的范围。例如,附图中元件的尺寸和相对位置未必按比例绘制,一些细节被省略和/或更突出地提供(例如,经由尺寸和定位)以增强易读性和/或清晰度。此外,在附图中可以使用相同的附图标记来识别相同或类似的元件或动作。
图2A至图2I说明了自动地分析关于建筑物的楼层平面图的信息和自动地分析在建筑物的内部捕获的图像的视觉数据的示例,以便自动地确定图像的采集位置并将其呈现在楼层平面图上(例如,对于参考图1进一步讨论的建筑物198)。
特别地,图2A示出了示例2D楼层平面图信息230a(例如,以向量化格式呈现),连同包括关于在房间或其他区域的楼层平面图上说明的元素(例如,门、窗、平台、后院和/或露台、附属住所单元或其他外部结构等)的语义信息的图例269a,以及任选的地理方向指示符209。尽管示例建筑物是多层住宅(具有靠近楼层平面图的中右底部示出的较高楼层的楼梯),但为了简单起见,示例2D楼层平面图信息230a仅示出了主要楼层的子楼层平面图。将了解,这种楼层平面图信息通常将包括多个楼层或其他单独的部分、任选地具有它们如何链接或以其他方式关联在一起的视觉指示,并且可以对楼层平面图信息的所有这种部分执行所描述类型的处理。关于图1以及在图2F至图2G中更详细地示出的其部分、各个房间260(包括作为最左边房间的客厅260a)并且关于在主建筑物(房屋198)外部的区域进一步讨论与楼层平面图信息230a对应的房屋198和关联的周围区域的示例,该外部区域包括外部平台或露台或阳台186、较大的外部后院或露台187、外部附加结构188(例如,车库、棚屋、附属住所单元、温室等)。IFPLMM系统(未示出)的自动化操作包括分析2D楼层平面图信息230a以生成具有多个点P 232的关联2D点云231(例如,基于定义的采样率或大小,诸如每Y距离X个点)。在此示例实施方式中,对2D楼层平面图信息230a的分析包括生成每个点P的信息,每个点P的信息包括2D XY位置向量x、法线方向向量n和语义信息s,其中特定点Pi被示出为具有对应的关联信息xi、ni和si。
图2B继续图2A的示例,并且说明了2D点云231如何供应到IFPLMM系统的已经被训练为向楼层平面图的2D点云分配特征的神经网络274b(例如,使用正标记和负标记的训练示例),以产生具有各自与潜在空间特征的向量lsf相关联的多个点P 234的增强2D点云233,其中特定点Pi被示出为具有对应的关联信息lsfi。
图2C继续图2A至图2B的示例,并且说明了增强2D点云233如何供应到IFPLMM系统的渲染部件273,该渲染部件273生成建筑物的房间或其他区域的多种建筑物位置圆形描述符278,其中在此示例中以网格布局生成建筑物位置圆形描述符。例如,在增强2D点云233内说明并用为其生成建筑物位置圆形描述符的示例建筑物位置的网格268更详细地示出房间260a。所说明的建筑物位置268仅仅是为其生成建筑物位置圆形描述符278的建筑物位置的部分子集(例如,在整个房屋中延伸的较大建筑物位置网格的一部分,未示出),因为为了简洁起见,仅说明了单个房间的建筑物位置,但全部的建筑物位置也将包括建筑物的一些或全部其他房间,并且可以进一步任选地包括在主房屋198外部的说明区域中的一些或全部(例如,外部平台或露台或阳台或后院或附加外部结构等中的一些或全部)。图2C进一步说明了关于与示例网格位置268c5对应的特定建筑物位置圆形描述符278c5的信息。将了解,这种网格内的位置可以以各种方式确定(例如,基于定义量的行和/或列,基于定义的房间位置总量,基于相邻的房间位置之间的定义水平和/或竖直距离等),并且在其他实施方式中,一组房间位置可以具有除了网格以外的形式(在一些情况下,包括随机地或在其他方面以不规则方式选择)。在至少一些实施方式中,将为房间位置中的每一个生成建筑物位置圆形描述符,诸如供稍后用于将那些建筑物位置圆形描述符与用于图像的图像圆形描述符进行比较以便确定建筑物位置圆形描述符中的哪一个与该图像圆形描述符最佳匹配。
在此示例中,每个建筑物位置圆形描述符使用向北方向来与0°对应,以顺时针方式继续360°。在各种实施方式中,用于给定房间位置的建筑物位置圆形描述符可以以各种方式生成,包括通过使用几何技术来确定从给定房间位置和起始方向到点云点的给定位置(例如,在墙壁上)的角量。出于说明目的,说明了房间260a的各种点云点233a至233q,其中在示例建筑物位置圆形描述符278c5中说明了对应的特征信息。尽管在图2C所示的示例建筑物位置圆形描述符278c5中以线性方式表示360度,但将了解,在其他实施方式中,建筑物位置圆形描述符反而可以被表示为圆或环(或如果使用小于360°,则表示为弧)。图2C进一步说明了关于可以作为特定点云点的渲染特征信息的一部分使用的属性的信息270,其中信息272说明可以对于建筑物位置268c5的建筑物位置圆形描述符278c5的点云点234g至234i生成的特征信息的示例。在此示例中,属性包括一组枚举的入射角范围中的角信息、一组枚举的距离范围的距离信息以及任选地其他属性信息,以便提供对建筑物位置的周围几何形状的感觉。在其他实施方式中,属性可以以其他方式编码(例如,用入射角和/或距离的精确值而不是范围;不论代替还是补充入射角和/或距离,使用除了入射角和/或距离外的属性信息;等)。特别地,在此示例中,关于点234g,其具有对于建筑物位置268c5的入射角gg0(与在0°和10°之间的入射角对应)和对于建筑物位置268c5的距离值hg1(与在0.5米和1米之间的距离对应),其中对应的特征fg向量存储在建筑物位置圆形描述符278c5的对应位置(在此示例中,对于这一点使用“234g”附图标记进行标记)。对于从建筑物位置268c5可见的点中的每一个编码并存储类似的信息,并且对于其他建筑物位置及其关联的所生成的建筑物位置圆形描述符中的每一个进行类似的处理。在至少一些点中,当生成建筑物位置圆形描述符时,首先应用遮挡测试以发现对该建筑物位置可见的一组点,并且基于观察到点的角度,将点投影到建筑物位置圆形描述符。
图2D继续图2A至图2C的示例,并且说明了可以使用在图2C中生成的建筑物位置圆形描述符278来确定采集位置的替代性示例全景图像255d和250d,以及说明了实际上采集示例全景图像的房间260a中的位置265的附加信息。在此示例中,全景图像255d表示从房屋198的客厅260a中的采集位置265采集的180°全景图像,如使用用于房屋260a的楼层平面图摘录上的信息265和267所示,并且全景图像250d表示从采集位置265拍摄的360°全景图像。使用这种全景图像255d或250d,可以向终端用户(未示出)显示全景图像的各种子集,其中示例子集251d被示出为全景图像255d的一部分。可选地,子集251d反而可以表示在房屋198的客厅260a中的采集位置265采集的单独立体图像,其中反而对于立体图像执行采集位置确定(无论是代替还是补充对于全景图像255d和/或250d的采集位置确定)。在此示例中,全景图像255d和250d以及立体图像251d中的一个或多个供应到IFPLMM系统的被训练为生成每个供应的图像的对应图像圆形描述符279的神经网络274d。由于在此示例中,全景图像255d和立体图像251d不延伸到完整的360°水平度,因此任一个的对应图像圆形描述符将对小于360°的信息进行编码,如本文中其他地方所讨论。出于说明的目的,该示例继续全景图像250d及其对应的图像圆形描述符279d。特别地,全景图像250d是在房屋的客厅中捕获的,并且在此示例中,包括围绕竖直轴的360°水平覆盖范围,其中以等量矩形格式显示图像,并且其中图像的视觉内容的x和y轴与房间中对应的水平和竖直信息(例如,两个墙壁之间的边界、墙壁和地板之间的边界、窗和门的底部和/或顶部等)对准。在此示例中,图像捕获可以例如在相机取向在与全景图像250d的0°相对起始水平方向对应的向西方向上的情况下开始并以完整的圆继续,其中该全景图像的相对90°水平方向然后与向北方向对应,该全景图像的相对180°水平方向与向东方向对应,360°全景图像的相对270°水平方向与向南方向对应,并且360°全景图像的相对360°结束水平方向回到向西方向。因此,对于图像圆形描述符279d的从0°至约20°的每一度,图像圆形描述符将对关于图像的视觉数据中的与房间260a的西墙对应的特征的信息进行编码,以0°处的面向西的窗的大约水平中间(例如,透射穿过窗的那些部分或从其反射的视觉信息)开始并且包括在图像的视觉数据中的在该水平方向上的竖直信息(例如,在窗的竖直切片上方和下方的墙壁,并且继续到在该水平方向上的天花板和地板的可见部分),其中示出了在该范围内的示例特征236a和236b。由于图像的视觉数据内的水平方向到达该窗的北端并且继续朝向西北角195-1,因此图像圆形描述符279d将继续对关于图像的视觉数据中的与房间260a的西墙对应的特征的信息进行编码,其中特征236c与在大约35°处示出的西北角195-1对应。由于图像的视觉数据内的水平方向继续经过西北角195-1并且继续朝向东北角195-2,因此图像圆形描述符279d将继续对关于图像的视觉数据中的与房间260a的北墙对应的特征的信息进行编码,从而以与在大约165°处示出的东北角195-2对应的特征236d结束。对于全部的360°,继续视觉数据特征的这种编码。如先前所述,在各种实施方式中,可以以各种方式编码和存储关于圆形描述符中的所识别特征的所确定的位置的信息,包括以对于每个方向角度具有一个或多个值的向量或阵列的形式,以便识别在给定角方向上存在的特征。在其他实施方式中,可以在圆形描述符中表示除单个水平度以外的其他角信息,诸如小于单个度或改为多个度,和/或表示竖直度(无论是代替还是补充水平度)。另外,虽然在以上示例中全景图像是以向西为起始方向捕获的,但将了解,在其他情形中,可以以其他方式捕获全景图像。例如,其他全景图像可以具有不同的起始方向,或者如果全景图像改为使其整个水平覆盖范围被同时捕获(例如,经由一个或多个鱼眼镜头),则可以选择特定方向以将其视为该全景图像的相对0°(例如,任意选择;通过使用预定义方向,诸如向北;等)。
图2E继续图2A至图2D的示例,并且包括IFPLMM系统的一个或多个部件276,该一个或多个部件276将来自图2D的示例图像圆形描述符279d和图2C的建筑物位置圆形描述符278作为输入,并且在楼层平面图230a上生成全景图像250d的所确定的采集位置277。部件276可以包括例如选择最佳匹配的建筑物位置圆形描述符的基于旋转的匹配器部件,以及任选地被训练为将图像的采集位置细化到包括与建筑物位置圆形描述符278对应的建筑物位置之间的位置的神经网络。另外,图2E以与图2C的方式类似的方式进一步说明了客厅260a的楼层平面图的摘录,包括示出来自图2C的房间位置网格,但图2E中的网格288包括关于用于每个房间位置的关联的建筑物位置圆形描述符与图像圆形描述符279d的匹配度的附加信息(例如,以类似于热图的方式)。在此示例中,相似性/不相似性信息288指示网格房间位置268c5与图像圆形描述符279d具有最高匹配度(例如,最高相似度、最低不相似度、最低距离等),而d列第3行和第4行以及e列第4行处的房间位置具有次最高的匹配度,并且随着它们到房间位置268c5的距离增加,各种其他房间位置通常在其匹配度方面降低。在至少一些实施方式中,图像圆形描述符与房间的建筑物位置圆形描述符的比较可以包括:在所选的房间位置(例如,随机地选择、在房间中心处或附近选择,等)处开始,诸如此示例中的房间位置268g4;以及使用最近邻搜索在具有较高匹配度的相邻房间位置的方向上重复移动,直到识别出最佳匹配为止,如在房间位置268c5的摘录260f中所说明,但在其他实施方式中,可以使用其他匹配技术(例如,与所有建筑物位置圆形描述符的详尽比较,但不使用这种增量搜索)。在确定了具有最佳匹配的房间位置之后,房间中的对应位置可以被指派为360°全景图像的所确定的采集位置289,诸如在此说明的示例中该最佳匹配的建筑物位置圆形描述符的那个房间位置,或者在一些实施方式中,基于由IFPLMM系统部件执行的附加细化处理,在距那个房间位置一小段距离内(例如,基于图像圆形描述符和最佳匹配的建筑物位置圆形描述符之间的差异的量和/或类型所计算的距离)。一旦确定了360°全景图像的采集位置(无论在最近建筑物位置289还是实际位置265处),其就可以与楼层平面图一起存储和/或在其他方面以一种或多种方式使用,如在本文的其他地方更详细地讨论。
虽然在图2A至图2E的示例中未说明,但在一些实施方式和情形中,可以对于可能已在一个或多个建筑物的多个候选区域中的任一个中捕获的图像来执行采集位置确定。在各种实施方式中,可以以各种方式执行这种采集位置确定活动,以便考虑每个可能的区域和/或建筑物并跨越所有这些区域和/或建筑物找到最佳匹配的建筑物位置,以在执行匹配之前使该组可能的候选区域变窄(例如,通过尝试从图像中识别仅存在与可能的候选区域中的一个或子集中的一个或多个特征和/或视觉元素,通过使用GPS或与图像采集相关联的其他位置信息,等)。在这种实施方式中,建筑物的建筑物位置圆形描述符的网格可以延伸遍及建筑物的一些或全部房间和/或其他区域,并且图像的圆形描述符与建筑物的建筑物位置圆形描述符的最佳匹配的对应搜索可以延伸跨越多个房间或其他区域的建筑物位置圆形描述符(例如,可以包括考虑为建筑物生成的所有建筑物位置圆形描述符)。
关于从房间中的多个可能建筑物位置中找到图像圆形描述符279d的最佳匹配的建筑物位置圆形描述符,在各种实施方式中,可以以各种方式将用于网格中的房间位置的建筑物位置圆形描述符中的一些或全部与图像圆形描述符279d进行比较以确定匹配度。例如,在一些实施方式中,圆形推土机的距离度量可以用于以与独立旋转的方式比较两个这种描述符,使得这两个描述符可以具有指向不同方向的相对0°起始方向。在其他实施方式中,可以使用距离或相似性/不相似性的其他量度,诸如通过为每个角度测量距离并跨越所有角度聚合该信息。
另外,为了在距离或相似性/不相似性度量不是与独立旋转的情形中促进两个这种圆形描述符的比较,在一些实施方式中,可以执行附加的自动化操作以确保一个圆形描述符中的在给定的相对角方向上编码的信息正在与另一圆形描述符中的指向相同的实际真实世界方向的相对角方向进行比较。例如,在一些实施方式中,可能使用一种强力法,该强力法将一个圆形描述符中的每个角方向与另一圆形描述符中的特定角方向(例如,起始方向)进行比较,因此确保所述比较中的一个使用相同的方向。可选地,在其他实施方式中,可以执行自动化操作以同步要比较的两个圆形描述符,诸如通过识别一个圆形描述符中的哪些相对角方向对应于另一圆形描述符中的哪些相对角方向(例如,对于一个圆形描述符的相对0°起始角方向来识别另一圆形描述符中的对应的角方向是什么)。关于图2E的示例,这种确定可以识别图像圆形描述符279d的0°起始方向(与向西方向对应)与每个建筑物位置圆形描述符278中的270°方向(或-90°方向)相同。可选地,在一些实施方式中,可以识别环境中的特性的有限数量的实例,其中将一个圆形描述符的每个这种实例的角方向与另一圆形描述符中的对应实例进行比较,这种特性的示例可以是正交于或垂直于墙壁平面的方向(例如,通过使用图像中的线进行消失点分析来识别),以便在典型的矩形房间中对于360°全景图像具有4个这种实例(即,每面墙壁一个,它们彼此相距大约90°)。作为另一个替代方案,环境中的这种特性可以是仅具有一个或有限数量的实例的墙壁元素类型,并且可以将每个这种实例的一个圆形描述符中的角方向与另一圆形描述符中的相同墙壁元素类型的实例的角方向进行比较,这种特性的示例可以包括门(例如,门的起点或终点边缘)、墙壁间边界(例如,其中通常在矩形房间中存在四个这种实例)等。在其他实施方式中,可以使用其他距离度量和/或相似性/不相似性度量,并且可以使用其他技术来同步被比较的两个或更多个圆形描述符中的对应信息。
图2F继续图2A至图2E的示例,并且说明了房屋198的2D楼层平面图230f的一个示例,诸如可以在GUI 255f中呈现给最终用户,其中客厅260a是房屋的最向西房间。将了解,在一些实施方式中,可以类似地生成和显示示出墙壁高度信息的3D或2.5D楼层平面图,无论是补充还是代替这种2D楼层平面图,其中关于图2G讨论一个示例。在此示例中,信息已经添加到楼层平面图255f以表示360°全景图像279d的所确定的采集位置265的位置。在其他实施方式和情形中,可以以其他方式显示图像的位置和/或取向信息,诸如对于客厅南侧的示例立体图像,该立体图像包括立体图像中覆盖的方向的视觉指示符,和/或对于客厅西北角的附加全景图像,该附加全景图像示出该全景图像的采集位置和示例起始取向/方向信息。当作为GUI的一部分显示时,在所显示的楼层平面图上的360°全景图像279d的添加信息可以是用户可选控件(或与这种控件相关联),其允许最终用户选择并显示关联的360°全景图像中的一些或全部(例如,以与图2D的方式类似的方式)。
在此示例中,在2D楼层平面图255f上还说明了各种其他类型的信息。例如,这种其他类型的信息可以包括以下各项中的一个或多个:添加到一些或所有房间的房间标记(例如,用于客厅的“客厅”);对于一些或所有房间添加的房间尺寸;对于一些或所有房间添加的家具或家电或者其他内置(built-in)特征的视觉指示;对于一些或所有房间添加的附加类型的关联和链接信息的位置的视觉指示(例如,最终用户可以选择来进一步显示的其他全景图像和/或立体图像,最终用户可以选择来进一步呈现的音频注释和/或声音记录,等);对于一些或所有房间添加的门和窗的视觉指示;等。另外,在此示例中,添加用户可选择控件228以指示对于楼层平面图显示的当前楼层,并允许最终用户选择要显示的不同楼层。在一些实施方式中,楼或其他楼层的改变也可以直接从楼层平面图进行,诸如经由选择所说明的楼层平面图中的对应连接通道(例如,通往楼层2的楼梯)。将了解,在一些实施方式中可以添加各种其他类型的信息,在一些实施方式中可以不提供所说明类型的信息中的一些,并且在其他实施方式中,可以以其他方式显示并选择链接和相关联信息的视觉指示及对其的用户选择。
图2G继续图2A至图2F的示例,并且说明了包括高度信息的房屋198的楼层平面图的模型265g的示例(例如,作为房屋的2.5D或3D模型楼层平面图的一部分),诸如可以在GUI中呈现给最终用户。这种模型265g可以例如是由MIGM系统基于楼层平面图230a和/或230f生成的附加测绘相关信息,其中示出了关于高度的附加信息以便说明诸如窗和门的特征在墙壁中的视觉位置。在此示例中,信息已经添加到模型265g以表示360°全景图像279d的所确定的采集位置265的位置。尽管图2G中未说明,但在一些实施方式中,附加信息可以添加到显示的墙壁,诸如来自在视频捕获期间拍摄的图像(例如,在渲染的模型265上渲染和说明实际绘画、墙纸或来自房屋的其他表面),和/或可以以其他方式使用以向墙壁或其他表面添加指定的颜色、纹理或其他视觉信息。
图2H继续图2A至图2G的示例,并且说明了信息290h,该信息示出了在至少一些实施方式中在IFPLMM系统的自动化操作期间的示例信息处理流程。特别地,在图2H的示例中,IFPLMM系统140的实施方式正在一个或多个计算装置180上执行,并且执行自动化操作281至285以确定建筑物的图像采集位置,以及执行操作287以显示和/或提供对应的信息,并且任选地执行操作289以进一步使用所确定的图像采集位置来改善IFPLMM系统的后续自动化操作。特别地,IFPLMM系统接收281栅格化建筑物楼层平面图(例如,从数据库或其他存储装置294),并且前进到生成282建筑物的建筑物位置圆形描述符288a。另外,IFPLMM系统接收283在建筑物的位置采集的图像,并且前进到生成284图像的图像圆形描述符288b。在步骤285中,IFPLMM系统进行圆形描述符288b与圆形描述符288a的基于旋转的匹配、任选地进行位置细化,以确定图像的与建筑物相关联的采集位置286,并且在步骤287中前进到显示或以其他方式提供(例如,用于存储,诸如通过网络170存储在一个或多个远程存储系统180上)所确定的采集位置。关于图2A至图2G且在本文中其他地方讨论关于这种操作281至285的附加细节。IFPLMM系统的自动化还可以任选地包括使用289图像及其确定的采集位置来改善IFPLMM系统的后续处理,以便更新包含所确定的采集位置的房间或其他区域的建筑物位置圆形描述符288a以基于使用所确定的采集位置的图像的视觉数据来进一步包括特征(例如,以类似于图像圆形描述符288b的生成的方式,但其中视觉数据投影到周围房间或其他区域上,使得可以对于正在更新的建筑物位置圆形描述符中的每一个单独地确定视觉数据。图2I提供了关于这种操作289的附加细节。尽管仅对于单个建筑物和全景图像示出了图2H的示例处理,但将了解,可以对于多个建筑物和/或多个图像(无论是全景图像还是立体图像)执行类似的处理,以便相对于在其中捕获图像的一个或多个候选建筑物来确定多个图像中的每一个的采集位置信息。
图2I继续图2A至图2H的示例,并且说明了信息230i,该信息230i包括建筑物的楼层平面图并且进一步说明关于具有用于一些或全部建筑物房间或其他区域中的每一个的节点245a至245m的示例图245的信息。特别地,每个节点可以表示房间或其他建筑物区域,并且任选地具有与房间间连接和/或房间间邻接(无论是否存在连接)对应的节点间边缘,其中此示例中的边缘与房间间连接对应(例如,使得用于客厅260a的节点245b连接到用于走廊的节点245a,而不连接到用于客厅北侧的相邻房间的节点245f)。一旦确定了全景图像250d的采集位置265,该全景图像和/或其图像圆形描述符就可以与用于包含该采集位置的房间或其他区域的节点245b相关联,其中该全景图像的视觉数据(例如,视觉数据的特定方面,诸如颜色数据或其他像素值、纹理图数据等;从视觉数据生成的潜在空间特征;等)随后用于更新客厅的建筑物位置圆形描述符中的一些或全部(例如,以补充从楼层地图数据确定的现有潜在空间特征,以替代从楼层地图数据确定的一些或全部现有潜在空间特征等),如本文中其他地方更详细地讨论。在其他实施方式中,图像的这种确定的采集位置可以以除了经由这种图以外的方式与建筑物位置圆形描述符一起使用,或这种图可以以其他方式构造(例如,具有用于一些或全部房间或其他区域的多个节点;具有按层次或以其他方式分组的节点,诸如按楼层或其他分组;等)。在其他实施方式中,可以以其他方式更新建筑物位置圆形描述符中的一些或全部(无论是补充使用具有所确定的采集位置的图像的视觉数据,还是代替使用这种视觉数据),其中一个非排他性示例涉及将信息添加到这种建筑物位置圆形描述符以包括建筑物的墙壁元素和/或其他结构元素的显式指示(例如,窗、门道和非门道开口、墙壁、墙壁间边界和/或其他边界等)。
另外,尽管用邻接图中的关联节点表示房屋的至少一些房间,但在至少一些实施方式中,出于邻接图的目的,房屋内的一些空间可以不被作为房间(即,在邻接图中可以不具有单独的节点),诸如衣帽间、小区域(诸如餐具室或橱柜)、连接区域(诸如楼梯和/或走廊)等。在此示例实施方式中,楼梯具有对应的节点245h并且步入式衣帽间可以任选地具有节点245l,而餐具室不具有节点,但在其他实施方式中,这些空间可以不具有节点、或者这些空间中的全部或任何组合可以具有节点。另外,在此示例实施方式中,在建筑物外部的邻近建筑物入口/出口的区域也具有表示它们的节点,诸如与前院(可通过入口门从建筑物进入)对应的节点245j和与平台(可通过后门进入)对应的节点245i,以及用于附加外部结构的节点245l和用于较大的后院和/或露台的节点245m。在其他实施方式中,这种外部区域可以不表示为节点(并且在一些实施方式中,可以改为表示为与相邻的户外门或其他开口和/或与它们的房间相关联的属性)。类似地,在此示例实施方式中,关于从窗或从其他建筑物位置可见的区域的信息也可以由节点表示,诸如与从客厅中的西窗可见的视图对应的任选节点245k,但在其他实施方式中,这种视图可以不表示为节点(并且在一些实施方式中,可以改为表示为与对应的窗或其他建筑物位置和/或与它们的房间相关联的属性)。将注意,尽管在图2I中将一些边缘示出为穿过墙壁(诸如用于走廊的节点245a与用于房屋的北中心的主卧室的节点245f之间的边缘),但与这个边缘连接的节点对应的房间之间的实际连接是基于门或其他非门开口连接(例如,基于走廊与主卧室之间的在走廊的东北端附近说明的室内门)。另外,尽管在信息230i中未说明,但房屋的邻接图可以进一步在房屋的未示出的其他区域(诸如二楼)继续。在一些实施方式中,每个节点可以进一步具有相关联的属性,诸如关于由节点表示的房间或其他区域,其中非排他性示例包括以下各项中的一个或多个:房间类型;房间尺寸;房间中的窗和门以及其他房间间开口的位置;关于房间的形状的信息(无论是关于2D形状还是3D形状);每个窗的视图类型和任选地每个窗面向的方向信息;任选地门和其他房间间开口的方向信息;关于房间的其他特征的信息,诸如来自对相关联的图像的分析和/或由查看楼层平面图和任选地其关联图像的最终用户供应的信息(例如,所使用的材料的视觉外观和类型),诸如地毯或其他楼层材料以及墙壁覆盖物和天花板的颜色和/或纹理和/或类型等;灯具或其他内置元素;房间内的家具或其他物品;等);关于在房间中拍摄的图像的信息和/或其副本(任选地具有用于图像中的每一个的房间内的关联位置信息);关于在房间中捕获的音频或其他数据的信息和/或其副本(任选地具有用于音频剪辑或其他数据片段中的每一个的房间内的关联位置信息);等。类似地,在一些实施方式中,每个边缘可以进一步具有相关联的属性,诸如与由边缘表示的区域间连接相关,其中非排他性示例包括以下各项中的一个或多个:房间间连接类型(例如,门道、非门道开口等);房间间连接尺寸(例如,宽度;高度和/或深度)等。
另外,在至少一些实施方式中,进一步自动化操作可以作为对在房间或其他建筑物区域中捕获的图像的采集位置的自动化确定的一部分执行,诸如如果可获得关于建筑物的房间或其他区域的对应信息的话。例如,在至少一些实施方式中,可以使用几何定位技术来测试在图像中可见的墙壁元素与房间中存在的墙壁元素之间的关联,以确认已经被确定为图像圆形描述符的最佳匹配的建筑物位置圆形描述符的匹配度和/或作为识别这种最佳匹配的建筑物位置圆形描述符的一部分。几何定位技术可以包括例如使用2点解算器和/或3点解算器来确定房间的一个或多个可能房间形状和/或房间内的元素的位置(或可选地接收这种信息作为起始点),并且然后在可能房间形状上定位墙壁元素。在其他实施方式中,可以以其他方式确定墙壁元素位置,诸如经由在房间中使用深度感测设备或其他房间测绘传感器、经由用于分析图像的机器学习方法以识别房间形状和墙壁元素位置、经由由一个或多个人类操作员指定的输入等。此外,在一些实施方式中,鉴于房间位置以及关于房间形状和墙壁元素的位置的信息,可以用在其位置示出的墙壁元素生成作为房间的视图从该房间位置的投影/可视化的新的合成图像,并且该合成图像的视觉信息可以直接与来自房间的实际图像进行比较,以确定相似度/不相似度或两个图像之间的其他匹配度,其中图像间比较用于确定该房间位置是否是实际图像的采集位置的匹配。以类似的方式,在一些实施方式中,房间中的房间位置的建筑物位置圆形描述符中的一些或全部可以作为在那些房间位置拍摄的图像(例如,360°全景图像)的图像圆形描述符生成,并且然后可以将那些房间/图像圆形描述符与在房间中拍摄的新图像(例如,具有小于360°水平覆盖范围的图像)的图像圆形描述符进行比较,以便以类似于上文讨论的方式确定最佳匹配的建筑物位置圆形描述符。
在一些实施方式中,对在房间中拍摄的图像的采集位置的自动化确定还可以包括附加操作。例如,在至少一些实施方式中,可以使用机器学习技术来获悉最佳编码以允许图像与房间位置匹配,诸如来自多种定义的候选编码,或者改为通过考虑多种可能的图像元素并且识别那些图像特征中提供与对应房间位置的最佳匹配的子集。下面包括关于在至少一些实施方式中可以由IFPLMM系统执行的各种自动化操作的附加细节。
作为一个非排他性示例实施方式,确定房间内的目标图像的采集位置(出于此示例实施方式的目的,也被称为“定位”)可以包括相对于参考结构布局(或“地图”)M来估计与目标图像I相关联的2D相机姿势p*。在2D平面中对相机姿势p=[t,θ]∈SE(2)进行建模,从而具有在偏转轴上的旋转θ[0,2π)和平移t=[x,y],其中姿势参数t∈R2和θ∈[0,2π)分别定义相机的平面位移向量和偏转轴旋转。目标图像可以是全景图像(例如,呈等量矩形格式)或具有已知视场(FoV)的立体图像。地图M可以具有各种格式,并且对2D平面内的结构布局信息(出于此示例实施方式的目的,也被称为“占用”)进行编码。
在此示例实施方式中,对目标图像的采集位置的确定包括使用蒙特卡罗定位(MCL)架构,其定义测量模型P(I|p;M),该测量模型表达在地图M上以相机姿势p观察到图像I的可能性,其中为了简单起见,下面排除非随机参数M。在观察到I之后p的后验分布是感兴趣的解,并且MCL架构基于贝斯公式来估计后验分布P(p|I),如下:
其中P(I)是可以忽略的归一化常量,并且P(p)是假设在地图区域内均匀地分布的地图上的先验相机姿势分布。最后,可以通过从P(p)提取粒子来近似完整后验,将使用如在下面的等式(5)中定义的测量模型来估计P(p)的可能性。
根据度量学习架构,代替使用度量学习中使用的扁平描述符,使用圆形特征对空间可见性进行编码,从而导致可在几何上解释度量学习。圆形特征被定义为特征向量的有序集,如下:
F={fα|α=1…V-1} (2)
其中V是特征段的数量。每个特征段fα∈RD对2D平面上的在(2πα/V)至((2π*(α+1))/V)范围内的2π/V rad的本地定向FoV进行编码。在此示例实施方式中,该有序集F被称为圆形特征,因为第一特征段和最后特征段对应于相邻的FoV。有序特征段对应于360°2D空间信息,并且V是段的数量。在这种设计中,按特征段的顺序对全方位2D空间信息隐式地编码。
两个圆形特征Fi={fi α|α=0…V-1}和Fj={fj α|α=0…V-1}之间的相似性测量被定义如下:
其中,cos(.,.)计算向量余弦相似性,并且将函数输出归一化至[0,1]。定义旋转算子R(F,θ),其对具有给定角度θ的圆形特征F的基础空间信息进行旋转
其中当索引产生非整数值时,1D特征空间线性地内插。最后,测量模型被定义为
其中A是PDF归一化常量,并且FI和Ft分别是从目标图像编码并在地图上的位置t处渲染的圆形特征。
为了从MCL采样步骤系统地减少旋转维度(因为在SE(2)中,MCL使用大量的样本来近似相机姿势后验),并且对于具有典型取向的样本位置t,可以通过下式来找到其圆形特征Ft相对于图像圆形特征FI的最佳相对旋转:
代入等式5,提供了消除θ并且仅以平移t为条件的简化测量模型:
为了解出等式6,以[0,2π)中均匀地采样θt的对Ft进行旋转,并且保留最佳者。这种离散化搜索将旋转初始化为粗略值,稍后将进行细化,如下面所讨论。旋转匹配过程高度有效,因为它重复使用相同的圆形特征并且不呈现新的假设。
按以下方式从具有给定的相机姿势的2D楼层图渲染圆形特征。鉴于对区域占用信息进行编码的一般2D地图表示M(例如,楼层平面图、占用网格等),将在占用边界(例如,墙壁)上对点均匀地采样以提取2D点云集M={mi|i=0…N-1}。每个点mi=[ti,ni,si]对其位置ti、法向向量ni和任选的语义信息si进行编码。法向向量在房间内部归一化指向。当可获得语义信息(例如,门、窗等的标签和/或位置)时,将该语义信息编码为附加到点表示的二元掩模。
为了避免低效的二阶渲染和编码过程,使用通过聚合来自可见地图点的特征来直接渲染圆形特征向量的潜在空间渲染。然而,静态环境的可见性在大多数采样位置是局部恒定的,从而提供有限的空间上下文,因此分析详细的渲染动态(诸如特征和采样位置之间的查看视线的长度和入射角)以减轻表示的潜在均质化,并且定义自适应渲染机制。因此,使用与超定潜在特征空间对应的渲染码本以便向地图点赋予视图相关自适应特征,从而对渲染动态进行编码(例如,在渲染期间使用地图点的特征,如由码本和渲染动态确定,其中来自多个码本的特征通过相加进行混合)。处理2D点云地图(例如,通过PointNet)以向每个地图点mi指派潜在特征的两个集合Gi={gi β|β=0...G-1}和Hi={hi γ|γ=0...H-1},这分别被表示为距离和入射角码本。码本中的特征具有与圆形特征段gβ,hγ∈RD相同的尺寸。在渲染时,相对于渲染位置基于地图点特征的距离和入射角从码本选择地图点特征。假设渲染位置t^和地图点mi=[ti,ni,si],令di=ti-t^,其渲染动态被计算为
di=||di|| (8)
ψi=atan2(||di×ni||,di·ni) (9)
其中di和ψi分别是距离和入射角。顺时针入射角[0,2π)区分四个象限。通过mi的关联码本Gi和Hi,然后通过下式来确定其特征fi
其中dmax是距离码本的预定义最大距离。类似于等式4,对于非整数索引,可以使用码本中的其两个最近代码之间的线性内插。最后,如果mi通过可见性测试到达位置t^,则通过下式将fi投影到圆形特征Ft^={fi α|α=0...V-1}
其中ωi=atan2(di)是查看视线的角度。最后,将投影的地图点特征平均化到每个段中。
按以下方式从全景和/或立体图像提取圆形特征。对于等量矩形投影中的全景图像,图像中的每个图像列与固定量的水平FoV对应。这种捕获配置有助于相邻的输入图像列组和所渲染的圆形表示中的段之间的双向映射。将查询全景馈送到编码器(例如,ResNet50编码器)中以获得特征地图,根据每个圆形特征中的预先配置的数量的特征段,该特征地图随后通过在竖直维度上进行平均池化来紧缩以符合圆形段的特征尺寸并且再次在水平方向上平均池化到V个元素。
立体图像是从以针孔相机型号为准的相机拍摄的最常见图像,其与全景图像相比具有附加的相机旋转自由度。如果假设图像具有已知的FoV和与地平面相关的零俯仰/滚动角度,则立体图像中的每个图像列将与非固定但已知量的水平FoV对应。应注意,对于室内目标图像,通常可以通过估计房间布局来调整俯仰/滚动角度。可以将目标图像处理为特征地图(例如,使用ResNet50编码器),并且可以使用平均池化来紧缩竖直维度,其中在特征地图上进行立体到等量矩形变换以得到最终的圆形特征。由于立体图像具有显著小于360°的FoV,因此它们的圆形特征将具有没有指派值的段,这将在计算中被掩盖。还可以对等式3进行重新归一化以具有范围[0,1]。
蒙特-卡罗定位架构的准确性可以取决于采样密度,但对于使用采样实现高准确性来说可能是低效的。使用轻量连续细化分支来解决MCL处理的离散化姿势采样性质,以改善当前估计。通过当前的最佳估计t*和θ*,细化分支将两个圆形特征FI和R(Ft*,θ*)作为输入。细化网络使用具有圆形填补的两个1D卷积层、接着是全连接层来分别预测平移和旋转的两个偏移δt、δθ。然后渲染更新的地图圆形特征Ft*+δt、θ*+δθ,并且使用等式3将其相似性计算到FI。如果相似性分数改善了原始相机姿势,则它被接受并且迭代继续(例如,其中通常在3次迭代内发生收敛,并且其中在至少一些情形中接受第一细化以将估计非量化),否则将细化视作收敛。
三元组损失可以用作学习度量空间的监督。为了形成三元组,将图像圆形特征FI用作锚,将处于基础事实相机姿势的地图圆形特征F+=R(Ftgt,θgt)用作正特征,并且在异常相机姿势下使用负地图圆形特征F-=R(Ftrnd,θrnd)。然后通过下式来定义三元组
相似性函数S和三元组损失Ltriplet使用聚合的逐元素比较,并且因此有效地丢弃任何特征内上下文。附加的上下文损失可以用于向特征段提供其圆形特征的全局范围以用于学习上下文信息(例如,房间/地图的性质)。圆形特征上下文F被定义为其归一化特征段的均值
其以类似于等式12的方式应用于训练三元组。
通过上下文损失,圆形特征实现更好的粗略水平表达,从而改善具有有限FoV的目标图像的召回。这个损失还通过减少具有大方差的特征段来充当正则化矩阵,从而导致更平滑的后验估计。
为了训练细化分支,对在距基础事实相机姿势0.5米半径和30度角度内的圆形特征进行采样,并且使用回归损失来监督细化分支,如下
对于三元组和上下文损失,对100个负样本进行采样并且在每个训练迭代中广播单个基础事实样本。对于细化损失,对接近基础事实相机姿势的20个硬负值进行采样,其中从均匀分布采样的扰动被限制在30度和0.5米半径内。将所有损失的均值与同等权重相结合,并且通过基准化始终地将超参数设定为G=H=32,V=16,D=128并且dmax=10m。在占用边界处以10cm间隔将地图采样到2D点云中。为地图范围内的0.1m×0.1m均匀网格渲染圆形特征。为了估计相对旋转,如在等式6中描述,评估16个均匀地采样的角度并且保留最佳者。最后,可以使用等式1和7来估计后验分布。为了从后验网格地图提取最终估计,应用3×3非最大抑制来提取最大值。对于分数大于阈值(例如,0.8)的最大值,将它们发送到细化分支以得到最终估计,其中它们的概率作为不确定性估计。按它们的概率分类,可获得前k估计。尽管在一些情形中,上面讨论的此示例实施方式可以相对于来自地图位置的查看视线使用二元遮挡状态,但其他实施方式和/或情形可以进一步支持部分遮挡,诸如通过对地图物体(例如,家具)进行建模。另外,尽管在一些情形中,上面讨论的此示例实施方式可以不使用关于门是否打开的信息,但其他实施方式和/或情形可以利用此信息。此外,尽管在一些情形中,上面讨论的此示例实施方式可以使用2D楼层地图,但其他实施方式和/或情形可以延伸到3D空间和/或模型复杂的渲染时间动态,诸如非朗伯反射(例如,反射镜)。
已经关于图2A至图2I并且关于上面讨论的非排他性示例实施方式提供了各种细节,但将了解,所提供的细节是出于说明性目的而包括的非排他性示例,并且可以在没有一些或全部这种细节的情况下以其他方式执行其他实施方式。
图1是在一些实施方式中可以参与所描述的技术的各种计算装置和系统的示例框图。特别地,图1说明了IFPLMM(图像位置测绘管理器)系统140,其在一个或多个服务器计算系统180上执行以确定在一个或多个建筑物房间或其他建筑物区域中采集的图像145(例如,全景图像)的测绘的采集位置,诸如关于对应的建筑物楼层平面图155指定的采集位置。在至少一些实施方式和情形中,IFPLMM系统客户端计算装置105的一个或多个用户可以进一步通过网络170与IFPLMM系统140交互,以便协助IFPLMM系统的一些自动化操作和/或用于随后开始以一种或多种进一步的自动化方式使用所确定的图像采集位置信息。在本文的其他地方包括与IFPLMM系统的自动化操作有关的附加细节,包括关于图2A、图2D至图2I和图4A至图4B的附加细节。
另外,图1进一步说明了任选的内部捕获和分析(“ICA”)和/或MIGM(测绘信息生成管理器)系统160,在此示例中,该系统在一个或多个服务器计算系统180(无论是执行IFPLMM系统140的相同服务器计算系统还是不同的服务器计算系统)上执行,以便分别相对于一个或多个建筑物或其他结构捕获图像(例如,任选地与全景图像间相对位置信息链接的一个或多个360°全景图像165)和/或生成并提供建筑物楼层平面图154和/或其他测绘相关信息(例如,基于全景图像165以及任选地关于其采集和链接的相关联元数据的使用)。图1示出了特定房屋198的这种全景图像的一个示例,如下面进一步讨论,并且图2F和图2G示出了增强型建筑物楼层平面图的示例,其具有在本文其他地方包括的与ICA和MIGM系统的自动化操作相关的附加细节。在一些实施方式中,ICA系统160和/或MIGM系统160和/或IFPLMM系统140可以在相同的服务器计算系统上执行,并且IFPLMM系统可以任选地分别从ICA和MIGM系统获得图像145和/或楼层平面图155中的一些或全部,诸如如果那些系统中的多个或全部由单个实体操作或以其他方式彼此协调而执行(例如,那些系统中的一些或全部功能被一起集成到较大的系统中),而在其他实施方式中,IFPLMM系统可以改为从一个或多个其他外部来源获得楼层平面图信息和/或图像而不涉及任何这种ICA或MIGM系统,并且将它们与IFPLMM系统一起本地存储以供进一步分析和使用。
一个或多个客户端计算装置175的一个或多个用户(未示出)可以进一步通过一个或多个计算机网络170与IFPLMM系统140和任选地ICA系统160和/或MIGM系统160交互,以便获得并使用图像的所确定的采集位置信息(例如,以获得并查看一个或多个这种图像和/或一个或多个图像已经位于其上的所生成的楼层平面图并且任选地与其交互,以便任选地执行以下各项中的一个或多个:在楼层平面图视图与楼层平面图内或附近的采集位置处的特定图像的视图之间改变;改变从其显示全景图像的对应视图的水平和/或竖直查看方向,以便确定当前用户查看方向指向的全景图像的一部分,等)。另外,虽然图1中未说明,但是楼层平面图(或其一部分)可以链接到一个或多个其他类型的信息或以其他方式与一个或多个其他类型的信息相关联,包括多层楼或其他多层建筑物的楼层平面图具有相互连接(例如,经由连接的楼梯通道)的不同楼或楼层的多个相关联子楼层平面图、建筑物的二维(“2D”)楼层平面图链接到建筑物的三维(“3D”)渲染或以其他方式与建筑物的三维(“3D”)渲染相关联等。另外,虽然在图1中未说明,但是在一些实施方式中,客户端计算装置175(或其他装置,未示出)可以以附加方式接收并使用所确定的图像采集位置信息(任选地与所生成的楼层平面图和/或其他所生成的测绘相关信息结合),以便通过这些装置(例如,自主车辆或其他装置)控制或辅助自动化导航活动,而无论是代替还是补充所生成的信息的显示。
在图1的所描绘的计算环境中,网络170可以是可能由各种不同的方操作的一个或多个公共可访问的链接网络,诸如互联网。在其他实施方式中,网络170可以具有其他形式。例如,网络170反而可以是专用网络,诸如非特权用户完全或部分无法访问的公司或大学网络。在其他实施方式中,网络170可以包括专用网络和公共网络两者,其中专用网络中的一个或多个可访问公共网络中的一个或多个和/或来自公共网络中的一个或多个。此外,在各种情形中,网络170可以包括各种类型的有线网络和/或无线网络。另外,客户端计算装置175和服务器计算系统180可以包括各种硬件部件和存储的信息,如下面关于图3更详细地讨论。
在图1的示例中,如果存在ICA系统160,则其可以执行自动化操作,这些自动化操作涉及在多个关联的采集位置处(例如,在建筑物或其他结构内的多个房间或其他位置中以及任选地在建筑物或其他结构的外部的一些或全部的周围)生成多个全景图像(例如,每一个为围绕竖直轴的360°全景),诸如用于生成并提供建筑物或其他结构的内部的表示。技术还可以包括:分析信息以确定两个或更多个采集位置中的每一个之间的相对位置/方向;基于这种所确定的位置/方向在全景中创建到一个或多个其他全景中的每一个的全景间位置/方向链接;以及然后,提供信息以显示或以其他方式呈现房屋内各个采集位置的多个链接的全景图像。
图1描绘了示例性建筑物内部环境的框图,在该建筑物内部环境中,全景图像已经生成并任选地链接并且准备好用于生成并提供对应的建筑物楼层平面图以及用于向用户呈现全景图像。特别地,图1包括建筑物198,该建筑物198具有至少部分地经由多个全景图像捕获的内部,诸如由携带具有图像采集能力的移动装置185的用户(未示出)穿过建筑物内部到达一系列多个采集位置210。ICA系统的实施方式(例如,服务器计算系统180上的ICA系统160;在用户的移动装置上执行的ICA系统的一些或全部的副本,诸如在装置185的存储器152中执行的ICA应用程序系统155;等)可以自动执行或协助捕获表示建筑物内部的数据,以及任选地进一步分析所捕获的数据以生成链接的全景图像,从而提供建筑物内部的视觉表示。尽管用户的移动装置可以包括各种硬件部件,诸如相机或其他成像系统135、一个或多个传感器148(例如,陀螺仪148a、加速计148b、指南针148c等,诸如移动装置的一个或多个IMU(或惯性测量单元)的一部分;测高仪;光检测器等)、GPS接收器、一个或多个硬件处理器132、存储器152、显示器142、麦克风等,但在至少一些实施方式中,移动装置可能无法访问或使用装备来测量建筑物中的物体相对于移动装置的位置的深度,使得可以部分地或完全地基于不同图像中的匹配元素和/或通过使用来自所列出的硬件部件中的其他硬件部件的信息(但不使用来自任何这种深度传感器的任何数据)来确定不同全景图像与他们的采集位置之间的关系,而在其他实施方式中,移动装置可以具有用于测量距周围墙壁和其他周围物体的深度的一个或多个传感器。另外,虽然提供方向指示符109以供查看者参考,但是在至少一些实施方式中,移动装置和/或ICA系统可以不使用这种绝对方向信息,以便改为确定全景图像210之间的相对方向和距离而不考虑实际地理位置或方向。
在操作中,与移动装置相关联的用户到达建筑物内部的第一房间内的第一采集位置210A(在此示例中为从外门190-1到客厅的入口),并且当移动装置在第一采集位置处围绕竖直轴旋转时(例如,在用户将他或她的身体转圈,同时使移动装置相对于用户身体保持固定的情况下)捕获从该采集位置210A可见的建筑物内部的一部分的视图(例如,第一房间的一些或全部、以及可选地一个或多个其他相邻或附近房间的小部分,诸如穿过门、大厅、楼梯或始于第一房间的其他连接通道)。可以经由使用在移动装置上执行的一个或多个程序来控制或促进用户和/或移动装置的动作,所述程序诸如为ICA应用程序系统154、可选的浏览器162、控制系统147等,并且视图捕获可以通过记录视频和/或拍摄一连串一个或多个图像来执行,包括捕获描绘可以在从采集位置捕获的图像(例如,视频帧)中可见的若干个物体或其他元素(例如,结构细节)的视觉信息。在图1的示例中,此类物体或其他元素包括在结构上作为墙壁的部分的各种元素(或“墙壁元素”),诸如门道190和197及其门(例如,带有旋转门和/或滑动门)、窗196、墙壁间边界(例如,拐角或边缘)195(包括建筑物198的西北角的拐角195-1和第一房间的东北角的拐角195-2)。另外,图1的示例中的此类物体或其他元素还可以包括房间内的其他元素,诸如家具191至193(例如,沙发191;椅子192;桌子193;等)、挂在墙壁上的图片或绘画或电视或其他物体194(诸如194-1和194-2)、灯具等。这种全景图像例如可以被提供为IFPLMM系统的输入,以用于相对于房屋198的楼层平面图(假设IFPLMM系统可获得这种楼层平面图)自动地确定全景图像的采集位置。
关于这种捕获的全景图像,在一些实施方式中,用户还可以任选地提供与全景图像和/或其采集位置相关联的文本或听觉标识符,诸如用于采集位置210A的“入口”或用于采集位置210B的“客厅”,而在其他实施方式中,ICA系统可以自动生成此类标识符(例如,通过自动分析建筑物的视频和/或其他记录的信息来执行对应的自动化确定,诸如通过使用机器学习来执行),或者可以不使用标识符。在已经适当捕获了第一采集位置210A(例如,通过移动装置的完整旋转)之后,用户可以任选地前进到下一个采集位置(诸如,采集位置210B),从而可选地在于采集位置之间移动期间记录移动数据,诸如视频和/或来自硬件部件(例如,来自一个或多个IMU、来自相机等)的其他数据。在下一个采集位置处,用户可以类似地使用移动装置从该采集位置捕获一个或多个图像。这个过程可以从建筑物的一些或全部房间并且任选地在建筑物外部重复,如对于采集位置210C至210L所说明,在此示例中包括在外平台或露台或阳台186上捕获一个或多个全景图像、在较大的外部院子或露台187上捕获一个或多个全景图像、在外部附加结构188(例如,车库、棚屋、附属住所单元、温室等)附近或中捕获一个或多个全景图像。进一步分析对于每个采集位置所采集的视频和/或其他图像,以对于采集位置210A至210L中的每一个生成全景图像,在一些实施方式中包括匹配不同图像中的物体和其他元素。除了生成这种全景图像之外,还可以执行进一步分析以便将全景中的至少一些“链接”在一起(为了说明起见,示出了它们之间的一些对应的线215),以便确定彼此可见的成对的采集位置之间的相对位置信息,存储对应的全景间链接(例如,分别为在采集位置A和B之间的链接215-AB、B和C之间的链接215-BC、以及A和C之间的链接215-AC),并且在一些实施方式和情形中,进一步链接彼此不可见的至少一些采集位置(例如,在采集位置210B和210E之间的链接215-BE,未示出)。
关于图1提供了各种细节,但是将了解,所提供的细节是出于说明性目的而包括的非排他性示例,并且可以在没有一些或全部此类细节的情况下以其他方式执行其他实施方式。
图3是说明执行IFPLMM系统389的实施方式的一个或多个服务器计算系统380、以及任选地执行ICA系统340和MIGM系统345的实施方式的一个或多个服务器计算系统300的实施方式的框图。服务器计算系统和IFPLMM系统可以使用多个硬件部件来实施,该多个硬件部件形成适合于且被配置为在联合操作时执行本文描述的技术中的至少一些的电子电路。在所说明的实施方式中,每个服务器计算系统300包括一个或多个硬件中央处理单元(“CPU”)或其他硬件处理器305、各种输入/输出(“I/O”)部件310、存储装置320以及存储器330,其中所说明的I/O部件包括显示器311、网络连接件312、计算机可读介质驱动器313以及其他I/O装置315(例如,键盘、鼠标或其他指示装置、麦克风、扬声器、GPS接收器等)。每个服务器计算系统380可以包括与服务器计算系统340的硬件部件类似的硬件部件,包括一个或多个硬件CPU处理器382、各种I/O部件382、存储装置385以及存储器387,但为了简洁起见,在服务器计算系统380中省略了服务器计算系统300的一些细节。
服务器计算系统380和执行的IFPLMM系统389可以经由一个或多个网络399(例如,互联网、一个或多个蜂窝电话网络等)与其他计算系统和装置进行通信,该其他计算系统和装置诸如为以下各项:用户客户端计算装置390(例如,用于查看楼层平面图、关联图像和/或其他相关信息);ICA和MIGM服务器计算系统300;一个或多个图像采集移动装置360;任选地其他可导航装置395,其接收并使用楼层平面图以及所确定的图像采集位置和可选地其他所生成的信息以用于导航目的(例如,以供半自主或全自主车辆或其他装置使用);以及任选地未示出的其他计算系统(例如,用于存储和提供与建筑物有关的附加信息;用于捕获建筑物内部数据;用于存储和向客户端计算装置提供信息,诸如与图像及其涵盖的建筑物或其他周围环境相关联的附加补充信息等)。
在所说明的实施方式中,IFPLMM系统389的实施方式在存储器387中执行以便执行所描述的技术中的至少一些,诸如以将处理器381和计算系统380配置为执行自动化操作的方式使用处理器381来执行系统389的软件指令,所述自动化操作实施那些描述的技术。IFPLMM系统的所说明的实施方式可以包括一个或多个部件(未示出)以各自执行IFPLMM系统的功能的部分,并且存储器可以进一步任选地执行一个或多个其他程序388。作为一个具体示例,在至少一些实施方式中,ICA和/或MIGM系统的副本可以作为其他程序388中的一个执行,诸如代替或补充服务器计算系统300上的ICA系统340和MIGM系统345。IFPLMM系统389可以进一步在其操作期间在存储装置385上(例如,在一个或多个数据库或其他数据结构中)存储和/或检索各种类型的数据,诸如:各种类型的楼层平面图信息和其他建筑物测绘信息391(例如,所生成并保存的2D楼层平面图以及关于墙壁元素和其他元素在那些楼层平面图上的位置的语义信息、所生成并保存的2.5D和/或3D模型、供与关联的楼层平面图一起使用的建筑物和房间尺寸、附加图像和/或注释信息等);关于图像(其采集位置将被确定)的信息393和关于这种所确定的采集位置的关联信息392;关于所生成的建筑物位置圆形描述符和图像圆形描述符的信息394;以及任选地各种其他类型的信息。如果存在的话,ICA系统340和/或MIGM系统345可以类似地在其操作期间在存储装置320上(例如,在一个或多个数据库或其他数据结构中)存储和/或检索各种类型的数据,并且向IFPLMM系统389提供一些或全部这种信息以实现其使用(无论以推和/或拉方式),诸如各种类型的楼层平面图信息和其他建筑物测绘信息326(例如,与信息391类似或相同)、各种类型的用户信息322、所采集的360°全景图像信息324(例如,用于分析以生成楼层平面图;提供给客户端计算装置390的用户以进行显示等,任选地包括关于反映全景图像的相对位置信息的全景图像间链接的信息)、和/或各种类型的任选附加信息329(例如,由ICA系统捕获的与一个或多个建筑物内部或其他环境的呈现或其他用途有关的各种分析信息)。
用户客户端计算装置390(例如,移动装置)、图像采集移动装置360、其他可导航装置395和其他计算系统中的一些或全部可以类似地包括对于服务器计算系统300和380所说明的相同类型部件中的一些或全部。作为一个非限制性示例,图像采集移动装置360各自被示为包括一个或多个硬件CPU 361、I/O部件362、存储装置365、成像系统364、IMU硬件传感器369以及存储器367,其中浏览器368和一个或多个客户端应用程序369(例如,特定于IFPLMM系统和/或ICA系统的应用程序)中的一个或两者在存储器367内执行,以便参与与IFPLMM系统389、ICA系统340和/或其他计算系统的通信。尽管对于其他可导航装置395或客户端计算系统390未说明特定部件,但是将了解,它们可以包括类似和/或附加的部件。
还将了解,计算系统300和380以及图3内所包括的其他系统和装置仅仅是说明性的,并且不旨在限制本发明的范围。系统和/或装置可以改为各自包括多个交互的计算系统或装置,并且可以连接到未具体说明的其他装置,包括经由蓝牙通信或其他直接通信、通过一个或多个网络(诸如,互联网)、经由Web或者经由一个或多个专用网络(例如,移动通信网络等)进行连接。更一般地,装置或其他计算系统可以包括任选地在被编程或以其他方式配置有特定软件指令和/或数据结构时可以交互并执行所描述类型的功能的硬件的任何组合,所述硬件包括但不限于台式计算机或其他计算机(例如,平板计算机、平板电脑等)、数据库服务器、网络存储装置和其他网络装置、智能手机和其他蜂窝电话、消费者电子装置、可穿戴装置、数字音乐播放器装置、手持式游戏装置、PDA、无线电话、互联网电器、以及包括适当通信能力的各种其他消费者产品。另外,在一些实施方式中,由所说明的IFPLMM系统389提供的功能可以分布在各种部件中,可以不提供IFPLMM系统389的所描述的功能中的一些,和/或可以提供其他附加功能。
还将了解,尽管各种条目被说明为在使用时存储在存储器中或在存储装置上,但是出于存储器管理和数据完整性的目的,这些条目或其部分可以在存储器和其他存储装置之间转移。可选地,在其他实施方式中,软件部件和/或系统中的一些或全部可以在另一个装置上的存储器中执行并且经由计算机间通信与所说明的计算系统通信。因此,在一些实施方式中,当被一个或多个软件程序(例如,被在服务器计算系统380上执行的IFPLMM系统389)和/或数据结构配置时,所描述的技术中的一些或全部可以由包括一个或多个处理器和/或存储器和/或存储装置的硬件器件执行,诸如通过执行该一个或多个软件程序的软件指令和/或通过存储这种软件指令和/或数据结构,并且以便执行如在流程图和本文的其他公开内容中所描述的算法。此外,在一些实施方式中,系统和/或部件中的一些或全部可以以其他方式实施或提供,诸如通过由部分或完全以固件和/或硬件实施的一个或多个器件组成(例如,而不是作为全部或部分通过配置特定CPU或其他处理器的软件指令实施的器件),包括但不限于一个或多个专用集成电路(ASIC)、标准集成电路、控制器(例如,通过执行适当的指令,并且包括微控制器和/或嵌入式控制器)、现场可编程门阵列(FPGA)、复杂可编程逻辑装置(CPLD)等。部件、系统和数据结构中的一些或全部还可以(例如,作为软件指令或结构化数据)存储在非暂时性计算机可读存储介质上,诸如硬盘或闪存驱动器或者其他非易失性存储装置、易失性或非易失性存储器(例如,RAM或闪存RAM)、网络存储装置或者便携式媒体制品(例如,DVD盘、CD盘、光盘、闪存存储器装置等),以便由适当的驱动器或经由适当的连接来读取。在一些实施方式中,系统、部件和数据结构还可以经由所生成的数据信号(例如,作为载波或者其他模拟或数字传播信号的一部分)在多种计算机可读传输介质上传输,所述传输介质包括基于无线和基于有线/电缆的介质,并且可以采取多种形式(例如,作为单个或多路模拟信号的一部分,或作为多个离散数字包或帧)。在其他实施方式中,这种计算机程序产品还可以采取其他形式。因此,可以利用其他计算机系统配置来实践本公开的实施方式。
图4A至图4B说明了用于图像楼层平面图位置测绘管理器(IFPLMM)系统例程400的流程图的示例实施方式。该例程可以通过例如执行图1的IFPLMM系统140、图3的IFPLMM系统389和/或如关于图2A至图2I并且在本文的其他地方所描述的IFPLMM系统来执行,以便执行与至少部分地基于对图像视觉数据的分析来确定图像的采集位置并且随后以一种或多种自动化方式使用所确定的采集位置信息有关的自动化操作。在图4的示例中,采集位置是相对于建筑物(诸如,房屋)的楼层平面图确定的,但在其他实施方式中,可以将其他类型的测绘信息可以用于其他类型的结构或用于非结构位置,并且可以以不同于关于例程400所讨论的方式的其他方式使用所确定的采集位置信息,如在本文的其他地方所讨论。
例程的所说明的实施方式在框405处开始,在框405处,接收信息或指令。例程继续到框410以确定在框405中接收到的指令或其他信息是否指示确定所指示的建筑物的建筑物位置圆形描述符,并且如果不是的话,则继续到框440。否则,例程继续执行框415至430以确定建筑物位置圆形描述符,包括在框415中获得建筑物的栅格化楼层平面图(例如,以从存储装置检索、在框405中接收等),该栅格化楼层平面图任选地具有结构墙壁元素的相关联语义信息(例如,门和其他房间间或区域间开口、窗、房间间或其他区域间边界等)。在框420中,例程然后生成与在楼层平面图上示出的建筑物结构元素对应的点云(例如,2D点云),并且确定每个点的相关联信息(例如,2D XY位置、法线方向、语义数据等),并且使用经训练的神经网络来生成每个点的潜在空间特征。在框425中,例程然后生成并存储多个建筑物位置中的每一个的建筑物位置圆形描述符,该建筑物位置圆形描述符标识在从该位置的方向上的点的特征(例如,对于360水平度中的每一个)。在框430中,例程然后任选地生成并存储具有表示房间或其他建筑物区域的节点并且具有与区域间连接或其他区域间邻接对应的节点间边缘的图,并且将每个节点与与该房间或其他建筑物区域中的建筑物位置对应的所生成的建筑物位置圆形描述符相关联。
在框430之后,或如果反而在框410中确定在框405中接收的指令或其他信息不是确定所指示的建筑物的建筑物位置圆形描述符,则例程继续到框440以确定在框405中接收的指令或其他信息是否指示确定所指示的图像的采集位置(例如,对于所指示的建筑物或在任何已知的建筑物内),并且如果是的话,则例程继续执行框445至485以这样做,否则继续到框490。
在框445中,例程获得关于待确定其采集位置的图像的信息,诸如通过在框405中接收该图像或通过以其他方式检索图像的存储副本。在框450中,例程然后前进到生成图像的图像圆形描述符,该图像圆形描述符包括关于图像的视觉内容在多个角方向中的每一个上的特征的信息(例如,如果图像是360°全景图像的话,则在角方向的360水平度中的每一个处,诸如相对于被确定为图像的起始方向的角方向)。
在框460中,例程然后将图像圆形描述符与先前对于一个或多个建筑物生成的建筑物位置圆形描述符中的一些或全部进行比较(例如,对于所指示的建筑物,诸如关于所有房间和/或所有非房间区域;对于图像可以与其对应的一个或多个房间和/或非房间区域;等)以确定最佳匹配的建筑物位置圆形描述符,诸如与图像圆形描述符具有最小不相似性距离的建筑物位置圆形描述符。例程进一步基于与最佳匹配的建筑物位置圆形描述符相关联的房间位置来识别要用作图像的所确定的采集位置的房间位置,以便将该关联的房间位置用作所确定的采集位置,或任选地改为对所确定的采集位置的进一步细化。在一些实施方式和情形中,例程可以进一步根据与图像的一个或多个部分(例如,图像的起始方向和/或图像的结束方向)对应的所确定的采集位置来确定取向和/或方向信息。在框485中,例程然后任选地将信息添加到与关于图像的所确定的采集位置对应的图节点,并且使用图像的视觉数据及其确定的采集位置来更新与该图节点相关联的房间或其他区域中的一些或全部建筑物位置圆形描述符。
在框485之后,例程继续到框488以存储在框415至485中确定和生成的信息,以及任选地将其封闭房间或其他区域中的图像的所确定的图像采集位置信息显示在楼层地图上(或楼层地图摘录)上,但是在其他实施方式中,可以以其他方式使用所确定的信息(例如,用于一个或多个装置的自动化导航)。
如果改为在框440中确定在框405中接收到的信息或指令不是确定图像的采集位置,则例程改为继续到框490以视情况执行一个或多个其他所指示的操作。这种其他操作可以包括例如接收并响应对于先前确定的图像采集位置信息和/或对于关联的图像的请求(例如,对于这种信息在一个或多个客户端装置上显示的请求、对于这种信息提供到一个或多个其他装置以用于自动化导航的请求等)、获得并存储关于建筑物的信息以供在稍后操作中使用(例如,关于楼层平面图和楼层平面图中的房间的关联的墙壁元素位置等的信息)、执行几何定位技术以测试图像中可见的墙壁元素与房间中存在的墙壁元素的关联(不论是确认已经被确定为图像圆形描述符的最佳匹配的建筑物位置圆形描述符的匹配度,和/或还是作为识别这种最佳匹配的建筑物位置圆形描述符的一部分)、使用机器学习技术来获悉最佳编码以允许图像与房间位置等进行匹配。
在框488或490之后,例程继续到框495以确定是否继续,诸如直到接收到明确的终止指示为止,或者改为只有在接收到明确的继续指示的情况下才继续。如果确定继续,则例程返回框405以等待并接收附加指令或信息,否则继续到框499并结束。
图5说明了用于建筑物地图查看器系统例程500的流程图的示例实施方式。该例程可以通过例如执行图1的建筑物查看器客户端计算装置175及其软件系统(未示出)、图3的客户端计算装置390和/或如在本文的其他地方所描述的建筑物信息查看器或呈现系统来执行,以便接收和显示限定区域的测绘信息(例如,3D计算机模型、2.5D计算机模型、2D楼层平面图等),该测绘信息包括一个或多个所确定的图像采集位置的视觉指示;以及任选地将与特定位置相关联的附加信息(例如,图像)显示在测绘信息中。在图5的示例中,所呈现的测绘信息是对于建筑物(例如,对于房屋的内部),但在其他实施方式中,可以对于其他类型的建筑物或环境来呈现并以其他方式使用其他类型的测绘信息,如在本文的其他地方所讨论。
例程的所说明的实施方式在框505处开始,在框505处,接收指令或信息。在框510处,例程确定接收到的指令或信息是否指示显示或以其他方式呈现表示一个或多个建筑物区域(例如,建筑物内部)的信息,并且如果不是的话,则继续到框590。否则,例程前进到框512以检索楼层平面图和/或建筑物的其他所生成的测绘信息(例如,3D计算机模型)以及任选地建筑物内部和/或周围位置的关联的链接信息的指示,并且选择检索到的信息的初始视图(例如,楼层平面图、至少一些3D计算机模型等的视图)。在框515中,例程然后显示或以其他方式呈现检索到的信息的当前视图,并且在框517中等待用户选择。在框517中的用户选择之后,如果在框520中确定用户选择与当前位置对应(例如,以改变当前视图),则例程继续到框522以根据用户选择来更新当前视图,并且然后返回到框515以相应地更新所显示的或以其他方式呈现的信息。当前视图的用户选择和对应更新可以包括例如显示或以其他方式呈现用户选择的一条关联的链接信息(例如,与所确定的采集位置的所显示的视觉指示相关联的特定图像)、改变当前视图的显示方式(例如,放大或缩小;在适当时旋转信息;选择要显示或以其他方式呈现的楼层平面图和/或3D计算机模型的新部分,诸如其中该新部分中的一些或全部先前不可见,或者改为其中该新部分是先前可见信息的子集;等)。
如果改为在框510中确定在框505中接收到的指令或其他信息将不呈现表示建筑物内部的信息,则例程改为继续到框590,以视情况执行任何其他所指示的操作(诸如,任何家政任务)、将参数配置为在系统的各种操作中使用(例如,至少部分地基于由系统的用户指定的信息,诸如捕获一个或多个建筑物内部的移动装置的用户、IFPLMM系统的操作者用户等)、获得和存储关于系统的用户的其他信息、响应于对于所生成和存储的信息的请求等。
在框590之后,或者如果在框520中确定用户选择与当前位置不对应,则例程前进到框595以确定是否继续,诸如直到接收到明确的终止指示为止,或者改为只有在接收到明确的继续指示的情况下才继续。如果确定继续(例如,如果用户在框517中做出与要呈现的新位置有关的选择),则例程返回到框505以等待附加的指令或信息(或者如果用户在框517中做出与要呈现的新位置有关的选择,则继续到框512),并且如果不是的话,则前进到步骤599并结束。
在以下条款中进一步描述本文所描述的非排他性示例实施方式。
A01.一种计算机实施的方法,包括:
由一个或多个计算装置并且对于具有多个房间的房屋获得所述房屋的栅格化二维楼层平面图,所述栅格化二维楼层平面图具有关于所述多个房间的门和窗以及墙壁间边界的位置的关联的语义信息;
由所述一个或多个计算装置生成所述房屋的建筑物位置描述信息,包括:
通过对所述栅格化二维楼层平面图上示出的所述房屋的结构位置进行采样,生成表示所述房屋的结构的具有多个点的二维点云,包括将信息与每个点进行关联,所述信息包括所述点在所述二维楼层平面图上的二维位置并且包括所述点的一组相邻点的法向方向信息并且包括关于与所述点对应的门和窗以及墙壁间边界的任何位置的所述点的语义信息;
通过将所述二维点云供应到第一经训练的神经网络,确定与所述二维点云的点相关联的第一潜在空间特征;以及
生成用于穿过所述房屋的所述多个房间的指定网格图像中的多个建筑物位置的建筑位置圆形描述符,包括对于所述建筑物位置中的每一个,确定在360水平度中从所述建筑物位置到所述点云的至少一些点的角方向,并且在与所述建筑物位置相关联的所述建筑物位置圆形描述符中的一个中,编码关于与所述至少一些点相关联的所述第一潜在空间特征中的一些的信息;
由所述一个或多个计算装置生成用于在所述多个房间中的一个中拍摄并且具有360水平度视觉信息的全景图像的图像圆形描述符,包括通过将所述全景图像供应到第二经训练的神经网络来确定与所述全景图像的视觉数据相关联的第二潜在空间特征,并且其中,所述图像圆形描述符将识别所述视觉数据内的指定方向的信息编码到所述第二潜在空间特征;
由所述一个或多个计算装置比较所述图像圆形描述符与所述建筑物位置圆形描述符,以确定所述建筑物位置圆形描述符中的其编码信息与所述图像圆形描述符的所述编码信息最匹配中的一个;
由所述一个或多个计算装置并且基于所述比较,关联所述全景图像与所述二维楼层平面图上的确定的位置,其中,所述确定的位置包括所述一个房间中的与所述确定的一个建筑物位置圆形描述符相关联的所述建筑物位置,并且还包括将所述建筑物位置的所述确定的角方向与所述全景图像的所识别的指定位置相互关联的取向信息;以及
由所述一个或多个计算装置,使用所述房屋的所述二维楼层平面图上的所述全景图像的所述确定的位置用于所述房屋的至少所述一个房间的导航。
A02.根据条款A01所述的计算机实施的方法,其中,生成所述建筑物位置圆形描述符还包括:获得第一枚举组的入射角范围;获得第二枚举组的距离范围;以及通过以下方式执行对关于所述第一潜在空间特征中的一些的信息的所述建筑物位置圆形描述符中的每一个的编码:对于用于所述建筑物位置圆形描述符的所述建筑物位置的至少一些点中的每一个,编码在所述建筑物位置圆形描述符中对从所述建筑物位置到包括来自所述第一枚举组的入射角范围中的一个和来自所述第二枚举组的距离范围中的一个的点的360水平度中的一个的信息。
A03.根据条款A01至A02中任一项所述的计算机实施的方法,还包括由所述一个或多个计算装置使用所述二维楼层平面图以进一步控制自主车辆的导航活动,包括提供所述二维楼层平面图以供所述自主车辆在所述房屋的所述多个房间之间移动时使用。
A04.根据条款A01至A03中任一项所述的计算机实施的方法,其中,使用所述确定的位置还包括由所述一个或多个计算装置显示所述二维楼层平面图,所述二维楼层平面图示出所述多个房间并且包括在所述显示的所述确定的位置的二维楼层平面图上的一个或多个视觉指示和所述一个房间中的所述全景图像的所述取向信息。
A05.一种计算机实施的方法,包括:
由计算装置并且对于建筑物获得建筑物位置描述信息,所述建筑物位置描述信息包括所述建筑物中的多个建筑物位置的多个建筑物位置圆形描述符,其中,每个建筑物位置圆形描述符与所述建筑物位置中的一个相关联并且具有与在从所关联的建筑物位置的指定角方向上针对所述建筑物的结构元素识别的第一潜在空间特征有关的第一角信息,其中,所述第一潜在空间特征由第一经训练的神经网络使用所述建筑物的二维楼层平面图来识别;
由所述计算装置生成全景图像的图像圆形描述符,所述全景图像在所述建筑物的房间中捕获并且包括与所述房间的至少一些墙壁有关的视觉信息,其中,所述图像圆形描述符具有与由第二经训练的神经网络从在指定方向上的所述全景图像的所述视觉信息识别的第二潜在空间特征有关的第二角信息;
由所述计算装置比较所述图像圆形描述符与所述建筑物位置圆形描述符,以确定所述建筑物位置圆形描述符中的在所述房间中并且具有与所述图像圆形描述符的所述第二角信息最匹配的第一角信息的一个;
由所述计算装置并且基于所述比较,关联所述全景图像与所述房间中的确定的位置和确定的取向,所述确定的位置是基于与所确定的一个建筑物位置圆形描述符相关联的所述建筑物位置,并且所述确定的取向从与所述全景图像中的可见信息的指定部分对应的所述建筑物位置识别至少一个方向;以及
由所述计算装置呈现包括所述建筑物的所述二维楼层平面图并且用识别所述全景图像的至少所述确定的位置的视觉指示示出所述房间的信息,从而使用所呈现的信息来导航所述建筑物。
A06.根据条款A01至A05中任一项所述的计算机实施的方法,其中,呈现楼层平面图还包括在视觉上指示所述确定的取向,并且其中,所述方法还包括:由所述计算装置并且响应于所呈现的楼层平面图上的所述视觉指示的用户选择,呈现所述全景图像的与所述确定的取向对应的至少一部分。
A07.根据条款A01至A06中任一项所述的计算机实施的方法,
其中,所述全景图像的所述视觉信息包括从所述全景图像的采集位置起的360水平度视觉覆盖范围,
其中,对于从所述采集位置起的所述360水平度视觉覆盖范围的每一个,所述图像圆形描述符包括与所述第二潜在空间特征中的至少一些第二潜在空间特征有关的信息,所述至少一些第二潜在空间特征与所述房间的从所述采集位置起在与所述水平度视觉覆盖范围对应的方向上可见的任何结构元素相关联,以及
其中,对于从与所述建筑物位置圆形描述符相关联的所述建筑物位置起的360水平度中的每一个,所述建筑物位置圆形描述符中的每一个包括与所述第一潜在空间特征中的至少一些第一潜在空间特征有关的信息,所述至少一些第一潜在空间特征与周围房间的从所述建筑物位置起在与所述水平度视觉覆盖范围对应的方向上可见的任何结构元素相关联。
A08.根据条款A07所述的计算机实施的方法,其中,所述建筑物的所述结构元素包括至少一个门、至少一个窗和至少一个墙壁间边界,并且其中,获得所述建筑物位置描述信息包括生成所述建筑物位置圆形描述符,其包括从所述二维楼层平面图生成具有多个点的二维点云,其包括将信息与所述点中的每一个相关联,所述信息包括所述点的二维位置信息和所述点的法向方向信息以及关于与所述点相关联的任何结构元素的语义信息,并且其包括分析所述点和所关联的信息以生成所述第一潜在空间特征,其中,所述点中的每一个与所述第一潜在空间特征中的至少一个相关联。
A09.根据条款A07至A08中任一项所述的计算机实施的方法,还包括通过执行所述生成和所述比较来确定具有与所述图像圆形描述符中包括的所述信息最匹配的角信息的所述一个建筑物位置圆形描述符,而不使用从任何深度传感器采集的与从所述采集位置到所述房间的任何周围元素的深度有关的任何深度信息。
A10.根据条款A07至A09中任一项所述的计算机实施的方法,还包括通过指定覆盖所述建筑物的多个房间中的至少一些房间的楼层的建筑物位置的网格来选择所述建筑物中的所述多个建筑物位置。
A11.根据条款A10所述的计算机实施的方法,其中,比较所述图像圆形描述符和所述建筑物位置圆形描述符包括:对所述网格的所述建筑物位置执行最近邻搜索,其包括如果所述网格中的至少一个近邻建筑物位置与所述图像圆形描述符的不相似性小于所述网格中的至少一个当前建筑物位置与所述图像圆形描述符的不相似性,则通过从所述网格中的至少一个当前建筑物位置反复移动到所述网格中的至少一个近邻建筑物位置来识别所确定的一个建筑物位置圆形描述符。
A12.根据条款A07至A11中任一项所述的计算机实施的方法,
其中,比较所述图像圆形描述符与所述建筑物位置圆形描述符还包括:
对于指定类型的特性,分析所述视觉信息以识别从所述采集位置起的所述360水平度视觉覆盖范围中的存在所述特性的至少一个;
对于所述建筑物位置圆形描述符中的至少一些中的每一个,通过以下操作比较所述图像圆形描述符和所述建筑物位置圆形描述符:
识别从与所述建筑物位置圆形描述符相关联的所述建筑物位置起的所述360水平度中的存在所述特性的一个或多个;以及
将从所述采集位置起的所述360水平度视觉覆盖范围中的所识别的至少一个中的每一个的位置同步到从所述建筑物位置起的所识别的一个或多个360水平度中的每一个的位置,以确定相对于所同步的位置所述图像圆形描述符中的处于其他水平度覆盖范围的信息是否匹配所述建筑物位置圆形描述符中的处于其他水平度覆盖范围的信息;以及
基于具有所识别的同步位置的所选择的一个建筑物位置圆形描述符,选择至少一些所述建筑物位置圆形描述符中的一个作为所确定的一个建筑物位置圆形描述符,其中所述建筑物位置圆形描述符中的处于其他水平度覆盖范围的信息与所述图像圆形描述符中的处于其他水平度覆盖范围的信息最匹配,并且使用所识别的同步位置来确定所述全景图像在所述房间中的取向。
A13.根据条款A12所述的计算机实施的方法,其中,所述指定类型的特性是以下各项中的一个:正交于沿着所识别的水平度视觉覆盖范围的线的可见墙壁、或者在所识别的水平度视觉覆盖范围下可见的指定类型的墙壁元素。
A14.根据条款A01至A13中任一项所述的计算机实施的方法,其中,比较所述图像圆形描述符和所述建筑物位置圆形描述符包括对于所述建筑物位置圆形描述符中的至少一些中的每一个:确定所述图像圆形描述符和所述建筑物位置圆形描述符由于差异小于指定阈值是匹配的概率;以及选择所述至少一些建筑物位置圆形描述符中的具有匹配所述图像圆形描述符的最高概率的一个作为所确定的一个建筑物位置圆形描述符。
A15.根据条款A01至A14中任一项所述的计算机实施的方法,其中,比较所述图像圆形描述符和所述建筑物位置圆形描述符包括对于所述建筑物位置圆形描述符中的至少一些中的每一个:使用圆形推土机对所述图像圆形描述符和所述建筑物位置圆形描述符之间的距离进行距离测量;以及选择所述至少一些建筑物位置圆形描述符中的具有到所述图像圆形描述符的最小测量距离的一个作为所确定的一个建筑物位置圆形描述符。
A16.根据条款A01至A15中任一项所述的计算机实施的方法,
还包括:获得第一枚举组的角度范围;获得第二枚举组的距离范围;以及通过以下方式生成所述建筑物位置圆形描述符中的每一个:对于从所述建筑物位置圆形描述符的所述建筑物位置可见的所述结构元素的至少一些点中的每一个,编码所述建筑物位置圆形描述符中的关于所述第一潜在空间特征中的一些的信息;对于从所述建筑物位置到包括来自所述第一枚举组的角度范围中的一个和来自所述第二枚举组的距离范围中的一个的点的360水平度中的一个,编码所述建筑物位置圆形描述符中的信息。
A17.根据条款A01至A16中任一项所述的计算机实施的方法,还包括:通过向细化神经网络供应所述全景图像和与所确定的一个建筑物位置圆形描述符相关联的建筑物位置,确定所述房间中的所述全景图像的位置;以及接收基于所述建筑物位置并且被调整为反映所述全景图像的所述视觉信息的经调整位置。
A18.根据条款A01至A17中任一项所述的计算机实施的方法,
其中,关联所述全景图像与所述确定的位置和所述确定的取向还包括由所述计算装置进行以下操作:
对于与所述房间中的多个建筑物位置中的一个相关联的多个建筑物位置圆形描述符中的每一个,生成所述建筑物位置圆形描述符的附加视觉信息,所述附加视觉信息表示从与所述建筑物位置圆形描述符相关联的所述建筑物位置的视图并且包括在所述建筑物位置圆形描述符的指定角方向上可见的所述第二潜在空间特征中的至少一些;以及
通过比较在所述房间中捕获的附加图像生成的附加图像圆形描述符与所述多个建筑物位置圆形描述符,包括使用所述多个建筑物位置圆形描述符的所生成的附加视觉信息,确定在所述房间中捕获的所述附加图像的采集位置。
A19.根据条款A18所述的计算机实施的方法,还包括:生成具有多个节点的图,其中至少一个节点表示所述建筑物的多个房间中的每一个;关联所述多个建筑物位置圆形描述符和所述多个节点中的表示所述房间中的一个;以及在确定所述全景图像的所述位置之后,还关联所述全景图像和表示所述房间的一个节点。
A20.根据条款A01至A19中任一项所述的计算机实施的方法,其中,比较所述图像圆形描述符和所述建筑物位置圆形描述符包括使用机器学习以将所确定的一个建筑物位置圆形描述符识别为最类似于所述图像圆形描述符。
A21.一种计算机实施的方法,包括多个步骤以执行自动化操作,所述自动化操作实施基本上如本文所公开的所描述的技术。
B01.一种非暂时性计算机可读介质,其存储有可执行软件指令和/或其他存储的内容,所述可执行软件指令和/或其他存储的内容致使一个或多个计算系统执行自动化操作,所述自动化操作实施条款A01至A21中任一项所述的方法。
B02.一种非暂时性计算机可读介质,其存储有可执行软件指令和/或其他存储的内容,所述可执行软件指令和/或其他存储的内容致使一个或多个计算系统执行自动化操作,所述自动化操作实施基本上如本文所公开的所描述的技术。
B03.一种非暂时性计算机可读介质,
其存储有内容,所述内容致使一个或多个计算装置执行自动化操作,所述自动化操作至少包括:
由所述一个或多个计算装置并且对于在与建筑物相关联的区域中捕获并且包括与所述建筑物的至少一些结构元素的视觉信息有关的图像,获得所述图像的图像圆形描述符,所述图像圆形描述符包括识别与在所述视觉信息内的指定方向上的所述至少一些结构元素相关联的特征的信息;
由所述一个或多个计算装置获得建筑物位置圆形描述符,所述建筑物位置圆形描述符各自与建筑物位置相关联并且包括关于与在从所关联的建筑物位置起在指定角方向上的所述建筑物的结构元素的点相关联的特征的角信息;
由所述一个或多个计算装置比较所述图像圆形描述符和所述建筑物位置圆形描述符,以确定所述建筑物位置圆形描述符中的具有与所述图像圆形描述符中包括的所述信息最匹配的角信息的一个;
由所述一个或多个计算装置,关联所述图像与针对所述建筑物的确定的位置,所述确定的位置是基于对于所确定的一个建筑物位置圆形描述符的所关联的建筑物位置;以及
由所述一个或多个计算装置提供所述图像的与所述建筑物的所述确定的位置有关的信息。
B04.根据条款B03所述的非暂时性计算机可读介质,其中,所述图像是具有360度水平的视觉信息的全景图像,其中,获得所述图像圆形描述符包括:由所述一个或多个计算装置经由经训练的神经网络对所述图像的分析,生成所述图像圆形描述符,并且其中,提供与所述图像的所述确定的位置有关的所述信息包括:呈现所述建筑物的包括所述图像的所述确定的位置的视觉指示的楼层平面图。
B05.根据条款B03至B04中任一项所述的非暂时性计算机可读介质,其中,与所述建筑物相关联的所述区域包括所述建筑物的多个房间中的至少一个,并且其中,所述建筑物的所述结构元素包括多个门或窗或墙壁间边界。
B06.根据条款B03至B05中任一项所述的非暂时性计算机可读介质,其中,与所述建筑物相关联的所述区域包括接近所述建筑物的至少一个外部区域,并且其中,所述建筑物的所述结构元素包括多个门或窗或墙壁间边界。
B07.根据条款B03至B06中任一项所述的非暂时性计算机可读介质,其中,所述图像的所述视觉信息具有少于360水平度的覆盖范围,其中,所述确定的一个附加角描述符是用于在所述确定的位置处拍摄并且具有360水平度覆盖范围的全景图像,并且其中,比较所述图像的角描述符和所述附加角描述符包括匹配所述图像的所述角描述符和所述全景图像的所述确定的一个附加角描述符的子集。
C01.一种或多种计算系统,包括:一个或多个硬件处理器和存储有指令的一个或多个存储器,所述指令在被所述一个或多个硬件处理器中的至少一个执行时,致使所述一种或多种计算系统执行自动化操作,所述自动化操作实施条款A01至A21中任一项所述的方法。
C02.一种或多种计算系统,包括一个或多个硬件处理器和存储有指令的一个或多个存储器,所述指令在被所述一个或多个硬件处理器中的至少一个执行时,致使所述一种或多种计算系统执行自动化操作,所述自动化操作实施基本上如本文所公开的所描述的技术。
C03.一种系统,其包括:
一个或多个计算装置的一个或多个硬件处理器;以及
一个或多个存储器,其存储有指令,所述指令在被所述一个或多个硬件处理器中的至少一个执行时,致使所述一个或多个计算装置中的至少一个执行自动化操作,所述自动化操作至少包括:
获得建筑物的区域的描述信息,所述描述信息包括所述区域中的多个建筑物位置的建筑物位置圆形描述符,其中,每个建筑物位置圆形描述符与所述建筑物位置中的一个相关联并且具有与在从所述关联的建筑物位置起在指定角方向上的所述建筑物的结构元素相关联的特征有关的角信息;
针对在所述区域中的记录位置处记录的信息生成附加圆形描述符,其中,所述附加圆形描述符包括识别与在从所述记录位置起在指定方向上从所记录的信息可识别的所述结构元素中的至少一些相关联的特征的信息;
比较所述附加圆形描述符和所述建筑物位置圆形描述符,以确定所述建筑物位置圆形描述符中的具有与所述附加圆形描述符中包括的所述信息最匹配的角信息的一个;
基于所述比较,关联所记录的信息和所述区域中的位置,基于与所确定的一个建筑物位置圆形描述符相关联的所述建筑物位置,对于所述记录位置确定所述区域中的所述位置;以及
对于所记录的信息提供与所述区域中的所确定的位置有关的信息。
C04.根据条款C03所述的系统,其中,所记录的信息包括具有视觉信息的全景图像,其中,所述结构元素包括具有门或窗或墙壁间边界中的至少一个的墙壁元素,其中,提供与所述房间中的所确定的位置有关的所述信息包括呈现包括所述区域的所述建筑物的楼层平面图,并且其中,所呈现的楼层平面图包括所述区域中的所确定的位置的视觉指示。
C05.根据条款C03至C04中任一项所述的系统,其中,所述建筑物的所述区域是所述建筑物的多个房间中的一个。
C06.根据条款C03至C05中任一项所述的系统,其中,所述建筑物的所述区域是与所述建筑物相邻的外部区域。
D01.一种计算机程序,当所述计算机程序在计算机上运行时,所述计算机程序适于执行条款A01至A21中任一项所述的方法。
本文参考根据本公开的实施方式的方法、设备(系统)和计算机程序产品的流程图说明和/或框图来描述本公开的方面。将了解,可以通过计算机可读程序指令来实施流程图说明和/或框图的每个框以及流程图说明和/或框图中的框的组合。将进一步了解,在一些实施方式中,可以以替代性方式提供由上文讨论的例程提供的功能,诸如划分到更多的例程当中或者合并到更少的例程中。类似地,在一些实施方式中,所说明的例程可以提供比所描述的功能更多或更少的功能,诸如在其他所说明的例程相应地改为缺少或包括这种功能时,或者在所提供的功能的量变更时。另外,尽管各种操作可以被说明为按特定方式(例如,串行或并行或者同步或异步)和/或按特定顺序执行,但在其他实施方式中,可以按其他顺序和其他方式执行操作。上文讨论的任何数据结构也可以按不同方式结构化,诸如通过将单个数据结构划分成多个数据结构和/或通过使多个数据结构合并成单个数据结构。类似地,在一些实施方式中,所说明的数据结构可以存储比所描述的信息更多或更少的信息,诸如在其他所说明的数据结构相应地改为缺少或包括这种信息时,或者在所存储的信息的量或类型变更时。
根据上述内容,将了解,尽管出于说明的目的在本文中已描述了具体实施方式,但是在不脱离本发明的精神和范围的情况下,可以做出各种修改。因此,除受对应的权利要求和那些权利要求所叙述的元素的限制外,本发明不受限制。另外,尽管在某些时候可以以某些权利要求形式呈现本发明的某些方面,但是本发明人设想以任何可用权利要求形式的本发明的各种方面。例如,尽管在特定时候仅本发明的一些方面可以被叙述为体现在计算机可读存储介质中,但是同样可以这样体现其他方面。
Claims (20)
1.一种计算机实施的方法,包括:
由计算装置并且对于建筑物获得建筑物位置描述信息,所述建筑物位置描述信息包括所述建筑物中的多个建筑物位置的多个建筑物位置圆形描述符,其中,每个建筑物位置圆形描述符与所述建筑物位置中的一个相关联并且具有与在从所关联的建筑物位置的指定角方向上针对所述建筑物的结构元素识别的第一潜在空间特征有关的第一角信息,其中,所述第一潜在空间特征由第一经训练的神经网络使用所述建筑物的二维楼层平面图来识别;
由所述计算装置生成全景图像的图像圆形描述符,所述全景图像在所述建筑物的房间中捕获并且包括与所述房间的至少一些墙壁有关的视觉信息,其中,所述图像圆形描述符具有与由第二经训练的神经网络从在指定方向上的所述全景图像的所述视觉信息识别的第二潜在空间特征有关的第二角信息;
由所述计算装置比较所述图像圆形描述符与所述建筑物位置圆形描述符,以确定所述建筑物位置圆形描述符中的在所述房间中并且具有与所述图像圆形描述符的所述第二角信息最匹配的第一角信息的一个;
由所述计算装置并且基于所述比较,关联所述全景图像与所述房间中的确定的位置和确定的取向,所述确定的位置是基于与所确定的一个建筑物位置圆形描述符相关联的所述建筑物位置,并且所述确定的取向从与所述全景图像中的可见信息的指定部分对应的所述建筑物位置识别至少一个方向;以及
由所述计算装置呈现包括所述建筑物的所述二维楼层平面图并且用识别所述全景图像的至少所述确定的位置的视觉指示示出所述房间的信息,从而使用所呈现的信息来导航所述建筑物。
2.根据权利要求1所述的计算机实施的方法,其中,呈现楼层平面图还包括在视觉上指示所述确定的取向,并且其中,所述方法还包括:由所述计算装置并且响应于所呈现的楼层平面图上的所述视觉指示的用户选择,呈现所述全景图像的与所述确定的取向对应的至少一部分。
3.根据权利要求1所述的计算机实施的方法,其中,所述全景图像的所述视觉信息包括从所述全景图像的采集位置起的360水平度视觉覆盖范围,
其中,对于从所述采集位置起的所述360水平度视觉覆盖范围的每一个,所述图像圆形描述符包括与所述第二潜在空间特征中的至少一些第二潜在空间特征有关的信息,所述至少一些第二潜在空间特征与所述房间的从所述采集位置起在与所述水平度视觉覆盖范围对应的方向上可见的任何结构元素相关联,以及
其中,对于从与所述建筑物位置圆形描述符相关联的所述建筑物位置起的360水平度中的每一个,所述建筑物位置圆形描述符中的每一个包括与所述第一潜在空间特征中的至少一些第一潜在空间特征有关的信息,所述至少一些第一潜在空间特征与周围房间的从所述建筑物位置起在与所述水平度视觉覆盖范围对应的方向上可见的任何结构元素相关联。
4.根据权利要求3所述的计算机实施的方法,其中,所述建筑物的所述结构元素包括至少一个门、至少一个窗和至少一个墙壁间边界,并且其中,获得所述建筑物位置描述信息包括生成所述建筑物位置圆形描述符,其包括从所述二维楼层平面图生成具有多个点的二维点云,其包括将信息与所述点中的每一个相关联,所述信息包括所述点的二维位置信息和所述点的法向方向信息以及关于与所述点相关联的任何结构元素的语义信息,并且其包括分析所述点和所关联的信息以生成所述第一潜在空间特征,其中,所述点中的每一个与所述第一潜在空间特征中的至少一个相关联。
5.根据权利要求3所述的计算机实施的方法,还包括通过执行所述生成和所述比较来确定具有与所述图像圆形描述符中包括的所述信息最匹配的角信息的所述一个建筑物位置圆形描述符,而不使用从任何深度传感器采集的与从所述采集位置到所述房间的任何周围元素的深度有关的任何深度信息。
6.根据权利要求3所述的计算机实施的方法,还包括通过指定覆盖所述建筑物的多个房间中的至少一些房间的楼层的建筑物位置的网格来选择所述建筑物中的所述多个建筑物位置。
7.根据权利要求6所述的计算机实施的方法,其中,比较所述图像圆形描述符和所述建筑物位置圆形描述符包括:对所述网格的所述建筑物位置执行最近邻搜索,其包括如果所述网格中的至少一个近邻建筑物位置与所述图像圆形描述符的不相似性小于所述网格中的至少一个当前建筑物位置与所述图像圆形描述符的不相似性,则通过从所述网格中的至少一个当前建筑物位置反复移动到所述网格中的至少一个近邻建筑物位置来识别所确定的一个建筑物位置圆形描述符。
8.根据权利要求3所述的计算机实施的方法,其中,比较所述图像圆形描述符与所述建筑物位置圆形描述符还包括:
对于指定类型的特性,分析所述视觉信息以识别从所述采集位置起的所述360水平度视觉覆盖范围中的存在所述特性的至少一个;
对于所述建筑物位置圆形描述符中的至少一些中的每一个,通过以下操作比较所述图像圆形描述符和所述建筑物位置圆形描述符:
识别从与所述建筑物位置圆形描述符相关联的所述建筑物位置起的所述360水平度中的存在所述特性的一个或多个;以及
将从所述采集位置起的所述360水平度视觉覆盖范围中的所识别的至少一个中的每一个的位置同步到从所述建筑物位置起的所识别的一个或多个360水平度中的每一个的位置,以确定相对于所同步的位置所述图像圆形描述符中的处于其他水平度覆盖范围的信息是否匹配所述建筑物位置圆形描述符中的处于其他水平度覆盖范围的信息;以及
基于具有所识别的同步位置的所选择的一个建筑物位置圆形描述符,选择至少一些所述建筑物位置圆形描述符中的一个作为所确定的一个建筑物位置圆形描述符,其中所述建筑物位置圆形描述符中的处于其他水平度覆盖范围的信息与所述图像圆形描述符中的处于其他水平度覆盖范围的信息最匹配,并且使用所识别的同步位置来确定所述全景图像在所述房间中的取向。
9.根据权利要求8所述的计算机实施的方法,其中,所述指定类型的特性是以下各项中的一个:正交于沿着所识别的水平度视觉覆盖范围的线的可见墙壁、或者在所识别的水平度视觉覆盖范围下可见的指定类型的墙壁元素。
10.根据权利要求1所述的计算机实施的方法,其中,比较所述图像圆形描述符和所述建筑物位置圆形描述符包括对于所述建筑物位置圆形描述符中的至少一些中的每一个:确定所述图像圆形描述符和所述建筑物位置圆形描述符由于差异小于指定阈值是匹配的概率;以及选择所述至少一些建筑物位置圆形描述符中的具有匹配所述图像圆形描述符的最高概率的一个作为所确定的一个建筑物位置圆形描述符。
11.根据权利要求1所述的计算机实施的方法,其中,比较所述图像圆形描述符和所述建筑物位置圆形描述符包括对于所述建筑物位置圆形描述符中的至少一些中的每一个:使用圆形推土机对所述图像圆形描述符和所述建筑物位置圆形描述符之间的距离进行距离测量;以及选择所述至少一些建筑物位置圆形描述符中的具有到所述图像圆形描述符的最小测量距离的一个作为所确定的一个建筑物位置圆形描述符。
12.根据权利要求1所述的计算机实施的方法,还包括:获得第一枚举组的角度范围;获得第二枚举组的距离范围;以及通过以下方式生成所述建筑物位置圆形描述符中的每一个:对于从所述建筑物位置圆形描述符的所述建筑物位置可见的所述结构元素的至少一些点中的每一个,编码所述建筑物位置圆形描述符中的与所述第一潜在空间特征中的一些有关的信息;对于从所述建筑物位置到包括来自所述第一枚举组的角度范围中的一个和来自所述第二枚举组的距离范围中的一个的点的360水平度中的一个,编码所述建筑物位置圆形描述符中的信息。
13.根据权利要求1所述的计算机实施的方法,还包括:通过向细化神经网络供应所述全景图像和与所确定的一个建筑物位置圆形描述符相关联的建筑物位置,确定所述房间中的所述全景图像的位置;以及接收基于所述建筑物位置并且被调整为反映所述全景图像的所述视觉信息的经调整位置。
14.根据权利要求1所述的计算机实施的方法,其中,关联所述全景图像与所述确定的位置和所述确定的取向还包括由所述计算装置进行以下操作:
对于与所述房间中的多个建筑物位置中的一个相关联的多个建筑物位置圆形描述符中的每一个,生成所述建筑物位置圆形描述符的附加视觉信息,所述附加视觉信息表示从与所述建筑物位置圆形描述符相关联的所述建筑物位置的视图并且包括在所述建筑物位置圆形描述符的指定角方向上可见的所述第二潜在空间特征中的至少一些;以及
通过比较在所述房间中捕获的附加图像生成的附加图像圆形描述符与所述多个建筑物位置圆形描述符,包括使用所述多个建筑物位置圆形描述符的所生成的附加视觉信息,确定在所述房间中捕获的所述附加图像的采集位置。
15.根据权利要求14所述的计算机实施的方法,还包括:生成具有多个节点的图,其中至少一个节点表示所述建筑物的多个房间中的每一个;关联所述多个建筑物位置圆形描述符和所述多个节点中的表示所述房间中的一个;以及在确定所述全景图像的所述位置之后,还关联所述全景图像和表示所述房间的一个节点。
16.根据权利要求1所述的计算机实施的方法,其中,比较所述图像圆形描述符和所述建筑物位置圆形描述符包括使用机器学习以将所确定的一个建筑物位置圆形描述符识别为最类似于所述图像圆形描述符。
17.一种非暂时性计算机可读介质,其存储有内容,所述内容致使一个或多个计算装置执行自动化操作,所述自动化操作至少包括:
由所述一个或多个计算装置并且对于在与建筑物相关联的区域中捕获并且包括与所述建筑物的至少一些结构元素的视觉信息有关的图像,获得所述图像的图像圆形描述符,所述图像圆形描述符包括识别与在所述视觉信息内的指定方向上的所述至少一些结构元素相关联的特征的信息;
由所述一个或多个计算装置获得建筑物位置圆形描述符,所述建筑物位置圆形描述符各自与建筑物位置相关联并且包括关于与在从所关联的建筑物位置起在指定角方向上的所述建筑物的结构元素的点相关联的特征的角信息;
由所述一个或多个计算装置比较所述图像圆形描述符和所述建筑物位置圆形描述符,以确定所述建筑物位置圆形描述符中的具有与所述图像圆形描述符中包括的所述信息最匹配的角信息的一个;
由所述一个或多个计算装置,关联所述图像与针对所述建筑物的确定的位置,所述确定的位置是基于对于所确定的一个建筑物位置圆形描述符的所关联的建筑物位置;以及
由所述一个或多个计算装置提供所述图像的与所述建筑物的所述确定的位置有关的信息。
18.根据权利要求17所述的非暂时性计算机可读介质,其中,所述图像是具有360度水平的视觉信息的全景图像,其中,获得所述图像圆形描述符包括:由所述一个或多个计算装置经由经训练的神经网络对所述图像的分析,生成所述图像圆形描述符,其中,提供与所述图像的所述确定的位置有关的所述信息包括:呈现所述建筑物的包括所述图像的所述确定的位置的视觉指示的楼层平面图,其中,与所述建筑物相关联的所述区域包括所述建筑物的多个房间中的一个或接近所述建筑物的外部区域中的至少一个,并且其中,所述建筑物的所述结构元素包括多个门或窗或墙壁间边界。
19.一种系统,其包括:
一个或多个计算装置的一个或多个硬件处理器;以及
一个或多个存储器,其存储有指令,所述指令在被所述一个或多个硬件处理器中的至少一个执行时,致使所述一个或多个计算装置中的至少一个执行自动化操作,所述自动化操作至少包括:
获得建筑物的区域的描述信息,所述描述信息包括所述区域中的多个建筑物位置的建筑物位置圆形描述符,其中,每个建筑物位置圆形描述符与所述建筑物位置中的一个相关联并且具有与在从所述关联的建筑物位置起在指定角方向上的所述建筑物的结构元素相关联的特征有关的角信息;
针对在所述区域中的记录位置处记录的信息生成附加圆形描述符,其中,所述附加圆形描述符包括识别与在从所述记录位置起在指定方向上从所记录的信息可识别的所述结构元素中的至少一些相关联的特征的信息;
比较所述附加圆形描述符和所述建筑物位置圆形描述符,以确定所述建筑物位置圆形描述符中的具有与所述附加圆形描述符中包括的所述信息最匹配的角信息的一个;
基于所述比较,关联所记录的信息和所述区域中的位置,基于与所确定的一个建筑物位置圆形描述符相关联的所述建筑物位置,对于所述记录位置确定所述区域中的所述位置;以及
对于所记录的信息提供与所述区域中的所确定的位置有关的信息。
20.根据权利要求19所述的系统,其中,所记录的信息包括具有视觉信息的全景图像,其中,所述结构元素包括具有门或窗或墙壁间边界中的至少一个的墙壁元素,其中,提供与所述房间中的所确定的位置有关的所述信息包括呈现包括所述区域的所述建筑物的楼层平面图,其中,所呈现的楼层平面图包括所述区域中的所确定的位置的视觉指示,并且其中,所述建筑物的所述区域是所述建筑物的多个房间中的一个或与所述建筑物相邻的外部区域中的至少一个。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163270794P | 2021-10-22 | 2021-10-22 | |
US63/270,794 | 2021-10-22 | ||
US202163279247P | 2021-11-15 | 2021-11-15 | |
US63/279,247 | 2021-11-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116091914A true CN116091914A (zh) | 2023-05-09 |
Family
ID=83689277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211298022.1A Pending CN116091914A (zh) | 2021-10-22 | 2022-10-21 | 对图像的视觉数据进行自动化分析以确定建筑物楼层平面图上的图像采集位置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230125295A1 (zh) |
EP (1) | EP4170593A1 (zh) |
CN (1) | CN116091914A (zh) |
AU (1) | AU2022252855B2 (zh) |
CA (1) | CA3179102A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019205069A1 (en) * | 2018-04-27 | 2019-10-31 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for updating 3d model of building |
US11676344B2 (en) | 2019-11-12 | 2023-06-13 | MFTB Holdco, Inc. | Presenting building information using building models |
CN117889789B (zh) * | 2024-03-15 | 2024-06-04 | 浙江建投数字技术有限公司 | 一种建筑墙面平整度检测方法和系统 |
CN118089746B (zh) * | 2024-04-26 | 2024-08-02 | 嘉兴新生纪智能科技有限公司 | 一种用于室内场景的激光重定位方法、系统和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10530997B2 (en) * | 2017-07-13 | 2020-01-07 | Zillow Group, Inc. | Connecting and using building interior data acquired from mobile devices |
US10809066B2 (en) * | 2018-10-11 | 2020-10-20 | Zillow Group, Inc. | Automated mapping information generation from inter-connected images |
-
2022
- 2022-08-27 US US17/897,154 patent/US20230125295A1/en active Pending
- 2022-10-07 EP EP22200281.8A patent/EP4170593A1/en active Pending
- 2022-10-16 AU AU2022252855A patent/AU2022252855B2/en active Active
- 2022-10-17 CA CA3179102A patent/CA3179102A1/en active Pending
- 2022-10-21 CN CN202211298022.1A patent/CN116091914A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
AU2022252855A1 (en) | 2023-05-11 |
EP4170593A1 (en) | 2023-04-26 |
CA3179102A1 (en) | 2023-04-22 |
AU2022252855B2 (en) | 2024-05-09 |
US20230125295A1 (en) | 2023-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11164361B2 (en) | Generating floor maps for buildings from automated analysis of visual data of the buildings' interiors | |
US11514674B2 (en) | Automated analysis of image contents to determine the acquisition location of the image | |
US11645781B2 (en) | Automated determination of acquisition locations of acquired building images based on determined surrounding room data | |
CA3154186C (en) | Automated building floor plan generation using visual data of multiple building images | |
US11842464B2 (en) | Automated exchange and use of attribute information between building images of multiple types | |
EP4170593A1 (en) | Automated analysis of visual data of images to determine the images' acquisition locations on building floor plans | |
AU2022202815B2 (en) | Automated building information determination using inter-image analysis of multiple building images | |
EP4141702A1 (en) | Automated mapping information generation from analysis of building photos | |
CN117409438A (zh) | 使用楼层平面图和采集的建筑物图像的自动化建筑物识别 | |
EP4375931A1 (en) | Automated inter-image analysis of multiple building images for building information determination | |
EP4358026A1 (en) | Automated determination of acquisition locations of acquired building images based on identified surrounding objects | |
EP4394701A1 (en) | Automated inter-image analysis of multiple building images for building floor plan generation | |
CN118036116A (zh) | 用于建筑物楼层平面图生成的多个建筑物图像的自动图像间分析 | |
CN118036115A (zh) | 用于建筑物信息确定的多个建筑物图像的自动图像间分析 |
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 |