CN116090040A - 使用多个建筑图像的视觉数据的自动建筑楼层平面图生成 - Google Patents
使用多个建筑图像的视觉数据的自动建筑楼层平面图生成 Download PDFInfo
- Publication number
- CN116090040A CN116090040A CN202210473013.5A CN202210473013A CN116090040A CN 116090040 A CN116090040 A CN 116090040A CN 202210473013 A CN202210473013 A CN 202210473013A CN 116090040 A CN116090040 A CN 116090040A
- Authority
- CN
- China
- Prior art keywords
- image
- information
- panoramic
- images
- room
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000000007 visual effect Effects 0.000 title claims abstract description 178
- 238000000034 method Methods 0.000 claims abstract description 107
- 238000004458 analytical method Methods 0.000 claims description 40
- 238000010801 machine learning Methods 0.000 claims description 35
- 238000013528 artificial neural network Methods 0.000 claims description 33
- 238000009877 rendering Methods 0.000 claims description 31
- 230000036961 partial effect Effects 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 19
- 238000013527 convolutional neural network Methods 0.000 claims description 18
- 238000012549 training Methods 0.000 claims description 3
- 238000012935 Averaging Methods 0.000 claims description 2
- 238000005259 measurement Methods 0.000 abstract description 20
- 238000007670 refining Methods 0.000 abstract description 2
- 238000013507 mapping Methods 0.000 description 37
- 230000033001 locomotion Effects 0.000 description 19
- 238000003860 storage Methods 0.000 description 16
- 238000005457 optimization Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000013519 translation Methods 0.000 description 7
- 230000014616 translation Effects 0.000 description 7
- 238000003384 imaging method Methods 0.000 description 6
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000000047 product Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000005266 casting Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005094 computer simulation Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 230000001502 supplementing effect Effects 0.000 description 2
- 239000002023 wood Substances 0.000 description 2
- 241000709691 Enterovirus E Species 0.000 description 1
- 238000002679 ablation Methods 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000011109 contamination Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 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
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000004451 qualitative analysis Methods 0.000 description 1
- 238000004445 quantitative analysis Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
-
- 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
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/13—Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/38—Registration of image sequences
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- 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/10—Image acquisition modality
- G06T2207/10024—Color image
-
- 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/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Evolutionary Computation (AREA)
- Architecture (AREA)
- Civil Engineering (AREA)
- Structural Engineering (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Automation & Control Theory (AREA)
- Image Analysis (AREA)
- Alarm Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
描述了用于自动化操作的技术,以分析来自在建筑物的多个房间中捕获并且几乎没有视觉重叠的全景图像的视觉数据,以便生成建筑物的楼层平面图,并且随后以一种或多种进一步的自动化方式使用所生成的楼层平面图,其中在一些情况下进一步执行楼层平面图生成,而无需或使用来自任何距离测量装置的关于从图像的采集位置到周围房间中的墙壁或其他物体的距离的信息。自动化操作可以包括识别和对准在彼此靠近的采集位置处采集的成对的目标图像,使用公共坐标系统将图像间方向和采集位置的对准细化成全局对准,然后使用从图像的视觉数据识别的信息,该信息包括用于生成建筑物的楼层平面图的结构房间布局。
Description
技术领域
以下公开总体涉及用于自动分析在建筑物的多个房间中捕获的图像的视觉数据以生成建筑物的楼层平面图的技术,诸如使用对图像的视觉数据的分析来对准成对的图像,成对的图像具有很少或没有重叠的视觉覆盖,并且该技术用于随后以一种或多种方式使用生成的楼层平面图,从而改善建筑物的导航。
背景技术
在各种领域和情况(诸如建筑分析、财产清查、不动产购置和开发、改建和改造服务、总承包、自动导航和其他情况)下,可能期望查看关于房屋、办公室或其他建筑物的内部的信息而不必亲自前往或进入建筑物,包括确定关于建筑物的实际竣工信息而不是在建造建筑物之前得到的设计信息。然而,可能难以有效地捕获、表示和使用这种建筑物内部信息,包括向位于远程位置处的用户显示在建筑物内部内捕获的视觉信息(例如,使得用户能够充分理解内部的布局和其他细节,包括以用户选择的方式控制显示)。另外,尽管建筑物的楼层平面图可以提供关于布局的一些信息和建筑物内部的其他细节,但是在某些情形下,这样使用楼层平面图具有一些缺点,包括楼层平面图可能难以建造和维护、难以精确地缩放和填充关于房间内部的信息、难以可视化和以其他方式使用等。
发明内容
针对现有技术存在的上述技术问题,本申请提供了一种计算机实施的方法,包括:通过一个或多个计算装置获得在具有多个房间的建筑物中的多个采集位置处捕获的多个全景图像,其中所述多个全景图像包括所述多个房间中的一个或多个的墙壁、地板和天花板中的至少一些的视觉覆盖范围;通过所述一个或多个计算装置并且针对所述多个全景图像中的每个分析该全景图像的颜色像素数据以生成关于该全景图像中可见的至少一个房间的多种类型的信息,其中,所述多种类型的信息包括指示该至少一个房间中的至少一些墙壁的所生成的结构布局,并且包括一个全景图像的所述采集位置在所述结构布局内的确定位置,并且包括包含使用该全景图像的所述颜色像素数据生成的信息的、该至少一个房间的地板或天花板中的至少一些的一个或多个渲染视图;通过所述一个或多个计算装置并且使用经训练的机器学习模型并且针对各自具有在所述多个房间中的两个房间中捕获的所述多个全景图像的两个全景图像的一个或多个图像对中的每个,至少部分地基于对所述两个全景图像中的每个的一个或多个渲染视图的信息进行比较来确定所述两个全景图像的所述采集位置之间的局部对准信息;通过所述一个或多个计算装置生成包括所述多个采集位置中的至少一些在公共坐标系中的位置的全局对准信息,生成所述全局对准信息包括组合在所述一个或多个图像对中的至少一些的所述采集位置之间确定的所述局部对准信息;通过所述一个或多个计算装置生成所述建筑物中的至少一些的楼层平面图,生成所述楼层平面图包括使用来自所述多个采集位置中的至少一些的所述全局对准信息的所述位置来拟合至少一个或多个房间的所生成的结构布局;以及通过所述一个或多个计算装置提供所生成的楼层平面图,以使得能够使用所生成的楼层平面图。
本申请的又一方面还提供了一种非暂时性计算机可读介质,具有存储的内容,所述存储的内容使得一个或多个计算装置执行如上所述的方法。
本申请的另一方面还提供了一种系统,包括:一个或多个计算系统的一个或多个硬件处理器;以及一个或多个存储器,具有存储的指令,所述指令在通过所述一个或多个硬件处理器中的至少一个执行时使得所述一个或多个计算系统至少执行:获得在具有多个房间的建筑物的多个采集位置处捕获的多个全景图像,其中所述多个全景图像包括所述多个房间的一个或多个的至少一些墙壁的视觉覆盖范围;针对所述多个全景图像中的至少一些全景图像中的每个,分析该全景图像的颜色像素数据以生成关于在该全景图像中可见的所述一个或多个房间中的至少一个房间的信息,所述信息包括包含使用该全景图像的所述颜色像素数据生成的数据的所述至少一个房间中的一个或多个平面表面中的至少一些的一个或多个渲染视图;至少部分地基于经训练的神经网络的使用并且针对各自具有所述至少一些全景图像的至少两个全景图像的一个或多个图像组中的每个、至少部分地基于比较所述至少两个全景图像中的每个的一个或多个渲染视图的信息来确定所述至少两个全景图像的所述采集位置之间的对准信息,其中,确定所述对准信息包括针对那些采集位置确定至少相对于彼此的位置;生成所述建筑物中的至少一些的至少部分楼层平面图,其中生成所述至少部分楼层平面图包括使用所述一个或多个图像组中的每个的所述至少两个全景图像的所述采集位置的所确定的位置来放置至少一个或多个房间的所生成的结构布局;以及提供所生成的至少部分楼层平面图,以使得能够使用所生成的至少部分楼层平面图。
附图说明
图1A至图1B是描绘了用于本公开的实施方式中的示例性建筑物内部环境和计算系统的图示,包括生成并呈现表示建筑物的区域的信息。
图2A至图2S示出了用于分析在建筑物的多个房间中捕获的图像的视觉数据以生成建筑物的楼层平面图并且用于生成和提供关于建筑物的楼层平面图的信息的自动化操作的示例,这诸如至少部分地基于使用图像的视觉数据来对准具有很少或没有重叠视觉覆盖的成对图像。
图3是示出了适用于执行一个或多个系统的实施方式的计算系统的框图,该一个或多个系统执行本公开中所描述的技术中的至少一些。
图4示出了根据本公开的实施方式的图像捕获和分析(ICA)系统例程的示例性流程图。
图5A至图5B示出了根据本公开的实施方式的用于测绘信息生成管理器(MIGM)系统例程的示例性流程图。
图6示出了根据本公开的实施方式的建筑物地图查看器系统例程的示例性流程图。
具体实施方式
本公开描述了用于使用计算装置来执行与分析来自在建筑物的多个房间中捕获图像的视觉数据以生成建筑物的楼层平面图相关的自动操作并且用于随后以一种或多种进一步的自动化方式使用所生成的楼层平面图的技术。例如,图像可以包括在多房间建筑物(例如,房屋、办公室等)内或周围的采集位置处采集并且具有很少或没有视觉重叠的全景图像(例如,以等矩形投影格式)和/或其他类型的图像(例如,以直线立体或正交格式),这些图像在本文中通常称为“目标图像”。此外,在至少一些此类实施方式中,进一步执行自动楼层平面图生成,而无需具有或使用来自任何深度传感器或其他距离测量装置的关于从目标图像的采集位置到周围建筑物中的墙壁或其他物体的距离的信息,并且无需使用任何图像配准或跨图像识别视觉物体的匹配,而是以本文描述的方式仅使用图像的视觉数据(例如,RGB像素数据)。在各种实施方式中,可以进一步以各种方式使用针对建筑物生成的楼层平面图(包括建筑物内的独立房间的结构布局),诸如与生成建筑物的其他测绘相关信息结合,包括用于控制移动装置(例如,自主车辆)的导航、用于通过一个或多个计算机网络在一个或多个客户端装置上在对应的GUI(图形用户界面)中显示或其他呈现等。下文包括关于楼层平面图信息以及可选的其他相关生成的测绘信息的自动生成和使用的附加细节,并且在至少一些实施方式中,本文描述的技术中的一些或全部可以经由测绘信息生成管理器(“MIGM”)系统的自动化操作来执行,如下文进一步讨论的。
如上所述,MIGM系统的自动化操作可以包括基于分析来自在建筑物处捕获的多个目标图像(诸如在建筑物的多个房间和可选的其他区域中的多个采集位置处捕获的多个全景图像)的视觉数据来生成多房间建筑物的楼层平面图。在至少一些实施方式中,多个全景图像各自包括围绕竖直轴的360°水平视觉覆盖以及在一个或多个房间中的一些或全部地板和/或天花板的视觉覆盖(例如,180°或更多的竖直视觉覆盖),并且在一些情况下,多个全景图像各自可以使用等矩形投影来呈现(其中捕获的环境中的竖直线和其他竖直信息在投影中被示出为直线,并且其中如果环境中的水平线和其他水平信息位于图像的水平中心线的上方或下方,则以弯曲的方式在投影中示出环境中的水平线和其他水平信息,其中弯曲量随着与水平中心线的距离的增加而增加)。捕获目标全景图像的图像采集装置可以例如是移动计算装置,移动计算装置包括一个或多个相机或其他成像系统(可选地包括一个或多个鱼眼镜头),并且可选地包括用于捕获非视觉数据的附加硬件传感器,诸如捕获反映装置的运动的数据的一个或多个惯性测量单元(或“IMU”)传感器,和/或可以是缺乏计算能力并且可选地与附近的移动计算装置相关联的相机装置。
在至少一些实施方式中,MIGM系统的自动化操作包括分析视觉覆盖中几乎没有重叠的目标图像对的视觉数据,以便识别可能在采集位置处靠近彼此(例如,在相邻房间或其他相邻区域中)采集的目标图像,执行全局优化操作以将图像间方向和采集位置(结合起来,在本文中有时称为图像间“姿势”信息)的对准以及可选地建筑物的多个目标图像中的一些或全部的距离细化成使用公共坐标系来全局对准那些目标图像,并且然后使用从图像的视觉数据中识别的信息,该视觉数据包括结构房间布局(例如,墙和墙间边界的位置)和结构墙元素(例如,窗户、门道和非门道墙开口等)连同那些目标图像的对准的全局信息,以生成建筑物的楼层平面图(例如,二维或2D楼层平面图,诸如带有窗户和/或门道和/或其他墙壁开口的位置的指示以及可选的各种其他附加信息),如下文中进一步讨论的。
作为用于识别可能在靠近彼此的采集位置处采集的目标图像的MIGM系统的自动化操作的一部分,MIGM系统可以分析每个目标全景图像(或其他目标图像)以确定该目标图像中的房间或可见的其他区域的结构布局信息,诸如通过将图像提供给经训练的机器学习模型(例如,作为布局确定神经网络或其他类型的神经网络的一部分,作为视觉图像转换器网络等的一部分),它在单次扫描中既确定该目标图像中可见墙壁的位置,又识别那些墙壁的结构元素以及任何可见的地板和天花板(例如,窗户和/或天窗;进出房间的通道,诸如门道和墙壁、楼梯、走廊等中的其他开口;相邻墙壁之间的边界;墙壁与地板之间的边界;墙壁与天花板之间的边界;地板与天花板之间的边界;至少三个表面或平面相交的角落(或立体几何顶点);等),并且可选地识别其他固定结构元素(例如,台面、浴缸、水槽、岛、壁炉等)并且可选地为识别的元素生成2D或3D边界框或者识别元素的另外地跟踪位置。在一些实施方式中,经训练的布局确定机器学习模型可以进一步使用在该目标图像的采集期间或附近捕获的附加数据(例如,图像采集装置和/或伴随的移动计算设备的IMU运动数据),而在其他实施方式中可以不使用此类附加数据。在至少一些此类实施方式中,从目标图像确定的结构布局信息可以是2D结构信息(例如,墙壁相对于彼此的位置的指示,可选地添加诸如结构墙壁元素的位置的附加信息,包括门道和/或非门道墙壁开口和/或窗户),而在其他实施方式中,确定的结构布局信息可以包括可见房间或其他建筑物区域的部分或完整的3D结构,可选地使用来自使用目标图像的RGB视觉数据执行的单目深度估计的推断深度,和/或可选地包括关于目标图像中可见的物体和/或表面的估计的语义信息(例如,来自经训练的语义机器学习模型,诸如分割神经网络的一部分或视觉图像变换器网络,以及是否与经训练的布局确定机器学习模型相同或不同)。来自目标图像的这种3D结构可以对应于目标图像的视觉数据中可见的一个或多个房间中的每个的估计的部分或全部房间形状,例如3D点云(具有对应于墙壁上的位置以及可选的地板和/或天花板的多个3D数据点)和/或断开的部分平面表面(对应于墙壁以及可选的地板和/或天花板的部分)和/或线框结构线(例如以示出墙壁之间的边界、墙壁与天花板之间的边界、墙壁与地板之间的边界、门道和/或其他房间间墙壁开口的轮廓、窗户的轮廓等中的一个或多个)。此外,在其中生成此类房间形状的实施方式中,它们可以进一步用作一个或多个附加操作的一部分,诸如在生成楼层平面图时(例如,使用3D房间形状来生成3D模型楼层平面图,以通过将3D房间形状拟合在一起然后删除高度信息等来生成2D楼层平面图)和/或在确定局部对准信息时(例如,通过对准从一对的两个全景图像生成的3D房间形状,诸如除了对准从那些全景图像渲染的视图之外,或者代替对准从那些全景图像渲染的视图),和/或当从成对的全景图像或成对的其他图像的确定的局部信息执行全局对准信息时。在至少一些此类实施方式中,经训练的布局确定机器学习模型的自动化操作在其中在图像中没有足够的视觉重叠(或足够的其他补充数据,如果有的话)的情况下执行,以使用多个图像与涉及跨多个图像识别匹配物体的技术(诸如SfM(运动中恢复结构)和/或SLAM(即时定位与地图构建)和/或MVS(多视图立体视觉)分析)的组合来估计房间形状。此外,在至少一些此类实施方式中,目标图像的结构布局信息的确定可以进一步在房间或其他区域的确定布局内确定目标图像“姿势”(目标图像的采集位置,诸如在三个维度或自由度中,并且有时在三维网格中表示为X、Y、Z元组,以及目标图像的定向,诸如在三个附加维度或自由度,并且有时表示为三维旋转元组或其他方向矢量),在本文中有时也称为目标图像的“采集姿势”或“采集位置”。下面包括关于分析目标图像的视觉数据以确定在该目标图像中可见的房间或其他区域的布局信息的附加细节。
此外,MIGM系统用于识别可能在靠近彼此的采集位置处采集的目标图像的自动化操作可以进一步使用每个目标图像的视觉数据(以及可选地该目标图像确定的布局信息)以渲染呈直线格式的一个或多个二维图像视图(例如,沿立体格式的轴(诸如竖直轴)的正交主投影;立体格式的投影图像,诸如沿竖直轴的投影图像;等),该直线格式各自基于目标全景图像的视觉数据的子集,诸如包括地板的一些或全部的视觉数据以及可选地连接到地板的墙壁的指示(有时在本文中称为“地板视图图像”或“地板图像”,诸如“自上而下”视图的一部分),和/或包括天花板的一些或全部的视觉数据以及可选的连接到天花板的墙壁的指示(在本文中有时称为“顶视图图像”或“天花板图像”,诸如“自下而上”视图的一部分)。在一些实施方式中,无论是补充还是代替地板和/或天花板视图,可以生成其他视图并将其用于比较以确定图像对之间的局部对准信息(例如,一个或多个可见平面表面的渲染视图和/或每个包括周围房间的一个或多个墙壁中的一些或全部,或者另外对应于指定的水平和/或竖直方向,诸如各自水平相差90°的四个视图)。作为为每个目标图像渲染一个或多个视图的一部分,至少一些此类渲染视图可以可选地包括一种或多种不同类型的信息,这些信息被覆盖或以其他方式在渲染图像内使用,诸如以下各项中的一者或多者一项或多项:视图中显示的区域的纹理图,诸如通过使用单目深度估计以将RGB像素值放置到视图中的对应位置中;识别由经训练的机器学习模型学习的地板和/或天花板特征(例如,灯、风扇、通风口、地毯、家具等)的位置;估计的语义信息,可选地被颜色编码(例如,以识别结构元素、内置特征,诸如厕所和壁炉等);等等。下面包括关于为目标图像生成视图的附加细节。
在从目标图像生成一个或多个渲染视图图像之后,MIGM系统的自动化操作进一步包括将每个目标图像及其渲染的视图图像的视觉内容诸如以成对的方式与其他目标图像及其渲染的视图图像的一些或所有进行比较,以针对该对中的每个图像识别图像/视图的任何看起来彼此匹配的部分,并且可选地生成这两个图像包括公共区域的视觉覆盖或者这两个图像另外包括指示该对中的两个图像是在靠近彼此的采集位置处采集的可能性的视觉数据的对准分数或其他对准指示(例如,概率或其他可能性)。作为一个示例,比较一对图像中的两个图像的视觉数据可以识别一个图像中的可见物体和/或元素表明它可能是厨房(例如,瓷砖、水槽等),并且可见物体和/或这对图像中的另一个图像中的元素表明它可能是家庭房间,存在这两种房间类型是相邻的并且这两个图像的采集位置因此对应地靠近的对应的统计可能性(例如,概率先验)。然后可以选择并组合“最佳”成对图像对准(例如,具有最高对准分数或其他最高对准指示的那些)以形成包括目标图像的一些或所有的互连目标图像组,诸如通过执行全局优化操作来细化那些部分或所有目标图像的图像间姿势的对准,并且将那些目标图像的采集位置全局对准到公共坐标系中。然后,MIGM系统可以使用那些目标图像的采集位置的全局对准连同确定的房间布局信息来生成建筑物的楼层平面图,该楼层平面图包括建筑物房间和/或其他区域的一些或所有,诸如用于以一种或多种自动化方式进一步使用。在至少一些此类实施方式中,关于房间和其他建筑区域的确定的结构元素的信息可以用于将布局装配在一起,从而匹配两个房间之间的门道和其他墙壁开口,将窗户用于在另一侧上没有另一个房间的外墙(除非通过两个房间之间的窗户可获得的视觉数据显示与在这两个房间中获取的图像匹配),以及可选地在另一侧上具有匹配的外部区域,以丢弃不可能或不可行的对准(例如,其中第一布局的结构元素,诸如墙壁,将以与从其生成第二布局的图像的视觉数据不一致的方式穿透第二布局的自由空间;其中与和布局相对应的渲染视图中的匹配识别物体的大小(诸如相对宽度和/或高度),诸如门道和/或非门道墙壁开口和/或窗户,不在相同定义的阈值内;使用其他定义的标准等)。在一些实施方式中,可以为一个或多个子组而不是一对图像确定局部对准信息,子组各自具有两个或多个图像(例如,至少三个图像),并且用于确定全局对准信息的互连目标图像组可以包括多个此类图像子组。此外,在至少一些实施方式中,楼层平面图可以以使用矢量图形的格式生成,而在其他实施方式中,楼层平面图可以具有其他形式(例如,位图图形)。此外,在一些实施方式中,全局对准信息以与本文别处描述的方式类似的方式来确定,但不对图像对或图像的其他子组执行局部对准信息的单独确定,从而直接执行来自渲染视图的比较的全局对准信息和/或用于一些或所有可用目标图像的其他信息(例如,确定的3D房间形状)的确定。下面包括关于使用目标图像的视觉数据来对准它们以及使用关于一组对准的目标图像的信息来生成建筑物的楼层平面图和/或其他相关测绘信息(例如,建筑物的三维或3D模型;互连的链接目标图像,诸如用于提供建筑物的对应采集位置的虚拟游览等)。
此外,在一些实施方式中,MIGM系统的自动化操作包括从一个或多个用户(例如,协助其操作的MIGM系统的系统操作员用户、从MIGM系统等获取信息的结果的最终用户等)获得一种或多种类型的输入信息,从而以各种方式并入后续的自动分析中,包括替换或补充自动生成的相同类型的信息来用作在以后的自动分析期间(例如,使用经训练的机器学习模型)的约束和/或先验概率等。此外,在一些实施方式中,MIGM系统的自动化操作还包括在其分析活动期间获取和使用附加类型的信息,其中此类附加类型的信息使用的非排他性示例包括以下内容:获取和使用用于特定房间或其他建筑区域的名称或其他标签,诸如用于对其采集位置位于此类房间或其他区域中的目标图像进行分组;获取信息以用作目标图像的初始姿势信息(例如,在随后从目标图像自动确定结构布局信息时进行细化);获取和使用其他图像采集元数据来对目标图像进行分组或以其他方式协助图像分析,从而使用图像采集时间信息和/或顺序信息来识别可以在邻近采集位置中捕获的连续图像;等等。下文包括关于在一些实施方式和情况下MIGM系统的其他自动化操作的附加细节。
所描述的技术在各种实施方式中提供各种益处,包括允许从为建筑物或其他结构获取的目标图像自动生成多房间建筑物和其他结构的部分或完整的楼层平面图,包括提供更完整和准确的房间形状信息和/或在更多种类的条件下(例如,在其中获取的目标图像没有足够的视觉重叠以使用匹配图像中特征的其他技术的情况下,诸如SfM和SLAM),并且包括在一些实施方式中,不具有或不使用来自深度传感器或其他距离测量装置的关于从图像的采集位置到周围建筑物或其他结构中的墙壁或其他物体的距离的信息,和/或不使用任何图像配准或跨图像的视觉元素的匹配。描述的技术的其他此类益处的非排他性示例包括以下:分析目标图像的视觉数据以检测封闭房间或其他建筑物区域中感兴趣的物体(例如,结构墙壁元素,诸如窗户、门道和其他墙壁开口等)并确定那些检测到的物体在封闭房间或其他建筑物区域的确定布局中的位置的能力;分析附加捕获数据(例如,来自一个或多个IMU传感器的移动数据、来自一个或多个图像传感器的视觉数据等)以确定图像采集装置在多个房间中的行进路径的能力、至少部分地基于该附加数据(并且可选地基于在一个或多个房间中采集的一个或多个目标图像的视觉数据)来识别多个房间的墙壁开口(例如,门道、楼梯等)的能力、并且可选地进一步使用关于识别的墙壁开口的此类信息作为将多个房间的确定的2D房间布局和/或3D房间形状定位在一起的一部分的能力;互连多个目标图像并在其他链接目标图像的方向上显示具有用户可选视觉指示符的目标图像中的至少一个的能力,当被选择时,使得显示链接的目标图像中的相应的另一个链接目标图像(例如,作为虚拟游览的一部分),诸如通过将各种目标图像放置在显示至少它们的相对位置的公共坐标系中,或者以其他方式至少确定成对目标图像之间的方向(例如,至少部分基于对该对中的目标图像的视觉内容的自动化分析,并且可选地基于来自移动计算装置的沿目标图像之间的行进路径的另外的移动数据),并且使用确定的图像间方向来链接各个目标图像;等等。此外,所描述的自动化技术允许比先前存在的技术更快地确定这种房间形状信息,并且在至少一些实施方式中具有更高的准确度,包括通过使用从实际建筑物环境(而不是从关于理论上应该如何建造建筑物的计划)采集的信息,以及使得能够捕获在最初建造建筑物之后出现的结构元素的变化。这种所描述的技术进一步提供了至少部分地基于所确定的图像采集位置和/或生成的楼层平面图信息(以及可选的其他生成的测绘信息)来允许改进由装置(例如,半自主或全自主车辆)对建筑物的自动导航方面的益处,包括显著减少用于尝试以其他方式获悉建筑物的布局的计算能力和时间。另外,在一些实施方式中,所描述的技术可以用于提供改进的GUI,其中用户可以更准确地且更快速地获得关于建筑物内部(例如,在该内部导航时使用)和/或其他相关联的区域的信息,包括响应于搜索请求,作为向用户提供个性化信息的一部分,作为向用户提供价值估计和/或其他关于建筑物的信息的一部分等。所描述的技术还提供了各种其他益处,其中一些在本文的其他地方进一步描述。
如上所述,在至少一些实施方式和情形中,针对建筑物采集的图像中的一些或全部可以是各自在建筑物中或周围的多个采集位置中的一个采集位置处采集的全景图像,从而从以下一者或多者生成在每个这种采集位置处的全景图像:在该采集位置捕获的视频(例如,从由用户握持的智能电话或其他移动装置在该采集位置处转动而拍摄的360°视频)、或在多个方向上从采集位置捕获的多个图像(例如,从由用户握持的智能电话或其他移动装置在该采集位置处转动;从装置在该采集位置处的自动化旋转,诸如在该采集位置处的三脚架上;等)、或针对特定采集位置同时捕获所有的图像信息(例如,使用一个或多个鱼眼镜头)等。将了解,在一些情形中,这种全景图像可以使用等矩形投影(其中环境中的竖直线和其他竖直信息在投影中被示出为直线,并且其中如果环境中的水平线和其他水平信息位于图像的水平中心线的上方或下方,则以弯曲的方式在投影中示出环境中的水平线和其他水平信息,并且其中弯曲量随着与水平中心线的距离的增加而增加)来呈现,并且提供围绕水平轴和/或竖直轴的高达360°覆盖范围(例如,沿着水平平面且围绕竖直轴的360°覆盖范围),而在其他实施方式中,所采集的全景图像或其他图像可以包括少于360°竖直覆盖范围(例如,对于宽度与高度超过典型宽高比的图像,诸如处于或超过21:9或16:9或3:2或7:5或4:3或5:4或1:1,包括所谓的“超宽”镜头和得到的超宽图像)。另外,将了解,可以准许查看这种全景图像(或具有足够的水平和/或竖直覆盖范围使得在任何给定的时间仅显示图像的一部分的其他图像)的用户在全景图像内将查看方向移动到不同的定向,以使全景图像的不同子集图像被渲染,并且在一些情况下可以使用等矩形投影来存储和/或呈现这种全景图像(包括,如果全景图像使用等矩形投影来表示,并且如果正在渲染它的特定子集图像,以在将正在渲染的图像进行显示之前将其转换为平面坐标系,诸如转换为立体图像)。此外,可以获得关于这种全景图像的捕获的采集元数据并且以各种方式使用,诸如在移动装置被用户携带或以其他方式在采集位置之间移动时从IMU传感器或移动装置的其他传感器采集的数据,这种采集元数据的非排他性示例可以包括以下一者或多者:采集时间;采集位置,诸如GPS坐标或其他位置指示;采集方向和/或定向;针对建筑物采集或以其他方式相关联的多个图像的相对或绝对采集顺序;等,并且在至少一些实施方式和情形中,这种采集元数据还可以可选地用作确定图像的采集位置的部分,如下面进一步讨论。下面包括关于实施图像捕获和分析(ICA)系统的装置在采集图像和可选地采集元数据中涉及的自动化操作的附加细节,包括关于图1A至图1B、图2A至图2D和图4以及本文中其他地方的附加细节。
还如上所述,在至少一些实施方式中可以生成具有用于建筑物的一些或所有房间的相关联房间布局或形状信息的建筑物楼层平面图,并且进一步诸如在随后的自动化确定建筑物内的附加图像的采集位置中以一种或多种方式使用。在各种实施方式中,具有关联的房间形状信息的建筑物楼层平面图可以具有各种形式,诸如建筑物的2D(二维)楼层地图(例如,不包括或显示高度信息的示意楼层地图的正交顶视图或其他俯视图)和/或建筑物的显示高度信息的3D(三维)或2.5D(2.5维度)楼层地图模型。此外,在各种实施方式中,可以以各种方式自动地确定建筑物的房间的布局和/或形状,包括在一些实施方式中,在建筑物内的特定图像的采集位置的自动化确定之前的时间确定。例如,在至少一些实施方式中,测绘信息生成管理器(MIGM)系统可以分析建筑物内部和周围采集的各种目标图像,以便自动确定建筑物的房间的房间形状(例如,3D房间形状、2D房间形状等,从而反映出建筑物的周围结构元素的几何形状),该分析可以包括例如自动化操作来将图像的相机位置“登记”在共同参考系中以便将图像“对准”,并且估计房间中的物体的3D位置和形状,诸如通过确定在这种图像的内容中可见的特征(例如,以确定采集装置在拍摄特定图像时的方向和/或定向、采集装置行进穿过房间的路径等,但是没有一组“密集”图像,该图像以最多定义的距离(诸如6英尺)分开,这使得SLAM技术能够用于多个视频帧图像和/或生成房间的3D点云的其他SfM技术,房间的3D点云包括沿着房间的墙壁和房间的天花板和地板中的至少一些的3D点且可选地具有对应于房间中的其他物体的3D点等)和/或通过确定并聚合关于检测到的特征的平面和哪些平面的法线(正交)方向的信息以识别墙壁和房间的其他表面的可能位置的平面表面并且连接各种可能的墙壁位置(例如,使用一个或多个约束,诸如在墙壁之间和/或在墙壁与地板之间具有90°角,作为所谓的“曼哈顿世界假设(Manhattan worldassumption)”的部分)并且形成该房间的估计的部分房间形状。在确定了建筑物中的房间的估计的部分房间布局和/或形状之后,在至少一些实施方式中,自动化操作还可以包括将多个房间形状定位在一起以形成建筑物的楼层平面图和/或其他相关测绘信息,诸如通过可选地至少部分地基于关于门道和楼梯间以及在特定房间中识别的其他房间间墙壁开口的信息并且可选地至少部分地基于移动计算装置在房间之间的所确定的行进路径信息来连接各种房间形状。下面包括关于实施MIGM系统的装置在确定房间形状并组合房间形状以生成楼层平面图中涉及的自动化操作的附加细节,包括关于图1A至图1B、图2E至图2S和图5A至图5B以及本文中其他地方的附加细节。
出于说明性目的,下面描述一些实施方式,其中针对特定类型的结构以特定方式并通过使用特定类型的装置来采集、使用和/或呈现特定类型的信息,然而,将理解,所描述的技术可以在其他实施方式中以其他方式使用,并且因此本发明不限于所提供的示例性细节。作为一个非排他性示例,尽管可以针对房屋生成不包括特定房间或整个房屋的详细测量的楼层平面图,但将了解,在其他实施方式中,可以类似地生成其他类型的楼层平面图或其他测绘信息,包括针对与房屋分开的建筑物(或者其他结构或布局)生成(包括确定特定房间或整个建筑物或针对其他结构或布局的详细测量)和/或针对其中不同的目标图像在环境的不同区域中捕获的其他类型的环境生成,以生成该环境的部分或全部(例如,道路、社区、城市、跑道等)的地图。作为另一个非排他性示例,尽管房屋或其他建筑物的楼层平面图可以用于显示以帮助查看者导航建筑物,但在其他实施方式中,可以以其他方式使用所生成的测绘信息。作为又一个非排他性示例,尽管一些实施方式讨论了获得和使用来自一种或多种类型的图像采集装置(例如,移动计算装置和/或单独相机装置)的数据,但在其他实施方式中,所使用的一个或多个装置可以具有其他形式,从而使用采集附加数据中的一些或全部但不提供其自身的计算能力的移动装置(例如,附加的“非计算”移动装置)、各自捕获附加数据中的一些的多个单独移动装置(无论是移动计算装置还是非计算移动装置)等。另外,术语“建筑物”在本文中是指任何部分地或完全地封闭的结构,通常但不一定包括在视觉上或以其他方式划分结构的内部空间的一个或多个房间,并且在一些情况下,包括一个或多个相邻或以其他方式相关联的外部区域和/或外部附件结构,此类建筑物的非限制性示例包括房屋、公寓大楼或其中的个人公寓、共管公寓、办公楼、商业建筑物或其他批发和零售结构(例如,购物中心、百货公司、仓库等)等。如本文参考建筑物内部、采集位置或其他位置(除非上下文另有明确指示)使用的术语“采集”或“捕获”可以是指对与建筑物内部的空间特性和/或视觉特性和/或在其他方面可感知的特性或其子集有关的媒体、传感器数据和/或其他信息的任何记录、存储或录入,诸如通过记录装置或通过从记录装置接收信息的另一个装置。如本文所使用,术语“全景图像”可以是指基于、包括或可分成源于不同方向上的基本上类似物理位置的多个离散分量图像并且描绘比离散分量图像中的任一个单独描绘的更大视野的视觉表示,包括来自物理位置的具有足够宽的视角以包括超出人凝视单个方向可感知到的角度(例如,大于120°或150°或180°等)的图像。如本文所使用,术语“系列”采集位置通常是指两个或更多个采集位置,每个采集位置按对应的顺序被访问至少一次,而无论在它们之间是否访问过其他非采集位置,以及无论对所述采集位置的访问是在单个连续时间段期间还是在多个不同时间发生、或者是由单个用户和/或装置还是由多个不同用户和/或装置进行。另外,出于示例性目的,在附图和文本中提供了各种细节,但这些细节并不旨在限制本发明的范围。例如,附图中元件的尺寸和相对位置未必按比例绘制,一些细节被省略和/或更突出地提供(例如,经由尺寸和定位)以增强易读性和/或清晰度。此外,在附图中可以使用相同的附图标记来标识类似的元件或动作。
图1A是在一些实施方式中可以参与所描述的技术的各种装置和系统的示例性框图。特别地,目标全景图像165在图1A中指示,其已经由具有成像系统的一个或多个移动计算装置185和/或由一个或多个单独的相机装置184(例如,没有机载计算能力)捕获,诸如相对于一个或多个建筑物或其他结构并且在该示例中在一个或多个服务器计算系统180上执行的内部捕获和分析(“ICA”)系统160的控制下进行。图1B示出特定示例性房屋198的这种全景图像采集位置210的一个示例,如下文进一步讨论的,并且与ICA系统的自动化操作有关的附加细节包括在本文的其他地方。在至少一些实施方式中,ICA系统中的至少一些可以部分地在移动计算装置185上执行(例如,作为ICA应用154的一部分,无论是补充或代替一个或多个服务器计算系统180上的ICA系统160)以控制由该移动计算装置和/或由一个或多个附近(例如,在同一房间内)与该移动计算装置结合操作的可选的单独相机装置184对目标图像和可选的附加非视觉数据的采集,如关于图1B进一步讨论的。
图1A进一步示出了在一个或多个服务器计算系统180上执行以分析在一些或所有建筑物房间或其他建筑物区域中的每个中获取的所获取的目标图像(例如,全景图像165)的视觉数据的MIGM(测绘信息生成管理器)系统140,并且使用分析结果以进一步基于目标图像的使用和关于其获取和链接的可选的相关联的元数据来生成和提供建筑楼层平面图145和/或其他测绘相关信息(例如,链接的全景图像、3D模型等)。图2K至图2L示出了此类楼层平面图的非排他性示例,如下文进一步讨论的,与MIGM系统的自动化操作相关的附加细节包含在本文的其他地方。在一些实施方式中,ICA系统160和/或MIGM系统140可以在相同的服务器计算系统上执行,诸如如果那些系统中的多个或全部由单个实体操作或以其他方式彼此协调而执行(例如,那些系统中的一些或全部功能被一起集成到较大的系统中),而在其他实施方式中,MIGM系统可以相反独立于ICA系统(例如,无需与ICXA系统交互)进行操作,从而从一个或多个外部来源获得目标图像和/或可选地其他信息(例如,其他附加图像等),并且可选地将它们与MIGM系统一起本地存储(未示出)以供进一步分析和使用。
在至少一些实施方式和情形中,MIGM客户端计算装置105的一个或多个系统操作者用户(未示出)可以可选地进一步通过网络170与MIGM系统140交互,从而协助MIGM系统的一些自动化操作和/或用于随后以一种或多种进一步的自动化方式使用由MIGM系统确定和生成的信息。一个或多个其他客户端计算装置175的一个或多个其他最终用户(未示出)可以进一步通过一个或多个计算机网络170与MIGM系统140和可选地ICA系统160交互,从而获取和使用生成的楼层平面图和/或其他生成的测绘信息,和/或可选地与这种生成的楼层平面图和/或其他生成的测绘信息进行交互,和/或以获得附加信息(诸如一个或多个相关联的目标图像)并且可选地与其交互(例如,在楼层平面图视图和在楼层平面图内或附近的采集位置处的特定目标图像的视图之间改变;改变显示全景图像的对应子集的水平和/或竖直查看方向,从而确定当前用户查看方向所指向的全景图像的一部分等)。另外,虽然图1A至图1B中未示出,但是楼层平面图(或其一部分)可以链接到一个或多个其他类型的信息或以其他方式与其相关联,包括多层楼或其他多层建筑物的楼层平面图具有相互链接(例如,经由连接的楼梯通道)的不同楼或楼层的多个相关联子楼层平面图、建筑物的二维(“2D”)楼层平面图链接到建筑物的三维(“3D”)模型楼层平面图或以其他方式与其相关联等。在其他实施方式中,多层或多层建筑物的楼层平面图可以替代地包括所有楼或其他层一起的信息和/或可以同时显示所有楼或其他层的此类信息。另外,虽然在图1A中未示出,但是在一些实施方式中,客户端计算装置175(或其他装置,未示出)可以以附加方式接收并使用所生成的楼层平面信息和/或其他相关信息,从而控制或辅助这些装置(例如,自主车辆或其他装置)的自动化导航活动,而无论是代替还是补充所生成的信息的显示。
在图1A的计算环境中,网络170可以是可能由各种不同的方操作的一个或多个公共可访问的链接网络,诸如互联网。在其他实施方式中,网络170可以具有其他形式。例如,网络170反而可以是专用网络,诸如非特权用户完全或部分无法访问的公司或大学网络。在进一步其他实施方式中,网络170可以包括专用网络和公共网络两者,其中专用网络中的一个或多个可访问公共网络中的一个或多个和/或来自公共网络中的一个或多个。此外,在各种情形中,网络170可以包括各种类型的有线和/或无线网络。另外,客户端计算装置105和175以及服务器计算系统180可以包括各种硬件组件和存储的信息,如下面关于图3更详细地讨论。
在图1A的示例中,ICA系统160可以执行自动化操作,这些自动化操作涉及在多个相关联的采集位置处(例如,在建筑物或其他结构内的多个房间或其他区域中以及可选地在建筑物或其他结构的外部的一些或全部的周围)生成多个目标全景图像(例如,每一者为围绕竖直轴的360度全景),诸如用于生成并提供建筑物(包括其内部)或其他结构的表示。在一些实施方式中,ICA系统的其他自动化操作可以进一步包括:分析信息以确定两个或更多个采集位置中的每个之间的相对位置/方向;基于这种所确定的位置/方向在全景中创建到一个或多个其他全景中的每个的全景间位置/方向链接;以及然后,提供信息以显示或以其他方式呈现建筑物内各个采集位置的多个链接的全景图像,而在其他实施方式中,一些或全部这种其他自动化操作可以改为由MIGM系统执行。
图1B描绘了示例性建筑物环境的框图,在该建筑物环境中,全景图像可以被捕获、链接并用于生成并提供对应的建筑物楼层平面图以及用于向用户呈现全景图像。特别地,图1B包括建筑物198,其内部至少部分地经由多个目标全景图像来捕获,例如通过携带具有图像采集能力的一个或多个移动计算装置185和/或一个或多个单独的相机装置184的用户(未示出)穿过建筑物内部到达系列多个采集位置210,以捕获目标图像和可选的用于多个采集位置210的附加非视觉数据。ICA系统的实施方式(例如,服务器计算系统180上的ICA系统160;在用户的移动装置上执行的ICA系统的一些或全部的副本,诸如在装置185的存储器152中执行的ICA应用程序系统154;等)可以自动执行或协助捕获表示建筑物内部的数据。用户的移动计算装置185可以包括各种硬件组件,诸如相机或其他成像系统135、一个或多个传感器148(例如,陀螺仪148a、加速度计148b、罗盘148c等,诸如移动装置的一个或多个IMU或惯性测量单元的部分;高度计;光检测器等)、一个或多个硬件处理器132、存储器152、显示器142、可选的GPS接收器以及未示出的可选的其他组件(例如,附加的非易失性存储装置;通过网络170和/或经由直接装置到装置通信与其他装置、诸如与相关联的相机装置184或远程服务器计算系统180进行交互的传输能力;一个或多个外部灯;麦克风等)。然而,在一些实施方式中,移动装置可能无法访问或使用硬件设备来测量建筑物中的物体相对于移动装置的位置的深度(使得不同全景图像及其采集位置之间的关系可以部分或全部基于对图像的视觉数据的分析来确定,并且可选地在一些此类实施方式中通过进一步使用来自其他列出的硬件组件(例如,IMU传感器148)的信息,但不使用来自任何此类深度传感器的任何数据),而在其他实施方式中,移动装置可以具有用于测量周围墙壁和其他周围物体的深度的一个或多个距离测量传感器或其他深度感测传感器/装置136(例如,使用激光雷达或其他激光测距技术、结构光、合成孔径雷达或其他类型的雷达等),该周围墙壁和其他周围物体可以提供给经训练的机器学习模型(例如,作为卷积神经网络或其他类型的神经网络的一部分,作为视觉图像变换器网络的一部分等)来确定和/或验证一对全景图像的局部对准信息(例如,与从全景图像渲染的一个或多个视图和/或与在两个全景图像之间确定的一个或多个潜在相对对准结合,诸如基于匹配两个全景图像中可能是相同结构元素的一个或多个结构元素和/或通过相对于可能对应于相同房间或其他建筑区域的结构布局信息使用两个全景图像的确定的姿势信息;而不是从全景图像渲染的一个或多个视图和/或在两个全景图像之间确定的一个或多个潜在相对对准;等等。)。此外,可以使用来自一个或多个深度感测装置的深度数据生成至少一些房间(例如,3D点云、3D网格等)的2D和/或3D结构布局数据并以各种方式使用,诸如通过将该3D结构布局数据与以下一项或多项组合而用在渲染视图中:来自一个或多个图像的像素数据;物体数据(例如,对于房间的结构元素,诸如窗户、门道、非门道墙壁开口、墙壁、地板、天花板、墙到墙边界、墙到地板边界、墙到天花板边界等中的一个或多个,可选地标识并与对应的语义标签或其他语义信息相关联;家具和其他房间内容,可选地标识并与对应的语义标签或其他语义信息相关联;等等),诸如从分析一个或更多图像(例如,使用分割掩码来识别与物体相对应的像素,生成物体的2D和/或3D模型,识别特定物体类型等);从一个或多个图像的视觉数据的分析中估计的深度数据(例如,使用单目深度估计);等等。尽管为简洁起见未示出,一个或多个相机装置184可以类似地各自包括至少一个或多个图像传感器和存储获取的目标图像的存储装置以及将捕获的目标图像传输到其他装置(例如,相关联的移动计算装置185、远程服务器计算系统180等)的传输能力,可选地连相同或多个透镜和灯以及其他物理部件(例如,为移动计算装置示出的一些或所有其他部件)。尽管提供方向指示符109以供查看器参考,但在至少一些实施方式中,移动装置和/或ICA系统可以不使用绝对方向信息,从而替代确定在全景图像的采集位置210之间的相对方向和距离而不使用实际地理位置/方向。
在操作中,移动计算装置185和/或相机装置184(在下文中,对于图1B的示例,“一个或多个图像采集装置”)到达建筑物内部的第一房间内的第一采集位置(例如,客厅,诸如在从外部门道190-1进入建筑物之后),并且捕获从该采集位置可见的建筑物内部的一部分的视觉数据(例如,第一房间的一些或全部,并且可选地,一个或多个其他相邻或附近房间的小部分,诸如通过门、大厅、楼梯或来自第一房间的其他连接通道),在该示例性实施方式中,在继续在采集位置210D处捕获第二图像之前(如关于图2G中所示的示例性图像进一步讨论的),可以在采集位置210B处捕获第一图像(如进一步关于图2A至图2D中所示的示例性图像讨论的),但在其他实施方式中,其他图像也可以在采集位置210A和210C之一或两者处捕获。在至少一些情况下,一个或多个图像采集装置可以由一个或多个用户携带或以其他方式伴随,而在其他实施方式和情况中,可以安装在靠自身的动力移动通过建筑物的一个或多个自供电装置上或由其携带。此外,可以在各种实施方式中以各种方式执行从采集位置捕获视觉数据(例如,通过使用同时捕获所有图像数据的一个或多个镜头,通过相关联的用户把他或她的身体转一圈同时相对于用户的身体保持一个或多个图像采集装置静止,通过其上安装或携带一个或多个图像采集装置的自动化装置旋转一个或多个图像采集装置等),并且可以包括在采集位置录制视频和/或在采集位置拍摄连续的一个或多个图像,包括捕获描绘了在从采集位置或附近捕获的图像中可见(例如,视频帧)的多个对象或其他元素(例如,结构细节)的视觉信息。在图1B的示例中,此类物体或其他元素包括在结构上作为墙壁的部分的各种元素(或“墙壁元素”),诸如门道190和197和它们的门(例如,具有摆动门和/或滑动门)、窗户196、墙壁间边界(例如,拐角或边缘)195(包括建筑物198的西北角的拐角195-1、第一房间的东北角的拐角195-2、建筑物198的西南角的拐角195-3、以及第一房间的东南角的拐角195-4)、其他拐角183(例如,客厅与东边走廊之间的墙壁开口的北侧处的拐角183-1)等。另外,图1B的示例中的此类物体或其他元素还可以包括房间内的其他元素,诸如家具191至193(例如,沙发191;椅子192;桌子193;等)、挂在墙壁上的图片或绘画或电视或其他物体194(诸如194-1和194-2)、灯具等。一个或多个图像采集装置可以可选地在旋转时进一步可选地在采集位置处或附近捕获附加数据(例如,使用成像系统135的附加视觉数据、使用传感器模块148的附加运动数据、可选地使用测距传感器136的附加深度数据等),并且进一步可选地在一个或多个图像采集装置移动到采集位置和/或从采集位置移动时捕获其他此类附加数据。在一些实施方式中,图像采集装置的动作可以经由使用在移动计算装置185上执行的程序(例如,经由对图像采集装置或对靠自身的动力携载那些装置经过建筑物的另一个移动装置(未示出)的自动化指令;经由对房间中的相关联用户的指令;等)来控制或促进,这些程序诸如ICA应用程序系统154和/或可选的浏览器162、用于管理装置185的I/O(输入/输出)和/或通信和/或网络(例如,从用户接收指令和将信息呈现给用户)的控制系统147等。用户还可以可选地提供与采集位置相关联的文本或听觉标识符,诸如用于采集位置210A的“入口”或用于采集位置210B的“客厅”,而在其他实施方式中,ICA系统可以自动生成此类标识符(例如,通过自动分析建筑物的视频和/或其他记录信息来执行对应的自动化确定,诸如通过使用机器学习来执行),或者可以不使用标识符。
在第一采集位置的视觉数据和可选的其他信息已经被捕获之后,图像采集装置(和用户,如果存在的话)可以可选地前进到下一个采集位置(例如,从采集位置210B到采集位置210D、从采集位置210B到采集位置210C、从采集位置210A到采集位置210B等),可选地记录在采集位置之间的移动期间的移动数据,诸如视频和/或来自硬件组件的其他数据(例如,来自一个或多个IMU传感器148、来自成像系统135、来自距离测量传感器136等)。在下一采集位置,一个或多个图像采集装置可以类似地从该采集位置捕获一个或多个图像,并且可选地在该采集位置处或附近捕获附加数据。该过程可以针对建筑物的一些或所有房间以及可选地在建筑物外部重复,如针对采集位置210A至210P所示出的,在该示例中包括在外部平台或露台或阳台区域186上捕获目标全景图像,在较大的外部后院或阳台区域187上捕获目标全景图像,在单独的侧院区域188上捕获目标全景图像,在可以具有一个或多个房间的外部附加附属结构区域189(例如,车库、棚屋、附属住宅单元、温室、凉亭、车棚等)附近或内部捕获目标全景图像,以在外部门道190-1外的前院中捕捉目标全景图像等。进一步分析每个采集位置的采集视频和/或其他图像,以生成用于一些或所有采集位置210A至210P中的每个的目标全景图像,包括在一些实施方式中将来自采集位置的多个组成图像拼接在一起以创建针对该采集位置的目标全景图像和/或以其他方式组合不同图像中的视觉数据(例如,物体和其他元素、潜在空间特征等)。
除了生成此类目标全景图像之外,在至少一些实施方式中,MIGM系统可以执行进一步的分析(例如,与图像捕获活动同时或在图像捕捉之后)以确定每个房间的布局(例如,房间形状以及可选地识别的结构元素和其他物体的位置)(以及可选地用于其他定义的区域,诸如建筑物外的平台或其他阳台或其他外部定义区域),包括可选地确定每个目标图像的采集位置信息,并且进一步确定建筑物的楼层平面图和任何相关联的周围区域(例如,建筑物所在的地段或地块)和/或建筑物的其他相关测绘信息(例如,建筑物的3D模型和任何相关联的周边区域、互连的一组链接的目标全景图像等)。如果反而已经获取了“密集”全景图像,诸如对于采集位置210A至210C中的每个,则在某些情况下可以使用在那些全景图像中可见的重叠特征来将至少那些全景图像及其采集位置“链接”在一起(为了说明起见,示出了示例性采集位置210A至210C之间的一些对应的方向线215),诸如使用SfM和/或SLAM技术。然而,在没有这种密集全景图像的情况下(例如,如果没有在采集位置210A或210C处采集图像,诸如关于2A至2S的示例进一步讨论的),MIGM系统的副本可以替代地使用具有很少或没有视觉重叠(例如,具有在两个此类获取的图像中可见的较小或没有公共区域的视觉数据)的相关联的获取图像、仅使用此类获取的图像的视觉数据(例如,仅RGB数据)来确定成对的采集位置之间的估计的相对位置信息。图2J示出关于可以由MIGM系统确定和使用的对应图像间链接的附加细节,包括在一些实施方式和情况中进一步链接其相关联的目标图像与任何其他目标图像没有视觉重叠的至少一些采集位置,和/或使用其他确定的对准来链接其图像不包括任何重叠的视觉覆盖的两个采集位置。
关于图1A至图1B提供了各种细节,但是应当理解,所提供的细节是出于说明性目的而包括的非排他性示例,并且可以在没有一些或全部此类细节的情况下以其他方式执行其他实施方式。
图2A至图2S示出了用于分析在建筑物的多个房间中捕获的图像的视觉数据以至少部分地基于使用图像的视觉数据来对准具有很少或没有重叠的视觉覆盖的成对图像来生成建筑物的楼层平面图的自动化操作的示例,并且用于生成和呈现关于建筑物的楼层平面图的信息,诸如基于在图1B的建筑物198内捕获的目标图像。
特别地,图2A示出了示例性图像250a,诸如通过一个或多个图像采集装置在图1B的房屋198的客厅中从采集位置210B在东北方向上捕获的非全景立体图像(或从该采集位置拍摄的以直线方式格式化的360度全景图像的面向东北的子集),在此示例中进一步显示方向指示符109a以说明拍摄图像的东北方向。在所示出的示例中,所显示的图像包括若干可见元素(例如,照明灯具130a)、家具(例如,椅子192)、两个窗户196-1和挂在客厅北墙壁上的图片194-1。进出客厅的通道(例如,门道或其他墙壁开口)在此图像中不可见。然而,在图像250a中可见多个房间边界,包括客厅北墙壁的可见部分和客厅天花板及地板之间的水平边界、客厅东墙壁的可见部分和客厅天花板及地板之间的水平边界、以及北墙壁和东墙壁之间的墙壁间竖直边界195-2。
图2B继续图2A的示例,并且示出了通过一个或多个图像采集装置在图1B的房屋198的客厅中从采集位置210B向西北方向上捕获的附加立体图像250b(或从该采集位置拍摄并以直线方式格式化的360度全景图像的面向西北的子集),还显示方向指示符109b以说明拍摄图像的向西北方向。在此示例性图像中,窗户196-1中的一个的一小部分连同窗户196-2的一部分以及新的照明灯具130b继续可见。另外,水平和竖直房间边界以与图2A的方式类似的方式在图像250b中可见。
图2C继续图2A至图2B的示例,并且示出了通过一个或多个图像采集装置在图1B的房屋198的客厅中从采集位置210B向西南方向上捕获的第三立体图像250c(或从该采集位置拍摄并以直线方式格式化的360度全景图像的面向西南的子集),还显示方向指示符109c以说明拍摄图像的西南方向。在此示例图像中,窗户196-2的一部分继续可见,正如沙发191以及视觉水平和竖直房间边界以与图2A和图2B的方式类似的方式也继续可见。此示例性图像进一步示出了进出客厅的墙壁开口通道,在此示例中,该墙壁开口通道是进入和离开客厅的门道190-1(如图1B所示,为通向房屋外部和前院的门)。将理解,可以从采集位置210B和/或其他采集位置捕获各种其他立体图像。
图2D继续图2A至图2C的示例,并且示出了图1B的房屋198的一部分的另外的信息250d,包括客厅和走廊的有限部分以及客厅东边的卧室(包括走廊和客厅之间的门道190-3,通过客厅和走廊之间的墙壁开口263a可见,以及客厅的结构墙元素,包括墙间边界183-1和窗户196-1),特别地,信息250d示出了在采集位置210B处采集的360°目标全景图像,其中整个全景图像使用等矩形投影格式显示。如关于图1B和图2A至图2C讨论的,在一些实施方式中,可以在房屋内部中的各种位置处捕获目标全景图像,诸如在客厅中的位置210B处,其中示例性目标全景图像250d的对应视觉内容随后用来确定至少客厅的布局。另外,在至少一些实施方式中,可以捕获附加图像,诸如在一个或多个图像采集装置(未示出)在移动经过房屋的内部时捕获视频或者一个或多个其他系列的连续或几乎连续图像的情况下。
图2E继续图2A至图2D的示例,其中图2E示出了进一步的信息255e,其示出了在至少一些实施方式中在MIGM系统的自动化操作期间的信息处理流程的示例性高级概况。特别地,在图2E的示例中,首先获取建筑物的多个全景图像241,从而对应于图1B中所示的采集位置210B和210D至210P,全景图像中的一些或全部可以例如由ICA系统的实施方式生成,或者可以替代地从一个或多个其他来源提供给所示的MIGM系统140。
在该示例中,在向MIGM系统提供多个全景图像241之后,在步骤280中分别分析它们以确定图像中可见的房间或其他区域的结构布局信息,诸如通过将每个图像作为输入提供给对应的经训练布局确定机器学习模型。在该示例中,步骤280的处理包括识别每个图像中的结构墙壁元素并确定每个图像在其确定的结构布局内的图像姿势信息。此外,在一些实施方式中,机器学习模型(例如,神经网络的一部分)可以进一步学习以识别使用的特定地板和/或天花板特征,并且如果这样,可以进一步识别在每个图像中可见的任何此类地板或天花板特征以及它们的位置。步骤280的输出包括生成的结构布局信息242,在完成步骤280之后,该信息进一步作为输入与多个全景图像241一起提供给步骤281,尽管在其他实施方式中可以至少部分同时执行步骤280和281(诸如针对步骤281开始分析已经在步骤280中分析的第一图像,而步骤280同时执行其对第二图像的分析)。在该示例性实施方式中,步骤281的操作包括,对于每个图像,分别为地板和/或天花板渲染一个或多个自上而下和/或自下而上的视图,这些视图在图像中可见。如本文别处更详细讨论的,渲染视图可以进一步以各种方式使用图像的RGB视觉数据,从而估计用于对渲染视图中的一个或一些或所有渲染视图的像素进行纹理映射的单目深度信息,以在一个或一些或所有渲染视图等上覆盖墙壁元素的位置指示和/或其他语义信息。步骤281的输出包括渲染视图243。
在步骤281之后(或者一旦步骤281已经分析了至少两个图像就与步骤281同时),MIGM系统的操作在步骤282中继续,其将渲染视图243和结构布局信息242作为输入,选择下一对图像(为了参考,称为图像A和B),从第一对开始,并尝试确定这些图像的视觉数据之间的至少一个潜在对准(例如,基于匹配在可能是相同结构元素的两个图像中可见的一个或多个结构元素和/或通过使用相对于可能对应于相同房间或其他建筑区域的结构布局信息的两个图像的确定姿势信息),至少在一些在此类实施方式中,考虑图像对的顺序可以是随机的。在步骤282之后,MIGM系统的操作在步骤283中继续,其中图像A的渲染视图243a和图像B的渲染视图243b(以及可选的原始图像A和B)用于尝试验证通过使用该对的两个图像的视觉数据确定的潜在对准之一,生成对应的输出图像对对准信息244。然后自动操作继续确定是否有更多图像对要比较(例如,直到所有图像对都已比较),并且如果是,则返回步骤282以选择下一个图像对来进行比较。否则,自动化操作继续到步骤284,其中分析各种图像对的图像对对准信息244,并且丢弃未对准的信息对(例如,以便仅保留具有高于定义阈值的对准分数或其他对准指示的图像对之间的对准信息)。步骤284的输出包括局部对准的图像对信息245,然后将其用作步骤285中的输入,其中自动化操作继续以全局优化对准的图像对信息,如本文别处更详细讨论的,以便产生全局图像间相对姿势信息246。在步骤286中,自动化操作然后使用全局对准的全景信息246和结构布局信息242以基于目标图像241的视觉数据生成建筑物的楼层平面图249,可选地带有关于目标图像的采集位置的楼层平面图的指示和/或在框280中确定的一些或所有其他信息。
图2F至图2L进一步示出了关于图2E讨论的各种操作280至286的示例。特别地,图2F继续图2A至图2E的示例,并且再次示出了来自客厅的图2D的360°目标全景图像250d,但是在图2F的产生的目标全景图像250f中添加了附加信息。特别地,图2F示出了可以在图2E的步骤280中为目标全景图像250d生成的结构信息的示例,其中针对目标全景图像250d的图2E的产生的结构布局信息242能够以各种方式存储。特别地,在该示例中,目标全景图像250d的视觉数据被分析以识别布局信息,该布局信息包括在产生的目标全景图像250f中的边界280和角落290(包括墙间边界183-1,以及可选的通过客厅和走廊之间的非门道墙壁开口可见的一些走廊),从而对应于房间的3D形状,其中产生的2D布局260被示出为信息256f的一部分。应当理解,为房间确定的初始结构信息在某些情况下可能不准确(例如,不是完全矩形,即使对应的房间实际上是),诸如信息256f中的初始房间形状变体280a所示(对应于不正确定位的客厅的东南角位置)。如果是这样,可以进行调整248以纠正这种缺陷,诸如通过MIGM系统的进一步自动化操作(例如,应用形状约束和/或优化到初始房间形状,从而对诸如直墙和90°角落等因素强制执行假设使得相邻墙壁竖直且相对墙壁平行)。在进行任何最终调整后,定义客厅的结构布局信息。此外,虽然没有针对房屋198的其他房间说明这种结构布局确定活动,但是将理解,可以对对应于房屋的一些或所有房间和其他区域的所有目标图像执行这种进一步的活动。
此外,在该示例中进一步分析目标全景图像250d的视觉数据以识别包括窗户、门道和非门道开口的位置的布局信息,在该示例中包括识别用于门道190-1的边界框261,用于各种窗户196-1至196-3的边界框262,用于客厅和走廊之间的墙壁开口的边界框263a,以及通过客厅和走廊之间的墙壁开口可见的门道190-3的边界框,其中在信息256f(以及图1B)中进一步说明了这些结构元件的位置,以及为了说明的目的而提供的图例268。在一些实施方式中,可以执行额外的自动化操作来识别房间的尺寸信息,其中视觉尺寸表示294被覆盖在全景图像250f上以对应于房间的具有已知或可能尺寸的特征,诸如门(或窗户)的宽度、墙壁(或门或窗户)的高度等,但是将了解,在其他实施方式中,其他类型的元素可以用于尺寸信息,包括一个或多个已知尺寸的物体,这些物体被添加到在一个或多个房间中捕获的一个或多个图像中(例如,放在房间的地板上的一张81/2x11英寸的纸;在其屏幕上可见已知图案的智能手机,诸如特定型号的苹果智能手机等),以及额外的自动化操作,包括识别已知尺寸物体的一个或多个方面(例如,纸张对角线的位置和大小;智能手机屏幕上的图案,以及特定智能手机型号的确定或其他标识,以便检索显示图案的屏幕尺寸;等),无论是补充还是代替识别未为此目的添加的房间其他元素的位置和尺寸。在此类实施方式中,此类尺寸信息的确定可以进一步用于确定用于捕获该图像的相机的相机高度(并且因此,如果所有图像都使用相同的相机高度,则为所有图像确定相机高度)。对应的尺寸信息269被添加到信息256f,从而指定客厅的整体尺寸。
图2M示出了使用真实建筑物内部的实际照片,使用黄色、红色、绿色和紫色的重叠线和点来识别目标全景图像中的结构信息的附加示例。例如,在一些实施方式中,假设的布局对准是从自动识别的估计语义物体(或替代地,从用户注释的语义物体)导出的,诸如窗户、门道、非门道墙壁开口、房间角落和墙壁边界,在此类实施方式中,可以使用联合估计语义物体的布局和位置的经训练布局确定机器学习模型(例如,作为卷积神经网络或其他类型的神经网络的一部分,作为视觉图像变换器网络的一部分等)(在其他实施方式中,可以使用用户注释的布局和/或用户注释的语义物体位置)。此外,视觉RGB数据的分析还可以用于估计深度数据,其中一个非排他性示例是HoHoNet网络,并且此类信息还可以用作基于从图像的RGB数据估计的单目深度数据确定3D房间形状的一部分,其中一个非排他性示例是地平线网(HorizonNet)网络。此外,经训练的物体检测机器学习模型(例如,作为卷积神经网络或其他类型神经网络的一部分,作为视觉图像变换器网络的一部分等)可以用于确定边界框,其中一个非排他性示例是Faster RCNN网络。图2N进一步示出了这种处理结果的示例,其中顶部图像示出了RGB纹理,中间图像示出了估计的单目深度信息,并且底部图像示出了重叠语义信息(例如,识别与地板和天花板分开的墙壁,识别与墙壁、地板和天花板分开的门道,并且示出了马桶和水槽与其他分开)。
图2G继续图2A至图2F的示例,并且示出了可以用于在图2E的步骤281中为对应于具有门道190-3的卧室的目标全景图像250g渲染地板和/或天花板视图的视觉信息的示例,其中针对目标全景图像250g的图2E的产生的渲染视图信息243能够以各种方式存储。特别地,在图2G的示例中,目标全景图像250g的视觉数据用于渲染自下而上的天花板视图立体图像255g1和自上而下的地板视图立体图像255g2,包括使用纹理映射的像素数据以示出来自目标全景图像250g的信息,诸如灯130q、家具199a和地毯199b。虽然示例性视图图像255g1和255g2包括卧室墙壁的重要部分,但在一些实施方式中,实际的地板和天花板视图可以使用更有限量的墙壁数据(或没有墙壁数据),从而分别对应于较小的地板和天花板视图图像257g2和257g1(例如,以一维方式仅示出墙壁的每个的位置的二维视图图像)。信息256g还被示出为包括卧室的结构布局信息261(例如,如图2E的步骤280中所确定的),以及先前示出的客厅的结构布局信息260。图2G进一步示出了在目标全景图像250d和250g之间可能只有非常少量的视觉数据共同存在,从而对应于目标全景图像250g的通过门道190-3可见走廊和客厅的部分220,并且具有在渲染视图255g2和257g2中示出的对应像素数据238g2。在本示例中,重叠的视觉数据包括墙间边界183-1的一部分、窗户196-1的小部分和窗户196-1的那部分下方的面向北的墙壁、靠近门道190-3并且一直延伸到走廊的西端和客厅的一部分的少量地板、以及门道190-3的框架。可以匹配在目标图像250d和250g两者中可见的一个或多个此类结构元素(例如,作为可能是相同的结构元素,可选地具有相关联的可能性和/或确定性程度),然后用于生成这些图像的视觉数据的一个或多个潜在对准(例如,通过匹配用于门道190-3和/或墙间边界183-1和/或窗户196-1的小可见部分和/或窗户196-1的那部分下方的面向北的墙壁和/或在两个目标图像中可见的部分或全部地板的两个目标图像的对应部分),如关于图2H进一步讨论的。
图2O(为清楚起见在本文中称为“2-O”)至图2R示出了使用真实建筑物的实际照片从目标图像渲染楼层视图的附加示例。例如,图2-O示出了在右侧示出的示例性目标全景图像的左侧示出的渲染地板视图的纹理图,使用单目深度估计来将RGB像素值放置到自上而下的视图中,其中顶部图像和相关联的楼层视图示出纹理映射的视觉数据,该视觉数据包括卫生间和浴室和走廊的瓷砖地板和木地板,以及底部图像和相关联的地板视图,示出了纹理映射的视觉数据,该视觉数据包括入口和走廊的瓷砖地板和木地板,以及额外房间的一部分,走廊的重叠部分可能足以对准这些目标全景图像。此外,图2P示出了使用自动学习的天花板特征的示例,其中左侧的两个图像示出了第一组关联的地板和天花板视图,并且右侧的两个图像示出了第二组关联的地板和天花板视图,其中两个顶部天花板视图的灯和/或的风扇被识别并用于确定视图具有从其渲染视图的两个目标全景图像(未示出)中的相同的天花板。图2Q在两个顶部图像中示出了图2N的图像的版本,在浴室和走廊的地板视图(在最底部的图像中)的两个底部图像中还有示例,并且进一步使用了估计的单目深度数据对具有语义信息的地板视图进行纹理映射,语义信息使用厕所、墙壁和地板的颜色编码语义类别、诸如通过预训练的语义分割网络。图R进一步示出了在地板或天花板视图上叠加颜色编码语义信息的示例,诸如其中窗户使用红色显示、门道使用绿色显示,并且非门道墙壁开口使用蓝色显示。此外,在一些实施方式中,确定一对两个目标全景图像的渲染视图之间的对准可以被视为图像分类问题(在给定图像的情况下,通过在一组固定类上预测分数来预测图像对象的类别),2D视图渲染可以被视为二进制分类问题,从而预测渲染视图中的RGB纹理是否代表正确的渲染,具有对应的机器学习模型(例如,作为卷积神经网络或其他类型的神经网络一部分、作为视觉图像变换器网络的一部分等的模型)使用具有已知真/假标签的数据来进行训练。
此外,图2S进一步示出了与如何能够生成地板和/或天花板视图相关的信息,诸如在来自所有深度图位置处的像素值的原始信号不足的情况下,并且其中插值用于从顶部图像中示出的稀疏画布生成密集画布。中间的图像示出,这种插值还可能添加不需要的和不希望的插值伪影。因此,可以使用另一个步骤来识别其中信号太稀疏而无法准确插值的区域,在这种情况下,视图被卷积以使用箱式滤波器填充有稀疏值,如底部图像中所示。作为这样做的一部分,可以将由于没有测量而致使信号不可靠的内插图像部分归零,使得如果图像的KxK子网格中没有稀疏信号并且其被初始化为默认值零,那么子网格与全为1的箱式滤波器的卷积将返回零。因此,如果任何i j单元中的卷积输出为零,则该区域中不存在对插值的真正支持,并且该插值被屏蔽为零,诸如通过将插值图像与二进制不可靠掩码相乘以使不可靠的值归零。
图2H继续图2A至图2G的示例,并且进一步示出了信息256h,信息256h可以由基于共享门道190-3和/或墙间边界183-1和/或窗户196-1的部分和/或其他少量重叠的视觉数据的目标全景图像250d和250g的成对对准而产生,重叠的视觉数据诸如对应于在图2E的步骤281中确定的潜在对准和在图2E的步骤283中的后续潜在对准验证,并且通过使用所产生的图像间姿势信息以及客厅和卧室的结构布局信息来将该结构布局信息装配在一起。在该示例性实施方式中,示出了客厅和卧室的墙壁可能不完美地装配在一起,从而留下间隙264h,诸如可能是不正确的并且由于来自全景图像250d和250g之间的有限的视觉重叠的初始不完美的成对对准而致使的间隙(例如,稍后将在涉及附加全景图像及其采集位置的全局优化活动期间进行校正),或者正确并反映客厅和卧室(即,卧室的西墙)之间的墙壁宽度的间隙。尽管在图2H中未示出,但在其他实施方式中,可以使用除了匹配两个图像中可见的结构元素之外的信息类型来确定两个目标图像之间的局部对准,诸如通过对于这两个图像使用相对于结构布局信息的两个图像的确定姿势信息(例如,可能对应于相同房间或其他建筑区域的结构布局信息),无论是补充还是代替使用关于此类匹配结构元素的信息。
图2I继续图2A至图2H的示例,并且进一步示出了从采集位置210G捕获的附加目标全景图像250i的一部分,其可以以类似于关于图2F至图2H讨论的方式与目标全景图像250d成对对准,并且其中示出了可以通过对准目标全景图像250d和250i的图像间姿势而产生的所得信息256i,其中客厅的结构布局信息261和走廊的结构布局信息263被类似地基于通过墙壁开口263a和走廊的在门道190-3前面的一小部分可见的公共信息269a装配在一起。
图2J继续图2A至图2I的示例,并且进一步示出了对应于图2E的步骤285的信息,包括信息256j1,信息256j1包括由将至少目标全景图像250d、250g和250i一起对准到公共坐标系205中而产生的信息(如使用链接214-BD、214-BG和214-DG所示),并且示出了产生的信息256j2,这可以由进一步使用该对准信息并且将客厅和走廊和卧室的结构布局信息装配在一起而产生。图2J进一步示出了步骤285的自动化操作可以包括识别其他采集位置210E至210N的目标全景图像之间的其他链接214,并且可以可选地包括使用其他确定的对准信息来链接其图像不包括任何重叠视觉覆盖的两个采集位置(例如,在采集位置210E和210H之间显示的链接213-EH)和/或进一步链接至少一些采集位置,其相关联的目标图像与任何其他目标图像没有视觉重叠(例如,图2J中所示的在采集位置210P和210B之间的链接212-PB),诸如基于确定采集位置210P的目标全景图像的视觉数据对应于前院并且包括入口门道190-1的视图,并且针对采集位置210B的目标全景图像中示出的客厅的入口门道190-1很可能通向前院(使得两个全景图像中可见的两个门道对应于相同门道)。在一些实施方式中,给定目标全景图像的成对采集位置之间的相对测量,为一些或所有目标全景图像生成全局图像间姿势信息。例如,如果存在简单的无噪声情况,则所有测量值将彼此一致并且可以链接在一起,其中生成的图的生成树通过将变换链接在一起来给予全局姿势信息。在某些测量有噪声和不正确的实际情况下,旋转平均可以用于从局部对准的成对信息的成对相对旋转来估计单个公共全局坐标系中的旋转。作为这样做的一部分,可以使用系列级联循环一致性检查,包括在已知比例的情况下对公共坐标系框架中的平移方向进行检查,以确保三个或更多个互连的采集位置的循环(每个都有本地成对对准信息)致使循环中的总平移为零(例如,其中三个采集位置的循环三元组中的相对旋转应当构成一致旋转)。
图2K至图2L继续图2A至图2J的示例,并且示出了可以从图2E至图2J中讨论的分析类型生成的测绘信息。特别地,图2K示出了信息255k,信息255k包括可以基于所描述的技术构建的示例性楼层平面图230k,在该示例中包括墙壁和门道和窗户的指示。在一些实施方式中,这种楼层平面图可以具有示出的其他信息,诸如关于由分析操作自动地检测到和/或随后由一个或多个用户添加的其他特征。例如,楼层平面图230k包含各种类型的附加信息,诸如可以从图像和/或深度数据的视觉数据的分析操作中自动识别,包括以下一种或多种类型的信息:房间标签(例如,用于客厅的“客厅”)、房间尺寸、家具或家电或者其他固定特征的视觉指示、附加类型的关联和链接信息(例如,最终用户可选择来进一步显示的在指定的采集位置采集的全景图像和/或立体图像;最终用户可以选择来进一步呈现的音频注释和/或声音记录等)的位置的视觉指示、门道和窗户的视觉指示等。在其他实施方式和情形中,可以反而由一个或多个MIGM系统操作者用户和/或ICA系统操作者用户提供一些或所有这种类型的信息。另外,当向最终用户显示楼层平面图230k时,可以添加一个或多个用户可选择控件以提供交互功能作为GUI(图形用户界面)屏幕255k的部分,从而指示要显示的当前楼层、允许最终用户选择要显示的不同楼层等,其中在此示例中,对应的示例性用户可选择控件228添加到GUI。另外,在一些实施方式中,也可以直接通过与所显示的楼层平面图的用户交互来进行楼层或其他楼的改变,诸如经由选择对应的连接通道(例如,通往不同楼层的楼梯),并且可以通过选择对应所显示的用户可选择控件来直接从所显示的楼层平面图进行其他视觉改变(例如,选择对应于特定位置的特定图像的控件,以及接收该图像的显示,无论是代替还是补充从中选择图像的楼层平面图的先前显示)。在其他实施方式中,可以同时显示一些或所有不同楼层的信息,诸如显示单独楼层的单独子楼层平面图或者改为将所有房间和楼层的房间连接信息集成到立刻同时显示的单个楼层平面图中。将了解,在一些实施方式中可以添加各种其他类型的信息,在一些实施方式中可以不提供所说明类型的信息中的一些,并且在其他实施方式中可以以其他方式显示并选择链接和关联信息的视觉指示及对其的用户选择。图2L继续图2A至图2K的示例,并且示出了可以从本文中公开和显示(例如,在类似于图2K的GUI中)的自动化分析技术生成的附加信息265l,在此示例中,附加信息265l是房屋的2.5D或3D模型楼层平面图。这种模型265l可以是基于楼层平面图230k生成的附加测绘相关信息,其中示出了关于高度的附加信息以便说明诸如窗户和门的特征在墙壁中的视觉位置,或者改为组合的最终估计房间形状,所述房间形状是3D形状。尽管图2L中未说明,但在一些实施方式中,附加信息可以添加到显示的墙壁,诸如来自在图像捕获期间拍摄的图像(例如,在渲染的模型265l上渲染和说明实际绘画、墙纸或来自房屋的其他表面),和/或可以以其他方式使用以向墙壁和/或其他表面添加指定的颜色、纹理或其他视觉信息,和/或图2K中所示的其他类型的附加信息(例如,关于外部区域和/或附件结构的信息)可以使用此类渲染模型来显示。
在一个非排他性示例性实施方式中,MIGM系统使用组合相对姿势生成、基于学习的相对姿势分类、SE(2)组上的后端同步和异常值拒绝,以及最后经由贪婪-构建的生成树的姿势估计,SE(2)组用于基于使用SE(2)同步的异常值拒绝,如以下中讨论的:“SE-Sync:Acertifiably correct algorithm for synchronization over the special Euclideangroup(在特殊欧几里得群上同步的可证明正确的算法)”,Rosen等人,在TheInternational Journal of Robotics Research(国际机器人研究杂志)(IJRR)中,38(2-3):95-125,2019年3月。例如,如果基于一对检测到的门道或非门道墙壁开口或墙壁在房间之间生成可能的对准,并且如果所有全景图都已本地化,并且如果可以从全景图像中预测单个房间布局,在该示例性实施方式中,这些功能可以组合在一起以生成连贯的楼层平面图。作为这样做的一部分,2D重建问题可以被视为二进制分类问题,预测渲染视图中的RGB纹理是否正确地表示对应房间的结构信息,此类机器学习模型(例如,它是卷积神经网络或其他类型的神经网络的一部分,作为视觉图像变换器网络等的一部分)可以使用具有已知真/假标签的数据进行训练。
全局楼层平面图重建可以进一步用于该示例性实施方式中以从局部信号构建全局信息,诸如从图像输入导出的局部信息。例如,如果在大房子的相反端上捕捉到完全不相交的房间的两张图像,则无法共享任何信号,从而在连续空间中留下无限数量的相对对准,或者如果考虑了可能的连接点,则在离散空间中仍然存在大量相对对准。相反,全景图的重叠部分被识别,无论重叠多小,并且图像对之间的所有局部测量都在单次扫描中用于生成全局结构。虽然替代性方法将是首先从全景图像估计拓扑,然后通过定位全景图生成对应的楼层平面图,但在联合估计其拓扑结构的同时定位全景图是优选的方法。此外,不是手动定义房间合并成本的特征(其中一些仅适用于注释者可以识别在不同房间中捕获的全景图,因为相同房间内的布局应该相反最大化房间交叉点,而在单独的房间中捕获的那些应该最小化房间交叉点),在这个示例性实施方式中,这些特征是从数据中学习的。只有在相同房间中时,来自全景Pa的每个窗户应该重新投影到全景Pb中的窗户上,这是未知的潜在变量,并且两个重叠的房间布局之间的IoU(联合交集)应较高。在该示例性实施方式中训练机器学习模型(例如,它是卷积神经网络或其他类型的神经网络的一部分,作为视觉图像变换器网络的一部分等)以识别诸如房间开口周围的共享地板纹理、常见物体(例如冰箱)或房间相邻的已知先验(例如,浴室和卧室通常相邻的事实),以及图像数据中存在的其他信号,诸如光源反射、木地板的镶板方向、共享天花板特征等方面。下表列举了来自未对准全景输入的可用成对信号的示例,它们通常是互补的(例如,单目深度信号的许多弱点可以通过语义分割信息来缓解)。在许多情况下,没有单一信号是足够的。提供积极的房间-房间关联线索的信号包括两个布局之间墙壁的轴向对准,或者两个语义分割图之间共享的稀有类(例如,冰箱到冰箱像素或浴室到浴室像素更可能发生在相同房间),并且由于楼层平面图相邻受强先验支配(例如,主卧室附连到主浴室、走廊与卧室相邻、窗户面向户外的事实等),因此可以学习此类信号,其中两个边界框以非常高的IoU随机投影的概率很低。提供负面房间-房间关联线索的信号包括两个对准之间的墙壁穿透自由空间、不匹配的门或窗户形状等。每个房间布局的内部最好是空的,这样从相机到布局边界的光线是不受阻碍的,并且门的形状最好是在高度和宽度上、在房间内和跨房间匹配。
在本示例性实施方式中,在生成相对姿势(为了本示例性实施方式的目的也称为“对准”)时使用了一些领域知识,诸如,由于窗户几乎总是面向建筑物的外周界的事实,当全景视图查看相同窗户时,即在窗户处对准,窗户法线应该在同一方向,这意味着不能像门一样存在“旋转”配置。可以轻松处理组合复杂性,诸如当O(n2k2)对准可能给定各自具有k个窗户、门、开口或墙壁特征的n个全景图时。光线投射可以用于纹理映射,诸如通过从图像中的每个像素投射出光线,沿着光线跟随表示3D表面的预测深度值,将3D坐标(x:y:z)分配给RGB值,然后应用于纹理图上的(x:y)。此外,可以使用一种或多种不同的异常值拒绝技术,包括以下各项:估计全局测量值,然后丢弃与全局估计值不一致的局部测量值(然而,全局估计对异常值敏感);使用相似度(2)链式三元组循环误差,其中相对相似度(2)测量值在循环中链式连接,并且测量与同一性的偏差(然而,两个随后的180°误差,诸如旋转门配置,抵消为零);使用全局平移三元组循环误差,其中平移方向使用全局旋转放置在全局框架中,然后测量与同一性的偏差;使用1D投影最小反馈弧集(MFAS),诸如在1D-SfM中,以用于通过投影到1D子空间上来查找异常平移方向,并且检查顺序的一致性;等等。
此外,在另一个非排他性示例性实施方式中,MIGM系统可以通过在可能的平移和旋转的离散集合上创建两个纹理图(例如,它们之间没有任何像素对准)并计算它们的互相关性(例如,仅使用在每个共享的非零像素位置处的互相关结果)来确定和/或验证两个目标图像之间的潜在对准。此外,3D成本体积有可能填充在这些可能的平移和旋转上(例如,x和y中的每50cm间隔以及每10度的角度间隔)。如果进一步使用深度卷积神经网络来验证两个目标图像之间的潜在对准,则MIGM系统可以首先将纹理图嵌入到特征空间中,然后使用该深度卷积神经网络执行语义上有意义的特征空间的互相关。
此外,在一个非排他性示例性实施方式中,MIGM系统可以使用稀疏定位的360°全景图生成和验证2D楼层平面图,其语义特征(门、窗户和开口)用于假设成对的空间房间相邻或重叠。可以通过定性和定量分析以及消融研究来验证结果。
室内几何重构能够实现多种应用,包括虚拟游览、建筑分析、虚拟舞台和自主导航。然而,传统的运动中恢复结构(SfM)技术的重建完整性非常有限,并且语义SfM的准确性仍然有限,并且无法有效地自动化。对于室内住宅楼层平面图重建,离散的房间块在特定的连接点(例如门和墙壁)处对准,并且可以使用重复的物体(诸如窗户和门)来假设房间相邻或重叠,其中每个假设都提供相对的房间姿势。经由学习的成对房间对准验证器,并且给出房间对对准假设,地板和天花板的鸟瞰图(BEV)可以用于预测相邻或重叠的可能性分数。一旦计算了相对位姿,就可以执行全局姿势图优化,并且通过合并房间布局生成楼层平面图,其中后处理可用来解决房间布局中的噪声。在某些情况下,假设输入是从室内空间捕获的一组无序360RGB全景图像,假设相机的高度已知且固定的定向平行于地板,并且假设图像覆盖来自捕获的不同房间之间的所有连接的门,其中相邻图像具有零或更多的视觉重叠度。该示例性实施方式的描述的系统可以从未对准的全景图创建楼层平面图,其基线大到传统SfM技术完全或大部分失败;估计并验证零或几乎没有重叠的场景之间的对准;并且在室内设置中使用姿势图优化和全局SfM来进行异常值排除。该系统可以被认为是深度验证器网络(深度前端),它将测量结果提供给全局SfM,但能够简单地基于预测分数执行异常值排除。
在该示例性实施方式中,解决了用于楼层平面图重建目的的稀疏定位全景图的全局姿势估计问题,其中在2D鸟瞰图(BEV)坐标系中估计姿势。在形式上,给定全景图的无序集合{Ii},全局姿势估计被定义为确定全局坐标系w中每个全景图的姿势{WTi)n i=1∈SE(2),具有360°水平视野和180°竖直视野的等矩形形式的全景图。楼层平面图重建问题涉及使用{Ii}和{WTi}n i=1∈SE(2)生成栅格楼层占用率和每个房间掩码。全局姿势估计涉及从局部信号构建全局信息,其包括成对全景图之间的估计的相对姿势。该示例性实施方式的用于从稀疏定位的全景图生成楼层平面图的系统包括设计用于假设和计算相对成对姿势的前端,以及设计用于使用它们来优化全局姿势的后端。前端首先使用他们估计的房间布局周长(例如,2D BEV周长)和在这些周长上检测到的语义物体(例如,窗户、门和开口,针对本示例性实施方式有时称为W/D/O)。假设包括将来自全景图A中的物体与全景图B中相同类型的物体配对(例如,将门与另一扇门配对,配对墙壁等)。假设两个配对物体是相同的现实世界物体允许计算来自A的房间布局与来自B的房间布局之间的相对SE(2)姿势,其中针对合理性来测试该假设。对于假设的相对姿势,两个全景图的地板和天花板的鸟瞰图都在相同的BEV坐标系中渲染(例如,使用每个全景图的深度分布估计),这会产生重叠的自顶向下渲染,然后使用它们以生成重叠图像是合理匹配的可能分数。不合理的匹配被丢弃,并且剩余的合理匹配被用于构建姿势图。后端然后对构建的姿势图进行全局优化。最后,楼层平面图由以下创建:(1)按房间对全景图进行聚类;(2)在给定预测全景姿势的情况下融合每个全景房间布局估计的集合;以及(3)定位后处理的房间布局。作为这样做的一部分,神经网络机器学习模型(例如,作为一个或多个卷积神经网络或其他类型的神经网络的一部分)或其他类型的机器学习模型(例如,作为一个或多个视觉图像转换器网络的一部分)可以用于估计单房间布局、检测W/D/O并估计单目深度,从而提供支持全局姿势优化算法的信噪比能力的精度水平。
由于该示例性实施方式中的平面楼层图是2D,因此成对全景图之间的对准具有对应于水平位置和旋转的3个自由度(DOF),其中比例不是自由参数(假设已知、固定相机高度和单个楼层平面)。为了处理宽基线,在该示例性实施方式中使用语义物体(例如窗户、门和开口)来生成对准假设,并且另外使用估计的房间布局(例如,使用用部分房间形状几何结构训练的机器学习模型来预测具有不确定性分数的地板-墙壁边界和W/D/O的位置两者)。每个对准假设都是在假设对准的W/D/O位于相同房间或不同房间的情况下生成的。W/D/O的外表面法线要么在相同的方向,要么在相反的方向上,假设窗户仅在其内部法线的方向上对准,而门或开口可以在任一方向上对准。使用两个预测房间布局的主轴来细化旋转假设。详尽地列出成对的W/D/O可以产生用于对准验证的许多假设。通过确保每对匹配的W/D/O的宽度具有在[0:65;1:0]内的比率来使组合复杂度减半,因此2个单位宽的门无法与1个单位宽的门匹配。一旦找到对准假设,它们就会被验证。
虽然诸如房间交叉点和环路闭合的室内空间的领域知识可以有助于构建楼层平面图,但视觉提示也可以在该示例性实施方式中用于验证成对的全景重叠。地板和天花板的鸟瞰图(BEV,正交)可以用作对准验证的视觉提示,其中提取的深度用于渲染BEV。鉴于跨全景图的照明和图像质量存在显著差异,传统的光度匹配技术可能不是非常有效,因此机器学习模型(例如,它是卷积神经网络或其他类型神经网络的一部分,作为视觉图像变换器网络等的一部分)相反被训练以基于这些对准的纹理信号隐式地验证空间重叠。给定对准假设,两个全景图的地板和天花板的BEV可以映射到公共图像坐标系,其中四个堆叠视图被馈入基于深度学习的成对对准验证机器学习模型中,以对2视图对准进行分类。给定n个全景图,每个全景图具有k个W/D/O,O(n2k2)对准是可能的,并且使用具有4个对准视图(来自每个全景图的2个)堆栈和总共12个通道的机器学习模型来进行验证,并且在代表“不匹配”和“匹配”类的2个类上用柔性最大值(softmax)-交叉熵来训练。可以通过测量生成的相对姿势(来自窗户-窗户、开口-开口或门-门对的对准)与真实姿势的偏差来生成类,其中低于一定量偏差的那些被认为是“匹配”并且所有其他被认为是“不匹配”。
关于全局姿势估计和优化,在该示例性实施方式中生成并使用一组成对对准来构建姿势图,其节点是全景图并且边缘是估计的相对姿势。当产生多个不相交的图时,仅考虑最大的连接分量,并且使用生成树姿势聚合和/或姿势图优化来执行全局定位。楼层平面图重建从估计全景姿势和房间布局进展到输出,执行全景房间分组、最高置信度房间轮廓提取和楼层平面图拼接。为了细化房间布局,该房间内的所有全景图都使用2D联合交集(IoU)来识别,因为每个全景图都有具有局部形状置信度的其自己的布局,所以可以通过搜索最可信的轮廓点来提取单个全局布局,诸如通过从全景中心进行光线投射并沿着每条光线投票选出最可信的轮廓点,并且通过合并(拼接)所有房间布局来找到最终的楼层平面图。
在该示例性实施方式中,如果地面实况相对姿势(x,y,θ)∈SE(2)和生成的相对姿势对于门和窗户的差异小于7°(θ)并且对于开口小于9°(针对开口使用更大的阈值,因为它们的端点有更多的变化),并且如果在标准化房间坐标中(例如,当相机高度缩放为1时),则成对对准被认为是“匹配”的。当在示例性实施方式中使用单目估计深度图对正交视图进行纹理映射时,在相机下方>=1m的所有3D点被用于渲染地板,并且在相机上方>=0:5m的所有点被用于渲染天花板,从而致使使用0.02m/像素的分辨率渲染10x10m的区域,从而创建500x500的图像。为了在示例性实施方式中增加验证者数据,将BEV纹理映射调整为234x234分辨率,对随机224x224裁剪进行采样和随机翻转,然后进行归一化。关于示例性实施方式中的训练,它使用预训练的权重和50个时期执行,具有初始学习率为1x10-3,多项式学习率衰减,每次迭代的衰减因子为0.9,权重衰减为1x10-4,以及批量大小为256个示例。
在已知相机高度的情况下,在该示例性实施方式中,可以通过首先将每个顶点转换为球坐标然后转换为笛卡尔坐标来将具有顶点{(u,v)k}K k=1的像素空间中的预测地板-墙壁边界映射到3D,如下所述:
其中h和w是输入图像的高度和宽度,以像素为单位。
最后,重新调整每条光线的长度,使其在y=0处与地平面相交,即其y坐标的大小等于相机高度hc,这些重新调整的光线方向现在以米为单位定坐标。
在创建鸟瞰图(BEV)纹理图时使用插值过程。在生成正交图像时,来自所有反投影深度图位置的像素值的原始信号是稀疏且不足的,并且使用插值从稀疏画布生成密集画布。另一个步骤用于识别信号太稀疏而无法准确插值的区域,这通过将填充有稀疏值的画布与箱式滤波器进行卷积,并将插值图像中由于没有测量而致使信号不可靠的部分归零。如果图像的KxK子网格内没有稀疏信号并且被初始化为默认值零,则子网格与全1的箱式滤波器的卷积将为零,因此,如果任何i j单元中的卷积输出为零,则在该区域中没有真正支持插值,并且该插值被屏蔽掉。插值图像与二进制不可靠性掩码相乘以将不可靠值归零,并且画布从下到上填充。
为了校正本示例性实施方式中的W/D/O顶点定位的微小误差,计算消失点并将其转换为消失角θvp,其具有从线段投票的方向,其中消失角θvp被定义为全景图的左边缘与全景图像的左侧的第一消失点之间的水平角。然后通过对准这对消失角来细化全景水平旋转,同时维持匹配的W/D/O之间的距离。角度调整可以表示为
θcorrection=(θvp,1-θvp,2)-2θ1
其中θvp,1、θvp,2是全景图1和全景图2的消失角,并且2θ1对应于全景图1的姿势在全景图2的房间笛卡尔坐标系中的相对旋转,即2T1。然后全景图1的房间顶点围绕W/D/O中点旋转(在全景图2的框架中),并通过点集之间的最小二乘拟合重新计算以获得具有固定的壁厚。
关于示例性实施方式中的全局姿势估计,N个图像的全局运动可以由N-1个运动参数化。在姿势图中
当图G具有单个连通分支时,生成树是一组边缘,使得V中的每个顶点都可从V中的每个其他顶点到达。对于具有N个顶点的图,最小生成树总是具有N-1条边缘。然而,由于异常值的污染,全局姿势估计可能会出现错误。为了使用随机排序的图像计算生成树,并从第一图像作为根开始,图像按顺序递增包括,将每个下一个图像在其距离根的最短路径处添加到当前树中。生成树解决方案容易受到树中异常边缘的影响,因此姿势图优化用于利用冗余并利用图中的所有可用信息。使用高斯噪声模型对SLAM问题进行MAP推理等价于解决非线性最小二乘问题,并且归结为最大化所有因子图势的乘积:
其中φij(Ti,Tj)是因子图势:
其中hij(Ti,Tj)=Ti -1·Tj,并且zij是来自先前描述的对准步骤的图像i与j之间的估计的相对姿势。
然后使用GTSAM优化以下目标函数:
在此,ρ(·)是胡贝尔(Huber)噪声模型。
使用高斯噪声模型对姿势图进行MAP推断是通过最大化所有因子图势的乘积来完成的。该解决方案从贪婪生成树初始化,然后使用GTSAM进行优化,一旦优化了姿势图,估计的姿势和房间布局将用于创建最终的楼层平面图。
本示例性实施方式中的楼层平面图重建涉及三个步骤:(1)全景房间分组,(2)最高置信度房间轮廓提取,以及(3)楼层平面图拼接,详细信息在以下示例性实现算法中示出。
已关于图2A至图2S提供了各种细节,但将了解,所提供的细节是出于说明性目的而包括的非排他性示例,并且可以在没有一些或全部这种细节的情况下以其他方式执行其他实施方式。
图3是示出了执行MIGM系统340的实施方式的一个或多个服务器计算系统300、以及执行ICA系统389的实施方式的一个或多个服务器计算系统380的实施方式的框图,该服务器计算系统和MIGM系统可以使用多个硬件组件来实施,该多个硬件组件形成适合于且被配置为在联合操作时执行本文描述的技术中的至少一些的电子电路。在所说明的实施方式中,每个服务器计算系统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以及存储器386,但为了简洁起见,在服务器380中省略了服务器300的一些细节。
服务器计算系统300和执行的MIGM系统340可以经由一个或多个网络399(例如,互联网、一个或多个蜂窝电话网络等)与其他计算系统和装置进行通信,所述其他计算系统和装置诸如为以下各者:用户客户端计算装置390(例如,用于查看楼层平面图、关联图像和/或其他相关信息);ICA服务器计算系统380;一个或多个移动计算装置360;可选地一个或多个相机装置375;可选地其他可导航装置395,其接收并使用楼层平面图和可选地其他所生成的信息以用于导航目的(例如,以供半自主或全自主车辆或其他装置使用);以及可选地未示出的其他计算系统(例如,用于存储和提供与建筑物有关的附加信息;用于捕获建筑物内部数据;用于存储和向客户端计算装置提供信息,诸如与图像及其涵盖的建筑物或其他周围环境相关联的附加补充信息;等)。在一些实施方式中,一个或多个相机装置375中的一些或全部可以与在它们附近的一个或多个相关联的移动计算装置360直接通信(例如,无线和/或经由电缆或其他物理连接,并且可选地以对等方式)(例如,以发送捕获的目标图像、接收指令以启动目标图像采集等),无论是除了还是代替经由网络399执行通信之外,并且其中此类相关联的移动计算装置360能够将通过网络399从一个或多个相机装置375接收的捕获的目标图像和可选的其他捕获的数据提供给其他计算系统和装置(例如,服务器计算系统380和/或300)。
在所示出的实施方式中,MIGM系统340的实施方式在存储器330中执行以便执行所描述的技术中的至少一些,从而将处理器305和计算系统300配置为执行自动化操作的方式使用处理器305来执行系统340的软件指令,该自动化操作实施那些描述的技术。MIGM系统的所示实施方式可以包括一个或多个部件(未示出)以各自执行MIGM系统的功能的部分,并且存储器还可以任选地执行一个或多个其他程序335。作为一个具体示例,在至少一些实施方式中,ICA系统的副本可以作为其他程序335中的一个执行,诸如代替或补充服务器计算系统380上的存储器387中执行的ICA系统389。MIGM系统340在其操作期间还可以存储和/或检索存储装置320上(例如,在一个或多个数据库或其他数据结构中)的各种类型的数据,诸如关于目标全景图像的信息321(例如,通过一个或多个相机装置375采集)和相关联的渲染直线视图图像323、关于为目标全景图像确定的结构房间布局的信息325(例如,墙壁及其他结构元素的位置、结构墙壁元素的位置、图像采集姿势信息等)、各种类型的楼层平面图信息和其他建筑物测绘信息326(例如,生成和保存的2D楼层平面图,在那些楼层平面图上具有墙壁元素和其他元素的2D房间形状和位置,以及可选的附加信息,诸如用于相关联楼层平面图的建筑及房间尺寸,具有指定位置的现有图像,注释信息等;类似于2D楼层平面图但还包括高度信息和3D房间形状等的生成和保存的2.5D和/或3D模型楼层平面图);可选的关于客户端计算装置390的用户和/或与MIGM系统交互的移动装置360的操作者用户的用户信息322,可选地用于与一个或多个机器学习模型(例如,作为一个或多个卷积神经网络或其他类型的神经网络、一个或多个视觉图像变换器网络的一部分等)一起使用的训练数据和/或得到的经训练的机器学习模型(未示出),以及可选的各种其他类型的附加信息329。ICA系统839可以在其操作期间类似地在存储装置385上(例如,在一个或多个数据库或其他数据结构中)存储和/或检索各种类型的数据,并向MIGM系统340提供一些或所有此类信息以供其使用(无论是以推送和/或拉送的方式),诸如图像386(例如,通过一个或多个相机装置375采集并由那些相机装置和/或一个或多个中间相关联的移动计算装置360发送到服务器计算系统380的360°目标全景图像),以及可选的各种类型的附加信息(例如,与由ICA系统捕获的一个或多个建筑物内部或其他环境的呈现或其他使用有关的各种分析信息,未示出)。
用户客户端计算装置390(例如,移动装置)、移动计算装置360、相机装置375、其他可导航装置395和其他计算系统中的一些或全部可以类似地包括针对服务器计算系统300和380所说明的相同类型部件中的一些或全部。作为一个非限制性示例,移动计算装置360各自被示为包括一个或多个硬件CPU 361、I/O部件362、存储装置365、成像系统364、IMU硬件传感器369、可选地深度传感器(未示出)以及存储器367,其中浏览器和一个或多个客户端应用程序368(例如,特定于MIGM系统和/或ICA系统的应用程序)中的一者或两者可选地在存储器367内执行,从而参与与MIGM系统340、ICA系统389、相关联的相机装置375和/或其他计算系统的通信。尽管针对其他可导航装置395或客户端计算系统390未说明特定部件,但是将了解,它们可以包括类似和/或附加的组件。
还将了解,计算系统300和380和相机装置375以及图3内所包括的其他系统和装置仅仅是说明性的,并且不旨在限制本发明的范围。系统和/或装置可以改为各自包括多个交互的计算系统或装置,并且可以连接到未具体说明的其他装置,包括经由蓝牙通信或其他直接通信、通过一个或多个网络(诸如,互联网)、经由网络(Web)或者经由一个或多个专用网络(例如,移动通信网络等)进行连接。更一般地,装置或其他计算系统可以包括可选地在被编程或以其他方式配置有特定软件指令和/或数据结构时可以交互并执行所描述类型的功能的硬件的任何组合,所述硬件包括但不限于台式计算机或其他计算机(例如,平板计算机、平板电脑等)、数据库服务器、网络存储装置和其他网络装置、智能手机和其他蜂窝电话、消费者电子设备、可穿戴装置、数字音乐播放器装置、手持式游戏装置、PDA、无线电话、互联网电器、相机装置和附件、以及包括适当通信能力的各种其他消费者产品。另外,在一些实施方式中,由所示的MIGM系统340提供的功能可以分布在各种组件中,可以不提供MIGM系统340的所描述的功能中的一些,并且/或者可以提供其他附加的功能。
还将了解,尽管各种条目被说明为在使用时存储在存储器中或在存储装置上,但是出于存储器管理和数据完整性的目的,这些条目或其部分可以在存储器和其他存储装置之间转移。替代地,在其他实施方式中,软件组件和/或系统中的一些或全部可以在另一个装置上的存储器中执行并且经由计算机间通信与所说明的计算系统通信。因此,在一些实施方式中,当被一个或多个软件程序(例如,被在服务器计算系统300上执行的MIGM系统340)和/或数据结构配置时,所描述的技术中的一些或全部可以由包括一个或多个处理器和/或存储器和/或存储装置的硬件构件执行,诸如通过执行所述一个或多个软件程序的软件指令和/或通过存储这种软件指令和/或数据结构,并且从而执行如在流程图和本文的其他公开内容中所描述的算法。此外,在一些实施方式中,可以以其他方式实施或提供系统和/或部件中的一些或全部,诸如通过由部分地或完全地在固件和/或硬件中实施(例如,而不是作为由配置特定CPU或其他处理器的软件指令全部或部分地实施的装置)的一个或多个装置组成,包括但不限于一个或多个专用集成电路(ASIC)、标准集成电路、控制器(例如,通过执行适当的指令,并且包括微控制器和/或嵌入式控制器)、现场可编程门阵列(FPGA)、复杂可编程逻辑装置(CPLD)等。部件、系统和数据结构中的一些或全部还可以(例如,作为软件指令或结构化数据)存储在非暂时性计算机可读存储介质上,诸如硬盘或闪存驱动器或者其他非易失性存储装置、易失性或非易失性存储器(例如,RAM或闪存RAM)、网络存储装置或者便携式媒体制品(例如,DVD盘、CD盘、光盘、快闪存储器装置等),以便由适当的驱动器或经由适当的连接来读取。在一些实施方式中,系统、部件和数据结构还可以经由所生成的数据信号(例如,作为载波或者其他模拟或数字传播信号的一部分)在多种计算机可读传输介质上传输,所述传输介质包括基于无线和基于有线/电缆的介质,并且可以采取多种形式(例如,作为单个或多路模拟信号的一部分,或作为多个离散数字包或帧)。在其他实施方式中,这种计算机程序产品还可以采取其他形式。因此,可以利用其他计算机系统配置来实践本公开的实施方式。
图4示出了ICA系统例程400的实施方式的示例性流程图。该例程可以由例如图1A的ICA系统160、图3的ICA系统389和/或如本文中以其他方式描述的ICA系统执行,从而采集360°目标全景图像和/或建筑物或其他结构内的其他图像(例如,用于随后生成相关的楼层平面图和/或其他测绘信息,诸如由MIGM系统例程的实施方式生成,其中关于图5A至图5B说明这种例程的一个示例;用于随后确定目标图像的采集位置和可选地采集定向等)。尽管关于在特定位置处采集特定类型的图像讨论了示例例程400的部分,但是将了解,这个或类似的例程可以用于采集视频或其他数据(例如,音频)和/或其他类型的不是全景的图像,无论是代替还是补充这种图像。另外,尽管所说明的实施方式采集并使用来自目标建筑物的内部的信息,但是将了解,其他实施方式可以针对其他类型的数据(包括针对非建筑物结构和/或针对一个或多个感兴趣的目标建筑物外部的信息)执行类似的技术。此外,例程中的一些或全部可以在用户所使用的移动装置上执行以参与采集图像信息和/或相关的附加数据,和/或由远离这种移动装置的系统执行。
例程的所说明的实施方式在框405处开始,在该框处,接收指令或信息。在框410处,例程确定接收到的指令或信息是否指示采集表示建筑物(例如,在建筑物内部)的数据,并且如果不是的话,则继续到框490。否则,例程前进到框412以接收指示(例如,来自与一个或多个相机装置相关联的移动计算装置的用户)以便在第一采集位置处开始图像采集过程。在框412之后,例程前进到框415以执行采集位置图像采集活动,以便通过至少一个图像采集装置针对感兴趣的目标建筑物处的采集位置采集至少一个360°全景图像(和可选地通过移动计算装置采集一个或多个附加图像和/或其他附加数据,诸如来自IMU传感器和/或深度传感器),从而提供围绕竖直轴的至少360°的水平覆盖范围。例程还可以可选地从用户获得关于采集位置和/或周围环境的注释和/或其他信息,诸如供稍后用于呈现关于该采集位置和/或周围环境的信息。
在框415完成之后,例程继续到框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示出了用于测绘信息生成管理器(MIGM)系统例程500的流程图的示例性实施方式。该例程可以通过例如执行图1A的MIGM系统140、图3的MIGM系统340、关于图2E至图2S讨论的MIGM系统和/或如本文别处描述的MIGM系统来执行,从而至少部分地基于该区域的一个或多个图像的视觉数据和可选地诸如在具有或几乎没有重叠的视觉覆盖的目标图像的成对对准之后由移动计算装置捕获的附加数据来生成建筑物或其他定义区域的楼层平面图,和/或以至少部分地基于该区域的一个或多个图像和可选地由移动计算装置捕获的附加数据来生成建筑物或其他定义区域的其他测绘信息。在图5A至图5B的示例中,建筑物(例如,房子)的生成的测绘信息包括2D楼层平面图和/或3D计算机模型楼层平面图,但在其他实施方式中,可以以其他方式生成和使用其他类型的测绘信息,包括用于其他类型的结构和定义的区域,如本文别处讨论的。
例程的所说明的实施方式在框505处开始,在框505处,接收信息或指令。例程继续到框510以确定是否生成所指示的建筑物的楼层平面图,并且如果否的话,则继续到框590。否则,例程继续到框515以获得建筑物的目标图像和可选地相关联的尺寸/比例信息(例如,以检索先前获取的存储的目标图像;使用在框505中提供的目标图像;同时获取此类信息,其中图4提供了用于执行此类图像采集的ICA系统例程的一个示例性实施方式,包括可选地等待一个或多个用户或装置移动穿过建筑物的一个或多个房间并在建筑物房间和可选的其他建筑区域中的采集位置处获取全景图或其他图像,以及可选的连同关于与采集位置之间的移动有关的采集和/或互连信息的元数据信息,如本文别处更详细讨论的)。
在框515之后,例程继续到框520,其中它使用经训练的布局确定机器学习模型(例如,作为神经网络的一部分)来为每个目标图像估计在目标图像中可见的一个或多个房间的结构布局信息,包括识别墙壁元素,诸如窗户、门道和非门道开口,并且确定结构布局中的图像姿势,以及可选地学习地板和/或天花板特征以用于后续渲染视图。在框520之后,例程继续到框525,在此它为每个目标图像渲染在目标图像中可见的地板和/或天花板的一个或多个视图,从而使用RGB视觉数据和确定的估计单目深度数据来纹理映射视图,和/或覆盖墙壁元素的位置和/或其他语义信息等。
在框525之后,例程继续到框530以选择下一对目标图像(从第一对开始),然后前进到框535以(例如,至少部分地基于目标图像的匹配结构布局信息,通过使用确定的目标图像姿势信息等)尝试确定目标图像的视觉数据之间的一个或多个潜在对准。在框535之后,框540中的例程继续使用经训练的机器学习模型(例如,作为卷积神经网络的一部分)来尝试使用它们的渲染视图来验证该对的两个图像之间的潜在对准,同时生成对应的对准分数或其他对准指示。在框540之后,例程继续到框555以确定是否要比较更多对图像,并且如果是的话,则返回到框530以选择下一对图像。否则,例程继续到框560,其中它检查图像对的潜在对准的对准分数,并且根据一个或多个定义的标准(例如,低于确定阈值的对准分数)丢弃潜在对准。该例程然后继续到框565,其中它识别可能对准的图像对的组并将它们组合,包括对这些组的图像执行进一步的多图像对准、多图像对准之间的一致性检查,以及选择部分或全部图像的多图像对准以供进一步的使用。在框570中,例程然后执行所选择的多图像对准的对准图像对信息的全局优化,以产生全局图像间相对姿势信息,并且可选地进一步作为在所选择的多图像对准中未对准的任何图像的估计位置(例如,通过使用其他技术来估计位置)。然后例程继续到框585,其中它使用全局优化的多图像对准来组合建筑物房间和/其他建筑物区域的结构布局信息,并且为建筑物生成至少一个对应的楼层平面图,以及可选地额外的相关测绘信息。
在框585之后,例程继续到框588中以存储所生成的测绘信息和/或其他所生成的信息,并且可选地进一步使用所确定和生成的信息中的一些或全部,从而提供所生成的2D楼层平面图和/或3D计算机模型楼层平面图来显示在一个或多个客户端装置上和/或提供到一个或多个其他装置以用于那些装置和/或关联车辆或其他实体的自动化导航、以提供和使用关于所确定的房间布局/形状和/或一组链接的全景图像和/或关于根据房间的内容和/或房间之间的通道确定的附加信息的信息等。
在框590中,例程改为继续执行一个或多个其他适当的指示操作。这种其他操作可以包括例如接收针对先前生成的楼层平面图和/或先前确定的房间布局/形状和/或其他生成的信息的请求并对其作出响应(例如,针对这种信息在一个或多个客户端装置上显示的请求、针对这种信息提供到一个或多个其他装置以用于自动化导航的请求等)、获得和存储关于建筑物的信息以供在稍后操作中使用(例如,关于房间的尺寸、数量或类型、总建筑面积、相邻或附近的其他建筑物、相邻或附近的植被、外部图像等的信息等)等。
在框588或590之后,例程继续到框595以确定是否继续,诸如直到接收到明确的终止指示为止,或者改为只有在接收到明确的继续指示的情况下。如果确定继续,则例程返回到框505以等待和接收附加的指令或信息,否则,继续到框599并结束。
尽管未相对于在图5A至图5B的示例性实施方式中所示的自动化操作说明,但在一些实施方式中,人类用户可以进一步帮助促进MIGM系统的一些操作,诸如MIGM系统的操作者用户和/或最终用户提供进一步用于后续自动化操作的一种或多种类型的输入。
图6示出了用于建筑物地图查看器系统例程600的流程图的示例性实施方式。该例程可以通过例如执行图1A的地图查看器客户端计算装置175及其软件系统(未示出)、图3的客户端计算装置390和/或移动计算装置360、和/或如在本文的其他地方所描述的测绘信息查看器或呈现系统来执行,从而接收和显示生成的楼层平面图和/或限定区域的其他测绘信息(例如,3D模型楼层平面图、确定的房间结构布局/形状等),该测绘信息可选地包括一个或多个所确定的图像采集位置的视觉指示;以及可选地将与特定采集位置相关联的附加信息(例如,图像)显示在测绘信息中。在图6的示例中,所呈现的测绘信息是针对建筑物(诸如,房屋的内部),但在其他实施方式中,可以针对其他类型的建筑物或环境来呈现并以其他方式使用其他类型的测绘信息,如在本文的其他地方所讨论。
例程的所说明的实施方式在框605处开始,在框605处,接收指令或信息。在框660处,例程确定在框605中接收的指令或其他信息是否将使用特定标准来选择一个或多个目标建筑物,并且如果不是的话,则继续到框670,在框670处,从用户获得要使用的目标建筑物的指示(例如,基于当前用户选择,诸如来自显示列表或其他用户选择机制;基于在框605中接收的信息;等)。否则,如果在框660中确定从特定标准选择一个或多个目标建筑物,则例程转而继续到框662,其中它获得要使用的一个或多个搜索标准的指示,诸如从当前用户选择或如所指示的那样在框605接收到的信息或指令中,然后搜索关于建筑物的存储信息以确定满足搜索标准的建筑物中的一个或多个。在所示实施方式中,例程随后进一步从一个或多个返回的建筑物中选择最佳匹配目标建筑物(例如,具有最高相似性或特定标准的其他匹配评级的返回的其他建筑物,或者使用框605中接收到的指令或其他信息中指示的另一种选择技术)。
在框662或670之后,例程继续至框610,以确定框605中接收到的指令或信息是否指示显示或以其他方式呈现表示建筑物内部的信息,并且如果不是的话,则继续到框690。否则,例程前进到框612以检索建筑物的楼层平面图或建筑物的其他所生成的测绘信息以及可选地建筑物内部和/或建筑物外部的周围位置的相关联的链接信息的指示,并且选择检索到的信息的初始视图(例如,楼层平面图的视图、特定房间形状等)。在框615中,例程然后显示或以其他方式呈现检索到的信息的当前视图,并在框617中等待用户选择。在框617中的用户选择之后,如果在框620中确定用户选择对应于调整当前位置的当前视图(例如,改变当前视图的一个或多个方面),则例程继续到框622以根据用户选择来更新当前视图,然后返回到框615以相应地更新所显示的或以其他方式呈现的信息。对当前视图的用户选择和对应更新可以包括例如显示或以其他方式呈现用户选择的一条相关联的链接信息(例如,与所确定的采集位置的所显示的视觉指示相关联的特定图像,诸如将相关联的链接信息覆盖在至少一些先前的显示上)、和/或改变当前视图的显示方式(例如,放大或缩小;在适当时旋转信息;选择要显示或以其他方式呈现的楼层平面图的新部分,诸如其中该新部分中的一些或全部先前不可见,或者改为其中该新部分是先前可见信息的子集;等)。
如果改为在框610中确定在框605中接收到的指令或其他信息将不呈现表示建筑物内部的信息,则例程改为继续到框690,以视情况执行其他所指示的操作(诸如,任何家政任务)、将参数配置为在系统的各种操作中使用(例如,至少部分地基于由系统的用户指定的信息,用户诸如为捕获一个或多个建筑物内部的移动装置用户、MIGM系统的操作者用户等,包括用于根据他/她的偏好针对特定用户的个性化信息显示),以获得和存储关于系统用户的其他信息、响应于针对所生成和存储的信息的请求等。
在框690之后,或者如果在框620中确定用户选择不对应于当前建筑物区域,则例程前进到框695以确定是否继续,诸如直到接收到明确的终止指示为止,或者改为只有在接收到明确的继续指示的情况下。如果确定继续(包括如果用户在框617中做出与要呈现的新位置有关的选择),则例程返回到框605以等待附加的指令或信息(或者如果用户在框617中做出与要呈现的新位置有关的选择,则直接继续到框612),并且如果不是的话,则前进到步骤699并结束。
在以下条款中进一步描述本文所描述的非排他性示例性实施方式。
A01.一种用于一个或多个计算装置执行自动化操作的计算机实施的方法,包括:
通过一个或多个计算装置获取在房屋的多个房间中的多个采集位置处捕获的多个全景图像,其中,多个全景图像中的每个是在多个房间中的一个中捕获的并且包括围绕竖直轴的360度的水平视觉覆盖,多个全景图像中的每个提供该一个房间的墙壁、地板和天花板中的至少一些的等矩形格式的RGB(红-绿-蓝)像素数据;
通过一个或多个计算装置并且使用第一神经网络,该第一神经网络被训练以联合确定图像中可见的房间的布局信息并且确定那些布局内的那些图像的图像姿势信息,以及针对仅使用在该房间中捕获的全景图像中的一个的RGB像素数据的多个房间中的每个,分析该一个全景图像的RGB像素数据以生成关于该房间的信息,该房间的信息包括该房间的所生成的结构布局,所生成的结构布局指示该房间的至少一些识别的结构墙壁元素的位置,该房间包括该房间的至少一些墙壁,并且该信息包括该一个全景图像的采集位置在所生成的结构布局内的确定位置;
通过一个或多个计算装置并且针对多个全景图像中的每个仅使用从该全景图像的RGB像素数据确定的信息来生成视图,这些视图以立体格式或正交格式在二维中渲染并且包括其中捕获该全景图像的一个房间的至少一些地板的地板视图并且包括该一个房间的至少一些天花板的天花板视图,其中,渲染视图中的每个包括该全景图像的RGB像素数据中的一些,该全景图像至少部分地基于该一个房间的所生成的结构布局和该全景图像的采集位置的确定的位置被定位在该渲染视图中,并且还包括覆盖在包含在该渲染视图中的一些RGB像素数据上的至少一种附加类型的信息;
通过一个或多个计算装置并且针对多个全景图像中的两个全景图像的每个组合来确定所述两个全景图像的视觉覆盖之间的一个或多个潜在局部对准,包括匹配在所述两个全景图像的每个中识别的一个或多个结构墙壁元素,并且将匹配的一个或多个结构墙壁元素用于一个或多个潜在对准中的至少一个;
通过一个或多个计算装置并且使用是经训练以确定包括在两个全景图像的渲染视图中的视觉数据之间的局部对准的卷积神经网络的第二神经网络,并且针对所述两个全景图像的组合中的每个,至少部分地基于比较来自所述两个全景图像的渲染视图的信息来验证所述两个全景图像的组合的确定的一个或多个潜在局部对准中的一个,包括生成所述两个全景图像的组合的经验证的一个潜在局部对准的准确性相关联的对准分数;
通过一个或多个计算装置生成全局对准信息,该全局对准信息包括多个采集位置在公共坐标系中的位置,包括至少部分地基于与一些经验证的潜在局部对准相关联的确定的对准分数来进一步验证和保留所述两个全景图像的组合中的一些的一些验证的潜在局部对准,并且包括丢弃未进一步验证的其他确定的潜在局部对准,并且包括组合进一步验证和保留的一些经验证的潜在局部对准;
通过一个或多个计算装置生成房屋的楼层平面图,包括为来自多个采集位置的全局对准信息的位置周围的多个房间中的每个房间拟合所生成的结构布局,并且包括基于多个房间之间的识别的门道和非门道墙壁开口来对准拟合所生成的结构布局;以及
通过一个或多个计算装置提供所生成的楼层平面图,以致使在导航房屋时使用所生成的楼层平面图。
A02.一种用于一个或多个计算装置执行自动化操作的计算机实施的方法,包括:
通过一个或多个计算装置获得在建筑物的多个房间中的多个采集位置处捕获的多个全景图像,并且对于多个房间中的每个,包括在该房间中捕获的并且具有该房间的墙壁以及地板和天花板中的至少部分的视觉覆盖范围的多个全景图像中的一个;
通过一个或多个计算装置并且针对多个房间中的每个分析在该房间中捕获的一个全景图像的颜色像素数据以生成关于该房间的多种类型的信息,其中,多种类型的信息包括指示该房间的至少一些墙壁的房间的所生成的结构布局,并且包括在该一个全景图像的采集位置的所生成的结构布局内的确定位置,并且包括以该房间的地板或该房间的天花板中的至少一个的二维渲染的一个或多个视图,并且包括至少部分地基于该一个全景图像的采集位置的确定位置在该房间中捕获并且在一个或多个渲染视图中定位的一个全景图像的颜色像素数据中的一些;
通过一个或多个计算装置并且使用经训练的神经网络并且针对各自具有在多个房间中的两个房间中捕获的多个全景图像中的两个全景图像的多个图像对中的每个,至少部分地基于比较所述两个全景图像中的每个的一个或多个渲染视图的信息来验证所述两个全景图像的采集位置之间的潜在局部对准信息;
通过一个或多个计算装置生成包括多个采集位置在公共坐标系中的位置的全局对准信息,包括组合在多个图像对中的至少一些的采集位置之间确定的经验证的潜在局部对准信息;
通过一个或多个计算装置生成建筑物的楼层平面图,包括为来自多个采集位置的全局对准信息位置周围的多个房间中的每个房间拟合所生成的结构布局;以及
通过一个或多个计算装置呈现生成的楼层平面图,以用于导航建筑物。
A03.一种用于一个或多个计算装置执行自动化操作的计算机实施的方法,包括:
通过所述一个或多个计算装置获得在具有多个房间的建筑物中的多个采集位置处捕获的多个全景图像,其中所述多个全景图像包括所述多个房间中的一个或多个的墙壁、地板和天花板中的至少一些的视觉覆盖范围;
通过所述一个或多个计算装置并且针对所述多个全景图像中的每个分析该全景图像的颜色像素数据以生成关于该全景图像中可见的至少一个房间的多种类型的信息,其中,所述多种类型的信息包括指示该至少一个房间中的至少一些墙壁的所生成的结构布局,并且包括一个全景图像的所述采集位置在所述结构布局内的确定位置,并且包括包含使用该全景图像的所述颜色像素数据生成的信息的、该至少一个房间的地板或天花板中的至少一些的一个或多个渲染视图;
通过所述一个或多个计算装置并且使用经训练的机器学习模型并且针对各自具有在所述多个房间中的两个房间中捕获的所述多个全景图像的两个全景图像的一个或多个图像对中的每个,至少部分地基于对所述两个全景图像中的每个的一个或多个渲染视图的信息进行比较来确定所述两个全景图像的所述采集位置之间的局部对准信息;
通过所述一个或多个计算装置生成包括所述多个采集位置中的至少一些在公共坐标系中的位置的全局对准信息,生成所述全局对准信息包括组合在所述一个或多个图像对中的至少一些的所述采集位置之间确定的所述局部对准信息;
通过所述一个或多个计算装置生成所述建筑物中的至少一些的楼层平面图,生成所述楼层平面图包括使用来自所述多个采集位置中的至少一些的所述全局对准信息的所述位置来拟合至少一个或多个房间的所生成的结构布局;以及
通过所述一个或多个计算装置提供所生成的楼层平面图,以使得能够使用所生成的楼层平面图。
A04.一种用于一个或多个计算装置执行自动化操作的计算机实施的方法,包括:
获得在具有多个房间的建筑物的多个采集位置处捕获的多个全景图像,其中所述多个全景图像包括所述多个房间的一个或多个的至少一些墙壁的视觉覆盖范围;
针对所述多个全景图像中的至少一些全景图像中的每个,分析该全景图像的颜色像素数据以生成关于在该全景图像中可见的所述一个或多个房间中的至少一个房间的信息,所述信息包括包含使用该全景图像的所述颜色像素数据生成的数据的所述至少一个房间中的一个或多个平面表面中的至少一些的一个或多个渲染视图;
至少部分地基于经训练的神经网络的使用并且针对各自具有所述至少一些全景图像的至少两个全景图像的一个或多个图像组中的每个、至少部分地基于比较所述至少两个全景图像中的每个的一个或多个渲染视图的信息来确定所述至少两个全景图像的所述采集位置之间的对准信息,其中,确定所述对准信息包括针对那些采集位置确定至少相对于彼此的位置;
生成所述建筑物中的至少一些的至少部分楼层平面图,其中生成所述至少部分楼层平面图包括使用所述一个或多个图像组中的每个的所述至少两个全景图像的所述采集位置的所确定的位置来放置至少一个或多个房间的所生成的结构布局;以及
提供所生成的至少部分楼层平面图,以使得能够使用所生成的至少部分楼层平面图。
A05.一种用于一个或多个计算装置执行自动化操作的计算机实施的方法,包括:
通过所述一个或多个计算装置获得在具有多个房间的建筑物中的多个采集位置处捕获的多个全景图像,其中所述多个全景图像包括所述多个房间中的一个或多个的墙壁、地板和天花板中的至少一些的视觉覆盖范围;
通过所述一个或多个计算装置并且针对所述多个全景图像中的每个分析该全景图像的颜色像素数据以生成关于该全景图像中可见的至少一个房间的多种类型的信息,其中,所述多种类型的信息包括指示该至少一个房间中的至少一些墙壁的所生成的结构布局,并且包括一个全景图像的所述采集位置在所述结构布局内的确定位置,并且包括包含使用该全景图像的所述颜色像素数据生成的信息的、该至少一个房间的地板或天花板中的至少一些的一个或多个渲染视图;
通过一个或多个计算装置并且使用经训练的神经网络并且针对各自具有在所述多个房间中的两个房间中捕获的所述多个全景图像的两个全景图像的一个或多个图像对中的每个,至少部分地基于对所述两个全景图像中的每个的一个或多个渲染视图的信息进行比较来确定所述两个全景图像的所述采集位置之间的局部对准信息;
通过所述一个或多个计算装置生成包括所述多个采集位置中的至少一些在公共坐标系中的位置的全局对准信息,生成所述全局对准信息包括组合在所述一个或多个图像对中的至少一些的所述采集位置之间确定的所述局部对准信息;以及
通过一个或多个计算装置从所生成的全局对准信息中提供至少一些采集位置中的两个或更多的位置,以使得能够使用两个或更多采集位置的那些提供的位置。
A06.如条款A01至A05中任一项所述的计算机实施的方法,其中,多个图像对包括:至少第一图像对,所述第一图像对具有在不同的第一房间和第二房间中捕获但是通过所述第一房间和第二房间中的至少一个的门道或非门道墙壁开口中的至少一个而具有重叠视觉覆盖范围的两个全景图像;以及第二图像对,所述第二图像对具有在不同的第三房间和第四房间中捕获但缺乏任何重叠视觉覆盖范围的两个全景图像;以及第三图像对,该第三图像对具有在不同的第五房间和第六房间中捕获的两个全景图像,但是缺乏任何重叠的视觉覆盖范围,以及
其中,该方法还包括至少部分地基于将在第一房间和第二房间中捕获的两个全景图像的重叠视觉覆盖范围中识别的一个或多个结构元素进行匹配来生成第一图像对的潜在的局部对准信息,并且至少部分地基于分析在第三房间和第四房间以及第五房间和第六房间中捕获的全景图像的视觉数据而不匹配在那些全景图像的视觉数据中识别的任何结构元素来生成第二图像对和第三图像对中的每个的潜在局部对准信息,以及
其中,验证第二图像对和第三图像对的潜在局部对准信息包括在基于不验证第二图像对的潜在局部对准信息来组合局部对准信息之前丢弃第二图像对的潜在局部对准信息,并且包括尽管在第五房间和第六房间中捕获的两个全景图像之间缺乏任何重叠的视觉覆盖范围,但仍保留第三图像对的潜在局部对准信息以用于至少部分地基于在第五房间和第六房间中捕获的两个全景图像的视觉数据与关于相邻房间类型中存在的视觉数据的类型的先前确定的信息匹配的组合中。
A07.如条款A01至A06中任一项所述的计算机实施的方法,其中,对于所述多个房间中的每个,使用单目深度信息将在该房间中捕获的包含在该房间的一个或多个渲染视图中的至少一个中的一个全景图像的一些颜色像素数据纹理映射到至少一个渲染视图中的像素位置,该单目深度信息仅基于对该全景图像的颜色像素数据的分析而从该全景图像的采集位置到该房间的周围结构元素进行估计。
A08.如条款A01至A07中任一项所述的计算机实施的方法,其中,对于所述多个房间中的每个,使用在该房间中捕获的一个全景图像的颜色像素数据的一个或多个渲染视图进一步包括重叠信息以指示以下各项中的至少一项:仅基于对该全景图像的颜色像素数据的分析在该房间中识别的门道的位置,或者仅基于对该全景图像的颜色像素数据的分析在该房间中识别的非门道墙壁开口的位置,或者仅基于对该全景图像的颜色像素数据的分析在该房间中识别的窗户的位置,或者仅基于对该全景图像的颜色像素数据的分析而识别的该房间的物体或表面的至少一种类型的位置。
A09.如条款A01至A08中任一项所述的计算机实施的方法,其中多个全景图像各自包括以等矩形格式围绕竖直轴的360度水平视觉覆盖范围,其中,多个全景图像中的每个的一个或多个渲染视图被以立体或正交格式渲染,并且包括捕获该全景图像的房间的至少一些地板的地板视图或者捕获该全景图像的房间的至少一些天花板的天花板视图中的至少一个,并且其中,组合针对多个图像对中的至少一些而确定的局部对准信息进一步包括生成一个或多个组,一个或多个组各自具有经由确定的局部对准信息全部互连的至少三个采集位置,执行旋转平均以估计公共坐标系中的至少三个采集位置之间的方向,并且对估计的方向执行一个或多个检查,以确认至少三个采集位置之间的估计的方向是一致的。
A10.如条款A01至A09中任一项所述的计算机实施的方法,其中,对于所述多个房间中的每个,所述多个全景图像包括在该房间中捕获的所述多个全景图像中的一个,其中,所生成的楼层平面图包括所有所述多个房间各自是二维结构布局的生成的结构布局,并且其中,提供所生成的楼层平面图包括通过所述一个或多个计算装置通过一个或多个网络将所生成的楼层平面图传输到一个或多个客户端装置,以致使在所述一个或多个客户端装置上显示所生成的楼层平面图。
A11.如条款A01至A10中任一项所述的计算机实施的方法,
其中,所述经训练的机器学习模型是被训练以验证包括在所述两个全景图像的渲染视图中的视觉数据之间的局部对准的卷积神经网络的部分,以及
其中,所述自动化操作还包括至少部分地基于将在该图像对的所述两个全景图像的重叠视觉覆盖范围中识别的一个或多个结构元素进行匹配来生成所述图像对中的每个的所述局部对准信息,以及
其中,对于所述多个全景图像中的每个,该全景图像包括围绕竖直轴的360度水平视觉覆盖范围,并且提供该全景图像的所述一个或多个房间的所述墙壁、所述地板和所述天花板中的至少一些的等矩形格式的RGB(红-绿-蓝)像素数据,并且该全景图像的所述一个或多个渲染视图以立体格式或正交格式在二维中渲染,并且所述一个或多个渲染视图各自包括该全景图像的所述RGB像素数据的一些,该全景图像至少部分地基于在该全景图像中可见的所述至少一个房间的所生成的结构布局和该全景图像的所述采集位置的所述确定位置而被定位在该渲染视图中,该全景图像的所述一个或多个渲染视图包括该全景图像的至少一些地板的地板视图和该全景图像的至少一些天花板的天花板视图中的至少一个。
A12.如条款A01至A11中任一项所述的计算机实施的方法,其中,所述一个或多个图像对包括:至少第一图像对,所述第一图像对具有在不同的第一房间和第二房间中捕获但是通过所述第一房间和第二房间中的至少一个的门道或非门道墙壁开口中的至少一个而具有重叠视觉覆盖范围的两个全景图像;以及第二图像对,所述第二图像对具有在不同的第三房间和第四房间中捕获但缺乏任何重叠视觉覆盖范围的两个全景图像,并且其中,确定所述第一图像对和第二图像对中的每个的所述局部对准信息包括至少部分地基于将在所述第一房间和第二房间中捕获的所述两个全景图像的重叠视觉覆盖范围进行匹配来验证所述第一图像对的所述局部对准信息,并且包括在基于不验证所述第二图像对的所述局部对准信息,在组合所述局部对准信息之前丢弃所述第二图像对的所述局部对准信息。
A13.如条款A12所述的计算机实施的方法,其中,所述一个或多个图像对还包括第三图像对,所述第三图像对具有在不同的第五房间和第六房间中捕获但缺乏任何重叠视觉覆盖范围的两个全景图像,并且其中,确定所述第三图像对的局部对准信息包括至少部分地基于将在所述第五房间和所述第六房间中捕获的所述两个全景图像的视觉数据与先前确定的关于存在于相邻房间类型中的视觉数据的类型的信息进行匹配,验证尽管缺乏任何重叠视觉覆盖范围的所述第三图像对的所述局部对准信息。
A14.如条款A01至A13中任一项所述的计算机实施的方法,其中,包括在所述多个全景图像中的每个的所述一个或多个渲染视图中的至少一个中的所述信息包括该全景图像的所述颜色像素数据中的至少一些,其中使用单目深度信息将所述颜色像素数据纹理映射到至少一个渲染视图中的像素位置,所述单目深度信息仅基于对该全景图像的颜色像素数据的分析从该全景图像的所述采集位置到周围结构元素进行估计。
A15.如条款A01至A14中任一项所述的计算机实施的方法,其中,包括在多个全景图像中的每个的一个或多个渲染视图中的至少一个中的信息包括用于指示门道或非门道墙壁开口或窗户中的至少一个的仅基于对该全景图像的所述颜色像素数据的分析而被识别的一个或多个位置的重叠信息。
A16.如条款A01至A15中任一项所述的计算机实施的方法,其中,包括在多个全景图像中的每个的一个或多个渲染视图中的至少一个中的信息包括用于指示所述一个或多个房间的物体或表面的至少一种类型的包括在该全景图像的所述视觉覆盖范围内并且仅基于该全景图像的所述颜色像素数据的分析而被识别的一个或多个位置的重叠信息。
A17.如条款A01至A16中任一项所述的计算机实施的方法,其中,包括在多个全景图像中的每个的一个或多个渲染视图中的至少一个中的信息包括该全景图像的所述颜色像素数据中的至少一些,使用单目深度信息将所述颜色像素数据纹理映射到至少一个渲染视图中的像素位置,所述单目深度信息从该全景图像的所述采集位置到周围结构元素进行估计,并且包括重叠信息以指示门道或非门道墙壁开口或窗户中的至少一个的一个或多个识别位置。
A18.如条款A01至A17中任一项所述的计算机实施的方法,其中,包括在多个全景图像中的每个的一个或多个渲染视图中的至少一个中的信息包括该全景图像的所述颜色像素数据中的至少一些,使用单目深度信息将所述颜色像素数据纹理映射到至少一个渲染视图中的像素位置,所述单目深度信息仅基于对该全景图像的所述颜色像素数据的分析从该全景图像的所述采集位置到周围结构元素进行估计。
A19.如条款A01至A18中任一项所述的计算机实施的方法,其中,包括在多个全景图像中的每个的一个或多个渲染视图中的至少一个中的信息包括用于指示门道或非门道墙壁开口或窗户中的至少一个的仅基于该全景图像的所述颜色像素数据的分析而被识别的一个或多个位置的重叠信息。
A20.如条款A01至A19中任一项所述的计算机实施的方法,其中,包括在多个全景图像中的每个的一个或多个渲染视图中的至少一个中的信息包括以指示所述一个或多个房间的物体或表面的至少一种类型的包括在该全景图像的所述视觉覆盖范围内并且仅基于该全景图像的所述颜色像素数据的分析而被识别的一个或多个位置的重叠信息。
A21.如条款A01至A20中任一项所述的计算机实施的方法,其中,包括在多个全景图像中每个的一个或多个渲染视图中的至少一个中的信息包括该全景图像的所述颜色像素数据中的至少一些,使用单目深度信息将所述颜色像素数据纹理映射到至少一个渲染视图中的像素位置,所述单目深度信息从该全景图像的所述采集位置到周围结构元素进行估计,并且包括重叠信息以指示门道或非门道墙壁开口或窗户中的至少一个的一个或多个识别位置。
A22.如条款A01至A21中任一项所述的计算机实施的方法,其中,所述经训练的机器学习模型是第一神经网络的一部分,所述第一神经网络被训练以确定包括在所述两个全景图像的渲染视图中的视觉数据之间的局部对准,其中,分析所述多个全景图像中的每个的所述颜色像素数据包括使用经训练的第二神经网络来联合确定图像中可见的房间的布局信息并且确定那些布局内的那些图像的图像姿势信息,并且其中,该方法还包括通过所述一个或多个计算装置并且使用经训练以将图像中可见的房间分割成结构墙壁元素的第三神经网络,并且对于所述多个全景图像中的每个,确定该全景图像的所述颜色像素数据以生成关于该全景图像中可见的至少一个房间的另外信息,所述另外信息包括所述至少一个房间的至少一个门道或非门道墙壁开口在所述至少一个房间的所生成的结构布局上的确定位置,并且还包括所述至少一个房间的至少一个窗户的至少一个附加确定位置。
A23.如条款A01至A22中任一项所述的计算机实施的方法,其中,所述一个或多个图像对包括多个图像对,并且其中,组合所述局部对准信息包括:通过生成一个或多个组来组合针对所述多个图像对中的数个图像对而确定的局部对准信息,所述一个或多个组各自具有经由确定的局部对准信息全部互连的至少三个采集位置,执行旋转平均以估计所述公共坐标系中的所述至少三个采集位置之间的方向,并且对所估计的方向执行一个或多个检查,以确认所述至少三个采集位置之间的所估计的方向是一致的。
A24.如条款A01至A23中任一项所述的计算机实施的方法,其中,通过分析该全景图像的所述颜色像素数据而针对所述多个全景图像中的每个所生成的结构布局是在该全景图像中可见的所述至少一个房间的生成的三维形状,并且其中,确定所述一个或多个图像对中的每个的所述两个全景图像的所述采集位置之间的所述局部对准信息包括比较所述两个全景图像生成的三维形状。
A25.如条款A01至A24中任一项所述的计算机实施的方法,其中,通过分析该全景图像的所述颜色像素数据而针对所述多个全景图像中的每个所生成的结构布局是在该全景图像中可见的所述至少一个房间的生成的三维形状,并且其中,拟合所述至少一个或多个房间的所生成的结构布局包括至少部分地基于通过分析所述多个全景图像的所述颜色像素数据而在所述多个房间中识别的门道或非门道开口中的至少一个来组合来自所述多个全景图像的所有的所述生成的三维形状。
A26.如条款A01至A25中任一项所述的计算机实施的方法,其中,所述多个全景图像中的至少一些各自包括两个或更多个房间的视觉覆盖范围,并且针对该全景图像而生成的多种类型的信息是针对所述两个或更多个房间的所有,并且其中,生成所述多个全景图像中的每个的所述多种类型的信息包括分析该全景图像的RGB(红-绿-蓝)像素数据和使用一个或多个深度感测装置从该全景图像的所述采集位置采集的附加的深度数据的组合。
A27.如条款A01至A26中任一项所述的计算机实施的方法,其中,所述自动化操作还包括通过所述一个或多个计算装置并针对所述多个全景图像中的每个,分析该全景图像以生成从该全景图像的所述采集位置到在该全景图像中可见的所述至少一个房间的所述至少一些墙壁的深度数据,并且其中,在该全景图像中可见的所述至少一个房间的所述地板或所述天花板中的所述至少一些的该全景图像的所述一个或多个渲染视图包括所生成的深度数据中的至少一些。
A28.如条款A01至A27中任一项所述的计算机实施的方法,其中,所述自动化操作还包括通过所述一个或多个计算装置并针对所述多个全景图像中的每个,分析该全景图像以确定在该全景图像中可见的物体的位置,并且其中,在该全景图像中可见的所述至少一个房间的所述地板或所述天花板中的所述至少一些的该全景图像的所述一个或多个渲染视图包括所述物体的所确定的位置中的至少一些的指示符。
A29.如条款A01至A28中任一项所述的计算机实施的方法,其中,所述经训练的机器学习模型是视觉图像变换器网络或神经网络中的至少一个的一部分,并且被训练以确定包括在所述两个全景图像的渲染视图中的视觉数据之间的局部对准。
A30.如条款A01至A29中任一项所述的计算机实施的方法,其中,对于所述多个房间中的每个,所述多个全景图像包括在该房间中捕获的并且具有该房间的至少一些墙壁的视觉覆盖范围的所述多个全景图像中的一个,其中,所生成的至少部分楼层平面图包括所有所述多个房间的所生成的结构布局,并且其中,提供所生成的至少部分楼层平面图包括通过一个或多个网络将所生成的至少部分楼层平面图传输到一个或多个客户端装置,以致使在所述一个或多个客户端装置上显示所生成的至少部分楼层平面图。
A31.如条款A01至A30中任一项所述的计算机实施的方法,
其中,所述经训练的神经网络是被训练以验证包括在两个全景图像的渲染视图中的视觉数据之间的局部对准的卷积神经网络,并且
其中,对于所述多个房间中的每个,所述多个全景图像包括在该房间中捕获的并且具有该房间的至少一些墙壁和该房间的地板或该房间的天花板中的至少一者的至少一些的视觉覆盖范围的所述多个全景图像中的一个,以及
其中,分析所述至少一些全景图像的所述颜色像素数据还包括使用该颜色像素数据来生成所述至少一个或多个房间的所述结构布局,所生成的结构布局指示所述至少一个或多个房间的所述至少一些墙壁,以及
其中,所述自动化操作还包括至少部分地基于将在该图像组的所述至少两个全景图像的重叠视觉覆盖范围中识别的一个或多个结构元素进行匹配来生成所述图像组中的每个的局部对准信息,以及
其中,对于在所述多个房间中的一个中捕获的所述多个全景图像中的每个,该全景图像包括围绕竖直轴的360度水平视觉覆盖范围,并且提供该房间的至少一些墙壁和该房间的地板或该房间的天花板中的至少一者的至少一些的等矩形格式的RGB(红-绿-蓝)像素数据,并且该全景图像的所述一个或多个渲染视图以立体或正交格式在二维中渲染,并且所述一个或多个渲染视图各自包括该全景图像的所述RGB像素数据的一些,该全景图像至少部分地基于在该全景图像中可见的所述至少一个房间的所生成的结构布局和该全景图像的所述采集位置在所述至少一个房间的所生成的结构布局中的确定位置而被定位在该渲染视图中,该全景图像的所述一个或多个渲染视图包括该全景图像的至少一些地板的地板视图和该全景图像的至少一些天花板的天花板视图中的至少一个。
A32.如条款A01至A31中任一项所述的计算机实施的方法,其中,具有至少两个全景图像的一个或多个图像组中的每个包括多个图像对,多个图像对各自具有在多个房间中的两个房间中捕获的多个全景图像中的两个全景图像,其中,确定对准信息包括确定多个图像对中的每个的两个全景图像的采集位置之间的局部对准信息,并且其中,该方法还包括执行确定一个或多个图像组中的每个图像组的至少两个全景图像的采集位置的位置,这通过至少部分地基于组合在多个图像对中的至少一些的采集位置之间确定的局部对准信息来生成全局对准信息,该全局对准信息包括多个采集位置在公共坐标系中的位置。
A33.如条款A01至A32中任一项所述的计算机实施的方法,其中,生成至少一些全景图像中的每个的一个或多个渲染视图包括在二维中渲染一个或多个墙壁视图以各自表示在该全景图像中可见的至少一个房间的不同墙壁,并且其中,比较图像组中的每个的那些至少两个全景图像中的每个的一个或多个渲染视图的信息包括将至少两个全景图像中的一个的至少一个墙壁视图与至少两个全景图像中的另一个的至少一个其他墙壁视图进行比较。
A34.如条款A01至A33中任一项所述的计算机实施的方法,其中,生成关于在至少一些全景图像中的每个中可见的至少一个房间的信息还包括使用来自一个或多个深度感测装置的深度数据来生成该至少一个房间的结构布局,所生成的结构布局指示该至少一个房间的至少一些墙壁。
A35.如条款A34所述的计算机实施的方法,其中,使用至少一些全景图像中的每个的颜色像素数据生成的数据包括从在该全景图像中可见的至少一个房间的至少一些墙壁的该颜色像素数据估计的附加深度数据,并且其中,生成关于在至少一些全景图像中的每个中可见的至少一个房间的信息还包括使用至少一些深度数据和至少一些附加深度数据来渲染该至少一个房间中的一个或多个平面表面中的至少一些的一个或多个视图。
A36.如条款A34至A35中任一项所述的计算机实施的方法,其中,使用至少一些全景图像中的每个的颜色像素数据生成的数据包括在该全景图像中可见的至少一个房间中的一个或多个物体的指示,并且其中,生成关于在至少一些全景图像中的每个中可见的至少一个房间的信息还包括使用深度数据的至少一些和关于一个或多个物体的指示的至少一些的数据来渲染该至少一个房间中的一个或多个平面表面中的至少一些的一个或多个视图。
A37.如条款A01至A36中任一项所述的计算机实施的方法,其还包括:
通过一个或多个计算装置并且针对多个全景图像中的每个,仅使用该全景图像的RGB像素数据来分析该全景图像的RGB像素数据以确定该全景图像的深度信息,包括从该全景图像的采集位置到其中捕获该全景图像的房间的周围的结构元素来估计单目深度;以及
通过一个或多个计算装置并且针对多个全景图像中的每个的每个渲染视图,使用所确定的深度信息来执行该渲染视图的渲染,以将包括在该渲染视图中的一些RGB像素数据纹理映射到该渲染视图内的对应的像素位置。
A38.如条款A37所述的计算机实施的方法,还包括:
通过一个或多个计算装置并且使用经训练以将多个全景图像中可见的房间分割成结构墙壁元素的第三神经网络,并且对于多个全景图像中的每个仅使用该全景图像的RGB像素数据,分析该全景图像的RGB像素数据以生成关于在其中捕获该全景图像的房间的另外信息,所述另外信息包括该房间的识别的结构墙壁元素,其中,识别的结构墙壁元素包括该房间的至少一个门道或非门道墙壁开口的在该房间的所生成的结构布局上的确定位置,并且还包括该房间的至少一个窗户的至少一个附加确定位置,
并且其中,对准基于在多个房间之间识别的门道和非门道墙壁开口拟合的所生成的结构布局包括使用多个房间中的每个的至少一个门道或非门道墙壁开口的确定位置,
并且其中,覆盖在每个全景图像的渲染视图中包括的一些RGB像素数据上的至少一种附加类型的信息包括为该全景图像确定的至少一个门道或非门道墙壁开口的位置,并且包括为该全景图像确定的至少一个窗户的附加位置。
A39.如条款A38所述的计算机实施的方法,其中,组合经验证的一些局部对准信息进一步包括生成一个或多个组,一个或多个组各自具有经由经验证的一些局部对准信息全部互连的至少三个采集位置,执行旋转平均以估计公共坐标系中的至少三个采集位置之间的方向,并且对估计的方向执行一个或多个检查,以确认至少三个采集位置之间的估计的方向是一致的。
A40.一种计算机实施的方法,包括多个步骤来执行自动化操作,所述自动化操作实施基本上如本文所公开的所描述的技术。
B01.一种非暂时性计算机可读介质,具有存储的可执行软件指令和/或其他存储内容,所述可执行软件指令和/或其他存储内容使得一个或多个计算装置执行自动化操作,所述自动化操作实施条款A01至A40中任一项所述的方法。
B02.一种非暂时性计算机可读介质,具有存储的可执行软件指令和/或其他存储内容,所述可执行软件指令和/或其他存储内容使得一个或多个计算装置执行自动化操作,所述自动化操作实施基本上如本文所公开的所描述的技术。
C01.一种或多种计算装置,包括一个或多个硬件处理器和具有存储的指令的一个或多个存储器,所述指令在被所述一个或多个硬件处理器中的至少一者执行时使得所述一种或多种计算装置执行自动化操作,所述自动化操作实施条款A01至A40中任一项所述的方法。
C02.一种或多种计算装置,包括一个或多个硬件处理器和具有存储的指令的一个或多个存储器,所述指令在被所述一个或多个硬件处理器中的至少一者执行时使得所述一种或多种计算装置执行自动化操作,所述自动化操作实施基本上如本文所公开的所描述的技术。
D01.一种计算机程序,当所述计算机程序在计算机上运行时,所述计算机程序适于执行条款A01至A40中任一项所述的方法。
本文参考根据本公开的实施方式的方法、设备(系统)和计算机程序产品的流程图说明和/或框图来描述本公开的方面。将了解,可以通过计算机可读程序指令来实施流程图说明和/或框图的每个框以及流程图说明和/或框图中的框的组合。将进一步了解,在一些实施方式中,可以以替代性方式提供由上文讨论的例程提供的功能,诸如划分到更多的例程当中或者合并到更少的例程中。类似地,在一些实施方式中,所说明的例程可以提供比所描述的功能更多或更少的功能,诸如在其他所说明的例程相应地改为缺少或包括这种功能时,或者在所提供的功能的量变更时。另外,尽管各种操作可以被说明为按特定方式(例如,串行或并行或者同步或异步)和/或按特定顺序执行,但在其他实施方式中,可以按其他顺序和其他方式执行操作。上文讨论的任何数据结构也可以按不同方式结构化,诸如通过将单个数据结构划分成多个数据结构和/或通过使多个数据结构合并成单个数据结构。类似地,在一些实施方式中,所说明的数据结构可以存储比所描述的信息更多或更少的信息,诸如在其他所说明的数据结构相应地改为缺少或包括这种信息时,或者在所存储的信息的量或类型变更时。
根据上述内容,将了解,尽管出于说明的目的在本文中已描述了具体实施方式,但是在不脱离本发明的精神和范围的情况下,可以做出各种修改。因此,除受对应的权利要求和那些权利要求所叙述的元素的限制外,本发明不受限制。另外,尽管在某些时候可以以某些权利要求形式呈现本发明的某些方面,但是本发明人设想以任何可用权利要求形式的本发明的各种方面。例如,尽管在特定时候仅本发明的一些方面可以被叙述为体现在计算机可读存储介质中,但是同样可以这样体现其他方面。
Claims (17)
1.一种计算机实施的方法,包括:
通过一个或多个计算装置获得在具有多个房间的建筑物中的多个采集位置处捕获的多个全景图像,其中所述多个全景图像包括所述多个房间中的一个或多个的墙壁、地板和天花板中的至少一些的视觉覆盖范围;
通过所述一个或多个计算装置并且针对所述多个全景图像中的每个分析该全景图像的颜色像素数据以生成关于该全景图像中可见的至少一个房间的多种类型的信息,其中,所述多种类型的信息包括指示该至少一个房间中的至少一些墙壁的所生成的结构布局,并且包括一个全景图像的所述采集位置在所述结构布局内的确定位置,并且包括包含使用该全景图像的所述颜色像素数据生成的信息的、该至少一个房间的地板或天花板中的至少一些的一个或多个渲染视图;
通过所述一个或多个计算装置并且使用经训练的机器学习模型并且针对各自具有在所述多个房间中的两个房间中捕获的所述多个全景图像的两个全景图像的一个或多个图像对中的每个,至少部分地基于对所述两个全景图像中的每个的一个或多个渲染视图的信息进行比较来确定所述两个全景图像的所述采集位置之间的局部对准信息;
通过所述一个或多个计算装置生成包括所述多个采集位置中的至少一些在公共坐标系中的位置的全局对准信息,生成所述全局对准信息包括组合在所述一个或多个图像对中的至少一些的所述采集位置之间确定的所述局部对准信息;
通过所述一个或多个计算装置生成所述建筑物中的至少一些的楼层平面图,生成所述楼层平面图包括使用来自所述多个采集位置中的至少一些的所述全局对准信息的所述位置来拟合至少一个或多个房间的所生成的结构布局;以及
通过所述一个或多个计算装置提供所生成的楼层平面图,以使得能够使用所生成的楼层平面图。
2.如权利要求1所述的方法,其中,对于所述多个房间中的每个,所述多个全景图像包括在该房间中捕获的所述多个全景图像中的一个,其中,所生成的楼层平面图包括所有所述多个房间各自是二维结构布局的生成的结构布局,并且其中,提供所生成的楼层平面图包括通过所述一个或多个计算装置通过一个或多个网络将所生成的楼层平面图传输到一个或多个客户端装置,以致使在所述一个或多个客户端装置上显示所生成的楼层平面图。
3.如权利要求1所述的方法,其中,所述经训练的机器学习模型是被训练以验证包括在所述两个全景图像的渲染视图中的视觉数据之间的局部对准的卷积神经网络的部分,以及
其中,所述方法还包括至少部分地基于将在该图像对的所述两个全景图像的重叠视觉覆盖范围中识别的一个或多个结构元素进行匹配来生成所述图像对中的每个的所述局部对准信息,以及
其中,对于所述多个全景图像中的每个,该全景图像包括围绕竖直轴的360度水平视觉覆盖范围,并且提供该全景图像的所述一个或多个房间的所述墙壁、所述地板和所述天花板中的至少一些的等矩形格式的RGB(红-绿-蓝)像素数据,并且该全景图像的所述一个或多个渲染视图以立体格式或正交格式在二维中渲染,并且所述一个或多个渲染视图各自包括该全景图像的所述RGB像素数据的一些,该全景图像至少部分地基于在该全景图像中可见的所述至少一个房间的所生成的结构布局和该全景图像的所述采集位置的所述确定位置而被定位在该渲染视图中,该全景图像的所述一个或多个渲染视图包括该全景图像的至少一些地板的地板视图和该全景图像的至少一些天花板的天花板视图中的至少一个。
4.如权利要求1所述的方法,其中,所述一个或多个图像对包括:至少第一图像对,所述第一图像对具有在不同的第一房间和第二房间中捕获但是通过所述第一房间和第二房间中的至少一个的门道或非门道墙壁开口中的至少一个而具有重叠视觉覆盖范围的两个全景图像;以及第二图像对,所述第二图像对具有在不同的第三房间和第四房间中捕获但缺乏任何重叠视觉覆盖范围的两个全景图像,并且其中,确定所述第一图像对和第二图像对中的每个的所述局部对准信息包括至少部分地基于将在所述第一房间和第二房间中捕获的所述两个全景图像的重叠视觉覆盖范围进行匹配来验证所述第一图像对的所述局部对准信息,并且包括在基于不验证所述第二图像对的所述局部对准信息,在组合所述局部对准信息之前丢弃所述第二图像对的所述局部对准信息。
5.如权利要求4所述的方法,其中,所述一个或多个图像对还包括第三图像对,所述第三图像对具有在不同的第五房间和第六房间中捕获但缺乏任何重叠视觉覆盖范围的两个全景图像,并且其中,确定所述第三图像对的局部对准信息包括至少部分地基于将在所述第五房间和所述第六房间中捕获的所述两个全景图像的视觉数据与先前确定的关于存在于相邻房间类型中的视觉数据的类型的信息进行匹配,验证尽管缺乏任何重叠视觉覆盖范围的所述第三图像对的所述局部对准信息。
6.如权利要求1所述的方法,其中,包括在所述多个全景图像中的每个的所述一个或多个渲染视图中的至少一个中的所述信息包括以下各项中的至少一项:
该全景图像的所述颜色像素数据中的至少一些,其中使用单目深度信息将所述颜色像素数据纹理映射到至少一个渲染视图中的像素位置,所述单目深度信息仅基于对该全景图像的所述颜色像素数据的分析从该全景图像的所述采集位置到周围结构元素进行估计;和/或
用于指示门道或非门道墙壁开口或窗户中的至少一个的仅基于对该全景图像的所述颜色像素数据的分析而被识别的一个或多个位置的重叠信息;和/或
用于指示所述一个或多个房间的物体或表面的至少一种类型的包括在该全景图像的所述视觉覆盖范围内并且仅基于该全景图像的所述颜色像素数据的分析而被识别的一个或多个位置的重叠信息;和/或
该全景图像的所述颜色像素数据中的至少一些,使用单目深度信息将所述颜色像素数据纹理映射到至少一个渲染视图中的像素位置,所述单目深度信息从该全景图像的所述采集位置到周围结构元素进行估计,并且包括重叠信息以指示门道或非门道墙壁开口或窗户中的至少一个的一个或多个识别位置。
7.如权利要求1所述的方法,其中,所述经训练的机器学习模型是第一神经网络的一部分,所述第一神经网络被训练以确定包括在所述两个全景图像的渲染视图中的视觉数据之间的局部对准,其中,分析所述多个全景图像中的每个的所述颜色像素数据包括使用经训练的第二神经网络来联合确定所述多个全景图像中可见的房间的布局信息并且确定那些布局内的所述多个全景图像的图像姿势信息,并且其中,所述方法还包括通过所述一个或多个计算装置并且使用经训练以将所述多个全景图像中可见的房间分割成结构墙壁元素的第三神经网络,并且对于所述多个全景图像中的每个,确定该全景图像的所述颜色像素数据以生成关于该全景图像中可见的所述至少一个房间的另外信息,所述另外信息包括所述至少一个房间的至少一个门道或非门道墙壁开口在所述至少一个房间的所生成的结构布局上的确定位置,并且还包括所述至少一个房间的至少一个窗户的至少一个附加确定位置。
8.如权利要求1所述的方法,其中,所述一个或多个图像对包括多个图像对,并且其中,组合所述局部对准信息包括:通过生成一个或多个组来组合针对所述多个图像对中的数个图像对而确定的局部对准信息,所述一个或多个组各自具有经由确定的局部对准信息全部互连的至少三个采集位置,执行旋转平均以估计所述公共坐标系中的所述至少三个采集位置之间的方向,并且对所估计的方向执行一个或多个检查,以确认所述至少三个采集位置之间的所估计的方向是一致的。
9.如权利要求1所述的方法,其中,通过分析该全景图像的所述颜色像素数据而针对所述多个全景图像中的每个所生成的结构布局是以下各项中的至少一项:
在该全景图像中可见的所述至少一个房间的生成的三维形状,并且其中,确定所述一个或多个图像对中的每个的所述两个全景图像的所述采集位置之间的所述局部对准信息包括比较所述两个全景图像生成的三维形状;和/或
在该全景图像中可见的所述至少一个房间的生成的三维形状,并且其中,拟合所述至少一个或多个房间的所生成的结构布局包括至少部分地基于通过分析所述多个全景图像的所述颜色像素数据而在所述多个房间中识别的门道或非门道开口中的至少一个来组合来自所述多个全景图像的所有的所述生成的三维形状。
10.如权利要求1所述的方法,其中,所述多个全景图像中的至少一些各自包括两个或更多个房间的视觉覆盖范围,并且针对该全景图像而生成的多种类型的信息是针对所述两个或更多个房间的所有,并且其中,生成所述多个全景图像中的每个的所述多种类型的信息包括分析该全景图像的RGB(红-绿-蓝)像素数据和使用一个或多个深度感测装置从该全景图像的所述采集位置采集的附加的深度数据的组合。
11.如权利要求1所述的方法,其中,所述方法还包括通过所述一个或多个计算装置并针对所述多个全景图像中的每个,分析该全景图像以生成从该全景图像的所述采集位置到在该全景图像中可见的所述至少一个房间的所述至少一些墙壁的深度数据,并且其中,在该全景图像中可见的所述至少一个房间的所述地板或所述天花板中的所述至少一些的该全景图像的所述一个或多个渲染视图包括所生成的深度数据中的至少一些。
12.如权利要求1所述的方法,其中,所述方法还包括通过所述一个或多个计算装置并针对所述多个全景图像中的每个,分析该全景图像以确定在该全景图像中可见的物体的位置,并且其中,在该全景图像中可见的所述至少一个房间的所述地板或所述天花板中的所述至少一些的该全景图像的所述一个或多个渲染视图包括所述物体的所确定的位置中的至少一些的指示符。
13.如权利要求1所述的方法,其中,所述经训练的机器学习模型是视觉图像变换器网络或神经网络中的至少一个的一部分,并且被训练以确定包括在所述两个全景图像的渲染视图中的视觉数据之间的局部对准。
14.一种非暂时性计算机可读介质,具有存储的内容,所述存储的内容使得一个或多个计算装置执行如权利要求1-13中任一项所述的方法。
15.一种系统,包括:
一个或多个计算系统的一个或多个硬件处理器;以及
一个或多个存储器,具有存储的指令,所述指令在通过所述一个或多个硬件处理器中的至少一个执行时使得所述一个或多个计算系统至少执行:
获得在具有多个房间的建筑物的多个采集位置处捕获的多个全景图像,其中所述多个全景图像包括所述多个房间的一个或多个的至少一些墙壁的视觉覆盖范围;
针对所述多个全景图像中的至少一些全景图像中的每个,分析该全景图像的颜色像素数据以生成关于在该全景图像中可见的所述一个或多个房间中的至少一个房间的信息,所述信息包括包含使用该全景图像的所述颜色像素数据生成的数据的所述至少一个房间中的一个或多个平面表面中的至少一些的一个或多个渲染视图;
至少部分地基于经训练的神经网络的使用并且针对各自具有所述至少一些全景图像的至少两个全景图像的一个或多个图像组中的每个、至少部分地基于比较所述至少两个全景图像中的每个的一个或多个渲染视图的信息来确定所述至少两个全景图像的所述采集位置之间的对准信息,其中,确定所述对准信息包括针对那些采集位置确定至少相对于彼此的位置;
生成所述建筑物中的至少一些的至少部分楼层平面图,其中生成所述至少部分楼层平面图包括使用所述一个或多个图像组中的每个的所述至少两个全景图像的所述采集位置的所确定的位置来放置至少一个或多个房间的所生成的结构布局;以及
提供所生成的至少部分楼层平面图,以使得能够使用所生成的至少部分楼层平面图。
16.如权利要求15所述的系统,其中,对于所述多个房间中的每个,所述多个全景图像包括在该房间中捕获的并且具有该房间的至少一些墙壁的视觉覆盖范围的所述多个全景图像中的一个,其中,所生成的至少部分楼层平面图包括所有所述多个房间的所生成的结构布局,并且其中,提供所生成的至少部分楼层平面图包括通过一个或多个网络将所生成的至少部分楼层平面图传输到一个或多个客户端装置,以致使在所述一个或多个客户端装置上显示所生成的至少部分楼层平面图。
17.如权利要求15所述的系统,其中,所述经训练的神经网络是被训练以验证包括在所述两个全景图像的渲染视图中的视觉数据之间的局部对准的卷积神经网络,并且
其中,对于所述多个房间中的每个,所述多个全景图像包括在该房间中捕获的并且具有该房间的至少一些墙壁和该房间的地板或该房间的天花板中的至少一者的至少一些的视觉覆盖范围的所述多个全景图像中的一个,以及
其中,分析所述至少一些全景图像的所述颜色像素数据还包括使用该颜色像素数据来生成所述至少一个或多个房间的所述结构布局,所生成的结构布局指示所述至少一个或多个房间的所述至少一些墙壁,以及
其中,所述自动化操作还包括至少部分地基于将在该图像组的所述至少两个全景图像的重叠视觉覆盖范围中识别的一个或多个结构元素进行匹配而生成所述图像组中的每个的局部对准信息,以及
其中,对于在所述多个房间中的一个中捕获的所述多个全景图像中的每个,该全景图像包括围绕竖直轴的360度水平视觉覆盖范围,并且提供该房间的至少一些墙壁和该房间的地板或该房间的天花板中的至少一者的至少一些的等矩形格式的RGB(红-绿-蓝)像素数据,并且该全景图像的所述一个或多个渲染视图以立体或正交格式在二维中渲染,并且所述一个或多个渲染视图各自包括该全景图像的所述RGB像素数据的一些,该全景图像至少部分地基于在该全景图像中可见的所述至少一个房间的所生成的结构布局和该全景图像的所述采集位置在所述至少一个房间的所生成的结构布局中的确定位置而被定位在该渲染视图中,该全景图像的所述一个或多个渲染视图包括该全景图像的至少一些地板的地板视图和该全景图像的至少一些天花板的天花板视图中的至少一个。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163272854P | 2021-10-28 | 2021-10-28 | |
US63/272,854 | 2021-10-28 | ||
US17/585,433 US20230138762A1 (en) | 2021-10-28 | 2022-01-26 | Automated Building Floor Plan Generation Using Visual Data Of Multiple Building Images |
US17/585,433 | 2022-01-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116090040A true CN116090040A (zh) | 2023-05-09 |
Family
ID=81306776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210473013.5A Pending CN116090040A (zh) | 2021-10-28 | 2022-04-29 | 使用多个建筑图像的视觉数据的自动建筑楼层平面图生成 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230138762A1 (zh) |
EP (1) | EP4174772A1 (zh) |
CN (1) | CN116090040A (zh) |
AU (1) | AU2022202811B2 (zh) |
CA (1) | CA3154186C (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117725661A (zh) * | 2024-02-07 | 2024-03-19 | 中建科工集团绿色科技有限公司 | 模块化建筑的模块单元标准化方法、装置、设备及介质 |
CN117939086A (zh) * | 2024-03-19 | 2024-04-26 | 中通服建设有限公司 | 一种数字建筑的智慧监控平台及方法 |
CN118196445A (zh) * | 2024-03-21 | 2024-06-14 | 华联世纪工程咨询股份有限公司 | 一种基于几何信息的梁位识别方法 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112020630B (zh) * | 2018-04-27 | 2024-06-28 | 北京嘀嘀无限科技发展有限公司 | 用于更新建筑物的3d模型的系统和方法 |
US11676344B2 (en) | 2019-11-12 | 2023-06-13 | MFTB Holdco, Inc. | Presenting building information using building models |
US12033377B2 (en) * | 2022-03-16 | 2024-07-09 | Maxar Space Llc | Determination of a convolutional neural network (CNN) for automatic target recognition in a resource constrained environment |
US12093615B2 (en) * | 2022-05-05 | 2024-09-17 | D.To, Inc. | Apparatus and methods for determining and solving design problems using machine learning |
CN117541655B (zh) * | 2024-01-10 | 2024-03-26 | 上海几何伙伴智能驾驶有限公司 | 融合视觉语义消除radar建图z轴累积误差的方法 |
CN118115764B (zh) * | 2024-01-18 | 2024-10-15 | 电子科技大学(深圳)高等研究院 | 一种无人机多层特征尺度稳定器的单目视觉里程计方法 |
CN118261975A (zh) * | 2024-03-28 | 2024-06-28 | 杭州格物见微数字科技有限公司 | 一种火焰燃烧位置检测方法、设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9349195B2 (en) * | 2012-03-19 | 2016-05-24 | Google Inc. | Apparatus and method for spatially referencing images |
US10740870B2 (en) * | 2018-06-28 | 2020-08-11 | EyeSpy360 Limited | Creating a floor plan from images in spherical format |
US11164361B2 (en) * | 2019-10-28 | 2021-11-02 | Zillow, Inc. | Generating floor maps for buildings from automated analysis of visual data of the buildings' interiors |
US11922580B2 (en) * | 2020-01-17 | 2024-03-05 | Apple Inc. | Floorplan generation based on room scanning |
AU2021232157A1 (en) * | 2020-03-06 | 2022-05-05 | Yembo, Inc. | Capacity optimized electronic model based prediction of changing physical hazards and inventory items |
-
2022
- 2022-01-26 US US17/585,433 patent/US20230138762A1/en active Pending
- 2022-04-05 CA CA3154186A patent/CA3154186C/en active Active
- 2022-04-08 EP EP22167347.8A patent/EP4174772A1/en active Pending
- 2022-04-28 AU AU2022202811A patent/AU2022202811B2/en active Active
- 2022-04-29 CN CN202210473013.5A patent/CN116090040A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117725661A (zh) * | 2024-02-07 | 2024-03-19 | 中建科工集团绿色科技有限公司 | 模块化建筑的模块单元标准化方法、装置、设备及介质 |
CN117725661B (zh) * | 2024-02-07 | 2024-05-07 | 中建科工集团绿色科技有限公司 | 模块化建筑的模块单元标准化方法、装置、设备及介质 |
CN117939086A (zh) * | 2024-03-19 | 2024-04-26 | 中通服建设有限公司 | 一种数字建筑的智慧监控平台及方法 |
CN117939086B (zh) * | 2024-03-19 | 2024-06-04 | 中通服建设有限公司 | 一种数字建筑的智慧监控平台及方法 |
CN118196445A (zh) * | 2024-03-21 | 2024-06-14 | 华联世纪工程咨询股份有限公司 | 一种基于几何信息的梁位识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CA3154186A1 (en) | 2023-04-28 |
EP4174772A1 (en) | 2023-05-03 |
AU2022202811B2 (en) | 2024-03-14 |
AU2022202811A1 (en) | 2023-05-18 |
US20230138762A1 (en) | 2023-05-04 |
CA3154186C (en) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11494973B2 (en) | Generating floor maps for buildings from automated analysis of visual data of the buildings' interiors | |
CA3154186C (en) | Automated building floor plan generation using visual data of multiple building images | |
US11645781B2 (en) | Automated determination of acquisition locations of acquired building images based on determined surrounding room data | |
US11514674B2 (en) | Automated analysis of image contents to determine the acquisition location of the image | |
US11842464B2 (en) | Automated exchange and use of attribute information between building images of multiple types | |
US12045951B2 (en) | Automated building information determination using inter-image analysis of multiple building images | |
US12056900B2 (en) | Automated mapping information generation from analysis of building photos | |
US20230125295A1 (en) | Automated Analysis Of Visual Data Of Images To Determine The Images' Acquisition Locations On Building Floor Plans | |
EP4312143A1 (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 | |
CN118036115A (zh) | 用于建筑物信息确定的多个建筑物图像的自动图像间分析 | |
CN118036116A (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 |