CN114072801B - 用于建筑位置的全景图像在移动设备上的自动生成和随后使用 - Google Patents

用于建筑位置的全景图像在移动设备上的自动生成和随后使用 Download PDF

Info

Publication number
CN114072801B
CN114072801B CN202180004364.5A CN202180004364A CN114072801B CN 114072801 B CN114072801 B CN 114072801B CN 202180004364 A CN202180004364 A CN 202180004364A CN 114072801 B CN114072801 B CN 114072801B
Authority
CN
China
Prior art keywords
constituent
image
images
constituent images
sequence
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.)
Active
Application number
CN202180004364.5A
Other languages
English (en)
Other versions
CN114072801A (zh
Inventor
肖恩·P·西尔
江胜明
米切尔·大卫·道森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mftb Co ltd
Pushsabo I Co
Zillow LLC
Original Assignee
Zillow LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zillow LLC filed Critical Zillow LLC
Publication of CN114072801A publication Critical patent/CN114072801A/zh
Application granted granted Critical
Publication of CN114072801B publication Critical patent/CN114072801B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/38Registration of image sequences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/95Computational photography systems, e.g. light-field imaging systems
    • H04N23/951Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2622Signal amplitude transition in the zone between image portions, e.g. soft edges
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2624Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects for obtaining an image which is composed of whole input images, e.g. splitscreen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2628Alteration of picture size, shape, position or orientation, e.g. zooming, rotation, rolling, perspective, translation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/265Mixing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/32Indexing scheme for image data processing or generation, in general involving image mosaicing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30168Image quality inspection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)
  • Closed-Circuit Television Systems (AREA)

Abstract

描述了使用智能电话或其它移动设备来执行用于生成建筑环境的全景图像并随后以进一步自动的方式使用所生成的全景图像的自动操作的技术。在至少一些情况下,由移动设备生成全景图像至少部分地基于在从获取位置起的多个方向上在移动设备上自动获取多个构成图像,以及基于诸如以相对于构成图像捕获的实时方式同时在移动设备上组合获取的组成图像,以生成从该获取位置具有360°水平视野覆盖的全景图像。关于这样识别的建筑平面图的信息可以以各种自动方式使用,包括用于控制设备(例如,自主车辆)的导航、用于以相应图形用户界面在客户端设备上显示等。

Description

用于建筑位置的全景图像在移动设备上的自动生成和随后 使用
技术领域
以下公开内容总体地涉及用于在移动设备上自动生成建筑环境的全景图像以及随后以一种或多种自动方式使用所生成的全景图像的技术,诸如在从建筑内部中的获取位置起的多个方向上在移动设备上自动获取构成立体图像,并且以实时方式在移动设备上组合所获取的构成图像,以从该获取位置生成具有360°的视野水平覆盖的全景图像。
背景技术
在诸如建筑分析、财产检查、房地产购置和开发、总承包、改善成本估计等的各种领域和环境中,可能希望知道房屋、办公室或其它建筑的内部情况,而不必亲自前往和进入该建筑。然而,可能难以有效地捕获、呈现和使用这种建筑内部信息,包括以高效的方式捕获建筑内部中的视觉信息,以及向远程位置处的用户显示在建筑内部中捕获的视觉信息(例如,使用户能够完全理解内部的布局和其它细节,包括以用户选择的方式控制显示)。例如,尽管全景图像可以显示从单个位置可见的信息,但是可能很难以高效的方式捕获这种全景图像并且使用它们来显示多房间建筑或其它大空间。此外,尽管建筑的楼层平面图可以提供关于建筑内部的布局和其它细节的一些信息,但是这种楼层平面图的使用具有一些缺点,包括楼层平面图可能难以构建和维护、难以精确地缩放和增添关于房间内部的信息、难以可视化和以其它方式使用等。
附图说明
图1A至图1B是描绘在本公开的实施方式中使用的示例性建筑内部环境和计算系统的图,包括使用由移动设备从获取位置中的每个在多个方向上获取的构成立体图像在移动设备上自动生成用于建筑内部中的多个获取位置的全景图像,以及可选地进一步呈现或以其它方式使用所生成的建筑内部全景图像。
图2A至图2K示出了通过组合由移动设备从获取位置在多个方向上获取的多个构成立体图像在移动设备上自动生成用于建筑内部中的获取位置的360°全景图像、并且随后以一种或多种自动方式使用所生成的全景图像的示例。
图3是示出适于运行执行本公开中描述的技术中的至少一些的系统的实施方式的计算系统的框图。
图4示出了根据本公开的实施方式的移动图像捕获和分析(MICA)系统例程的流程图的示例性实施方式。
图5示出了根据本公开的实施方式的设备上全景图像获取/生成模块例程的流程图的示例性实施方式。
图6A至图6B示出了根据本公开的实施方式的制图信息生成管理器(MIGM)系统例程的流程图的示例性实施方式。
图7示出了根据本公开的实施方式的建筑地图查看器系统例程的流程图的示例性实施方式。
具体实施方式
本公开描述了使用智能电话或其它移动设备(例如,平板计算系统)来执行自动操作的技术,用于通过组合由移动设备捕获的构成图像来生成建筑环境的全景图像,并且随后以一种或多种其它自动方式使用所生成的全景图像。在至少一些实施方式中,这种由移动设备生成全景图像至少部分地基于在从获取位置起的多个方向上在移动设备上自动获取多个构成图像(例如,直线立体图像),并且同时相对于构成图像捕获以实时方式或近实时方式在移动设备上组合所获取的构成图像,以从该获取位置生成具有360°的视野水平覆盖的全景图像——在至少一些实施方式中,这种获取位置可以来自建造的多房间建筑(例如,房屋、办公建筑等)的环境,诸如建筑内或附近的多个获取位置中的一个,在这种获取位置中的每个处生成这种全景图像(例如,不具有或不使用来自任何深度传感器或其它距离测量设备的关于从获取位置到周围建筑中的墙壁或其它对象的距离的信息)。还可以以各种方式使用关于这种生成的全景图像的信息,包括在一些实施方式中生成用于控制移动设备(例如,自主车辆)的导航、用于以相应的GUI(图形用户界面)在一个或多个客户端设备上显示或以其它方式呈现的建筑楼层平面图等。下面包括关于通过组合由移动设备捕获的多个构成图像而在移动设备上自动生成全景图像的附加细节,并且在至少一些实施方式中,本文中描述的技术中的一些或所有可以经由移动图像捕获和分析(“MICA”)系统的自动操作来执行,如下面进一步讨论的。
如上所述,MICA系统的自动操作可以包括通过组合由移动设备捕获的多个构成图像来在移动设备上生成全景图像。在一些实施方式中,这种自动操作包括:通过记录来自移动设备相机和其它传感器的数据,创建围绕竖直轴具有360°水平覆盖的全景图像(下文中有时称为“360°全景图像”);以及在移动设备上将该数据组装成全景,随后将生成的全景图像并可选地将附加的关联信息上传到远程服务器。为了管理移动设备的计算资源约束,诸如可用RAM(随机存取存储器)的量和计算能力(例如,至少部分地基于处理器速度),一些实施方式使用处理流水线架构来在移动设备上执行相应的自动操作,在这种架构中,可以同时和异步地并且以多个优先级级别执行各种操作,诸如在完成构成图像的获取时以实时或近实时的方式生成用于获取位置的全景图像,构成图像在全景图像生成期间被组合。移动设备上的自动操作可以包括以下各项的部分或所有:
-当移动设备在获取位置处以360°水平圆旋转时,从移动设备的内置相机捕获构成图像的序列,诸如在360°旋转期间的至少540个构成图像(即,一个或多个构成图像用于540个角隙中的每个角隙,其与~0.67°旋转相对应);
-与构成图像捕获同时和异步地,针对540个角隙中的每个选择构成图像;
-与构成图像捕获同时地和异步地,动态地裁剪选择的构成图像以丢弃不需要的数据,诸如针对大多数选择的构成图像保留中心20%的水平图像条带(以及该条带的100%的竖直信息),同时保留第一选择的构成图像和最后选择的构成图像的全部,并且在一些实施方式中,为与一个或多个例外标准相对应的某些构成图像动态地保留比中心20%宽的水平条带;
-与构成图像捕获异步地,压缩存储器中的用于裁剪的构成图像的数据,可选地在需要时按需解压缩特定的经压缩的数据(例如,用于特定的构成图像),可选地高速缓存经解压缩的数据以供进一步使用,并将经压缩的数据的一些或所有写入长期存储(例如,移动设备上的非易失性存储、远程设备上的存储等);
-与构成图像捕获同时和异步地,并且与数据压缩和长期存储以及可选的解压缩和高速缓存同时和异步地,通过将裁剪的构成图像切片中的每个与先前的构成图像对准(例如,通过使用平移运动模型)以及通过以类似的方式将最后选择的构成图像与先前的构成图像对准,在第一拼接步骤中配准裁剪的构成图像,同时在随后的最终拼接步骤中进行附加的图像分析动作;以及
-在完成构成图像捕获之后,并且与数据压缩和长期存储以及可选的解压缩和高速缓存同时和异步地,在最终拼接步骤中通过以下操作完成全景图像生成:对准第一选择的构成图像和最后选择的构成图像(例如,通过使用光流对准来完成用于全景图像的360°回路),计算对准的第一选择的构成图像与最后选择的构成图像之间的漂移误差并在所有选择的构成图像上分布漂移误差,平滑相邻的所选构成图像之间的曝光以减小强度上的差异,通过对那些相邻图像进行混合或羽化来平滑相邻的所选构成图像之间的空间重叠,以及使用排除任何未覆盖区域的边界框来裁剪组合的所选构成图像。
在特定实施方式中,可以以特定方式来执行自动操作中的每个,并且下面包括关于这种自动操作的附加细节,包括关于图2A至图2H以及图2J至图2K的示例及其相关联的描述。此外,在至少一些实施方式中,所生成的全景图像可以以一种或多种方式不同于以上描述的那些——作为一个具体示例,所生成的全景图像可以具有小于360°的水平覆盖(例如,200°、250°、300°、350°等)——如果这样,则在这种实施方式中可以不执行用于最终拼接步骤的操作中的至少一些(例如,第一构成图像和最后构成图像的回路闭合,以及可选地相关联的误差漂移计算和分布),并且在一些这种实施方式中,最终拼接步骤的任何剩余操作(例如,曝光和/或空间重叠的平滑,用于最终裁剪的边界框的边界的跟踪等)可以作为第一拼接步骤的一部分并且与构成图像的捕获同时执行。
图2I还示出了关于从这种构成图像生成全景图像的过程的信息290i,如本文别处更详细讨论的。特别地,在图2I的示例中,MICA系统140在移动设备185上运行以执行全景图像生成。在该示例中,MICA系统140接收由移动设备185上的成像系统135捕获的构成图像,并且从传感器模块148获得用于每个这种构成图像的相应IMU数据。由MICA系统140执行的自动操作包括选择281要用于每个角隙的捕获的构成图像,以及裁剪282一些或所有选择的构成图像。然后,经裁剪的构成图像在图像及其相关联的元数据被压缩284之前被转发和排队283以用于临时存储,并且还同时被转发到处理285以诸如通过经由平移运动对准以对准一些或所有相邻构成图像(例如,除了第一选择的构成图像和最后选择的构成图像之外的所有构成图像)来配准构成图像。在压缩处理284之后,经压缩数据的一些或所有可选地被发送288到长期存储(例如,移动设备上的非易失性存储;一个或多个远程系统上的存储,诸如通过经由一个或多个中间计算机网络170将数据传送到一个或多个服务器计算系统180;等等)。此外,经压缩的数据的一些或所有可以按需被解压缩并被提供用于附加的使用,诸如用于处理287(在一些情况下用于处理285,未示出)。此外,在处理285之后,并且在构成图像捕获完成286之后,诸如通过使用光流以通过对准第一构成图像和最后构成图像来完成回路闭合、以及通过确定相应的漂移误差并通过在构成图像上分布漂移误差、以及通过执行其它平滑和校正以及如本文别处所讨论的最终处理,配准的图像被转发到处理287用于最终拼接以生成全景图像。然后产生生成的全景289,并经由一个或多个计算机网络170将其转发到服务器计算系统180以进行存储。以下包括关于这种自动操作的其它细节,包括关于图2A至图2H的示例及其相关联的描述。
所描述的技术在各种实施方式中提供了各种益处,包括在一些实施方式中在获取被组合的构成图像以用于被生成的全景图像的移动设备本地执行所有的全景图像生成处理,诸如使得能够以先前不可用并且更快速(例如,在完成构成图像的捕获之后少于1分钟内)和更准确(例如,使用更多的构成图像和/或具有更高的分辨率的构成图像)以及更高效(使用更少的通信带宽或不使用通信带宽,通过分散式全景图像生成处理具有改进的可扩展性)的方式生成一个或多个这种全景图像,用于呈现多房间建筑和其它结构内或周围的一个或多个获取位置。这种自动技术还通过使用从实际建筑环境(而不是从关于理论上如何构造建筑的平面图)获得的信息,以及能够捕获在建筑最初构造之后发生的对结构元素和/或视觉外观元素的改变,进一步允许附加的精确性。所描述的这种技术还至少部分地基于这种生成的全景图像的使用,在允许由移动设备(例如,半自主或全自主车辆)对建筑进行改进的自动导航方面提供了益处,包括显著减少试图以其它方式学习建筑布局所使用的计算能力和时间。此外,在一些实施方式中,所描述的技术可以用于提供改进的GUI,其中用户可以更准确和快速地获得关于一个或多个这种建筑的信息(例如,用于虚拟地导航一个或多个建筑的内部),包括响应于搜索请求,作为向用户提供个性化信息的一部分,作为向用户提供价值估计和/或关于建筑的其它信息的一部分(例如,在分析关于与一个或多个初始楼层平面图相似或者以其它方式与指定标准匹配的一个或多个目标建筑楼层平面图的信息之后),等等。还通过所描述的技术提供了各种其它益处,其中一些在本文别处进一步描述。
如上所述,在至少一些实施方式和情况中,为建筑获取的并且随后与建筑的楼层平面图相关联的图像中的一些或所有可以是各自在建筑中或建筑周围的多个获取位置中的一个处获取的全景图像,诸如在每个这种获取位置处根据在从获取位置起的多个方向上获取的多个构成图像生成全景图像(例如,从在该获取位置处转动的用户握持的智能电话或其它移动设备,其中构成图像中的一些或所有可选地是来自在该获取位置处拍摄的一个或多个视频的帧,该一个或多个视频水平地覆盖从该获取位置起的360°视频)——在其它实施方式和情况中,可以代之以使用对全景图像的所有图像信息的同时捕获来生成一个或多个全景图像(例如,使用一个或多个鱼眼透镜),等等。在至少一些实施方式中,这种技术可以包括使用一个或多个移动设备(例如,具有一个或多个鱼眼透镜并且安装在可旋转三角架上或者以其它方式具有自动旋转机构的相机;具有足以在没有旋转的情况下水平地捕获360度的一个或多个鱼眼透镜的相机;由用户握持和移动的智能电话,诸如围绕竖直轴在360°圆中旋转用户的身体和握持的智能电话;由用户或用户衣服握持或安装在用户或用户衣服上的相机;安装在空中和/或地面无人机或其它机器人设备上的相机;等等)来从房屋(或其它建筑)的多个房间内的多个获取位置的序列捕获视觉数据——此外,在至少一些这种实施方式中,这种获取和对所获取的信息的随后使用可以在不具有或不使用来自深度传感器或其它距离测量设备的关于从图像的获取位置到周围建筑或其它结构中的墙壁或其它对象的距离的信息的情况下发生。将理解的是,在一些情况下,全景图像可以在球面坐标系中呈现,并且提供围绕水平和/或竖直轴的高达360°的覆盖,使得观看全景图像的用户可以将全景图像内的观看方向移动到不同的取向,以使得在全景图像内展现不同的图像(或“视图”)(包括:如果在球面坐标系中呈现全景图像,则将正在展现的图像转换为平面坐标系)。此外,关于这种全景图像的捕获的获取元数据可以以各种方式获得和使用,诸如在移动设备由用户携带或以其它方式在获取位置之间移动时从移动设备的IMU(惯性测量单元)传感器或其它传感器获得的数据。关于实现ICA系统的设备的操作的附加细节包括在本文别处,诸如执行这种自动操作,并且在一些情况下以一种或多种方式进一步与一个或多个ICA系统操作员用户交互以提供进一步的功能。
关于制图信息生成管理器(MIGM)系统的功能,其可以在至少一些实施方式中执行自动操作,以分析已经为建筑内部(以及可选地建筑外部)获取的多个360°全景图像(以及可选地其它图像),并且对于这些全景图像中的一些或所有确定房间形状和连接房间的通道的位置,以及在至少一些实施方式和情况中确定建筑的一些或所有房间的墙壁元素和其它元素。两个或更多个房间之间的连接通道的类型可以包括一个或多个门道开口以及其它房间间非门道墙壁开口、窗、楼梯、非房间走廊等,并且图像的自动分析可以至少部分地基于识别通道的轮廓、识别通道内与其外部不同的内容(例如,不同的颜色或阴影)等来识别这种元素。自动操作还可以包括使用所确定的信息来生成建筑的楼层平面图并且可选地生成建筑的其它制图信息(诸如通过使用房间间通道信息和其它信息来确定相关联的房间形状彼此之间的相对定位),并且可选地将距离缩放信息和/或各种其它类型的信息添加到所生成的楼层平面图中。此外,在至少一些实施方式中,MIGM系统可以执行进一步的自动操作,以确定附加信息并将其与建筑楼层平面图和/或楼层平面图内的特定房间或位置相关联,诸如分析在建筑内部内捕获的图像和/或其它环境信息(例如,音频)以确定特定属性(例如,诸如地板、墙壁、天花板、台面、家具、灯具、器具等的特定元素的颜色和/或材料类型和/或其它特性;诸如厨房中的岛台的特定元素的存在和/或不存在;等等),或以其它方式确定相关属性(例如,建筑元素所面向的方向,诸如窗;从特定窗或其它位置的视图;等等)。下面包括关于实现MIGM系统的计算设备的操作的附加细节,诸如执行这种自动操作,并且在一些情况下以一种或多种方式进一步与一个或多个MIGM系统操作员用户交互以提供进一步的功能。
在至少一些实施方式中,MICA系统可以结合一个或多个单独的MIGM(制图信息生成管理器)系统和/或一个或多个单独的SDM(相似性确定管理器)系统和/或一个或多个单独的BMV(建筑地图查看器)系统进行操作,SDM系统用于比较目标建筑信息并且以其它方式识别具有满足指定标准的属性的目标建筑,BMV系统用于从一个或多个其它系统获得建筑信息并且以一种或多种其它方式呈现所获得的信息或以其它方式使用所获得的信息,而在其它实施方式中,这种MICA系统可以结合这种MIGM和/或SDM和/或BMV系统的一些或所有功能作为MICA系统的一部分。在其它实施方式中,MICA系统可以在不使用其所描述的功能中的一些或所有的情况下操作,诸如,如果MICA系统在通过组合构成图像来生成用于获取位置的全景图像之前从来自其它源的获取位置获得关于一些或所有构成图像的信息。
为了说明的目的,下面描述一些实施方式,其中特定类型的信息是针对特定类型的结构并且通过使用特定类型的设备以特定方式获取、使用和/或呈现的——然而,将理解的是,所描述的技术可以以其它方式在其它实施方式中使用,并且因此本发明不限于所提供的示例性细节。作为一个非排他性的示例,尽管在一些实施方式中以特定方式生成和使用特定类型的数据结构(例如,队列、高速缓存、数据库、2D楼层平面图、2.5D或3D计算机模型等),但是将理解的是,在其它实施方式中可以类似地生成和使用用于描述获取位置的其它类型的信息,包括与房屋分开的建筑(或其它结构或布局),并且在其它实施方式中,可以以其它方式使用所生成的全景图像和其它建筑信息。此外,术语“建筑”在本文中指任何部分封闭或完全封闭的结构,通常但不一定包括一个或多个可视地或以其它方式分隔该结构的内部空间的房间——这种建筑的非限制性示例包括房屋、公寓楼或其中的单个公寓、公寓单元、办公楼、商业建筑或其它批发和零售结构(例如,购物中心、百货商场、仓库等)、具有另一主建筑的房产上的补充结构(例如,具有房屋的房产上的独立车库或棚屋)等。本文所用的关于建筑内部、获取位置或其它位置的术语“获取”或“捕获”(除非上下文另外清楚指示)可以指诸如通过记录设备或通过从记录设备接收信息的另一设备对介质、传感器数据和/或与空间特性和/或视觉特性和/或建筑内部或其子集的其它可感知特性相关的其它信息的任何记录、存储或记载。如本文所使用的,术语“全景图像”可以指这样的视觉表示,其基于、包括或可分离成源自在不同方向上基本上相似的物理位置的多个离散分量图像,并且描绘了比任何离散分量图像单独描绘的视场更大的视场,包括从物理位置具有足够广角视野的图像,以包括超出人在单个方向上的凝视可感知的角度。如本文所使用的,关于获取位置的术语“序列”通常是指各自以相应的顺序至少被访问一次的两个或更多个获取位置,无论其它非获取位置是否在它们之间被访问,以及无论对获取位置的访问是发生在单个连续的时间段期间还是发生在多个不同的时间处,还是由单个用户和/或设备或者由多个不同的用户和/或设备进行。此外,出于示例性目的,在附图和文本中提供了各种细节,但并不旨在限制本发明的范围。例如,附图中的元件的尺寸和相对定位不必按比例绘制,其中一些细节被省略和/或被提供得更突出(例如,经由尺寸和定位)以增强易读性和/或清晰度。此外,在附图中可以使用相同的附图标记来标识相同或相似的元件或动作。
图1A是在一些实施方式中可以参与所描述的技术的各种计算设备和系统的示例框图。特别地,在生成全景图像之后,它们和用于它们的关联信息(例如,注释、元数据、互连链接信息等)可以与信息164一起存储在一个或多个服务器计算系统180上以供以后使用。这种生成的全景信息164还可以被包括作为捕获的建筑内部信息165的一部分,该捕获的建筑内部信息165随后被在一个或多个服务器计算系统180(无论是在存储信息164的相同或不同的服务器计算系统上)上运行的MIGM(制图信息生成管理器)系统160用于生成相应的建筑楼层平面图和/或其它相关的制图信息155。图2K示出了这种楼层平面图的一个示例,如下面进一步讨论的,并且与MIGM系统的自动操作相关的附加细节被包括在本文别处,包括关于图6A至图6B。捕获的建筑内部信息165还可以包括从建筑环境获取的其它类型的信息,诸如在建筑内或附近捕获的附加图像和/或其它类型的数据,如本文别处更详细讨论的。
在图1A示出的实施方式中,通过在图像获取和分析移动设备185上运行的MICA(移动图像捕获和分析)系统140来执行全景图像的生成。作为自动全景图像生成的一部分,移动设备的存储器152中的MICA系统的一个或多个处理模块145可以由移动设备的一个或多个硬件处理器132运行,以使用移动设备的一个或多个成像系统135来获取各种构成图像和相关联的元数据142,并且将所捕获的构成图像中的至少一些组合为一个或多个生成的全景图像143,其随后通过一个或多个计算机网络170传送到服务器计算系统180上的存储164。MICA系统的这种自动操作例如可以包括:为建筑或其它结构内的多个获取位置生成多个全景图像,并且可选地将这些全景图像链接在一起成为一组互连链接的全景图像,这些全景图像表示建筑或其它结构的一些或所有(例如,通过确定各个获取位置对之间的方向和相对距离,并且在每个全景图像指向全景图像中的另一个的全景图像内限定相应的全景间链接)。作为MICA系统的操作的一部分,还可以使用移动设备185的各种其它硬件部件,诸如显示系统149(例如,用于显示指令和/或构成图像信息)、设备I/O部件147(例如,用于从用户接收指令并向用户呈现信息)、包括IMU陀螺仪148a和IMU加速度计148b以及IMU罗盘148c的传感器模块148(例如,用于获取传感器数据并将其与特定的相应构成图像的获取相关联)等。图1B示出了用于特定房屋198的全景图像的这种获取的一个示例,图2K示出了用于房屋198的一组互连链接的全景图像的一个示例,并且图2A至图2J示出了在生成这种全景图像时MICA系统的自动操作的示例。
一个或多个客户端计算设备105的一个或多个用户(未示出)还可以可选地通过计算机网络170与MIGM系统160交互,诸如帮助构建楼层平面图,并且随后以一种或多种其它自动方式使用所识别的楼层平面图——用户的这种交互例如可以包括:提供用于创建楼层平面图的指令,提供与所创建的楼层平面图包括在一起的信息,获得一个或多个特定识别的楼层平面图和/或附加的关联信息并可选地与之交互等。此外,一个或多个客户端计算设备175的一个或多个用户(未示出)还可以可选地通过计算机网络170与服务器计算系统180交互,诸如检索和使用建筑楼层平面图和/或互连链接的全景图像和/或单个全景图像和/或与建筑楼层平面图或互连链接的全景图像相关联的其它信息——用户的这种交互例如可以包括:获得一个或多个特定识别的楼层平面图和/或一个或多个特定的互连链接的全景图像组和/或附加的关联信息并可选地与之交互(例如,在楼层平面图内或附近的获取位置处在楼层平面图视图和特定图像的视图之间切换);在两个或更多个互连链接的全景图像的视图之间切换(例如,经由包括在所呈现的全景图像中的相应链接);改变显示全景图像的相应视图的水平和/或竖直观看方向,诸如确定当前用户观看方向所指向的全景图像的一部分等。此外,楼层平面图(或其一部分)可以链接到一个或多个其它类型的信息或与之相关联,包括对于多层或其它多级建筑的楼层平面图,具有用于相互链接(例如,经由连接楼梯通道)的不同层或级的多个相关联的子层平面图;对于建筑的二维(“2D”)楼层平面图,将被链接到建筑的三维(“3D”)呈现或以其它方式与建筑的三维呈现相关联等。此外,虽然在图1A中未示出,但是在一些实施方式中,客户端计算设备175(或其它设备,未示出)可以以另外的方式接收和使用关于所识别的楼层平面图和/或互连链接的全景图像和/或其它与制图相关的信息的信息,诸如控制或辅助由那些设备(例如,由自主车辆或其它设备)进行的自动导航活动,作为显示所识别的信息的补充或替代。
此外,在图1A所描绘的计算环境中,网络170可以是一个或多个公众可访问的链接网络,可能由各种不同方操作,诸如因特网。在其它实现方式中,网络170可以具有其它形式。例如,网络170可以改为专用网络,诸如非特权用户完全或部分不可访问的公司或大学网络。在其它实现方式中,网络170可以包括专用网络和公共网络,其中专用网络中的一个或多个可以访问公共网络中的一个或多个和/或被公共网络中的一个或多个访问。此外,在各种情况下,网络170可以包括各种类型的有线和/或无线网络。此外,客户端计算设备175和服务器计算系统180可以包括各种硬件部件和存储的信息,如下面参照图3更详细地讨论的。
与提供MICA系统的至少一些这种功能的系统的实施方式相关的附加细节被包括在以下文件中:于2020年10月7日提交的题为“Connecting And Using Building DataAcquired From Mobile Devices(连接和使用从移动设备获取的建筑数据)”的第17/064,601号共同未决的美国非临时专利申请中(其包括总体上涉及从一个或多个建筑或其它结构内获得全景图像并互连和使用全景图像的示例BICA系统的公开);于2020年10月28日提交的题为“Automated Control of Image Acquisition Via Acquisition LocationDetermination(经由获取位置确定的图像获取的自动控制)”的第17/082,044号美国非临时专利申请中(其包括总体上涉及从一个或多个建筑或其它结构内获得和使用全景图像的示例ICA系统的公开);于2020年9月12日提交的题为“Automated Mapping InformationGeneration From Inter-Connected Images(从互连图像自动生成制图信息)”的第17/019,247号美国非临时专利申请中(其包括总体上涉及从一个或多个建筑或其它结构内获得和使用全景图像的示例ICA系统的公开);于2020年10月26日提交的题为“GeneratingFloor Maps For Buildings From Automated Analysis of Visual Data of TheBuildings'Interiors(从建筑内部的视觉数据的自动分析生成建筑的楼层平面图)”的第17/080,604号美国非临时专利申请中;以及于2020年6月5日提交的题为“AutomatedGeneration On Mobile Of Panorama Images For Building Locations and SubsequentUse(在移动设备上自动生成用于建筑位置和随后使用的全景图像)”的第63/035,619号美国临时专利申请中;以上文件中的每个都通过引用整体并入到本文中。
图1B描绘了示例性建筑内部环境的框图,其中全景图像已生成并准备好使用(例如,生成并提供相应的互连链接的全景图像,生成并提供相应的建筑楼层平面图等),以及用于向用户呈现所生成的全景图像和/或相关联的信息。特别地,图1B包括具有至少部分地经由多个全景图像捕获到(诸如由携带具有图像获取能力的移动设备185的用户(未示出)穿过建筑内部到多个获取位置210的序列而捕获到)的内部的建筑198。MICA系统(例如,在用户的移动设备185上运行的MICA系统140)的实施方式可以自动地执行或帮助捕获表示建筑内部的数据,以及进一步分析所捕获的数据以生成提供建筑内部的视觉呈现的全景图像,并且可选地互连所生成的全景图像。尽管用户的移动设备可以包括各种硬件部件,诸如一个或多个相机或其它成像系统135、一个或多个传感器148(例如,陀螺仪148a、加速度计148b、罗盘148c等,诸如移动设备的一个或多个IMU或惯性测量单元的一部分;高度计;光检测器等)、GPS接收器、一个或多个硬件处理器132、存储器152、显示器149、麦克风等,在至少一些实施方式中,移动设备可能不能访问或使用设备来测量建筑中的对象相对于移动设备的位置的深度,使得不同全景图像与其获取位置之间的关系可以部分或全部基于不同图像中的匹配元素和/或通过使用来自所列硬件部件中的其它硬件部件的信息来确定,而不使用来自任何这种深度传感器的任何数据。此外,尽管提供方向指示符109供观看者参考,但是在至少一些实施方式中,移动设备和/或MICA系统可以不使用这种绝对方向信息,诸如改为确定全景图像210之间的相对方向和距离而不考虑实际的地理定位或方向。
在操作中,与移动设备相关联的用户到达建筑内部的第一房间内的第一获取位置210A处(在该示例中,从外门190-1到起居室的入口),并且在移动设备在第一获取位置处围绕竖直轴旋转时(例如,用户将他或她的身体绕圈转动,同时使移动设备相对于用户的身体保持静止)捕获从该获取位置210A可见的建筑内部的一部分的视图(例如,第一房间的一些或所有,以及可选地一个或多个其它相邻或邻近房间的小部分,诸如通过门、厅、楼梯或从第一房间的其它连接通道)。用户和/或移动设备的动作可以通过使用在移动设备上运行的一个或多个程序(诸如MICA应用系统140)来控制或促进,并且可以通过拍摄连续的一个或多个图像和/或录制具有多帧图像的视频来执行视图捕获,包括捕获描绘在从获取位置捕获的图像(例如,视频帧)中可见的多个对象或其它元素(例如,结构细节)的视觉信息。在图1B的示例中,这种对象或其它元素包括在结构上是墙壁的一部分的各种元素(或“墙壁元素”),诸如门道190和197及其门(例如,具有摆动门和/或滑动门)、窗196、墙壁间边界(例如,拐角或边缘)195(包括在建筑198的西北拐角中的拐角195-1、在第一房间的东北拐角中的拐角195-2以及在第一房间的西南拐角中的拐角195-e)——此外,在图1B的示例中的这种对象或其它元素还可以包括房间内的其它元素,诸如家具191-193(例如,沙发191、椅子192、桌子193等)、图片或绘画或电视或悬挂在墙壁、灯具等上的其它对象194(诸如194-1和194-2)。用户还可以可选地提供与获取位置相关联的文本或听觉标识符,诸如用于获取位置210A的“入口”或用于获取位置210B的“起居室”,而在其它实施方式中,ICA系统可以自动生成这种标识符(例如,通过自动分析建筑的视频和/或其它记录的信息以执行相应的自动确定,诸如通过使用机器学习),或者可以不使用标识符。
在第一获取位置210A已经被充分地捕获(例如,通过移动设备的完全旋转)之后,用户可以进行到下一获取位置(诸如获取位置210B),可选地在获取位置之间的行进期间捕获移动数据,诸如来自硬件部件(例如,来自一个或多个IMU、来自相机等)的视频和/或其它数据。在下一获取位置处,用户可以类似地使用移动设备从该获取位置捕获一个或多个图像。该过程可以从建筑的一些或所有房间重复,并且可选地在建筑外部重复,如针对获取位置210C-210J所示。用于每个获取位置的获取的视频和/或其它图像被进一步分析以生成用于获取位置210A-210J中的每个的全景图像,在一些实施方式中包括匹配不同图像中的对象和其它元素。除了生成这种全景图像之外,还可以执行进一步的分析以便将全景中的至少一些互连(或“链接”)在一起(为了说明起见,示出了它们之间的一些相应的线215),诸如确定彼此可见的获取位置对之间的相对定位信息、存储相应的全景间链接(例如,分别在获取位置A和B、B和C、以及A和C之间的链接215-AB、215-BC和215-AC)、以及在一些实施方式和情况中进一步链接至少一些彼此不可见的获取位置(例如,获取位置210B和210E之间的链接215-BE,未示出)。
与生成和使用全景图像之间的链接信息的实施方式相关的附加细节(包括使用行进路径信息和/或元素或在多个图像中可见的其它特征)包括在以下文件中:于2019年11月23日提交的题为“Connecting And Using Building Data Acquired From MobileDevices(连接和使用从移动设备获取的建筑数据)”的第16/693,286号美国非临时专利申请中(其包括总体上涉及获得和使用链接信息来互连在一个或多个建筑或其它结构内捕获的多个全景图像的示例BICA系统的公开);于2020年10月26日提交的题为“GeneratingFloor Maps For Buildings From Automated Analysis of Visual Data of TheBuildings'Interiors(从建筑物内部的视觉数据的自动分析生成建筑的楼层平面图)”的第17/080,604号美国非临时专利申请中;以及于2020年6月5日提交的题为“AutomatedGeneration On Mobile Devices of Panorama Images For Building Locations AndSubsequent Use(在移动设备上自动生成用于建筑位置和随后使用的全景图像)”的第63/035,619号美国临时专利申请中;以上文件中的每个都通过引用整体并入到本文中。
关于图1A至图1B提供了各种细节,但是将理解的是,所提供的细节是出于说明的目的而包括的非排他性示例,并且可以在没有一些或所有这种细节的情况下以其它方式执行其它实施方式。
图2A至图2K示出了通过组合由移动设备从获取位置在多个方向上获取的多个构成立体图像在移动设备上自动生成用于建筑内部中的获取位置的360°全景图像、并且随后以一种或多种自动方式使用所生成的全景图像的示例,诸如图1B中讨论的建筑198。
具体地,图2A示出了从图1B的房屋198的起居室中的获取位置210B沿东北方向拍摄的示例构成图像250a,诸如用作在从获取位置210B沿全360°水平圆获取的构成图像序列中的第一构成图像——在该示例中还显示了方向指示符109a,以示出拍摄图像的东北方向。在所示出的示例中,显示的图像包括内置元素(例如,灯具130a)、家具(例如,椅子192-1)、两个窗196-1以及悬挂在起居室的北墙壁上的图片194-1。在该图像中进入或离开起居室的房间间通道(例如,门或其它墙壁开口)是不可见的。然而,在图像250a中多个房间边界是可见的,包括起居室的北墙壁的可见部分与起居室的天花板和地板之间的水平边界、起居室的东墙壁的可见部分与起居室的天花板和地板之间的水平边界、以及北墙壁与东墙壁之间的墙壁间竖直边界195-2。
图2B继续图2A的示例,并且示出了从获取位置210B拍摄的附加示例构成图像250b,诸如用作获取的构成图像序列中的第二构成图像。在该示例中,在获取位置210B处从拍摄先前构成图像250a的方向处发生了少量的顺时针旋转,使得构成图像250b与先前构成图像250a仅有少量不同——具体地,指示符253b1示出了作为构成图像250a的一部分的不再是构成图像250b的一部分的部分,而指示符253b2指示构成图像250b的不是构成图像250a的一部分的附加部分。为了简洁起见,在图2B中未示出图2A中所示的各种数字标签。此外,在图2B中还示出了视觉指示符220b,其与构成图像250b的中间20%的切片相对应,该中间20%的切片可以从构成图像250b中裁剪并用作全景图像生成过程的一部分,如关于图2H进一步讨论的。
图2C继续图2A至图2B的示例,并且示出了从获取位置210B获取的附加示例构成图像250c,诸如用作获取的构成图像序列中的第三构成图像。在该示例中,在获取位置210B处从拍摄先前构成图像250b的方向处发生了少量的附加顺时针旋转,使得构成图像250c与先前构成图像250b仅有少量不同——具体地,指示符253c1示出了作为构成图像250b的一部分的不再是构成图像250c的一部分的部分,而指示符253c2指示构成图像250c的不是构成图像250b的一部分的附加部分。为了简洁起见,在图2C中未示出图2A中所示的各种数字标签。此外,在图2C中还示出了视觉指示符220c,其与构成图像250c的中间20%的切片相对应,该中间20%的切片可以从构成图像250c中裁剪并用作全景图像生成过程的一部分,如关于图2H进一步讨论的。
图2D继续图2A至图2C的示例,并且示出了从获取位置210B获取的附加示例构成图像250d,诸如用作获取的构成图像序列中的第四构成图像。在该示例中,在获取位置210B处从拍摄先前构成图像250c的方向处发生了少量的附加顺时针旋转,使得构成图像250d与先前构成图像250c仅有少量不同——具体地,指示符253d1示出了作为构成图像250c的一部分的不再是构成图像250d的一部分的部分,而指示符253d2指示构成图像250d的不是构成图像250c的一部分的附加部分。为了简洁起见,在图2D中未示出在图2A中示出的各种数字标签,但是图2D示出了在房间中由于在获取位置210B处的旋转而进入构成图像的新物品(桌子193)。此外,在图2D中还示出了视觉指示符220d,其与构成图像250d的中间20%的切片相对应,该中间20%的切片可以从构成图像250d裁剪并用作全景图像生成过程的一部分,如关于图2H进一步讨论的。
图2E继续图2A至图2D的示例,并且示出了从获取位置210B获取的附加示例构成图像250e,诸如用作获取的构成图像序列中的第五构成图像。在该示例中,在获取位置210B处从拍摄先前构成图像250d的方向处发生了少量的附加顺时针旋转,使得构成图像250e与先前构成图像250d仅有少量不同——具体地,指示符253e1示出了作为构成图像250d的一部分的不再是构成图像250e的一部分的部分,而指示符253e2指示构成图像250e的不是构成图像250d的一部分的附加部分。为了简洁起见,在图2D中未示出图2A中示出的各种数字标记,但是图2E示出了由于在获取位置210B处的旋转而进入构成图像的附加量的桌子193。此外,在图2E中还示出了视觉指示符220e,其与构成图像250e的中间20%的切片相对应,该中间20%的切片可以从构成图像250e中裁剪并用作全景图像生成过程的一部分,如关于图2H进一步讨论的。
图2F继续图2A至图2E的示例,并且示出了在图1B的房屋198的起居室中沿西南方向拍摄的附加立体图像250f,诸如从获取位置210B拍摄并且作为在该获取位置处针对全360°水平圆获取构成图像的一部分——还显示了方向指示符109f以示出拍摄图像的西南方向。将理解的是,将从获取位置210B获取图2E的图像250e与图2F的图像250f之间的大量其它中间构成图像,并将其用作全景图像生成过程的一部分,但是为了简洁起见,没有示出这种其它中间构成图像。在该示例图像250f中,窗196-2的部分是可见的,沙发191也是可见的,并且视觉水平和竖直房间边界也以类似于图2A的方式可见。该示例图像250f还示出了用于起居室的房间间通道,在该示例中,其是进入和离开起居室的门190-1(图1B将其识别为到房屋的西外部的门)。
图2G继续图2A至图2F的示例,并且示出了在图1B的房屋198的起居室中沿西北方向拍摄的附加立体图像250g,诸如从获取位置210B拍摄并且作为在该获取位置处针对全360°水平圆获取构成图像的一部分——还显示了方向指示符109g以示出拍摄图像的西北方向。将理解的是,将从获取位置210B获取图2F的图像250f与图2G的图像250g之间的大量其它中间构成图像,并将其用作全景图像生成过程的一部分,但是为了简洁起见,没有示出这种其它中间构成图像。在该示例图像250g中,窗196-1之一的一小部分与窗196-2的部分一起是可见的。此外,在图像250g中以类似于图2A的方式可见水平和竖直房间边界。还将理解的是,在图2G的图像250g之后并且在返回到从获取位置210B起的与图2A的图像250a相对应的角度方向之前(或者刚好在到达图像250a之前的最后一个角隙),将从获取位置210B获取大量的附加中间构成图像,并且将其用作全景图像生成过程的一部分,但是为了简洁起见,也不示出这种其它附加中间构成图像。
图2H继续图2A至图2G的示例,并且示出了信息290h,其示出了已经被选择和裁剪以供组合使用的构成图像的序列,作为从获取位置210B生成全景图像的一部分。在该示例中,用于图像角隙1(在该示例中总共540个角隙)的第一选择的构成图像是图2A的图像250a,并且用于图像角隙540的最后选择的构成图像是图像252(其与略小于全360°的旋转量相对应),在该示例中,那些第一选择的构成图像和最后选择的构成图像没有被裁剪。此外,所选择的构成图像包括用于附加图像角隙的多个附加裁剪的构成图像切片251(例如,在该使用总共540个角隙的示例中为538个附加裁剪的构成图像切片),其中图像切片2至图像切片5与图2B至图2E的图像250b-250e的部分220b-220e相对应,其中图像切片k至图像切片k+2作为图2F的图像250f的一部分可见,但是与在类似于图像250F的略微不同的角度方向上捕获的三个组成图像相对应,并且图像p与图2G的图像250g相对应。将理解的是,将获取各种附加的构成图像切片并将其用作全景图像生成过程的一部分,并且在其它实施方式和情况中可以针对不同的构成图像的使用不同的裁剪量。
图2I还示出了关于从这种构成图像生成全景图像的过程的信息290i,如本文别处更详细讨论的。在一个具体实施方式中,用于生成这种全景图像而执行的处理以以下非排他性方式执行,尽管其它实施方式可以使用其它处理步骤:
-捕获构成图像(例如,相机帧)和相应的IMU设备取向传感器数据
可以在移动设备以60Hz(60个图像/秒)旋转期间,每360度旋转使用540个全HD构成图像(例如,分辨率为1080p,诸如具有1920×1080个像素),或者使用540个或更少的4K分辨率的超宽120度构成图像(例如,具有3840个像素乘2160个像素)来执行构成图像捕获。使用的存储器的量例如限于~600MB。
-针对每个1/540角隙选择最佳构成图像(例如,诸如通过考虑诸如聚焦和/或偏斜的因素从2-3个候选构成图像中选择最佳构成图像),但是如果没有可接受的候选可用,则偶尔不用构成图像填充隙。在一些实施方式中,基于移动设备特性(包括可用RAM和处理器速度),可以改变捕获的构成图像的分辨率和/或使用的构成图像的量(例如,随着移动设备的旋转捕获构成图像的频率)。
-基于设备的运动选择性地裁剪构成图像,以便丢弃平滑移动期间的不需要的数据,同时保留跳跃期间的附加的上下文。因此,虽然大多数构成图像的中间20%可以被裁剪和使用,但是其它构成图像可以包括更多(例如,所有,诸如对于第一构成图像和最后构成图像,用于在结束时使用环绕对准),包括如果出现异常(例如,如果存在空的相邻隙;如果用户必须重新捕获构成图像,包括是否存在违反捕获启发式的捕获中断,诸如如果用户移动太快、上仰或下俯太远、或倾斜太远,这导致系统引导用户停止和返回,在这种情况下,在该中断之前的最后构成图像和在该中断之后的第一构成图像将被较少地裁剪;如果在捕获期间在某些点处快速发生旋转或系统计算资源使用异常高,这阻止可用作给定角隙的候选者的任何构成图像的捕获,则基于多少隙被“跳过”来保留更多的先前和/或随后的构成图像;如果旋转非常缓慢地移动并且多个捕获的构成图像被丢弃,则基于丢弃多少中间构成图像来保留更多的构成图像;等等)。
-维护捕获的构成图像的队列,异步地对这些构成图像应用压缩(例如,以限制存储器使用)并且对诸如帧缓冲器和其它元数据的辅助处理数据应用压缩。此外,可以以后在配准阶段和/或最终拼接阶段期间根据需要对数据进行解压缩,包括维护最近最少使用的高速缓存,其中具有用于10-50个解压缩的构成图像的数据。所使用的压缩可能是有损耗的(例如,JPEG或HEIC)。在一些实施方式中,所使用的压缩算法和/或解压缩的构成图像的高速缓存的大小可以动态地变化,诸如基于移动设备特性(例如,可用RAM、处理器速度、压缩加速的存在等)动态地变化,并且可以在具有较低优先级的辅助线程上执行压缩,以允许其性能基于可用计算资源而变化,包括管理两个或更多并发线程的协调,同时它们的相对吞吐量基于处理器速度而变化。
-(配准阶段)同时,对裁剪的构成图像执行图像配准,以便确定它们的相对对准,包括在构成图像捕获期间开始并且异步地继续,以便最大化计算资源利用率并减少等待时间,直到最终结果可用。这可以包括计算相邻条带之间的变换(例如,考虑到相邻构成图像之间的空间接近度,使用诸如平移运动模型之类的简单运动模型来对准它们)——相邻构成图像之间(除了第一构成图像和最后构成图像之间之外)的这种运动模型使用平移(考虑到0.67°的小运动,这是合理近似;并且类似于假定推扫式相机模型,其中像素的线性阵列在垂直于其长度的方向上移动并且通过级联1D图像来构建图像),并且在一些实施方式中还可以使用IMU运动数据作为两个或更多个构成图像的平移运动对准的一部分(例如,对于为相邻角隙选择的构成图像切片)。这种图像是多视角的,因为图像的不同部分具有不同的相机中心,使用来自每个构成图像的细条(第一构成图像和最后构成图像除外,因为第一构成图像和最后图像之间可能有较大的运动)。在一些实施方式中,在捕获图像时,对其进行下采样(一次)和裁剪,并且然后与先前裁剪的构成图像配准,并在捕获构成图像时即时计算相邻图像之间的相应相对变换——在一些这种实施方式中,如果图像中没有足够的纹理(例如,图像是无纹理的墙壁),则运动默认为水平平移,该水平平移等于给定相机焦距的理论位移。接下来,这些相对变换被级联以在每个图像条带和第一构成图像之间产生绝对变换,其被用于估计全景的像素长度。
-(最终拼接阶段)在用户完成了完整的旋转并且已经完成了配准步骤之后,执行第二拼接步骤,以将捕获和配准的图像组合为完整的全景。最终拼接阶段可以包括使用整个构成图像来计算第一构成图像与最后构成图像之间的变换用于配准(例如,基于光流和/或基于(2D点)特征的配准而不是直接密集配准,包括在扭曲之前使用检测到的相应点和从一个构成图像到另一构成图像的运动,来产生单应性(2D立体变换)HN-1,0;基于根据样条的模型;基于其它运动模型;等等)。在一些实施方式中,由于中心竖直条带中的像素被混合以在图像的中心处提供更紧密的对准,因此位于图像外围处的相应点被剔除。由于在第一构成图像与最后构成图像之间可能存在视点的偏移,为了减轻回路闭合中的混合伪像,在这些图像之间应用全构成图像光流,以使它们朝向彼此扭曲。最终拼接阶段还可以包括通过计算第一构成图像与最后构成图像之间的漂移误差并在其它构成图像上分布漂移误差来闭合回路。特别地,将第一构成图像映射至最后构成图像(tN-1,0)的级联平移和全构成图像单应性(HN-1,0)非常不可能相对应。对于回路闭合,通过首先计算在变换最后构成图像中的图像的角点时的误差(表示为dA、dB、dC和dD)来更新用于构成图像的级联变换,使得用于最后构成图像的级联变换与HN-1,0一致,其中用于构成图像的每个级联变换的变换角点的位移由dA/(N-1)、dB/(N-1)、dC/(N-1)和dD/(N-1)调整,其中N是构成图像和/或图像角隙的数量。然后通过计算导致调整的角点的单应性来更新调整的变换。最终拼接阶段还可以包括通过找到重叠的相邻构成图像之间的强度变化来平滑曝光(即,减少高频曝光变化),诸如如果相机在手动旋转时自动曝光,则在邻近的构成图像之间是否存在强度的显著变化,其中基于竖直强度的伪像很明显(尽管使用了下一步骤中描述的混合)。对于每对相邻图像,使用计算的运动来找到它们之间的重叠。计算重叠区域中的平均颜色,由此计算强度比率。这些比率在整个全景中级联,并且以与空间变换类似的方式对回路闭合进行调整。不同之处在于使用了锚定构成图像(例如,沿着全景等间隔的五个锚定构成图像),其中保留了原始强度,这显著地减少了颜色漂移。最终拼接阶段还可以包括平滑空间重叠以通过混合(羽化)相邻条带来减少伪像,从而通过使用用于α混合的S曲线轮廓混合(羽化)条带来隐藏相邻构成图像之间的轻微变化(由于视差或曝光变化)。由于矩形被扭曲成某一任意四边形,因此羽化算法由于单应性而变得复杂。附加的簿记是通过计算变换的角点、使用柏生汉姆(Bresenham)算法来计算限定扭曲的足迹的线段、并使用足迹的知识进行混合来完成的。最终拼接阶段还可以包括通过计算排除/忽略未覆盖(黑色)区域的边界框来执行附加裁剪,诸如通过使用排除空白区域的最大边界框来执行附加裁剪。通过找到扭曲图像的足迹的联合(以与上述用于计算用于混合的足迹的步骤类似的方式)并利用非空白像素计算最大竖直范围来提取边界框。
-在交互式捕获完成之后但在第一拼接步骤和第二拼接步骤已经完成之前的任何时间,如果MICA系统(或移动设备)确定或被指示暂停全景图像生成的处理(例如,回收短期存储器和处理计算资源,诸如为了捕获第二全景或背景;关闭;等等),则将压缩的捕获数据写入长期存储,并且然后可以在以后使用该数据存档重新开始处理。
将理解的是,已经针对与图2I相对应的该示例描述提供了各种细节,作为出于说明目的而包括的非排他性示例,并且可以在没有一些或所有这些细节的情况下以其它方式执行其它实施方式。
图2J继续图2A至图2I的示例,并且示出了与在图1B的获取位置210处捕获的图像(例如,关于图2A至图2H讨论的示例图像)分开的附加图像255i。在该示例中,图像255i是在方向273上从起居室的北中心的获取位置拍摄的120°超宽图像,尽管出于上下文目的示出了总共180°的水平覆盖(超宽图像之外的附加60°),并且示出了近似与图2G的构成图像250g相对应的示例250g’。如本文别处更详细地讨论的,在一些实施方式中,所使用的构成图像中的一些或所有可以是诸如图像255i的超宽图像——在这种实施方式中,超宽构成图像可以以类似于或不同于其它构成图像的方式来裁剪(例如,以使用这种超宽图像中可用的附加竖直信息,但是对于大多数构成图像切片来说使用相同的中间20%的裁剪;使用更窄或更宽的中间裁剪切片;等等)。
图2K示出了用于房屋198的2D平面图的一个示例235k,诸如可以在GUI中呈现给终端用户,其中起居室是房屋的最西边的房间(如方向指示符209所反映的)。将理解的是,在一些实施方式中,可以类似地生成和显示具有墙壁高度信息的3D或2.5D计算机模型,作为这种2D楼层平面图的补充或替代。在该示例中,在2D楼层平面图235k上示出了各种类型的信息。例如,这种类型的信息可以包括以下各项中的一个或多个:添加到一些或所有房间的房间标签(例如,用于起居室的“起居室”);为一些或所有房间添加的房间尺寸;为一些或所有房间添加的灯具或器具或其它内置特征的视觉指示;为一些或所有房间的附加类型的关联和链接信息(例如,终端用户可选择用于进一步显示的其它全景图像和/或立体图像、终端用户可选择用于进一步呈现的音频注释和/或声音记录等)的定位添加的视觉指示;为一些或所有房间的门和窗添加的视觉指示;内置特征(例如,厨房岛台)的视觉指示;安装的灯具和/或器具(例如,厨房器具、浴室物品等)的视觉指示;外观和其它表面信息(例如,安装的诸如地板覆盖物或墙壁覆盖物或表面覆盖物的物品的颜色和/或材料类型和/或纹理)的视觉指示;从特定窗或其它建筑位置的视野和/或建筑外部的其它信息(例如,外部空间的类型;存在于外部空间中的物品;其它相关联的建筑或结构,诸如棚屋、车库、水池、甲板、露台、走道、花园等)的视觉指示;标识用于一种或多种类型的信息的视觉指示符的关键字或图例269;等等。当作为GUI的一部分显示时,一些或所有这样示出的信息可以是用户可选择的控件(或与这种控件相关联),其允许终端用户选择和显示相关联的信息中的一些或所有(例如,选择用于获取位置210B的360°全景图像指示符以查看该全景图像的一些或所有(例如,以类似于图2A-2H的方式)。此外,在该示例中,添加用户可选择控件228以指示楼层平面图显示的当前楼层,并允许终端用户选择要显示的不同楼层——在一些实施方式中,楼层或其它级的改变也可以直接从楼层平面图进行,诸如经由选择所示出的楼层平面图中的相应连接通道(例如,到楼层2的楼梯)。将理解的是,在一些实施方式中可以添加各种其它类型的信息,在一些实施方式中可以不提供所示出的类型的信息中的一些,并且在其它实施方式中可以以其它方式显示和选择链接的和相关联的信息的视觉指示和用户选择。
除了示例楼层平面图235k之外,图2K还示出了与为示例性建筑198的获取位置210A-210J生成的全景图像相对应的信息205k,并且特别地是用于为它们创建一组互连链接的全景图像,包括在共同全局坐标系或其它共同参照框架中为获取位置210A-210J及其对应的全景图像确定的相对定位信息。如本文别处更详细讨论的,在各种实施方式中,可以以各种方式确定两个或更多个全景图像之间的相对定位信息,包括通过分析关于全景获取的元数据和/或通过分析相应的全景图像以确定在多个全景图像中可见的共同对象或特征。将注意到的是,随着彼此可见的获取位置的数量增加,特定获取位置的位置的精度可以类似地增加,诸如对于其中相对定位信息至少部分地基于匹配全景图像中的相应对象或其它特征来确定的实施方式。在该示例中,在获取位置210D处获取的全景图像可以是仅从一个其它获取位置(获取位置210C)可见的,从而关于获取位置210D的定位可能存在一些不确定性(例如,获取位置210C和210D之间的角度或方向已知,但是获取位置210C和210D之间的距离具有增加的不确定性)。在其它实施方式中,诸如当链接信息被用于确定相对定位时,和/或如果关于维度的其它信息可用(例如,来自可用的其它建筑元数据、来自对图像中已知对象的大小的分析等),则可以减小或消除这种不确定性。在这种情况下,尽管获取位置210I和210J在建筑外部,但是到这些获取位置210I和210J的互连仍然被确定并包括在互连链接的全景图像组中。将理解的是,关于这种互连链接的全景图像组的信息可以以各种方式显示或以其它方式呈现,诸如呈现与信息205k的图像类似的图像并允许终端用户选择显示的获取位置的视觉指示以查看用于该获取位置的相应全景图像,选择全景图像中用于初始显示或以其它方式呈现的开始图像,其包括指向一个或多个其它全景图像的方向上的可见链接(例如,指向与所示出的链接215相对应的方向),终端用户可以选择该链接来查看相应的链接的全景图像等。
与提供用于生成楼层平面图和关联信息和/或呈现楼层平面图和关联信息的MIGM系统或相关系统的至少一些这种功能的系统的实施方式相关的附加细节被包括在以下文件中:于2018年11月14日提交的题为“Automated Mapping Information Generation FromInter-Connected Images(从互连图像自动生成制图信息)”的第16/190,162号美国非临时专利申请中(其包括示例楼层地图生成管理器(或FMGM)系统的公开,该系统通常涉及用于使用在建筑中和建筑周围获取的图像来生成和显示楼层地图或其它楼层平面图的自动操作);于2019年11月12日提交的题为“Presenting Integrated Building InformationUsing Three-Dimensional Building Model(使用三维建筑模型呈现集成建筑信息)”的第16/681,787号美国非临时专利申请中(其包括示例FMGM系统的公开,该系统通常涉及用于显示建筑的楼层地图或其它楼层平面图以及关联信息的自动操作);于2020年4月6日提交的题为“Providing Simulated Lighting Information For Three-DimensionalBuilding Model(为三维建筑模型提供模拟照明信息)”的第16/841,581号美国非临时专利申请中(其包括示例FMGM系统的公开,该系统通常涉及用于显示建筑的楼层地图或其它楼层平面图以及关联信息的自动操作);于2020年10月26日提交的题为“Generating FloorMaps For Buildings From Automated Analysis of Visual Data of The Buildings'Interiors(从建筑内部的视觉数据的自动分析生成建筑的楼层平面图)”的第17/080,604号美国非临时专利申请中(其包括示例VTFM系统的公开,该系统通常涉及使用在建筑中和在建筑周围获取的视觉数据生成建筑的楼层地图或其它楼层平面图的自动操作);以及于2020年3月2日提交的题为“Automated Tools For Generating Mapping Information ForBuilding(用于生成建筑的制图信息的自动工具)”的第16/807,135号美国非临时专利申请中(其包括示例MIGM系统的公开,该系统通常涉及使用在建筑中和建筑周围获取的图像来生成建筑的楼层地图或其它楼层平面图的自动操作);于2020年10月13日提交的题为“Automated Tools For Generating Building Mapping Information(用于生成建筑制图信息的自动工具)”的第17/069,800号美国非临时专利申请中;以及于2020年9月4日提交的题为“Automated Analysis of Image Contents to Determine The AcquisitionLocation of The Image(自动分析图像内容以确定图像的获取位置)”的第17/013,323号美国非临时专利申请中(其包括示例MIGM系统的公开,该系统通常涉及使用在建筑中和建筑周围获取的图像来生成建筑的楼层地图或其它楼层平面图的自动操作);以上文件中的每个都通过引用整体并入本文中。此外,与提供用于使用获取的图像和/或生成的楼层平面图的系统的至少一些这种功能的系统的实施方式相关的其它细节被包括在2021年2月25日提交的题为“Automated Usability Assessment of Buildings Using Visual Data ofCaptured In-Room Images(使用捕获的室内图像的视觉数据对建筑进行自动可用性评估)”的第17/185,793号美国非临时专利申请中(其包括示例建筑可用性评估管理器(或BUAM)系统的公开,该系统通常涉及用于分析来自在建筑的房间中捕获的图像的视觉数据的自动操作,以评估建筑的房间的房间布局和其它可用性信息,并且可选地评估整个建筑的房间布局和其它可用性信息,并且随后以一种或多种其它自动方式使用所评估的可用性信息);以上文件中的每个都通过引用整体并入本文中。
已经参照图2A至图2K提供了各种细节,但是将理解的是,所提供的细节是出于说明的目的而包括的非排他性示例,并且可以在没有一些或所有这种细节的情况下以其它方式执行其它实施方式。
图3是示出一个或多个移动图像获取和分析设备360、一个或多个服务器计算系统300、以及一个或多个客户端计算设备390以及可选地其它可导航设备395的实施方式的框图,每个移动图像获取和分析设备360运行MICA(移动图像获取和分析)系统368的实现方式以生成获取位置处的全景图像,一个或多个服务器计算系统300存储并随后使用来自生成过程的生成的全景图像和关联信息,一个或多个客户端计算设备390以及可选地其它可导航设备395以一种或多种方式获得并使用全景图像和/或通过使用那些生成的全景图像产生的其它信息。在所示出的实施方式中,服务器计算系统300可以可选地进一步运行以各种方式使用生成的全景图像的一个或多个附加程序,诸如可选的MIGM系统340和/或可选的建筑地图查看器系统345和/或一个或多个可选的程序335,而客户端计算设备390中的一个或多个可以类似地运行MIGM系统(未图示)和/或建筑地图查看器系统(未图示),作为服务器计算系统300的补充或替代。移动设备和服务器计算系统以及其它计算系统和设备,连同MICA和/或MIGM和/或建筑地图查看器系统一起,可以使用形成电子电路的多个硬件部件来实现,该电子电路适于并且配置为在组合操作时执行本文中描述的一些或所有技术。
在所示出的实施方式中,每个服务器计算系统300包括一个或多个硬件中央处理单元(“CPU”)或其它硬件处理器305、各种输入/输出(“I/O”)部件310、存储320和存储器330,所示出的I/O部件包括显示器311、网络连接312、计算机可读介质驱动313和其它I/O设备315(例如,键盘、鼠标或其它定点设备、麦克风、扬声器、GPS接收器等)。每个移动设备360可以具有与服务器计算系统的部件类似的部件,包括附加示出的部件(例如,一个或多个成像系统365、一个或多个IMU硬件传感器363等),尽管在该示例中仅示出了一个或多个硬件处理器361、I/O部件362、存储364和存储器367,其中存储器367运行MICA应用368,并且可选地运行浏览器369或其它程序,并且其中存储364存储各种数据(未示出)。其它计算设备和系统390和395可以具有类似的硬件部件和软件模块,但是为了简洁起见,没有示出具体的这种部件和模块。
在所示出的实施方式中,移动设备360和运行中的MICA应用368、服务器计算系统300以及运行中的MIGM和建筑地图查看器系统340-345(如果有的话)、以及其它计算系统和设备390和395可以相互通信,并且与其它计算系统和设备(未示出)通信,诸如经由一个或多个网络399(例如,互连网、一个或多个蜂窝电话网络等),包括用于运行MICA应用以生成和提供全景图像,用于运行MIGM系统以使用生成的全景图像来生成和提供楼层平面图和其它与制图相关的信息,用于用户客户端计算设备390接收和呈现生成的建筑信息(例如,生成的全景图像,诸如一组互连链接的全景图像;楼层地图或其它与制图相关的信息;等等;以及可选地诸如通过运行建筑地图查看器系统(未示出)的副本的其它相关联的图像和/或其它相关信息),用于其它可导航设备395以可选地接收和使用楼层地图以及可选地接收和使用其它生成的信息以用于导航目的(例如,供半自主或完全自主的车辆或其它设备使用)等。在其它实施方式中,可以在较少计算系统中组合所描述的功能中的一些,诸如在单个系统或设备中组合MICA系统340和建筑地图查看器系统345,在运行在移动设备上的单个系统中组合移动设备360的MIGM系统340和MICA应用,在运行在移动设备上的单个系统中组合MICA应用368和建筑地图查看器系统,等等。
在所示出的实施方式中,MICA应用368的实施方式在移动设备360的存储器367中运行,以便执行所描述的技术中的至少一些,诸如通过使用处理器361以配置处理器361和移动设备360以执行实现那些描述的技术的自动操作的方式来运行系统368的软件指令。所示出的MICA系统的实施方式可以包括未示出的一个或多个模块,以各自执行MICA应用的部分功能,并且存储器还可以可选地运行一个或多个其它程序(例如,浏览器369;MIGM系统和/或建筑地图查看器系统的副本(未示出),诸如作为服务器计算系统300上的系统340-345的补充或替代;等等)。MICA应用368还可以在其操作期间在存储368上(例如,在一个或多个数据库和/或队列和/或高速缓存和/或其它数据结构中)存储和/或检索各种类型的数据,如本文别处更详细讨论的。类似地,服务器计算系统300上的存储320可以类似地存储各种信息(例如,在一个或多个数据库或其它数据结构中),诸如从一个或多个运行中的MICA应用接收的生成的全景图像和/或其它相关联的信息324,以及可选地存储各种类型的用户信息322,楼层平面图和其它相关联的信息326(例如,生成并保存的2.5D和/或3D模型,生成并保存的全景图像的互连链接组等,以及用于与这种楼层平面图和/或互连链接的全景图像组一起使用的附加信息,诸如建筑和房间尺寸、附加图像、注释信息等),和/或各种类型的可选附加信息329(例如,与一个或多个建筑内部或其它环境的呈现或其它使用相关的各种分析信息)。
还将理解的是,移动设备360和计算系统300以及包括在图3中的其它系统和设备仅仅是说明性的,并不旨在限制本发明的范围。相反,在一些实施方式中,系统和/或设备可以各自包括多个交互计算系统或设备,并且可以连接到未具体示出的其它设备,包括经由蓝牙通信或其它直接通信、通过诸如互连网的一个或多个网络、经由网(Web)、或经由一个或多个专用网络(例如,移动通信网络等)。更一般地,设备或其它计算系统可以包括硬件的任何组合,可选地当用特定软件指令和/或数据结构编程或以其它方式配置时,该硬件可以交互并执行所描述类型的功能,包括但不限于台式计算机或其它计算机(例如,平板电脑、平板等)、数据库服务器、网络存储设备和其它网络设备、智能电话和其它蜂窝电话、消费电子设备、可穿戴设备、数字音乐播放器设备、手持游戏设备、PDA、无线电话、互连网设备和包括适当通信能力的各种其它消费产品。此外,在一些实施方式中,所示出的MICA应用368提供的功能可以分布在各种模块中,可以不提供MICA应用368的所描述的功能中的一些,和/或可以提供其它附加功能。
还将理解的是,尽管各种项被示出为在使用时存储在存储器中或存储在存储上,但是出于存储器管理和数据完整性的目的,这些项或它们的部分可以在存储器和其它存储设备之间传送。可替代地,在其它实施方式中,软件系统和/或模块中的一些或所有可以在另一设备上的存储器中运行,并经由计算机间通信与所示出的计算系统通信。因此,在一些实施方式中,当由一个或多个软件程序(例如,由在移动设备368上运行的MICA应用38)和/或数据结构配置时,所描述的技术中的一些或所有可以由包括一个或多个处理器和/或存储器和/或存储的硬件装置来执行,诸如通过运行一个或多个软件程序的软件指令和/或通过存储这种软件指令和/或数据结构,以及诸如执行如在流程图和本文的其它公开中描述的算法。此外,在一些实施方式中,系统和/或模块中的一些或所有可以以其它方式来实现或提供,诸如通过由在固件和/或硬件中部分或全部实现的一个或多个装置(例如,而不是由配置特定CPU或其它处理器的软件指令整体或部分实现的装置)构成,包括但不限于一个或多个专用集成电路(ASIC)、标准集成电路、控制器(例如,通过运行适当的指令,并且包括微控制器和/或嵌入式控制器)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)等。模块、系统和数据结构中的一些或所有还可以存储(例如,作为软件指令或结构化数据)在非暂时性计算机可读存储介质中,诸如硬盘或闪存驱动器或其它非易失性存储设备、易失性或非易失性存储器(例如,RAM或闪存RAM)、网络存储设备或便携式介质制品(例如,DVD盘、CD盘、光盘、闪存设备等),以待由适当的驱动器或经由适当的连接来读取。在一些实施方式中,系统、模块和数据结构还可以经由生成的数据信号(例如,作为载波或其它模拟或数字传播信号的一部分)在各种计算机可读传输介质上传输,该计算机可读传输介质包括基于无线和基于有线/线缆的介质,并且可以采用各种形式(例如,作为单个或多路复用模拟信号的一部分,或作为多个离散数字分组或帧)。在其它实施方式中,这种计算机程序产品也可以采用其它形式。因此,本公开的实施方式可以用其它计算机配置来实现。
图4示出了MICA系统例程400的实施方式的示例流程图。该例程例如可以由图1A的MICA系统140、图3的MICA应用368、和/或如本文以其它方式描述的MICA系统执行,诸如使用在建筑内的获取位置处获取的其它构成图像生成这些获取位置处的360°全景图像或其它结构,诸如在捕获构成图像的移动设备(例如,智能电话或平板计算机)上部分或全部执行全景图像生成(例如,在捕获构成图像的移动设备上),并且诸如供随后生成相关的楼层平面图和/或其它制图信息使用。尽管关于以特定方式在特定获取位置获取特定类型的图像来讨论示例例程400的部分,但是将理解的是,可以使用这种或类似的例程来获取视频或其它数据(例如,音频),作为这种图像的补充或替代。此外,虽然所示出的实施方式获取并使用来自目标建筑的内部的信息,但是将理解的是,其它实施方式可以针对其它类型的数据执行类似的技术,包括针对非建筑结构和/或针对在一个或多个感兴趣的目标建筑外部的信息。此外,在一些实施方式中,一些例程可以在用户用来获取图像信息的移动设备上运行,而其它例程可以在一个或多个其它计算设备上运行(例如,由远离这样的移动设备的服务器计算系统和/或由在移动设备的位置处的一个或多个其它计算设备运行,诸如以使用在该位置处的本地互连的分布式对等方式)。
例程的示出的实施方式在框405处开始,在框405处接收指令或信息。在框410,例程确定接收的指令或信息是否指示获取表示建筑内部的数据,并且如果不是,则继续到框490。否则,例程进行到框412以接收在第一获取位置处开始图像获取过程的指示(例如,来自移动图像获取设备的用户)。在框412之后,例程进行到框415,以便在感兴趣的目标建筑内部中的获取位置处获取图像信息的移动设备上执行针对获取位置生成360°全景图像的子例程,诸如提供围绕竖直轴的至少360°的水平覆盖,并且从子例程接收生成的全景图像——这种子例程例如可以由MICA系统的处理模块执行,这种子例程的一个示例将参照图5进一步描述。例程400还可以可选地在框415中从子例程获得信息,包括来自用户的关于生成的全景图像的获取位置和/或周围环境的注释和/或其它信息,和/或在框422中在获取位置之间的移动期间从用户获得关于周围环境的其它这种信息,诸如用于以后呈现关于获取位置和/或周围环境的信息。
在框415完成之后,例程继续到框420,以诸如基于移动设备的用户提供的相应信息来确定是否存在更多要在该处获取图像的获取位置。如果是,则例程继续到框422,以便在移动设备沿着远离当前获取位置的行进路径并且朝向建筑内部中的下一获取位置移动期间,可选地启动链接信息(诸如加速度数据)的捕获。如本文别处描述的,捕获的链接信息可以包括在这种移动期间记录的附加传感器数据(例如,来自移动设备上或由用户以其它方式携带的一个或多个IMU或惯性测量单元,和/或附加图像或视频信息)。可以响应于来自移动设备的用户的明确指示或者基于对从移动设备记录的信息的一个或多个自动分析来执行启动对这种链接信息的捕获。此外,在一些实施方式中,在移动到下一获取位置期间,该例程还可以可选地监测移动设备的运动,并且向用户提供关于移动设备的运动、被捕获的传感器数据和/或视频信息的质量、相关联的照明/环境条件、捕获下一获取位置的可取性以及捕获链接信息的任何其它适当方面的一个或多个校正引导提示。类似地,例程可以可选地从用户获得关于行进路径的注释和/或其它信息,诸如用于以后呈现关于该行进路径的信息或所得到的全景间连接链接。在框424中,例程确定移动设备已经到达用作新的当前获取位置的下一获取位置(例如,基于来自用户的指示、基于用户的向前移动停止至少预定时间量等),并且返回到框415,以便执行用于新的当前获取位置的获取位置图像获取活动。
相反,如果在框420中确定没有更多的要在该处获取当前建筑或其它结构的图像信息的获取位置,则例程进行到框481,以可选地分析建筑或其它结构的获取位置信息,诸如识别要在建筑内部获取的可能的附加覆盖(和/或其它信息)。例如,诸如如果确定记录的信息的一个或多个片段具有不充分的或不期望的质量,或者看起来没有提供建筑的完全覆盖,MICA系统可以向用户提供关于在捕获多个获取位置期间获取的信息的一个或多个通知,并且可选地提供相应的链接信息。在框481之后,例程继续到框483,以在获取的360°全景图像随后用于生成相关的制图信息之前,可选地对获取的360°全景图像进行预处理,诸如使用特定格式和/或具有限定类型(例如,使用球形格式、使用立体线性格式等),其以特定方式呈现信息。在框483之后,例程继续到框485,以可选地诸如基于获取位置对之间的方向确定获取位置彼此之间的相对位置,获取位置对是根据对用于这两个获取位置的全景图像的一个或多个图像分析以识别匹配的房间特征和/或对捕获的链接信息(无论是在这两个获取位置之间还是在包括这两个获取位置的多个获取位置的序列之间)的一个或多个分析而确定的——关于获取位置的定位间信息的这种确定和相应全景间链接的生成的附加细节被包括在本文别处,以及可选地确定距离信息,距离信息然后被用于确定获取位置的实际位置以及获取位置之间的距离。在框488中,图像和任何相关联的生成或获得的信息被存储以供以后使用。图6A至图6B示出了用于从这种生成的全景信息生成建筑内部的楼层平面图表示的例程的一个示例。
相反,如果在框410中确定在框405中陈述的指令或其它信息不是要获取表示建筑内部的图像和其它数据,则例程继续到框490以适当地执行任何其它指示的操作,诸如任何内务处理任务,以配置要在系统的各种操作中使用的参数(例如,至少部分地基于由系统的用户指定的信息,诸如捕获一个或多个建筑内部的移动设备的用户、MICA系统的操作员用户等)、响应对生成和存储的信息的请求(例如,识别一组或多组各自表示与一个或多个指定的搜索标准相匹配的建筑或建筑的一部分的互连链接的全景图像、与一个或多个指定的搜索标准相匹配的一个或多个全景图像等)、获得并存储关于系统的用户的其它信息等。
在框488或490之后,例程进行到框495以确定是否继续,诸如直到接收到要终止的明确指示,或者仅在接收到要继续的明确指示时才继续。如果确定继续,则例程返回到框405以等待附加的指令或信息,并且如果不是,则进行到步骤499并结束。
图5示出了设备上全景图像获取/生成模块例程500的流程图的示例实施方式。该例程例如可以由图1A的MICA系统140的处理模块145中的一个、图3的MICA应用368、和/或如相对于图2A至图2K和本文别处所描述的MICA系统来运行,诸如在移动设备(例如,智能电话)上执行自动操作,该操作涉及从建筑中的获取位置在多个方向上获取构成图像的序列(例如,具有360度的水平覆盖)、以及组合构成图像的部分或全部以从获取位置生成全景图像,其中全景图像生成活动的一些或所有与构成图像的获取以实时或近似实时的方式同时发生。例程500可以在各种实施方式和情况中以各种方式调用,包括从图4的框415调用。在图5的示例实施方式中,建筑是房屋,并且在也捕获图像的移动设备上执行操作的特定组合,但是在其它实施方式中,可以使用其它操作以其它方式针对其它类型的结构或非结构位置生成全景图像,包括在一些情况下,在一个或多个其它设备(作为捕获图像的移动设备的补充或替代,以及无论是在移动设备本地的位置处,还是远离移动设备的位置并且通过一个或多个计算机网络与移动设备的位置分开)上执行操作中的至少一些,如本文别处所讨论的。
例程的示出的实施方式在框510处开始,在框510处,当移动设备围绕竖直轴转动一圈时(例如,由将他或她的身体转动一圈的用户持有、由移动设备或者持有或支承移动设备的另一设备的电机旋转等),移动设备在一段时间内在房屋中的获取位置处获取构成图像的序列——获取活动例如可以包括,对于围绕360°圆的总共540个角隙(每个0.67°的水平旋转),在几秒的时间段期间,每秒获取60张图像。在至少一些实施方式和情况中,获取的构成图像可以是移动设备可附加地或替代地用于生成视频的帧,诸如每个构成图像是以1080p分辨率(例如,1920像素乘1,080像素)或另一分辨率(例如,2K、4K等)获取的全HD图像和/或每个构成图像是超宽图像(例如,具有约105°至120°的水平覆盖)且分辨率为1080p或2倍1080p或4倍1080p(例如,3840像素乘2160像素、4920像素乘2800像素等)。此外,该例程还在获取构成图像期间从移动设备获取其它传感器数据,诸如IMU数据,并可选地获取其它数据,并且将该其它获取的传感器数据与同时获取的相应的一个或多个构成图像相关联,诸如用于以后确定为相邻角隙选择的图像切片之间的平移运动量。
在一些实施方式和情况中,例程还可以在获取构成图像序列期间执行附加操作,包括以下中的一个或多个:监测移动设备的运动,并且如果识别到运动问题(例如,运动太快或太慢、运动不流畅、运动不平坦等),则采取校正动作,诸如向用户提供相应的校正引导提示;监测捕获的构成图像的结果,并且如果识别到图像内容问题(例如,图像散焦、图像倾斜或偏斜等),则采取校正动作,诸如向用户提供相应的校正引导提示;等等。虽然在所示出的实施方式中未示出,但是在其它实施方式中,可以执行附加操作作为获取构成图像序列的一部分,包括动态地确定在获取活动期间使用的一个或多个参数(例如,对每个构成图像执行这种动态确定,或在获取过程的开始处执行这种动态确定),诸如基于移动设备的计算资源(例如,可用RAM、处理器速度、本地存储等)来改变获取参数,获取参数包括以下中的一个或多个:构成图像的分辨率、构成图像的总量、构成图像的获取速率、用于获取的多个可用相机或其它成像传感器中的一个(例如,默认或超宽相机镜头、可见光传感器和/或红外光传感器和/或紫外光传感器等)、互补功能(例如,打开或关闭可见光、打开或关闭红外光、打开或关闭紫外光等)、在获取期间使用的变焦量等。
在框510中获取构成图像期间,例程还在框520-530中诸如以近似实时的方式(例如,实时方式,其中框530的操作基本上与框510的操作同时完成,诸如在限定的毫秒量内完成;或者近实时的方式,其中框530的操作与框510的操作同时完成,或者在较小的附加时间段内完成,诸如限定的秒量或分钟量)执行附加的一系列并发操作。
在所示出的实施方式中,并发操作包括框520中的例程,如果可能,选择用于每个角隙(例如,540个角隙中的每个)的构成图像,并且丢弃任何未选择的图像——在一些情况下,针对每个角隙例程可以具有若干候选构成图像供选择,这些候选构成图像是在从获取位置处的开始方向起的相应角旋转量处(或在从该角旋转量的限定变化量内)获取的,而在其它情况下,例程可能仅具有单个候选构成图像供使用,并且在其它情况下,例程可能不具有可行的候选构成图像供使用(例如,如果针对相应的角度旋转根本没有获取到图像,如果相应的图像未能满足一个或多个限定的质量标准等),并且如果这样的话,可能使角隙留空。将理解的是,在不同的情况下,使用的角隙的数量可以变化,诸如获取超宽构成图像的情况下比获取典型宽度的构成图像的情况下使用相同或更少的角隙。
在例程在框520中至少选择了第一构成图像之后,在框525中继续并发操作,其中在框520中选择的每个图像被裁剪,除非应用特殊处理例外,否则在示出的实施方式中的默认裁剪将在水平方向上保留图像的中间五分之一(20%),并且在竖直方向上保留用于该保留的水平条带的所有图像。在示出的实施方式中,特殊处理例外应用于对其保留整个图像的第一选择的构成图像和最后选择的构成图像。如果捕获过程和/或那些构成图像的内容存在问题,则对于第一选择的图像和最后选择的图像之间的所选择的构成图像可能发生其它特殊处理例外,诸如,如果一个或多个紧接在前的角隙没有选择的构成图像、如果当前选择的构成图像反映旋转发生得太快或具有太多倾斜/歪斜的情况、如果当前选择的构成图像作为重新捕获活动的一部分被获取以在先前捕获尝试具有问题的角度方向上重新进行捕获等,则在水平方向上保留选择的构成图像的中间五分之一以上。将理解的是,裁剪可以在不同的情况下改变,例如,如果获取超宽构成图像,则使用水平裁剪的相同角度量或百分比,同时保留从较大的超宽构成图像可获得的附加竖直信息。
在例程在框525中至少对第一选择的构成图像进行裁剪之后,例程还执行框550的操作,以将每个裁剪的图像和相关联的辅助数据(例如,帧缓冲器和可选的其它元数据)存储到队列中,并且异步地检索进入队列的图像和相关联的辅助数据,并将它们压缩以供以后使用。由于在框550中压缩了数据的一些或所有,在框555中例程将压缩的数据提供给长期存储(例如,移动设备上的非易失性存储和/或通过向远程服务器发送数据以供存储和以后使用),并且在例程500的操作在完成之前挂起或关闭的情况下,可选地还以相同的方式处理队列(如果有的话)上的未压缩数据,诸如在框510、520和525已经完成的情况下允许以后使用存储的数据重启,而不在重启期间再次执行框510、520和525。
此外,在例程在框525中已经至少裁剪第一选择的构成图像之后,在框530中还继续并发操作,其中,从第二选择的构成图像开始,每个裁剪的图像与先前裁剪的图像(例如,在接收捕获的构成图像的几毫秒或几秒内,诸如在10秒或更短的时间内)进行对准,诸如使用平移运动分析技术来确定两个裁剪的图像的相应部分。对第一选择的构成图像和最后选择的构成图像执行特殊处理,如关于框535进一步讨论的。框530的操作可以与框550的操作同时但异步地发生,并且在至少一些实施方式和情况中,如果框530的操作需要的话,在框550中压缩的数据可以随后被解压缩,并且被提供用于这些操作。在至少一些这种实施方式中,还维护解压缩数据的高速缓存,使得如果块530中使用的数据在高速缓存中可用,则将从高速缓存中提供该数据,并且将根据限定的高速缓存替换策略将新近解压缩的数据添加到高速缓存中(如果适当,则根据那些高速缓存替换策略移除高速缓存中的其它先前存在的解压缩数据)。
在框530的操作已经完成并且框510的图像获取活动已经完成之后(尽管框550的压缩活动可能已经完成或可能还没有完成),框535中的例程继续执行最终拼接活动以组合所选择的、经裁剪的和已配准的构成图像,以便生成相应的360°全景图像。最终拼接活动包括计算第一选择的图像与最后选择的图像之间的变换,诸如通过使用光流来识别这两个图像中的相应特征。此外,最终拼接活动还可以包括通过计算那些第一图像与最后图像之间的漂移误差并且将该漂移误差分布在所有选择的构成图像上来闭合构成图像的回路。在最终拼接活动期间执行的附加活动可以包括平滑相邻的所选构成图像之间的曝光(例如,通过找到强度的变化),平滑相邻的所选构成图像之间的空间重叠(例如,通过混合相邻的构成图像来减少伪像),确定满足一个或多个限定标准的拼接的构成图像的组合的边界框(例如,排除所选构成图像中未覆盖的范围或区域的最大边界框),以及根据这种边界框裁剪拼接的构成图像的组合,等等。如同框530一样,在至少一些实施方式和情况中,框535的操作可以获取和使用先前在框550中被压缩的解压缩数据,诸如如果其被维护,则从解压缩数据的高速缓存中获取和使用,否则通过根据需要执行解压缩(并且高速缓存根据限定的高速缓存替换策略被维护)。最终拼接活动的结果从构成图像产生用于获取位置的全景图像。
此外,在示出的实施方式中,例程还可以执行框570的操作,以可选地从移动设备的用户获得关于获取位置和/或生成的全景图像的注释或其它信息,诸如用于获取位置和/或生成的全景图像整体和/或特定方向的注释或其它信息(例如,获得的注释或其它信息与生成的全景图像中的特定相应角隙和构成图像相关联)。获得的注释或其它信息是与生成的全景图像相关联的注释或其它信息,诸如用于在以后呈现或以其它方式分析关于全景图像的信息时使用。在示出的实施方式中,在框510的图像获取活动完成之后执行框570的活动,但是在其它实施方式中,框570的活动的一些或所有可以与框510的那些活动同时执行(例如,当用户握持移动设备转动时,在移动设备以自动方式旋转时由用户执行等)。
在框535、550或570之后,例程继续到框580,以返回在框535中生成的全景和任何相关联的信息,包括在框570中获得的任何信息。此外,在至少实施方式中,例程还在框580中将来自框550的压缩数据发送到一个或多个服务器计算系统以供存储和以后使用。在框580之后,例程继续到框599并返回。
将理解的是,示出的例程反映了构成图像的获取过程和得到的全景图像的生成过程,该过程在框580中完全完成并返回相应的信息。在其它实施方式中,例程还可以支持其中完成框510中的构成图像获取过程并且完成框520和框525的并发处理步骤、但是框530和/或框535的全景图像生成过程在完成之前被挂起或停止并且以后被重启的活动。在这种操作中,框550和框555的步骤可以部分地或整个地完成,以压缩来自队列的数据并且存储该数据(连同队列上尚未压缩的数据,如果有的话),以供以后在这种重启期间使用,诸如由执行重启活动的移动设备(或其它设备)从移动设备上的长期存储和/或从远程服务器系统检索该数据(例如,在块555中存储的数据),并根据需要执行框530和/或框535的附加操作(以及如果附加的未压缩数据在挂起或停止时保留在队列中,则可选地执行框550和框555的附加操作,如果先前未执行,则可选地执行框570的附加操作,等等),之后是框580。
图6A至图6B示出了制图信息生成管理器(MIGM)系统例程600的流程图的示例实施方式。该例程例如可以通过运行图1A的MIGM系统160、图3的MIGM系统340和/或如本文别处所描述的MIGM系统来执行,诸如至少部分地基于限定区域的图像生成限定区域的楼层平面图和可选的其它制图信息(例如,3D计算机模型)。在图6A至图6B的示例中,生成的制图信息包括建筑(诸如房屋)的2D楼层平面图和3D计算机模型,但是在其它实施方式中,可以为其它类型的建筑确定和生成其它类型的制图信息并以其它方式使用,如本文别处所讨论的。
例程的示出的实施方式在框605处开始,在框605处接收信息或指令。例程继续到框610,以确定在框605中接收的指令是否指示为所指示的建筑生成绘图信息,并且如果是,则例程继续执行框615-588以这样做,否则继续到框690。
在框615中,例程确定图像信息是否已经可用于建筑,或者是否要获取这种信息。如果在框615中确定要获取信息,则例程继续到框620以获取这种信息,可选地等待一个或多个用户或设备在整个建筑中移动,并且获取建筑的多个房间中的多个获取位置处的全景或其它图像,并且可选地进一步分析图像和/或关于它们的获取的元数据信息,以互连图像,如本文别处更详细地讨论的——图4提供用于执行这种操作的MICA系统例程的一个示例实施方式。相反,如果在框615中确定建筑的图像已经可用,则例程继续到框630,以从建筑的多个房间中的多个获取位置获得现有的全景或其它图像,可选地连同图像的互连信息以及与获取位置之间的移动相关的元数据信息的获取一起,诸如在一些情况下可能已经在框605中连同相应的指令一起提供。
在框620或框630之后,例程继续到框635,以可选地诸如基于获取的注释信息和/或来自一个或多个外部源(例如,在线数据库、由一个或多个终端用户提供的信息等)的信息和/或来自对获取的图像(例如,初始全景图像和/或附加图像,诸如在不同于初始全景图像的获取位置的位置处捕获的附加图像)的分析的信息来获得关于建筑的附加信息(无论是基于在初始图像获取期间和/或之后执行的活动)——这种附加获得的信息例如可以包括建筑的外部尺寸和/或形状、关于内置特征(例如,厨房岛台)的信息、关于安装的灯具和/或器具(例如,厨房器具、浴室物品等)的信息、关于建筑内部位置的视觉外观信息(例如,诸如地板覆盖物或墙壁覆盖物或表面覆盖物的安装的物品的颜色和/或材料类型和/或纹理)、关于从特定窗或其它建筑位置的视野的信息、关于建筑外部的区域的其它信息(例如,其它相关联的建筑或结构,诸如棚屋、车库、水池、甲板、露台、走道、花园等;外部空间的类型;存在于外部空间中的物品;等等)。
在框635之后,例程继续到框650,以便针对具有一个或多个获取位置和相关联的获取图像的建筑内的每个房间,根据在房间内拍摄的图像中的数据确定房间的房间形状,并可选地确定其获取位置在房间内的定位(诸如以自动方式)。在框655中,例程还使用图像中的视觉数据和/或它们的获取元数据来为建筑中的每个房间确定进入或离开房间的任何连接通道(例如,门道和其它房间间墙壁开口,诸如以自动方式)。在框660中,例程还使用图像中的视觉数据和/或它们的获取元数据来为建筑中的每个房间确定房间中除了门道和其它房间间墙壁开口之外的任何附加墙壁元素及其定位(例如,以自动方式),诸如窗、墙壁间边界等。将理解的是,尽管在该示例中框650-560被示出为单独的操作,但是在一些实施方式中,可以对图像执行单个分析以获取或确定多种类型的信息,诸如关于框650-560所讨论的那些信息。
在框665中,例程然后诸如通过连接其相应房间中的房间间通道、通过可选地围绕确定的获取位置定位来定位房间形状(例如,如果获取位置定位是互连的)、以及通过可选地应用一个或多个约束或优化来确定房间形状的估计定位以创建初始2D楼层平面图。这种楼层平面图例如可以包括各个房间的相对定位和形状信息,而不提供单个房间或建筑整体的任何实际尺寸信息,并且还可以包括建筑的多个链接的或相关联的子图(例如,以反映不同的楼层、级、分区等)。该例程还将门、墙壁开口和其它识别的墙壁元素的定位在楼层平面图上关联起来。
在框665之后,例程可选地执行一个或多个步骤675-680,以确定附加信息并将附加信息与平面图相关联。在框675中,例程可选地诸如根据对图像和/或它们的获取元数据的分析或者根据获得的建筑外部的总体尺寸信息来估计房间中的一些或所有的尺寸,并且将估计的尺寸与楼层平面图相关联——将理解的是,如果足够详细的尺寸信息可用,则可以从楼层平面图生成建筑图纸、蓝图等。在框675之后,例程继续到框680,以可选地将诸如附加图像和/或建筑中的附加类型的其它获取信息和/或注释信息的其它信息与楼层平面图(例如,与建筑内的特定房间或其它位置)相关联。在框685中,例程诸如根据对图像的分析并可选地根据图像中已知对象的尺寸、以及根据图像被获取时关于相机的高度信息来进一步估计一些或所有房间中的墙壁的高度,并且进一步使用这些信息来生成建筑的3D计算机模型,其中3D模型和楼层平面图彼此相关联。
在框685之后,例程继续到框688,以存储生成的制图信息并可选地存储其它生成的信息,并且可选地进一步使用生成的制图信息,诸如提供生成的2D楼层平面图和/或3D计算机模型用于在一个或多个客户端设备上显示、将生成的信息提供给一个或多个其它设备以用于这些设备和/或相关联的车辆或其它实体的自动导航等。
相反,如果在框610中确定在框605中接收的信息或指令不是要针对指示的建筑生成制图信息,则例程改为继续到框690,以适当地执行一个或多个其它指示的操作。这种其它操作例如可以包括接收和响应对先前生成的计算机模型和/或楼层平面图和/或其它生成的信息的请求(例如,对由MICA系统使用这种信息的请求;对在一个或多个客户端设备上显示这种信息的请求,诸如匹配一个或多个指定搜索标准的这种信息;对将这种信息提供给一个或多个其它设备以用于自动导航的请求;等等),获得并存储用于在以后的操作中使用的关于建筑的信息(例如,关于尺寸、房间的数量或类型、总平方长度、相邻或邻近的其它建筑、相邻或邻近的植被、外部图像等的信息),等等。
在框688或690之后,例程继续到框695,以确定是否继续,诸如直到接收到要终止的明确指示,或者仅在接收到要继续的明确指示时才继续。如果确定继续,则例程返回到框605以等待并接收附加指令或信息,否则继续到框699并结束。
图7示出了建筑地图查看器系统例程700的流程图的示例实施方式。该例程例如可以通过运行图1A的地图查看器客户端计算设备175及其软件系统(未示出)、图3的建筑地图查看器系统345和/或客户端计算设备390、和/或如本文别处所描述的制图信息查看器或呈现系统来执行,诸如基于特定于用户的标准选择用于一个或多个建筑的信息(例如,一个或多个建筑2D楼层平面图和/或其它相关的制图信息,诸如3D计算机模型或2.5D计算机模型;各自表示建筑的一些或所有的一组或多组互连链接的全景图像;与楼层平面图中的特定位置相关联的附加信息、或其它制图信息,诸如在建筑中获取的附加图像和/或其它类型的数据;等等),并且接收并向终端用户显示相应的建筑信息。在图7的示例中呈现的制图信息是针对建筑(诸如房屋)的内部的,但是在其它实施方式中,可以针对其它类型的建筑或环境呈现其它类型的制图信息,并且以其它方式使用,如本文别处所讨论的。
例程的示出的实施方式在框705处开始,在框705处接收指令或信息。在框705之后,例程继续到框750,在框750中,其确定在框705中接收的指令或其它信息是否指示至少部分地基于特定于用户的标准来识别要呈现其信息的一个或多个目标建筑,并且如果不是,则继续到框770,以从终端用户获得要使用的目标建筑的指示(例如,基于当前用户选择,诸如根据显示的列表或其它用户选择机制;基于在框705中接收到的信息;等等)。否则,例程继续到框755,在框755,其获得要使用的一个或多个搜索标准的指示(例如,要用于识别类似的目标建筑的一个或多个初始建筑,诸如根据当前用户选择和/或根据先前用户选择或其它先前用户活动和/或如框705中接收的信息或指令中所指示的;一个或多个明确搜索项;等等)。然后,诸如通过从MICA系统和/或MIGM系统请求信息,例程获得关于一个或多个相应的目标建筑的信息,并且如果返回关于多个目标建筑的信息,则选择最佳匹配的目标建筑以初始地进一步使用(例如,返回的与一个或多个初始建筑或者一个或多个指定的搜索标准具有最高相似性等级的另一建筑,或者使用在框705中接收的指令或其它信息中指示的或者以其它方式预先指定的其它选择技术,诸如终端用户的偏好)。在一些实施方式和情况中,可以基于一个或多个其它建筑和一个或多个指定标准两者来选择一个或多个目标建筑。
在框755或770之后,例程继续到框710,以确定在框705中接收到的指令或其它信息是否要显示或以其它方式呈现关于目标建筑的信息(例如,使用包括关于目标建筑内部的信息的楼层平面图和/或互连链接的全景图像组),诸如来自框755的最佳匹配目标建筑或框770中的其它指示的目标建筑,并且如果不是,则继续到框790。否则,例程进行到框712以检索用于目标建筑的建筑信息(可选地包括建筑内部和/或周围位置的相关联的或链接的信息的指示,诸如在建筑内或周围拍摄的附加图像),并选择检索到的信息的初始视图(例如,3D计算机模型的至少一些的楼层平面图的视图、来自互连链接的全景图像组的全景图像等)。在框715中,例程然后显示或以其它方式呈现检索的信息的当前视图,并且在框717中等待用户选择。在框717中的用户选择之后,如果在框720中确定用户选择与当前目标建筑位置相对应(例如,改变显示的该目标建筑的制图信息的当前视图),则例程继续到框722,以根据用户选择更新当前视图,并且然后返回到框715,以相应地更新显示的或以其它方式呈现的信息。用户选择和当前视图的相应更新例如可以包括显示或以其它方式呈现用户选择的一条相关联的链接信息(例如,与显示的确定的获取位置的视觉指示相关联的特定图像)、改变当前视图的显示方式(例如,放大或缩小;旋转信息(若合适);选择楼层平面图和/或3D计算机模型的新部分进行显示或以其它方式呈现,诸如先前不可见的新部分中的一些或所有,或者作为先前可见信息的子集的新部分;从一组互连链接的全景图像中选择不同的全景图像进行显示或以其它方式呈现,诸如显示该全景图像的初始子集视图;等等)。
如果在框710中确定在框705中接收的指令或其它信息不是要呈现表示建筑内部的信息,则例程继续到框790以适当地执行诸如任何内务处理任务的任何其它指示的操作,以配置要在系统的各种操作中使用的参数(例如,至少部分地基于由系统的用户指定的信息,诸如捕获一个或多个建筑内部的移动设备的用户、MICA系统的操作员用户等),获得并存储关于例程的用户的其它信息(例如,当前用户的呈现和/或搜索偏好),响应对生成和存储的信息的请求等。
在框790之后,或者如果在框720中确定用户选择不与当前目标建筑位置相对应,则例程进行到框795以确定是否继续,诸如直到接收到要终止的明确指示,或者仅在接收到要继续的明确指示时才继续。如果确定继续(包括用户在框717中做出与要呈现的新的目标建筑位置相关的选择的情况),则例程返回到框705以等待附加的指令或信息(或者如果用户在框717中做出与要呈现的新的建筑位置相关的选择,则继续过去的框705和框750至框770),并且如果不继续,则进行到步骤799并结束。在示出的实施方式中,如果多个目标建筑候选被返回到该框,则框755中的例程选择要使用的最佳匹配目标建筑——在至少一些实施方式中,未被首先选择为最佳匹配的其它这种返回的目标建筑的队列可以被进一步保存并随后使用(例如,供用户连续显示或以其它方式呈现针对多个这种其它建筑的信息),诸如框717中的可选地指示从这种队列选择并使用下一个返回的其它建筑的用户选择。
在以下条款中进一步描述了本文描述的非排他性示例性实施方式。
A01.一种计算机实现的方法,包括:
由移动计算设备记录多房间建筑的房间内的获取位置处的数据,包括使用移动计算设备的至少一个相机在从获取位置起的多个方向上捕获从获取位置合计提供360度水平覆盖的构成图像,并且包括在捕获期间从移动计算设备的一个或多个惯性测量单元(IMU)传感器获得数据;
由移动计算设备生成用于获取位置的全景图像的初始版本,包括:
由移动计算设备选择所捕获的构成图像的用于生成全景图像的子集,其中,选择包括:对于各自表示从获取位置起的不同方向并且从获取位置合计水平地覆盖360度的多个角隙的序列中的每个,将所记录的构成图像中的一个与该角隙相关联,其中,对子集的所捕获的构成图像中的至少一些的选择在数据的记录期间同时发生,并且其中,选择还包括:丢弃所捕获的构成图像中不与角隙中的任何角隙相关联的至少一个构成图像;
由移动计算设备为子集的所选择的构成图像中的、除了为序列的初始角隙选择的第一构成图像和为序列的最后角隙选择的最后构成图像之外的每个修改该选择的构成图像以仅保留该选择的构成图像的少数切片,并且丢弃该选择的构成图像的未保留的部分,其中,对子集的所选择的构成图像的至少一些的修改在数据的记录期间同时发生;
由移动计算设备对子集的经修改的所选择的构成图像进行压缩,并将经压缩的图像存储在非易失性存储中,其中,对子集的经修改的所选择的构成图像中的至少一些的压缩在数据的记录期间同时发生,并且与数据的记录异步地发生;以及
由移动计算设备以与角隙的序列相对应的顺序将子集的所选择的构成图像组合在一起以形成全景图像的初始版本,包括:对于所修改的构成图像中的每个,解压缩用于该修改的构成图像的经压缩的图像,并且通过使用平移运动和从一个或多个IMU传感器所获得的数据来将所修改的构成图像的部分与至少一个其它构成图像的部分对准,以将该解压缩的所修改的构成图像配准到至少一个其它构成图像,该至少一个其它构成图像与这样的角隙相关联,该角隙与序列中为其选择了所修改的构成图像的另一角隙相邻,并且其中,对子集的所选择的构成图像中的至少一些的组合在数据的记录期间同时发生,并且相对于数据的记录异步地发生;以及
由移动计算设备提供所生成的全景图像,用于在至少一个客户端设备上显示。
A02.根据条款A01的计算机实现的方法,还包括由移动计算设备通过在构成图像的捕获之后将为初始角隙选择的第一构成图像与为最后角隙选择的最后构成图像进行配准以闭合所选择的构成图像的回路来创建全景图像的最终版本,包括:匹配第一构成图像和最后构成图像的特征并且在第一构成图像和最后构成图像之间在子集的所选择的构成图像上分布漂移误差,并且在为序列中的相邻角隙选择的至少一些构成图像之间执行平滑操作,其中,平滑操作包括以下操作中的至少一个:修改至少一些构成图像中的一个或多个以减小至少一些构成图像之间的像素强度的差异,或者使用混合或羽化中的至少一个来修改至少一些构成图像中的一个或多个以减小至少一些构成图像之间的空间重叠。
A03.一种具有存储的内容的非暂时性计算机可读介质,存储的内容使得在与建筑相关联的获取位置处的移动设备执行自动操作,自动操作至少包括:
由移动设备使用由至少一个相机在从获取位置起的多个方向上捕获的构成图像来生成用于获取位置的全景图像,包括:
由移动设备为从获取位置起的不同方向的序列中的每个方向选择所捕获的构成图像中的一个以用于该方向;
由移动设备在进行构成图像的捕获的同时,修改为序列选择的构成图像中的至少一些中的每个,以仅保留该选择的构成图像的少数部分;以及
由移动设备在进行构成图像的捕获的同时,压缩所修改的构成图像,并将经压缩的图像存储在非易失性存储中;
由移动设备以与方向的序列相对应的顺序并且在进行构成图像的捕获的同时,将为序列选择的构成图像中的至少一些组合在一起以形成全景图像的初始版本,包括:对于所修改的构成图像中的至少一些中的每个,解压缩所修改的构成图像,并且通过使用平移运动将该解压缩的所修改的构成图像的部分与为序列中的相邻方向选择的至少一个其它构成图像的部分对准,将该解压缩的所修改的构成图像配准到至少一个其它构成图像;以及
由移动设备提供关于建筑的、包括所生成的全景图像的信息。
A04.根据条款A03的非暂时性计算机可读介质,其中,方向的序列包括从获取位置基本上水平地360度,并且其中,全景图像的生成还包括:在完成构成图像的捕获之后,通过将为序列中的初始方向选择的第一构成图像与为序列中的最终方向选择的最后构成图像进行配准来闭合为方向的序列选择的构成图像的回路,包括匹配第一构成图像和最后构成图像的特征。
A05.根据条款A04的非暂时性计算机可读介质,其中,构成图像的捕获在至少一个相机基本上水平地旋转基本上360度的同时执行,其中,移动设备以与序列相对应的顺序来组合为序列选择的所有构成图像,并且还执行回路的闭合,并且其中,全景图像的生成还包括:由移动设备根据第一构成图像与最后构成图像的配准来确定第一构成图像与最后构成图像之间的漂移误差,并且在为序列选择的构成图像上分布漂移误差,以创建全景图像的最终版本。
A06.根据条款A04的非暂时性计算机可读介质,其中,回路的闭合由远离获取位置的一个或多个附加计算设备执行,并且其中,全景图像的生成还包括:由一个或多个附加计算设备根据第一构成图像与最后构成图像的配准来确定第一构成图像与最后构成图像之间的漂移误差,并且在为序列选择的构成图像上分布漂移误差,以创建全景图像的最终版本。
A07.根据条款A03-A06中任一项的非暂时性计算机可读介质,其中,全景图像的生成还包括:在完成构成图像的捕获之后,在全景图像的初始版本中在为序列中的相邻方向选择的至少一些构成图像之间执行平滑操作,其中,平滑操作包括以下操作中的至少一个:修改至少一些构成图像中的一个或多个以减小至少一些构成图像之间的像素强度的差异,或者使用混合或羽化中的至少一种来修改至少一些构成图像中的一个或多个以减小至少一些构成图像之间的空间重叠。
A08.根据条款A07的非暂时性计算机可读介质,其中,平滑操作包括修改一个或多个构成图像以减小至少一些构成图像之间的像素强度的差异,并且还包括将为序列选择的构成图像中的一个或多个建立锚定图像,锚定图像的像素强度是固定的并且在平滑操作中不改变。
A09.根据条款A03-A08中任一项的非暂时性计算机可读介质,其中获取位置在建筑的房间的内部,并且其中,全景图像的生成还包括:由移动设备在完成构成图像的捕获之后执行裁剪操作,以从所生成的全景图像中去除为序列选择的构成图像的不包括房间的视觉覆盖的部分。
A10.根据条款A03-A09中任一项的非暂时性计算机可读介质,其中,移动设备是包括至少一个相机并包括一个或多个处理器的移动计算设备,其中,方向的序列与从获取位置起的角隙的序列相对应,角隙的序列中的每个角隙与角隙的序列中的相邻角隙相差限定的角量,其中,为序列选择的构成图像是所捕获的构成图像的子集,并且其中,为方向中的与角隙中的一个相对应的一个方向对所捕获的构成图像中的一个的选择包括:识别自序列中的先前角隙后捕获的两个或更多个构成图像,并且使用一个或多个限定的标准来为一个方向选择所识别的两个或更多个构成图像中的一个,并且为一个方向丢弃所识别的两个或更多个构成图像中的不是所选择的一个构成图像的至少一个其它图像。
A11.根据条款A03-A10中任一项的非暂时性计算机可读介质,其中,存储的内容包括软件指令,软件指令在由移动设备运行时使得移动设备执行其它的自动操作,包括:由移动设备在构成图像的捕获之后、并且在所修改的构成图像的压缩之后、并且在完成全景图像的生成之前,暂停全景图像的生成,并且由移动设备在稍后的时间恢复全景图像的生成,包括检索和解压缩所存储的经压缩的图像以供在恢复中使用。
A12.根据条款A03-A11中任一项的非暂时性计算机可读介质,其中,存储的内容包括软件指令,软件指令在由移动设备运行时使得移动设备执行其它的自动操作,包括将所修改的至少一些构成图像临时存储在队列中以使得能够相对于构成图像的捕获以异步方式执行压缩和组合,并且还包括确定移动设备上可用的计算资源,并且其中,构成图像的压缩或队列的使用中的至少一个是以至少部分地基于所确定的计算资源的方式来执行的。
A13.根据条款A03-A12中任一项的非暂时性计算机可读介质,其中自动操作还包括:确定移动设备上可用的计算资源,至少部分地基于所确定的计算资源来确定用于构成图像的分辨率,以及使用所确定的计算资源来启动对构成图像的捕获。
A14.根据条款A03-A13中任一项的非暂时性计算机可读介质,其中,方向的序列与从获取位置起的角隙的序列相对应,角隙的序列中的每个角隙与角隙的序列中的相邻角隙相差恒定角量,并且其中,自动操作还包括:确定移动设备上可用的计算资源,至少部分地基于所确定的计算资源来确定相邻角隙之间的恒定角量,并且部分地基于所确定的角量来执行对为序列所捕获的构成图像的选择。
A15.根据条款A03-A14中任一项的非暂时性计算机可读介质,其中,存储的内容包括软件指令,软件指令在由移动设备运行时使得移动设备执行其它的自动操作,包括:至少部分地基于所确定的计算资源来确定用于保持经解压缩的构成图像的高速缓存的一个或多个特征,并且由移动设备在修改之后,基于所确定的一个或多个特征来维护经解压缩的构成图像的高速缓存,并且其中,如果可用,则经解压缩的所修改的构成图像与至少一个其它构成图像的配准使用高速缓存中的经解压缩的构成图像。
A16.根据条款A03-A15中任一项的非暂时性计算机可读介质,其中,对于至少一些构成图像中的为序列的方向中的一个方向选择的一个构成图像,对一个构成图像的修改包括:由移动设备基于特定于一个构成图像的信息来确定并使用一个构成图像的要保留的量,特定于一个构成图像的信息包括以下中的至少一个:一个方向的相邻方向不具有选择的构成图像,或者在一个构成图像的捕获期间相对于至少一个其它最接近的构成图像出现不连续,并且其中,为序列中的初始方向选择的所有第一构成图像被保留以供在组合中使用。
A17.根据条款A03-A16中任一项的非暂时性计算机可读介质,其中,自动操作还包括:
针对与建筑相关联的多个获取位置的序列中的每个获取位置,获得在从该获取位置起的多个方向上捕获的构成图像,并且由移动设备针对多个获取位置中的每个执行全景图像的生成,其中,多个获取位置中的至少一个在建筑的内部;
在移动设备在获取位置的序列中的连续获取位置之间移动时,由移动设备记录关于移动设备沿着行进路径的移动的链接信息;以及
由移动设备至少部分地基于所记录的链接信息生成多个获取位置中的至少一些获取位置之间的相对定位信息;以及
其中,由移动设备对信息的提供包括由移动设备提供用于在一个或多个其它设备上显示的关于建筑的信息,信息包括所生成的全景图像中的一个或多个并且指示所生成的相对定位信息中的至少一些。
A18.根据条款A03-A17中任一项的非暂时性计算机可读介质,其中,移动设备包括至少一个相机并且还包括一个或一个以上惯性测量单元(IMU)传感器,其中,自动操作还包括:由移动设备在多个方向上捕获构成图像且在构成图像的捕获期间从IMU传感器捕获数据,并且其中,至少一些所修改的构成图像中的每个与为序列中的相邻方向选择的至少一个其它构成图像的配准还部分地基于从IMU传感器所捕获的数据。
A19.根据条款A03-A18中任一项的非暂时性计算机可读介质,其中,全景图像的生成在不使用来自任何深度感测传感器的关于从获取位置到建筑在获取位置周围的任何表面的深度的任何信息的情况下执行。
A20.一种系统,包括:
在与建筑相关联的获取位置处的一个或多个移动设备的一个或多个硬件处理器;以及
具有存储的指令的一个或多个存储器,存储的指令在由一个或多个硬件处理器中的至少一个运行时使得一个或多个移动设备中的至少一个执行自动操作,自动操作至少包括:
使用至少一个相机获得在从获取位置起的多个方向上捕获的构成图像;
在进行构成图像的捕获时,执行用于获取位置的全景图像的至少一些生成,包括:
确定所捕获的构成图像的用于全景图像的子集,包括选择所捕获的构成图像中的一些以与从获取位置起的方向的序列中的相应方向相关联;
修改所确定的子集的所捕获的构成图像中的至少一些所捕获的构成图像中的每个,以仅保留该捕获的构成图像的少数部分;以及
将所确定的子集的所捕获的构成图像中的至少一些以与方向的序列相对应的顺序组合在一起以形成全景图像的初始版本,包括:对于所修改的构成图像中的至少一些中的每个,通过使用平移运动将该修改的构成图像的部分与至少一个其它构成图像的部分对准,来将该修改的构成图像配准到至少一个其它构成图像,至少一个其它构成图像是为序列中这样的方向选择的,该方向与序列中的为其选择了所修改的构成图像的相关联的方向相邻;以及
提供关于建筑的、包括全景图像的初始版本的信息。
A21.根据条款A20的系统,其中,一个或多个移动设备是包括至少一个相机和一个或多个硬件处理器以及一个或多个存储器的单个移动计算设备,其中,方向的序列与从获取位置起的不同方向上的角隙的序列相对应,角隙的序列中的每个与角隙的序列中的相邻角隙相差确定的角量,并且其中,对所捕获的构成图像中的一个的选择以与方向中的与角隙中的一个角隙相对应一个方向相关联包括:识别自序列中的先前角隙后捕获的两个或更多个构成图像,并使用一个或多个限定的标准来为一个方向选择所识别的两个或更多个构成图像中的一个。
A22.根据条款A20-A21中任一项的系统,其中,一个或多个移动设备包括各自执行自动操作的一部分的多个移动设备,以使得多个移动设备以分布式方式执行全景图像的至少一些生成。
A23.一种计算机实现的方法,包括:
由移动计算设备记录与建筑相关联的获取位置处的数据,包括使用移动计算设备的至少一个相机记录从获取位置起的多个方向上的构成图像;
由移动计算设备在数据的记录的同时生成用于获取位置的全景图像的初始版本,包括:
由移动计算设备选择所记录的构成图像的用于生成用于获取位置的全景图像的子集,其中,选择包括:对于各自表示从获取位置起的不同方向的多个角隙的序列中的每个角隙,将所记录的构成图像中的一个与角隙相关联,并且其中,选择还包括:丢弃所记录的构成图像中不与角隙中的任何角隙相关联的至少一个构
成图像;
由移动计算设备为子集的所选择的构成图像中的至少一些中的每个修改该选择的构成图像以仅保留该选择的构成图像的少数切片,并丢弃该选择的构成图像中未保留的部分;以及
由移动计算设备以与角隙的序列相对应的顺序组合子集的所选择的构成图像,以形成全景图像的初始版本,包括:对于所修改的构成图像中的每个,通过使用平移运动将该修改的构成图像的部分与至少一个其它构成图像的部分对准,来将该修改的构成图像配准到至少一个其它构成图像,该至少一个其它构成图像与这样的角隙相关联,该角隙和与所修改的构成图像相关联的另一角隙相邻;以及
由移动计算设备提供所生成的全景图像,用于在至少一个客户端设备上显示。
A24.根据条款A23的计算机实现的方法,其中,由多个角隙所表示的方向包括从获取位置起基本上水平地360度,并且其中,方法还包括:在构成图像的记录之后创建全景图像的最终版本,包括通过匹配为序列的初始角隙选择的第一构成图像和为序列的最后角隙选择的最后构成图像的特征将第一构成图像与最后构成图像配准以闭合所选择的构成图像的回路,并且包括在第一构成图像和最后构成图像之间在所选择的构成图像上分布漂移误差。
A25.根据条款A23-A24中任一项的计算机实现的方法,其中,通过移动计算设备的全景图像的初始版本的生成还包括由移动计算设备执行以下操作中的至少一个:对全景图像的初始版本中的所选择的构成图像中的一个或多个的校正操作,或对全景图像的初始版本中的在相邻角隙中所选择的构成图像的平滑操作。
本文参照根据本公开的实施方式的方法、装置(系统)和计算机程序产品的流程图说明和/或框图来描述本公开的方面。将理解的是,流程图说明和/或框图的每个框以及流程图说明和/或框图中的框的组合可以由计算机可读程序指令来实现。还将理解的是,在一些实现方式中,由以上讨论的例程提供的功能可以以替代的方式来提供,诸如在更多例程之间拆分,或者合并成更少的例程。类似地,在一些实现方式中,所示出的例程可以提供比所描述的功能更多或更少的功能,诸如当其它示出的例程分别缺少或包括这种功能时,或者当所提供的功能量改变时。此外,虽然各种操作可以示出为以特定方式(例如,串行或并行、或同步或异步)和/或以特定顺序执行,但是在其它实现方式中,操作可以以其它顺序和其它方式执行。上面讨论的任何数据结构也可以以不同的方式构造,诸如通过将单个数据结构分成多个数据结构和/或通过将多个数据结构合并成单个数据结构。类似地,在一些实现方式中,所示出的数据结构可以存储比所描述的信息更多或更少的信息,诸如当其它所示出的数据结构分别缺少或包括这种信息时,或者当所存储的信息量或类型改变时。
从上文将理解的是,尽管本文为了说明的目的描述了特定的实施方式,但是可以在不脱离本发明的精神和范围的情况下进行各种修改。因此,本发明除了由相应的权利要求和那些权利要求所记载的要素之外不受限制。此外,虽然本发明的某些方面可以在某些时间以某些权利要求的形式呈现,但是发明人以任何可用的权利要求的形式考虑了本发明的各个方面。例如,虽然仅本发明的一些方面可以被记载为在特定时间体现在计算机可读介质中,但是其它方面同样可以如此体现。

Claims (10)

1.一种具有存储的内容的非暂时性计算机可读介质,所述存储的内容使得在与建筑相关联的获取位置处的移动设备执行自动操作,所述自动操作至少包括:
由所述移动设备使用由至少一个相机在从所述获取位置起的多个方向上捕获的构成图像来生成用于所述获取位置的全景图像,包括:
由所述移动设备为从所述获取位置起的不同方向的序列中的每个方向选择所捕获的构成图像中的一个以用于该方向,其中所述方向的序列包括从所述获取位置起水平地360度;
由所述移动设备在进行所述构成图像的捕获的同时,修改为所述序列选择的所述构成图像中的至少一些中的每个,以仅保留该选择的构成图像的少数部分;
由所述移动设备以与所述方向的序列相对应的顺序并且在进行所述构成图像的捕获的同时,将为所述序列选择的所述构成图像中的至少一些组合以形成所述全景图像的初始版本,包括:对于所修改的构成图像中的至少一些中的每个,通过使用平移运动将该修改的构成图像的部分与为所述序列中的相邻方向选择的至少一个其它构成图像的部分对准,将该修改的构成图像配准到所述至少一个其它构成图像;以及
在完成所述构成图像的捕获之后,通过将为所述序列中的初始方向选择的第一构成图像与为所述序列中的最终方向选择的最后构成图像进行配准来闭合为所述方向的序列选择的所述构成图像的回路,所述配准包括匹配所述第一构成图像和所述最后构成图像的特征;并且
其中,所述构成图像的捕获在所述至少一个相机水平地旋转360度的同时执行,其中,所述移动设备以与所述序列相对应的所述顺序来组合为所述序列选择的所有构成图像,并且还执行所述回路的闭合,并且其中,所述全景图像的生成还包括:由所述移动设备根据所述第一构成图像与所述最后构成图像的配准来确定所述第一构成图像与所述最后构成图像之间的漂移误差,并且在为所述序列选择的所述构成图像上分布所述漂移误差,以创建所述全景图像的最终版本;或者
其中,所述回路的闭合由远离所述获取位置的一个或多个附加计算设备执行,并且其中,所述全景图像的生成还包括:由所述一个或多个附加计算设备根据所述第一构成图像与所述最后构成图像的配准来确定所述第一构成图像与所述最后构成图像之间的漂移误差,并且在为所述序列选择的所述构成图像上分布所述漂移误差,以创建所述全景图像的最终版本
由所述移动设备提供关于所述建筑的、包括所生成的全景图像的信息。
2.根据权利要求1所述的非暂时性计算机可读介质,其中,所述全景图像的生成还包括:在完成所述构成图像的捕获之后,在所述全景图像的所述初始版本中在为所述序列中的相邻方向选择的至少一些构成图像之间执行平滑操作,其中,所述平滑操作包括以下操作中的至少一个:修改所述至少一些构成图像中的一个或多个以减小所述至少一些构成图像之间的像素强度的差异,或者使用混合或羽化中的至少一种来修改所述至少一些构成图像中的一个或多个以减小所述至少一些构成图像之间的空间重叠。
3.根据权利要求2所述的非暂时性计算机可读介质,
其中,所述获取位置在所述建筑的房间的内部中;
其中,所述全景图像的生成还包括:由所述移动设备在完成所述构成图像的捕获之后执行裁剪操作,以从所生成的全景图像中去除为所述序列选择的所述构成图像的不包括所述房间的视觉覆盖的部分;以及
其中,所述平滑操作包括修改所述一个或多个构成图像以减小所述至少一些构成图像之间的像素强度的差异,并且还包括将为所述序列选择的所述构成图像中的一个或多个建立为锚定图像,所述锚定图像的像素强度是固定的并且在所述平滑操作中不改变。
4.根据权利要求1所述的非暂时性计算机可读介质,其中,所述移动设备是包括所述至少一个相机并包括一个或多个处理器的移动计算设备,其中,所述方向的序列与从所述获取位置起的角隙的序列相对应,所述角隙的序列中的每个角隙与所述角隙的序列中的相邻角隙相差限定的角量,其中,为所述序列选择的所述构成图像是所捕获的构成图像的子集,并且其中,为所述方向中的与所述角隙中的一个相对应的一个方向选择所捕获的构成图像中的一个包括:识别自所述序列中的先前角隙后捕获的两个或更多个构成图像,并且使用一个或多个限定的标准来为所述一个方向选择所识别的两个或更多个构成图像中的一个,并且为所述一个方向丢弃所识别的两个或更多个构成图像中的不是所选择的一个构成图像的至少一个其它图像。
5.一种系统,包括:
在与建筑相关联的获取位置处的一个或多个移动设备的一个或多个硬件处理器;以及
具有存储的指令的一个或多个存储器,所述存储的指令在由所述一个或多个硬件处理器中的至少一个运行时使得所述一个或多个移动设备中的至少一个执行自动操作,所述自动操作至少包括:
使用至少一个相机获得在从所述获取位置起的多个方向上捕获的构成图像;
在进行所述构成图像的捕获时,执行用于所述获取位置的全景图像的至少一些生成,包括:
确定所捕获的构成图像的用于所述全景图像的子集,包括选择所捕获的构成图像中的一些以与从所述获取位置起的方向的序列中的相应方向相关联;
修改所确定的子集的所捕获的构成图像中的至少一些中的每个,以仅保留该捕获的构成图像的少数部分;以及
将所确定的子集的所捕获的构成图像中的至少一些以与所述方向的序列相对应的顺序组合以形成所述全景图像的初始版本,包括:对于所修改的构成图像中的至少一些中的每个,通过使用平移运动将该修改的构成图像的部分与至少一个其它构成图像的部分对准,将该修改的构成图像配准到所述至少一个其它构成图像,所述至少一个其它构成图像是为所述序列中这样的方向选择的,该方向与所述序列中的为其选择了所修改的构成图像的相关联的方向相邻;以及
提供关于所述建筑的、包括所述全景图像的所述初始版本的信息,以及
其中,所述存储的指令包括软件指令,所述软件指令在由所述至少一个移动设备运行时使得所述至少一个移动设备执行进一步的自动操作,包括:由所述至少一个移动设备在所述构成图像的捕获之后、并且在所修改的构成图像的压缩和存储之后、并且在完成所述全景图像的生成之前,暂停所述全景图像的生成,并且由所述至少一个移动设备在稍后的时间恢复所述全景图像的生成,包括检索和解压缩所述经压缩图像以供在所述恢复中使用;和/或
其中,所述存储的指令包括软件指令,所述软件指令在由所述至少一个移动设备运行时使得所述至少一个移动设备执行进一步的自动操作,包括将所修改的至少一些构成图像临时存储在队列中以使得能够相对于所述构成图像的捕获以异步方式执行所述组合,并且还包括确定所述至少一个移动设备上能用的计算资源,并且其中,所述构成图像的压缩或所述队列的使用中的至少一个是以至少部分地基于所确定的计算资源的方式来执行的;和/或
其中,所述自动操作还包括至少部分地基于所述至少一个移动设备上能用的计算资源来确定用于所述构成图像的分辨率,以及使用所确定的分辨率来启动所述构成图像的捕获;和/或
其中,所述方向的序列与从所述获取位置起的角隙的序列相对应,所述角隙的序列中的每个角隙与所述角隙的序列中的相邻角隙相差恒定角量,并且其中,所述自动操作还包括至少部分地基于所述至少一个移动设备上能用的计算资源来确定相邻角隙之间的所述恒定角量,并且部分地基于所确定的角量来执行对所述一些捕获的构成图像的选择;和/或
其中,所述存储的指令包括软件指令,所述软件指令在由所述至少一个移动设备运行时使所述至少一个移动设备执行进一步的自动操作,包括:至少部分地基于在所述至少一个移动设备上能用的计算资源来确定用于保持构成图像的高速缓存的一个或多个特征,并且由所述至少一个移动设备在所述修改之后,基于所确定的一个或多个特征来维护构成图像的所述高速缓存,并且其中,如果能用,则所修改的构成图像与至少一个其它构成图像的配准使用所述高速缓存中的构成图像;和/或
其中,对于所述至少一些构成图像中的为所述序列的所述方向中的一个方向选择的一个构成图像,对所述一个构成图像的修改包括:由所述至少一个移动设备基于特定于所述一个构成图像的信息来确定并使用所述一个构成图像的要保留的量,特定于所述一个构成图像的所述信息包括以下中的至少一个:所述一个方向的相邻方向不具有选择的构成图像,或者在所述一个构成图像的捕获期间相对于至少一个其它最接近的构成图像出现不连续,并且其中,为所述序列中的初始方向选择的所有第一构成图像被保留以供在所述组合中使用;和/或
其中,所述自动操作还包括:针对与所述建筑相关联的多个获取位置的序列中的每个获取位置,获得在从该获取位置起的多个方向上捕获的构成图像,并且由所述至少一个移动设备针对所述多个获取位置中的每个执行所述全景图像的生成,其中,所述多个获取位置中的至少一个在所述建筑的内部;其中,所述自动操作还包括:在所述至少一个移动设备在所述获取位置的序列中的连续获取位置之间移动时,由所述至少一个移动设备记录关于所述至少一个移动设备沿着行进路径的移动的链接信息;其中,所述自动操作还包括:由所述至少一个移动设备至少部分地基于所记录的链接信息生成所述多个获取位置中的至少一些获取位置之间的相对定位信息;并且其中,提供所述信息包括:由所述至少一个移动设备提供用于在一个或多个其它设备上显示的关于所述建筑的信息,所述信息包括所生成的全景图像中的一个或多个并且指示所生成的相对定位信息中的至少一些;和/或
其中,所述至少一个移动设备包括所述至少一个相机并且还包括一个或多个惯性测量单元IMU传感器,其中,所述自动操作还包括:由所述至少一个移动设备在所述多个方向上捕获所述构成图像且在所述构成图像的捕获期间从所述IMU传感器捕获数据,并且其中,所述至少一些所修改的构成图像中的每个与为所述序列中的相邻方向选择的至少一个其它构成图像的配准还部分地基于来自所述IMU传感器的所捕获的数据;和/或
其中,所述全景图像的生成在不使用来自任何深度感测传感器的关于从所述获取位置到所述建筑在所述获取位置周围的任何表面的深度的任何信息的情况下执行。
6.根据权利要求5所述的系统,其中,所述一个或多个移动设备是包括所述至少一个相机和所述一个或多个硬件处理器以及所述一个或多个存储器的单个移动计算设备,其中,所述方向的序列与从所述获取位置起的不同方向上的角隙的序列相对应,所述角隙的序列中的每个与所述角隙的序列中的相邻角隙相差确定的角量,并且其中,选择所捕获的构成图像中的一个以与所述方向中的与所述角隙中的一个角隙相对应一个方向相关联包括:识别自所述序列中的先前角隙后捕获的两个或更多个构成图像,并使用一个或多个限定的标准来为所述一个方向选择所识别的两个或更多个构成图像中的一个。
7.根据权利要求5所述的系统,其中,所述一个或多个移动设备包括各自执行所述自动操作的一部分的多个移动设备,以使得所述多个移动设备以分布式方式执行所述全景图像的至少一些生成。
8.一种计算机实现的方法,包括:
由移动计算设备记录与建筑相关联的获取位置处的数据,包括使用所述移动计算设备的至少一个相机记录从所述获取位置起的多个方向上的构成图像;
由所述移动计算设备在所述数据的记录的同时生成用于所述获取位置的全景图像的初始版本,包括:
由所述移动计算设备选择所记录的构成图像的用于生成用于所述获取位置的所述全景图像的子集,其中,所述选择包括:对于各自表示从所述获取位置起的不同方向的多个角隙的序列中的每个角隙,将所记录的构成图像中的一个与所述角隙相关联,并且其中,所述选择还包括:丢弃所记录的构成图像中不与所述角隙中的任何角隙相关联的至少一个构成图像,其中由所述多个角隙所表示的所述方向包括从所述获取位置起水平地360度;
由所述移动计算设备为所述子集的所选择的构成图像中的至少一些中的每个修改该选择的构成图像以仅保留该选择的构成图像的少数片段,并丢弃该选择的构成图像中未保留的部分;以及
由所述移动计算设备以与所述角隙的序列相对应的顺序组合所述子集的所选择的构成图像,以形成所述全景图像的所述初始版本,包括:对于所修改的构成图像中的每个,通过使用平移运动将该修改的构成图像的部分与至少一个其它构成图像的部分对准,将该修改的构成图像配准到所述至少一个其它构成图像,该至少一个其它构成图像与这样的角隙相关联,该角隙和与所修改的构成图像相关联的另一角隙相邻;
由所述移动计算设备在所述构成图像的记录之后创建所述全景图像的最终版本,包括:通过匹配为所述序列的初始角隙选择的第一构成图像和为所述序列的最后角隙选择的最后构成图像的特征,将所述第一构成图像与所述最后构成图像配准以闭合所选择的构成图像的回路,并且包括在所述第一构成图像和所述最后构成图像之间在所选择的构成图像上分布漂移误差;以及
由所述移动计算设备提供所生成的全景图像,用于在至少一个客户端设备上显示。
9.根据权利要求8所述的计算机实现的方法,其中,通过所述移动计算设备的所述全景图像的所述初始版本的生成还包括由所述移动计算设备执行以下操作中的至少一个:对所述全景图像的所述初始版本中的所选择的构成图像中的一个或多个的校正操作,或对所述全景图像的所述初始版本中的在相邻角隙中所选择的构成图像的平滑操作。
10.一种计算机实现的方法,包括:
由移动计算设备记录多房间建筑的房间内的获取位置处的数据,包括使用所述移动计算设备的至少一个相机在从所述获取位置起的多个方向上捕获从所述获取位置合计提供360度水平覆盖的构成图像,并且包括在所述捕获期间从所述移动计算设备的一个或多个惯性测量单元IMU传感器获得数据;
由所述移动计算设备生成用于所述获取位置的全景图像的初始版本,包括:
由所述移动计算设备选择所捕获的构成图像的用于生成所述全景图像的子集,其中,所述选择包括:对于各自表示从所述获取位置起的不同方向并且从所述获取位置合计水平地覆盖360度的多个角隙的序列中的每个,将所记录的构成图像中的一个与该角隙相关联,其中,对所述子集的所捕获的构成图像中的至少一些的选择在所述数据的记录期间同时发生,并且其中,所述选择还包括:丢弃所捕获的构成图像中不与所述角隙中的任何角隙相关联的至少一个构成图像;
由所述移动计算设备为所述子集的所选择的构成图像中的、除了为所述序列的初始角隙选择的第一构成图像和为所述序列的最后角隙选择的最后构成图像之外的每个修改该选择的构成图像以仅保留该选择的构成图像的少数片段,并且丢弃该选择的构成图像的未保留的部分,其中,对所述子集的所选择的构成图像中的至少一些的修改在所述数据的记录期间同时发生;
由所述移动计算设备对所述子集的经修改的所选择的构成图像进行压缩,并将经压缩的图像存储在非易失性存储装置中,其中,对所述子集的经修改的所选择的构成图像中的至少一些的压缩在所述数据的记录期间同时发生,并且与所述数据的记录异步地发生;以及
由所述移动计算设备以与所述角隙的序列相对应的顺序将所述子集的所选择的构成图像组合以形成所述全景图像的所述初始版本,包括:对于所修改的构成图像中的每个,解压缩用于该修改的构成图像的经压缩的图像,并且通过使用平移运动和从所述一个或多个IMU传感器所获得的数据来将所修改的构成图像的部分与至少一个其它构成图像的部分对准,以将该解压缩的所修改的构成图像配准到所述至少一个其它构成图像,该至少一个其它构成图像与这样的角隙相关联,该角隙与所述序列中为其选择了所修改的构成图像的另一角隙相邻,并且其中,对所述子集的所选择的构成图像中的至少一些的组合在所述数据的记录期间同时发生,并且相对于所述数据的记录异步地发生;
由所述移动计算设备通过在所述构成图像的捕获之后将为所述初始角隙选择的所述第一构成图像与为所述最后角隙选择的所述最后构成图像进行配准以闭合所选择的构成图像的回路来创建所述全景图像的最终版本,包括:匹配所述第一构成图像和所述最后构成图像的特征并且在所述第一构成图像和所述最后构成图像之间在所述子集的所选择的构成图像上分布漂移误差,并且在为所述序列中的相邻角隙选择的至少一些构成图像之间执行平滑操作,其中,所述平滑操作包括以下操作中的至少一个:修改所述至少一些构成图像中的一个或多个以减小所述至少一些构成图像之间的像素强度的差异,或者使用混合或羽化中的至少一个来修改所述至少一些构成图像中的一个或多个以减小所述至少一些构成图像之间的空间重叠;以及
由所述移动计算设备提供所生成的全景图像,用于在至少一个客户端设备上显示。
CN202180004364.5A 2020-06-05 2021-05-17 用于建筑位置的全景图像在移动设备上的自动生成和随后使用 Active CN114072801B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063035619P 2020-06-05 2020-06-05
US63/035,619 2020-06-05
US17/243,146 US11405549B2 (en) 2020-06-05 2021-04-28 Automated generation on mobile devices of panorama images for building locations and subsequent use
US17/243,146 2021-04-28
PCT/US2021/032656 WO2021247223A1 (en) 2020-06-05 2021-05-17 Automated generation on mobile devices of panorama images for building locations and subsequent use

Publications (2)

Publication Number Publication Date
CN114072801A CN114072801A (zh) 2022-02-18
CN114072801B true CN114072801B (zh) 2022-12-06

Family

ID=78818160

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180004364.5A Active CN114072801B (zh) 2020-06-05 2021-05-17 用于建筑位置的全景图像在移动设备上的自动生成和随后使用

Country Status (6)

Country Link
US (1) US11405549B2 (zh)
EP (1) EP3966725A4 (zh)
CN (1) CN114072801B (zh)
AU (1) AU2021282989B2 (zh)
CA (1) CA3143069C (zh)
WO (1) WO2021247223A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
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
WO2022081717A1 (en) * 2020-10-13 2022-04-21 Flyreel, Inc. Generating measurements of physical structures and environments through automated analysis of sensor data
US11481925B1 (en) 2020-11-23 2022-10-25 Zillow, Inc. Automated determination of image acquisition locations in building interiors using determined room shapes
US11790648B2 (en) 2021-02-25 2023-10-17 MFTB Holdco, Inc. Automated usability assessment of buildings using visual data of captured in-room images
US11836973B2 (en) 2021-02-25 2023-12-05 MFTB Holdco, Inc. Automated direction of capturing in-room information for use in usability assessment of buildings
US11683462B2 (en) * 2021-06-04 2023-06-20 Dierks Technology, Inc. Matching segments of video for virtual display of a space
US12056900B2 (en) 2021-08-27 2024-08-06 MFTB Holdco, Inc. Automated mapping information generation from analysis of building photos
US11842464B2 (en) 2021-09-22 2023-12-12 MFTB Holdco, Inc. Automated exchange and use of attribute information between building images of multiple types
US12045951B2 (en) * 2021-12-28 2024-07-23 MFTB Holdco, Inc. Automated building information determination using inter-image analysis of multiple building images
US11830135B1 (en) 2022-07-13 2023-11-28 MFTB Holdco, Inc. Automated building identification using floor plans and acquired building images
JP2024017224A (ja) * 2022-07-27 2024-02-08 株式会社リコー 情報処理装置、入出力装置、情報処理システム、情報処理方法、入出力方法、およびプログラム
US12111825B2 (en) * 2022-11-10 2024-10-08 Bank Of America Corporation Event-driven batch processing system with granular operational access
CN115908758B (zh) * 2023-01-05 2023-07-14 北京科技大学 基于ar技术的智慧农业大棚全景展示的操作方法及系统
CN116052004B (zh) * 2023-02-17 2023-07-21 深圳金三立视频科技股份有限公司 一种异常事件双向监测方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101751659A (zh) * 2009-12-24 2010-06-23 北京优纳科技有限公司 大容量快速图像拼接方法
CN103534726A (zh) * 2011-05-17 2014-01-22 苹果公司 用于全景摄影的位置传感器辅助的图像配准
CN105959565A (zh) * 2016-06-15 2016-09-21 维沃移动通信有限公司 一种全景拍照方法及移动终端
CN106331685A (zh) * 2016-11-03 2017-01-11 Tcl集团股份有限公司 一种3d全景图像获取方法和装置
CN109952760A (zh) * 2016-12-30 2019-06-28 谷歌有限责任公司 多视图场景流拼接

Family Cites Families (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5140352A (en) 1990-10-31 1992-08-18 Occipital, Inc. Ccd camera and method for fundus imaging
US6031540A (en) 1995-11-02 2000-02-29 Imove Inc. Method and apparatus for simulating movement in multidimensional space with polygonal projections from subhemispherical imagery
US6141034A (en) 1995-12-15 2000-10-31 Immersive Media Co. Immersive imaging method and apparatus
AU4184399A (en) 1998-05-13 1999-11-29 Infinite Pictures Inc. Panoramic movies which simulate movement through multidimensional space
US6323858B1 (en) 1998-05-13 2001-11-27 Imove Inc. System for digitally capturing and recording panoramic movies
US6317166B1 (en) 1998-08-31 2001-11-13 Immersive Media Company Synchronization frame generator for multichannel imaging system
US7050085B1 (en) 2000-10-26 2006-05-23 Imove, Inc. System and method for camera calibration
US6690374B2 (en) 1999-05-12 2004-02-10 Imove, Inc. Security camera system for tracking moving objects in both forward and reverse directions
US6738073B2 (en) 1999-05-12 2004-05-18 Imove, Inc. Camera system with both a wide angle view and a high resolution view
US7620909B2 (en) 1999-05-12 2009-11-17 Imove Inc. Interactive image seamer for panoramic images
US7129971B2 (en) 2000-02-16 2006-10-31 Immersive Media Company Rotating scan self-cleaning camera
AU2001264723A1 (en) 2000-05-18 2001-11-26 Imove Inc. Multiple camera video system which displays selected images
US6731305B1 (en) 2000-07-17 2004-05-04 Imove, Inc. Camera system which records camera identification in image file
US7312816B2 (en) 2002-07-24 2007-12-25 Freestone Systems, Inc. Digital observation system
US7909241B2 (en) 2004-03-09 2011-03-22 Lowe's Companies, Inc. Systems, methods and computer program products for implementing processes relating to retail sales
US7791638B2 (en) 2004-09-29 2010-09-07 Immersive Media Co. Rotating scan camera
WO2006102244A2 (en) 2005-03-18 2006-09-28 Kristin Acker Interactive floorplan viewer
US20070081081A1 (en) 2005-10-07 2007-04-12 Cheng Brett A Automated multi-frame image capture for panorama stitching using motion sensor
US7627235B2 (en) 2006-03-17 2009-12-01 Immersive Media Company Spinning camera enclosure for environmental protection
US7973838B2 (en) 2006-07-07 2011-07-05 Immersive Media Company Active mask for electronic imaging system
US8594428B2 (en) 2006-07-25 2013-11-26 Humaneyes Technologies Ltd. Interactive segmentation of images with single scribbles
US8094182B2 (en) 2006-11-16 2012-01-10 Imove, Inc. Distributed video sensor panoramic imaging system
EP2122409B1 (en) 2007-02-25 2016-12-07 Humaneyes Technologies Ltd. A method and a system for calibrating and/or visualizing a multi image display and for reducing ghosting artifacts
US7782319B2 (en) 2007-03-28 2010-08-24 Autodesk, Inc. Three-dimensional orientation indicator and controller
US7936354B2 (en) 2007-04-27 2011-05-03 Graphisoft R&D Zrt. Virtual trace-multiple view modeling system and method
WO2009013744A2 (en) 2007-07-23 2009-01-29 Humaneyes Technologies Ltd. Multi view displays and methods for producing the same
WO2010004548A1 (en) 2008-06-16 2010-01-14 Humaneyes Technologies Ltd. A method and an apparatus for processing a lenticular printing substrate
US8463020B1 (en) 2008-07-08 2013-06-11 Imove, Inc. Centralized immersive image rendering for thin client
BRPI0912063A2 (pt) 2008-08-04 2016-01-05 Humaneyes Technologies Ltd "método de preparação de um artigo de imagem lenticular, artigo de imagem lenticular e sistema de preparação de um artigo de imagem lenticular"
CA2687913A1 (en) 2009-03-10 2010-09-10 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communications Research Centre Canada Estimation of image relations from point correspondences between images
WO2011069698A1 (en) * 2009-12-11 2011-06-16 Tessera Technologies Ireland Limited Panorama imaging
JP5940459B2 (ja) 2010-01-14 2016-06-29 ヒューマンアイズ テクノロジーズ リミテッド 三次元表示においてオブジェクトの深さ値を調整するための方法及びシステム
KR101572892B1 (ko) 2010-05-06 2015-11-30 엘지전자 주식회사 이동 단말기 및 이것의 영상 디스플레이 방법
US9041796B2 (en) 2010-08-01 2015-05-26 Francis Ruben Malka Method, tool, and device for determining the coordinates of points on a surface by means of an accelerometer and a camera
US9361717B2 (en) 2010-10-19 2016-06-07 Humaneyes Technologies Ltd. Methods and systems of generating an interlaced composite image
US8705892B2 (en) 2010-10-26 2014-04-22 3Ditize Sl Generating three-dimensional virtual tours from two-dimensional images
US9129438B2 (en) 2011-01-18 2015-09-08 NedSense Loft B.V. 3D modeling and rendering from 2D images
JP6027026B2 (ja) 2011-01-22 2016-11-16 ヒューマンアイズ テクノロジーズ リミテッド レンチキュラ印刷および表示におけるぼけアーチファクトを低減する方法およびシステム
US8996336B2 (en) 2011-03-31 2015-03-31 Francis Ruben Malka Method, tool, and device for assembling a plurality of partial floor plans into a combined floor plan
US9151608B2 (en) 2011-03-31 2015-10-06 Francis Ruben Malka Apparatus, tool, and method for modifying a portion of a floor plan based on measurements made by one or more sensors
US20160286119A1 (en) 2011-04-18 2016-09-29 360fly, Inc. Mobile Device-Mountable Panoramic Camera System and Method of Displaying Images Captured Therefrom
US20120293613A1 (en) 2011-05-17 2012-11-22 Occipital, Inc. System and method for capturing and editing panoramic images
US8879828B2 (en) 2011-06-29 2014-11-04 Matterport, Inc. Capturing and aligning multiple 3-dimensional scenes
US9282242B2 (en) 2011-08-24 2016-03-08 Htc Corporation Method and electric device for taking panoramic photograph
US8666815B1 (en) 2011-09-09 2014-03-04 Google Inc. Navigation-based ad units in street view
US11282287B2 (en) 2012-02-24 2022-03-22 Matterport, Inc. Employing three-dimensional (3D) data predicted from two-dimensional (2D) images using neural networks for 3D modeling applications and other applications
US10848731B2 (en) 2012-02-24 2020-11-24 Matterport, Inc. Capturing and aligning panoramic image and depth data
US9324190B2 (en) 2012-02-24 2016-04-26 Matterport, Inc. Capturing and aligning three-dimensional scenes
US8989440B2 (en) 2012-03-27 2015-03-24 Way Out Ip, Llc System and method of room decoration for use with a mobile device
EP2842304B1 (en) 2012-04-25 2020-01-08 HumanEyes Technologies Ltd. Methods and systems of generating a lenticular article using a printing blanket
US8699005B2 (en) 2012-05-27 2014-04-15 Planitar Inc Indoor surveying apparatus
US10139985B2 (en) 2012-06-22 2018-11-27 Matterport, Inc. Defining, displaying and interacting with tags in a three-dimensional model
US10163261B2 (en) 2014-03-19 2018-12-25 Matterport, Inc. Selecting two-dimensional imagery data for display within a three-dimensional model
US10127722B2 (en) 2015-06-30 2018-11-13 Matterport, Inc. Mobile capture visualization incorporating three-dimensional and two-dimensional imagery
US9786097B2 (en) 2012-06-22 2017-10-10 Matterport, Inc. Multi-modal method for interacting with 3D models
US9495783B1 (en) 2012-07-25 2016-11-15 Sri International Augmented reality vision system for tracking and geolocating objects of interest
US9423261B2 (en) 2013-02-19 2016-08-23 Here Global B.V. Path curve confidence factors
US11172126B2 (en) 2013-03-15 2021-11-09 Occipital, Inc. Methods for reducing power consumption of a 3D image capture system
US20140307100A1 (en) 2013-04-12 2014-10-16 Kari MYLLYKOSKI Orthographic image capture system
US9635252B2 (en) 2013-04-16 2017-04-25 Disney Enterprises, Inc. Live panoramic image capture and distribution
WO2014176745A1 (en) 2013-04-28 2014-11-06 Tencent Technology (Shenzhen) Company Limited Providing navigation information to a point of interest on real-time street views using a mobile device
US9786075B2 (en) 2013-06-07 2017-10-10 Microsoft Technology Licensing, Llc Image extraction and image-based rendering for manifolds of terrestrial and aerial visualizations
EP3011535A4 (en) 2013-06-20 2016-12-28 Diakrit Int Ltd TOOL FOR VISUALIZING A DISPOSITION OF FURNITURE IN A REAL ESTATE
EP3042358A2 (en) 2013-09-03 2016-07-13 3ditize SL Generating a 3d interactive immersive experience from a 2d static image
US9438775B2 (en) 2013-09-17 2016-09-06 Occipital, Inc. Apparatus for real-time 3D capture
US9836885B1 (en) 2013-10-25 2017-12-05 Appliance Computing III, Inc. Image-based rendering of real spaces
US20150116691A1 (en) 2013-10-25 2015-04-30 Planitar Inc. Indoor surveying apparatus and method
US9787904B2 (en) 2013-10-31 2017-10-10 InsideMaps Inc. Methods and apparatuses for capturing images used for generating 3D models of rooms
US9420170B2 (en) 2013-12-30 2016-08-16 Nxp B.V. Graphical user interface for video recording device
WO2015134795A2 (en) 2014-03-05 2015-09-11 Smart Picture Technologies, Inc. Method and system for 3d capture based on structure from motion with pose detection tool
US9396586B2 (en) 2014-03-14 2016-07-19 Matterport, Inc. Processing and/or transmitting 3D data
US9189839B1 (en) 2014-04-24 2015-11-17 Google Inc. Automatically generating panorama tours
EP3196594B1 (en) 2014-05-05 2021-08-11 Hexagon Technology Center GmbH Surveying system
US20150332464A1 (en) 2014-05-19 2015-11-19 Occipital, Inc. Methods for automatic registration of 3d image data
US9953111B2 (en) 2014-06-06 2018-04-24 Matterport, Inc. Semantic understanding of 3D data
US10055876B2 (en) 2014-06-06 2018-08-21 Matterport, Inc. Optimal texture memory allocation
US9619933B2 (en) 2014-06-16 2017-04-11 Occipital, Inc Model and sizing information from smartphone acquired image sequences
US20160134860A1 (en) 2014-11-12 2016-05-12 Dejan Jovanovic Multiple template improved 3d modeling of imaged objects using camera position and pose to obtain accuracy
KR101638378B1 (ko) 2014-11-28 2016-07-11 주식회사 어반베이스 2차원 도면에 기반한 3차원 자동 입체모델링 방법 및 프로그램
WO2016097940A1 (en) 2014-12-16 2016-06-23 3Ditize Sl 3d rotational presentation generated from 2d static images
EP3251347A4 (en) 2015-01-28 2018-09-19 Matterport, Inc. Classifying, separating and displaying individual stories of a three-dimensional model of a multi-story structure based on captured image data of the multi-story structure
US20160260250A1 (en) 2015-03-05 2016-09-08 Dejan Jovanovic Method and system for 3d capture based on structure from motion with pose detection tool
US10606963B2 (en) 2015-03-24 2020-03-31 Carrier Corporation System and method for capturing and analyzing multidimensional building information
US10083522B2 (en) 2015-06-19 2018-09-25 Smart Picture Technologies, Inc. Image based measurement system
CN105120191A (zh) 2015-07-31 2015-12-02 小米科技有限责任公司 视频录制方法和装置
GB2541884A (en) * 2015-08-28 2017-03-08 Imp College Of Science Tech And Medicine Mapping a space using a multi-directional camera
US20170078593A1 (en) 2015-09-16 2017-03-16 Indoor Reality 3d spherical image system
US9953430B1 (en) 2015-10-29 2018-04-24 Indoor Reality Inc. Methods for detecting luminary fixtures
US10706615B2 (en) 2015-12-08 2020-07-07 Matterport, Inc. Determining and/or generating data for an architectural opening area associated with a captured three-dimensional model
US11218688B2 (en) 2016-01-04 2022-01-04 Occipital, Inc. Apparatus and methods for three-dimensional sensing
US10120397B1 (en) 2016-02-11 2018-11-06 Indoor Reality Inc. Interior climate control utilizing multimodal sensor positioning
US10163271B1 (en) 2016-04-04 2018-12-25 Occipital, Inc. System for multimedia spatial annotation, visualization, and recommendation
US10395435B2 (en) 2016-04-04 2019-08-27 Occipital, Inc. System for multimedia spatial annotation, visualization, and recommendation
US10554896B2 (en) 2016-05-04 2020-02-04 Insidemaps, Inc. Stereoscopic imaging using mobile computing devices having front-facing and rear-facing cameras
US11062383B2 (en) 2016-05-10 2021-07-13 Lowe's Companies, Inc. Systems and methods for displaying a simulated room and portions thereof
US10502363B2 (en) 2016-05-17 2019-12-10 Occipital, Inc. Self-contained mixed reality head mounted display
KR101770648B1 (ko) 2016-05-18 2017-08-23 주식회사 큐픽스 파노라마와 3차원 건물평면도 기반 실내 가상체험 제공 방법, 이를 이용한 휴대용 단말기 및 그 동작 방법
US20180007340A1 (en) 2016-06-29 2018-01-04 Barbara Carey Stachowski Method and system for motion controlled mobile viewing
US10030979B2 (en) 2016-07-29 2018-07-24 Matterport, Inc. Determining and/or generating a navigation path through a captured three-dimensional model rendered on a device
US10204185B2 (en) 2016-08-02 2019-02-12 Indoor Reality Inc. Building scan window detection
US10210285B2 (en) 2016-08-10 2019-02-19 Indoor Reality Inc. Methods for generating a floor plan from a building scan
US10339716B1 (en) 2016-09-19 2019-07-02 Occipital, Inc. System and method for dense, large scale scene reconstruction
US10448012B2 (en) 2016-11-22 2019-10-15 Pixvana, Inc. System and method for data reduction based on scene content
US10304256B2 (en) 2016-12-13 2019-05-28 Indoor Reality Inc. Point cloud cleaning method
US10181215B2 (en) 2017-03-30 2019-01-15 EyeSpy360 Limited Generating a virtual map
US10122997B1 (en) 2017-05-03 2018-11-06 Lowe's Companies, Inc. Automated matrix photo framing using range camera input
US10809795B2 (en) 2017-05-31 2020-10-20 Occipital, Inc. Six degree of freedom tracking with scale recovery and obstacle avoidance
US11364012B2 (en) * 2017-05-31 2022-06-21 Bk Medical Aps 3-D imaging via free-hand scanning with a multiplane US transducer
US10534962B2 (en) 2017-06-17 2020-01-14 Matterport, Inc. Automated classification based on photo-realistic image/model mappings
US10530997B2 (en) * 2017-07-13 2020-01-07 Zillow Group, Inc. Connecting and using building interior data acquired from mobile devices
US20190041972A1 (en) 2017-08-04 2019-02-07 Cupix, Inc. Method for providing indoor virtual experience based on a panorama and a 3d building floor plan, a portable terminal using the same, and an operation method thereof
WO2019032736A1 (en) 2017-08-08 2019-02-14 Smart Picture Technologies, Inc. METHOD OF MEASURING AND MODELING SPACES USING AUGMENTED REALITY WITHOUT MARKER
US10540054B2 (en) 2017-09-20 2020-01-21 Matterport, Inc. Navigation point selection for navigating through virtual environments
US10366531B2 (en) 2017-10-24 2019-07-30 Lowe's Companies, Inc. Robot motion planning for photogrammetry
US9990767B1 (en) 2017-10-24 2018-06-05 Lowe's Companies, Inc. Generation of 3D models using stochastic shape distribution
US10235797B1 (en) 2017-11-27 2019-03-19 Lowe's Companies, Inc. Inverse rendering of visual material properties
US10192115B1 (en) 2017-12-13 2019-01-29 Lowe's Companies, Inc. Virtualizing objects using object models and object position data
US11494857B2 (en) 2018-02-15 2022-11-08 Flyreel, Inc. Property inspection system and method
US10643386B2 (en) 2018-04-11 2020-05-05 Zillow Group, Inc. Presenting image transition sequences between viewing locations
KR101930796B1 (ko) 2018-06-20 2018-12-19 주식회사 큐픽스 이미지를 이용한 3차원 좌표 계산 장치, 3차원 좌표 계산 방법, 3차원 거리 측정 장치 및 3차원 거리 측정 방법
US10809066B2 (en) 2018-10-11 2020-10-20 Zillow Group, Inc. Automated mapping information generation from inter-connected images
US11093671B2 (en) * 2019-09-06 2021-08-17 Beamup Ltd. Structural design systems and methods to define areas of interest for modeling and simulation-based space planning

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101751659A (zh) * 2009-12-24 2010-06-23 北京优纳科技有限公司 大容量快速图像拼接方法
CN103534726A (zh) * 2011-05-17 2014-01-22 苹果公司 用于全景摄影的位置传感器辅助的图像配准
CN105959565A (zh) * 2016-06-15 2016-09-21 维沃移动通信有限公司 一种全景拍照方法及移动终端
CN106331685A (zh) * 2016-11-03 2017-01-11 Tcl集团股份有限公司 一种3d全景图像获取方法和装置
CN109952760A (zh) * 2016-12-30 2019-06-28 谷歌有限责任公司 多视图场景流拼接

Also Published As

Publication number Publication date
US20210385378A1 (en) 2021-12-09
EP3966725A4 (en) 2022-06-29
CN114072801A (zh) 2022-02-18
AU2021282989A1 (en) 2022-01-27
US11405549B2 (en) 2022-08-02
WO2021247223A1 (en) 2021-12-09
CA3143069C (en) 2023-08-08
EP3966725A1 (en) 2022-03-16
AU2021282989B2 (en) 2023-04-13
AU2021282989A9 (en) 2023-04-13
CA3143069A1 (en) 2021-12-09

Similar Documents

Publication Publication Date Title
CN114072801B (zh) 用于建筑位置的全景图像在移动设备上的自动生成和随后使用
US11238652B2 (en) Presenting integrated building information using building models
US11164361B2 (en) Generating floor maps for buildings from automated analysis of visual data of the buildings' interiors
US11645781B2 (en) Automated determination of acquisition locations of acquired building images based on determined surrounding room data
CA3126673C (en) Automated analysis of image contents to determine the acquisition location of the image
US11501492B1 (en) Automated room shape determination using visual data of multiple captured in-room images
AU2022200474B2 (en) Automated exchange and use of attribute information between building images of multiple types
EP4207069A1 (en) Automated building information determination using inter-image analysis of multiple building images
EP4375931A1 (en) Automated inter-image analysis of multiple building images for building information determination
EP4394701A1 (en) Automated inter-image analysis of multiple building images for building floor plan generation
CN118036116A (zh) 用于建筑物楼层平面图生成的多个建筑物图像的自动图像间分析
CN118036115A (zh) 用于建筑物信息确定的多个建筑物图像的自动图像间分析

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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: Washington State

Patentee after: Zillow LLC

Address before: Washington State

Patentee before: ZILLOW Inc.

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20230424

Address after: Washington State

Patentee after: Pushsabo I Co.

Address before: Washington State

Patentee before: Zillow LLC

Effective date of registration: 20230424

Address after: Washington State

Patentee after: MFTB Co.,Ltd.

Address before: Washington State

Patentee before: Pushsabo I Co.

TR01 Transfer of patent right