CN113436136A - 以对象为中心的扫描 - Google Patents
以对象为中心的扫描 Download PDFInfo
- Publication number
- CN113436136A CN113436136A CN202110226395.7A CN202110226395A CN113436136A CN 113436136 A CN113436136 A CN 113436136A CN 202110226395 A CN202110226395 A CN 202110226395A CN 113436136 A CN113436136 A CN 113436136A
- Authority
- CN
- China
- Prior art keywords
- image
- implementations
- images
- camera
- data
- 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
- 238000000034 method Methods 0.000 claims abstract description 102
- 230000033001 locomotion Effects 0.000 claims abstract description 31
- 230000008569 process Effects 0.000 claims abstract description 19
- 238000000280 densification Methods 0.000 claims description 21
- 238000011156 evaluation Methods 0.000 description 70
- 230000015654 memory Effects 0.000 description 31
- 238000001514 detection method Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 20
- 230000011218 segmentation Effects 0.000 description 17
- 238000012545 processing Methods 0.000 description 16
- 238000013528 artificial neural network Methods 0.000 description 12
- 230000003190 augmentative effect Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 238000009877 rendering Methods 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 6
- 230000000873 masking effect Effects 0.000 description 5
- 230000007717 exclusion Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000003066 decision tree Methods 0.000 description 3
- 238000012706 support-vector machine Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- -1 802.3x Chemical compound 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 239000008280 blood Substances 0.000 description 2
- 210000004369 blood Anatomy 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 239000002772 conduction electron Substances 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 239000008103 glucose Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 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
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 239000001301 oxygen Substances 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- 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/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/453—Help systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- 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
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- 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
-
- 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/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
- G06V10/16—Image acquisition using multiple overlapping images; Image stitching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
- G06V10/17—Image acquisition using hand-held instruments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/255—Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
- G06V20/647—Three-dimensional objects by matching two-dimensional images to three-dimensional objects
-
- 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/10016—Video; Image sequence
-
- 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/10028—Range image; Depth image; 3D point clouds
-
- 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/20112—Image segmentation details
- G06T2207/20132—Image cropping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开涉及以对象为中心的扫描。本文所公开的各种具体实施包括基于图像和在采集这些图像期间设备的跟踪位置来生成对象的三维(3D)模型的设备、***和方法。例如,示例性过程可包括:在该设备于包括对象的物理环境中移动期间采集传感器数据,该传感器数据包括经由该设备上的相机采集的物理环境的图像;标识图像中的至少一些图像中的该对象;基于标识图像中的至少一些图像中的该对象来跟踪在采集图像期间该设备的位置,该位置标识该设备相对于基于该对象的位置和取向而定义的坐标系的定位;以及基于图像和在采集图像期间该设备的位置来生成该对象的3D模型。
Description
相关申请的交叉引用
本申请要求2020年3月6日提交的美国临时申请序列号62/986076的权益,该申请全文以引用方式并入本文。
技术领域
本公开整体涉及生成物理环境的三维几何表示,并且具体地涉及基于在物理环境中检测到的深度信息生成几何表示的***、方法和设备。
背景技术
物理环境和其中的对象已通过生成三维(3D)网格、利用3D点云以及通过其他方式来建模(例如,重建)。这些重建的网格表示物理环境的地板、墙壁和其他对象的3D表面点和其他表面特征。此类重建可基于物理环境的图像和深度测量(例如,使用RGB相机和深度传感器)来生成。
使用移动设备用于基于物理环境的图像和在物理环境中检测到的深度信息来生成3D模型的现有技术可能是不准确且低效的,例如,基于用户在房间内走动时捕获照片或视频或其他传感器数据。此外,现有技术可能无法在实时环境中提供足够准确且高效的对象检测。
发明内容
本文所公开的各种具体实施包括基于图像和在采集这些图像期间设备的位置来生成对象的三维(3D)模型的设备、***和方法。该3D模型基于物理环境的图像、在物理环境中检测到的深度信息以及用于跟踪设备/深度相机的特定位置和取向(例如,相机位姿)的其他信息来生成。可能期望利用例如根据基于对象的坐标系定义的以对象为中心的相机位姿。换句话讲,受约束位姿与目标对象(例如,单个感兴趣的对象)相关联,并且位置是相对于目标对象的。这样做可提供对象的更有用、更现实或物理上更有意义的模型。
本公开的一些具体实施涉及一种基于图像和在采集图像期间设备的位置来生成对象的3D模型的示例性方法。该示例性方法最初涉及:在设备于包括对象的物理环境中移动期间采集传感器数据,该传感器数据包括经由该设备上的相机采集的物理环境的图像。例如,用户在物理环境中围绕对象(例如,桌子上方的鞋)移动设备(例如,移动设备)以从不同侧面采集该对象的图像。在一些具体实施中,该传感器数据可包括深度数据和运动传感器数据。在一些具体实施中,在该设备的移动期间,用户界面可显示所采集的包括对象的环境并提供用户界面元素。例如,用户界面元素(例如,扩展现实图像,诸如覆盖在实时视频流上的3D箭头)可向用户显示采集对象的附加角度和/或视角。在一些具体实施中,用户界面可显示对象的初步3D模型(例如,3D网格、3D边界框等)。例如,当用户正在捕获实时视频并且当实时视频正在主观看屏幕上流式传输时,另一个窗口的画中画显示可以在实时预览屏幕中向用户显示3D模型重建。
该示例性方法还涉及标识图像中的至少一些图像中的对象。例如中,标识对象可涉及使用基于来自多个图像的信息和深度信息的初步对象模型来标识对象。使用初步对象模型来标识对象可涉及通过创建对应于对象的3D边界框来进行掩膜。除此之外或另选地,也可创建对应于对象的二维(2D)掩膜。在图像采集期间,调整3D边界框以更好地拟合对象从而限定感兴趣的对象并且与背景分开。在一些具体实施中,对象标识可基于裁剪初步对象模型和与该初步对象模型相关联的3D关键点/调整初步对象模型和与该初步对象模型相关联的3D关键点的尺寸。例如,使用3D边界框约束来移除位于3D边界框之外的背景像素,并且/或者使用与对象相关联的2D掩膜约束来移除位于2D掩膜之外背景像素。可在扫描期间(例如,在图像采集期间)进行掩膜(例如,裁剪初步对象模型/调整初步对象模型的尺寸)以在第一阶段中检测对象,然后在进行图像扫描时,使用那些掩膜(例如,3D边界框约束、2D掩膜等)通过移除背景像素来分离出对象。在一些具体实施中,掩膜可使用覆盖算法,并且绕过对象,并对在图像采集期间的动态位置进行计算。
在一些具体实施中,对象标识可涉及稀疏3D深度云的致密化。例如,使用致密化算法根据稀疏数据集创建密集3D深度云。除此之外或另选地,在一些具体实施中,对象标识可以涉及关键点内插和/或靠近深度边缘的关键点的排除。例如,使用关键点对象算法,标识(例如,经由神经网络对RGB图像进行语义标记)对象的关键点,并且可将附加关键点(例如,与对象相关联的附加像素)内插(例如,添加)到初步对象模型,或者从初步对象模型中排除(例如,移除)。
该示例性方法还涉及基于对图像中的至少一些图像中的对象的标识来跟踪在采集图像期间设备的位置,这些位置标识设备相对于基于对象的位置和取向而定义的坐标系的定位和/或取向(例如,位姿信息)。在示例性具体实施中,基于对对象的标识来跟踪在采集图像期间设备的位置通过更新设备的以对象为中心的位姿(例如,当图像中的每个图像被采集时,相机在基于对象的坐标中相对于对象的位置)来跟踪对象。在一些具体实施中,跟踪可使用在基于对象的坐标(例如,由相对RGB-D相机移动做成的历史记录)中定义的位姿图。
在一些具体实施中,跟踪可涉及在对象离开视图时或在采集到对象的先前未见过部分时重新定位。例如,当对象离开相机视图并翻转时,跟踪可能需要重新定位并进一步标识与感兴趣的对象相同的对象,并且重新校准以对象为中心的坐标以确定翻转的对象与感兴趣的对象相同。在一些具体实施中,该方法可迭代地更新相机的以对象为中心的位姿和初步对象模型两者。
在一些具体实施中,位姿可基于裁剪初步对象模型及其3D关键点/调整初步对象模型及其3D关键点的尺寸(例如,使用3D边界框约束来移除背景图像信息并且/或者使用2D掩膜来移除背景图像像素(例如,类似于上文针对对象标识阶段期间的掩膜所述的过程))来验证。在一些具体实施中,位姿验证还可涉及稀疏深度云的致密化、关键点内插和/或靠近深度边缘的关键点的排除。
该示例性方法还涉及基于图像和在采集图像期间设备的位置来生成对象的3D模型。3D模型可基于精修/裁剪的图像、相关联的深度信息以及与此类图像和深度信息相关联的相机的相对位置。3D模型可为3D网格表示或3D点云。在一些具体实施中,3D模型数据可以是使用具有相关联语义标签的3D点云来表示3D环境中的表面的3D表示。在一些具体实施中,3D模型数据是使用基于在所生成环境中检测到的深度信息的网格化算法的3D重建网格,该深度信息被整合(例如,融合)以重建物理环境。网格化算法(例如,双行进立方体网格化算法、泊松网格化算法、四面体网格化算法等)可用于生成表示房间和/或房间内的对象(例如,家具、桌子上的狗塑像、椅子等)的网格。
在一些具体实施中,在设备的移动期间采集传感器数据包括在设备围绕对象移动时从对象的不同视角采集图像。
在一些具体实施中,用户界面可显示具有定位在3D空间中的加号或其他虚拟指示符(例如,指针或箭头)的扩展现实图像,以引导用户将设备定位在适当位置和取向处以采集对象的适当图像。由于跟踪是以对象为中心的,因此如果对象移动,则指示符也将相对于该对象的位置和取向移动。
在一些具体实施中,标识对象包括基于来自物理环境的图像的深度信息来生成初步对象模型,其中该初步对象模型包括对应于对象的3D关键点。在一些具体实施中,初步对象模型是3D边界框,并且生成3D边界框包括获取基于深度数据生成的物理环境的3D表示(例如,3D语义点云)以及基于该3D表示来生成对应于物理环境中的对象的3D边界框的示例性方法。在一些具体实施中,生成3D边界框包括具有如下操作的示例性方法:获取基于深度数据生成的物理环境的3D表示,基于该3D表示来确定对应于物理环境中的对象的地平面,以及基于该地平面和该3D表示来生成对应于物理环境中的对象的3D边界框。
在一些具体实施中,标识对象还包括基于对应于对象的3D关键点来调整初步对象模型(例如,裁剪该初步对象模型和/或调整该初步对象模型的尺寸)。在一些具体实施中,调整初步对象模型基于3D边界框约束,该3D边界框约束用于移除包括在3D边界框中的背景信息以生成更新的3D边界框。在一些具体实施中,深度信息包括稀疏3D点云,其中标识对象还包括稀疏3D点云的致密化,该稀疏3D点云的致密化基于对应于对象的3D关键点。
在一些具体实施中,标识对象还包括对对应于对象的3D关键点进行关键点内插。在一些具体实施中,关键点内插包括排除在对象的深度边缘的接近范围内的3D关键点。
在一些具体实施中,设备的跟踪位置标识设备相对于基于对象的位置和取向而定义的坐标系的位置和取向。在一些具体实施中,跟踪设备的位置包括基于坐标系确定位姿图。例如,历史记录可由相对RGB-D相机移动做成,这被称为位姿图。例如,可沿位姿图分配或定位关键帧,并且可相对于位姿图示出当前相机位置。
在一些具体实施中,基于目标对象的几何形状和所采集的目标对象的数据来确定设备位置标准。例如,***从初始相机位置标识对象,并且设备位置标准可确定或估计(例如,由后端重建要求驱动)采集足够的图像数据可能需要的附加视图和设备位置的数量,以最佳地完全且准确地重建目标对象,从而使对于用户而言更容易所需要的观察位置或站位的数量最小化,并且使本地设备的要处理的和/或发送到服务器以进行处理的数据更少。
在一些具体实施中,设备包括用户界面,并且跟踪在采集图像期间设备的位置包括在该用户界面上显示引导指示符(例如,扩展现实图像,诸如定位在3D空间中的加号)以引导用户将设备移动到新位置(和/或取向)处,从而采集对象在新位置处的附加图像。在一些具体实施中,引导指示符引导用户将设备移动到新位置和新取向。在一些具体实施中,引导指示符定位在设备的实时相机视图中的3D空间中。在一些具体实施中,当对象在设备的相机的视场内移动时,引导指示符基于经调整坐标系相对于该对象移动,该经调整坐标系是基于该对象的经调整位置和经调整取向而定义的,其中该对象的经调整位置和经调整取向基于该对象的移动。
在一些具体实施中,跟踪设备的位置包括使用2D掩膜来调整物理环境的图像以移除图像的背景图像像素,其中该2D掩膜基于对象的坐标系来确定。例如,确定对象的2D掩膜可包括累积3D点云,检测对应于对象的3D点云的平面,移除检测到的平面点,使用2D掩膜算法进行点云聚类,获取属于对象的点,然后执行凸包过程以获取2D掩膜。
在一些具体实施中,跟踪设备的位置包括使用3D边界框约束来调整物理环境的图像以移除图像的背景图像像素,其中该3D边界框约束基于对象的坐标系来确定。
在一些具体实施中,传感器数据包括深度信息,该深度信息包括针对每个图像的稀疏3D点云,其中跟踪设备的位置包括基于该稀疏3D点云的致密化来调整物理环境的图像,该稀疏3D点云基于对应于对象的3D关键点。
在一些具体实施中,该示例性方法还涉及翻转对象并在常规位姿估计模式(例如,在对象在相机的视场内翻转的情况下使用)和重新定位模式(例如,在对象在相机的视场外翻转的情况下使用)之间切换。例如,在一些具体实施中,该示例性方法还涉及:当对象在相机的视场内被重新取向或重新定位时,该方法还包括重新定位过程,该重新定位过程包括:将物理环境的第一图像与对象的多个关键帧图像进行比较,该第一图像包括对象;基于该比较从该多个关键帧中标识第一关键帧,该关键帧与坐标系中的第一关键帧位置相关联;以及基于标识第一关键帧,基于第一关键帧位置来确定在采集第一图像期间设备相对于对象的坐标系的重新定位位置。例如,标识第一图像中的对象的3D特征和所标识的关键帧匹配。在一些具体实施中,在对象不在相机的视场内的一段时间之后,该对象在相机的视场内被重新取向或重新定位。
在一些具体实施中,所生成的对象的3D模型基于精修图像来确定,其中这些精修图像基于以下中的至少一者来确定:3D关键点内插、与图像相关联的3D稀疏点云的致密化、对应于对象以用于移除图像的背景图像像素的2D掩膜、对应于对象以用于移除图像的背景图像像素的3D边界框约束。在一些具体实施中,3D关键点内插、3D稀疏点云的致密化、2D掩膜和3D边界框约束基于对象的坐标系。
在一些具体实施中,所生成的对象的3D模型基于生成该对象的网格、3D点云或体素表示。在一些具体实施中,该传感器数据包括物理环境的深度数据(例如,RGB-D)和光强度图像数据(例如,RGB)。
根据一些具体实施,一种设备包括一个或多个处理器、非暂态存储器以及一个或多个程序;该一个或多个程序被存储在非暂态存储器中并且被配置为由一个或多个处理器执行,并且该一个或多个程序包括用于执行或使得执行本文所述方法中的任一种的指令。根据一些具体实施,一种非暂态计算机可读存储介质中存储有指令,这些指令在由设备的一个或多个处理器执行时使该设备执行或使执行本文所述方法中的任一种。根据一些具体实施,一种设备包括:一个或多个处理器、非暂态存储器以及用于执行或使执行本文所述方法中的任一种的装置。
附图说明
因此,本公开可被本领域的普通技术人员理解,更详细的描述可参考一些例示性具体实施的方面,其中一些具体实施在附图中示出。
图1是根据一些具体实施的示例性操作环境的框图。
图2是根据一些具体实施的示例***器的框图。
图3是根据一些具体实施的示例性设备的框图。
图4是根据一些具体实施的基于图像和在采集图像期间设备的跟踪位置来生成对象的三维(3D)模型的示例性方法的流程图表示。
图5A是示出根据一些具体实施的相机相对于物理环境中的对象的示例性位置的框图。
图5B是示出根据一些具体实施的相对于相机相对于物理环境中的对象的不同位置的示例性用户界面的框图。
图6A至图6D是示出根据一些具体实施的与物理环境中的对象相关联的示例性初步对象模型的框图。
图7A至图7C是示出根据一些具体实施的与物理环境中的对象相关联的示例性初步对象模型的框图。
图8是根据一些具体实施的基于图像和在采集图像期间设备的跟踪位置的对象的3D模型的示例性生成的***流程图。
图9是根据一些具体实施的基于图像和在采集图像期间设备的跟踪位置的对象的3D模型的实时预览的示例性生成的***流程图。
根据通常的做法,附图中示出的各种特征部可能未按比例绘制。因此,为了清楚起见,可以任意地扩展或减小各种特征部的尺寸。另外,一些附图可能未描绘给定的***、方法或设备的所有部件。最后,在整个说明书和附图中,类似的附图标号可用于表示类似的特征部。
具体实施方式
描述了许多细节以便提供对附图中所示的示例具体实施的透彻理解。然而,附图仅示出了本公开的一些示例方面,因此不应被视为限制。本领域的普通技术人员将理解,其他有效方面和/或变体不包括本文所述的所有具体细节。此外,没有详尽地描述众所周知的***、方法、部件、设备和电路,以免模糊本文所述的示例性具体实施的更多相关方面。
图1是根据一些具体实施的示例性操作环境100的框图。在该示例中,示例性操作环境100示出了包括对象130(例如,狗塑像)、桌子140、椅子142的示例性物理环境105。尽管示出了相关特征,但本领域的普通技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的示例性具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,操作环境100包括服务器110和设备120。在示例性具体实施中,操作环境100不包括服务器110,并且本文所述的方法在设备120上执行。
在一些具体实施中,服务器110被配置为管理和协调用户体验。在一些具体实施中,服务器110包括软件、固件和/或硬件的合适组合。下文参考图2更详细地描述服务器110。在一些具体实施中,服务器110是相对于物理环境105位于本地或远程位置的计算设备。在一个示例中,服务器110是位于物理环境105内的本地服务器。在另一个示例中,服务器110是位于物理环境105之外的远程服务器(例如,云服务器、中央服务器等)。在一些具体实施中,服务器110经由一个或多个有线或无线通信信道(例如,蓝牙、IEEE 802.11x、IEEE802.16x、IEEE 802.3x等)与设备120通信地耦接。
在一些具体实施中,设备120被配置为向用户呈现环境。在一些具体实施中,设备120包括软件、固件和/或硬件的合适组合。下文参考图3更详细地描述设备120。在一些具体实施中,服务器110的功能由设备120提供和/或与该设备结合。
在一些具体实施中,设备120是被配置为向用户呈现内容的手持式电子设备(例如,智能电话或平板电脑)。在一些具体实施中,用户102将设备120穿戴在他/她的头部上。设备120可包括被提供用于显示内容的一个或多个显示器。例如,设备120可包围用户102的视场。在一些具体实施中,用被配置为呈现内容的腔室、围场或房间替代设备120,用户102在其中不穿戴或持有该设备120。
图2是根据一些具体实施的服务器110的示例的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,在一些具体实施中,服务器110包括一个或多个处理单元202(例如,微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、中央处理单元(CPU)、处理内核等)、一个或多个输入/输出(I/O)设备206、一个或多个通信接口208(例如,通用串行总线(USB)、FIREWIRE、THUNDERBOLT、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、全球移动通信***(GSM)、码分多址(CDMA)、时分多址(TDMA)、全球定位***(GPS)、红外(IR)、蓝牙、ZIGBEE和/或类似类型的接口)、一个或多个编程(例如,I/O)接口210、存储器220以及用于互连这些部件和各种其他部件的一条或多条通信总线204。
在一些具体实施中,所述一条或多条通信总线204包括互连***部件和控制***部件之间的通信的电路。在一些具体实施中,一个或多个I/O设备206包括键盘、鼠标、触控板、操纵杆、一个或多个麦克风、一个或多个扬声器、一个或多个图像传感器、一个或多个显示器等中的至少一种。
存储器220包括高速随机存取存储器,诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、双倍数据速率随机存取存储器(DDR RAM)或者其他随机存取固态存储器设备。在一些具体实施中,存储器220包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器220任选地包括远离所述一个或多个处理单元202定位的一个或多个存储设备。存储器220包括非暂态计算机可读存储介质。在一些具体实施中,存储器220或存储器220的非暂态计算机可读存储介质存储以下程序、模块和数据结构,或它们的子集,包括可选的操作***230以及一个或多个应用程序240。
操作***230包括用于处理各种基础***服务和用于执行硬件相关任务的过程。在一些具体实施中,应用程序240被配置为管理和协调一个或多个用户的一个或多个体验(例如,一个或多个用户的单个体验,或一个或多个用户的相应群组的多个体验)。
应用程序240包括图像评估单元242、3D表示单元244和实时预览单元246。图像评估单元242、3D表示单元244和实时预览单元246可被组合成单个应用程序或单元,或者被分成一个或多个附加的应用程序或单元。
图像评估单元242被配置有能够由处理器执行以进行如下操作的指令:使用本文所公开的技术中的一种或多种技术来获取传感器数据(例如,图像数据诸如光强度数据、深度数据、相机位置信息等),并且基于评估相对于对象的图像以及基于图像和在采集图像期间设备的跟踪位置来确定和选择以对象为中心的数据。例如,图像评估单元242分析来自光强度相机的RGB图像以及来自深度相机(例如,飞行时间传感器)的稀疏深度图和其他物理环境信息源(例如,来自相机的SLAM***、VIO等的相机定位信息),以选择用于3D重建的传感器信息的子集。在一些具体实施中,图像评估单元242包括独立单元,诸如对象检测单元、位姿跟踪单元、掩膜单元、初步对象模型单元和裁剪单元3D,如本文参考图8进一步所述。
3D表示单元244被配置有能够由处理器执行以进行如下操作的指令:使用本文所公开的一种或多种技术从图像评估单元242获取以对象为中心的数据并生成3D模型。例如,3D表示单元244从图像评估单元242获取图像评估单元242,获取分割数据(例如,RGB-S数据)、其他物理环境信息源(例如,相机定位信息),并且生成3D模型(例如,3D网格表示、具有相关联语义标签的3D点云等)。
实时预览单元246被配置有能够由处理器执行以进行如下操作的指令:使用本文所公开的技术中的一种或多种技术基于图像和在采集物理环境中的对象的图像期间设备的位置来生成并显示初步3D对象模型的实时预览。然后将初步3D对象模型覆盖到实时相机馈送上以用于在设备上的画中画显示。例如,实时预览单元246从光强度相机(例如,实时相机馈送)获取光强度图像序列、由位姿跟踪单元生成(例如,来自图像评估单元242)的跟踪数据(例如,来自相机的同时定位与建图(SLAM)***的相机定位信息)和由裁剪单元生成(例如,来自图像评估单元242)的分割数据,以输出用光强度图像序列迭代地更新的初步3D对象模型。在一些具体实施中,实时预览单元246被进一步配置有能够由处理器执行以进行如下操作的指令:生成用户界面引导元素,从而引导用户采集为不同透视图的附加图像。引导元素可以是覆盖在实时预览画中画视图或实时相机馈送中的扩展现实图像。引导元素可引导用户站立在采集附加图像的位置。在一些具体实施中,引导元素可向用户提供反馈,以引导用户采集具有较高图像质量的图像。例如,如果确定相机移动太快,则引导元素可作为特定符号、经由文本或两者向用户指示相机移动太快。另外,引导元素可指示照明太暗、需要另外的角度等。在一些具体实施中,实时预览单元246包括独立单元诸如3D预览模型单元和用户界面引导单元,以生成引导元素,如本文参考图9进一步所述。
尽管这些元件被示出为驻留在单个设备(例如,服务器110)上,但应当理解,在其他具体实施中,元件的任何组合可位于单独的计算设备中。此外,图2更多地用作存在于特定具体实施中的各种特征部的功能描述,与本文所述的具体实施的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图2中单独示出的一些功能模块可以在单个模块中实现,并且单个功能块的各种功能可在各种具体实施中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征将根据具体实施而变化,并且在一些具体实施中,部分地取决于为特定实施方案选择的硬件、软件和/或固件的特定组合。
图3是根据一些具体实施的设备120的示例的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,在一些具体实施中,设备120包括一个或多个处理单元302(例如,微处理器、ASIC、FPGA、GPU、CPU、处理核心等)、一个或多个输入/输出(I/O)设备和传感器306、一个或多个通信接口308(例如,USB、FIREWIRE、THUNDERBOLT、IEEE 802.3x、IEEE802.11x、IEEE 802.16x、GSM、CDMA、TDMA、GPS、IR、BLUETOOTH、ZIGBEE、SPI、I2C和/或相似类型的接口)、一个或多个编程(例如,I/O)接口310、一个或多个AR/VR显示器312、一个或多个面向内部和/或面向外部的图像传感器314、存储器320以及用于互连这些部件和各种其他部件的一条或多条通信总线304。
在一些具体实施中,一条或多条通信总线304包括互连和控制***部件之间的通信的电路。在一些具体实施中,该一个或多个I/O设备和传感器306包括以下中的至少一者:惯性测量单元(IMU)、加速度计、磁力计、陀螺仪、温度计、一个或多个生理传感器(例如,血压监测仪、心率监测仪、血氧传感器、血糖传感器等)、一个或多个传声器、一个或多个扬声器、触觉引擎、一个或多个深度传感器(例如,结构光、飞行时间等)等。
在一些具体实施中,一个或多个显示器312被配置为向用户呈现体验。在一些具体实施中,一个或多个显示器312对应于全息、数字光处理(DLP)、液晶显示器(LCD)、硅上液晶(LCoS)、有机发光场效应晶体管(OLET)、有机发光二极管(OLED)、表面传导电子发射器显示器(SED)、场发射显示器(FED)、量子点发光二极管(QD-LED)、微机电***(MEMS)和/或相似显示器类型。在一些具体实施中,一个或多个显示器312对应于衍射、反射、偏振、全息等波导显示器。例如,设备120包括单个显示器。又如,设备120包括针对用户的每只眼睛的显示器。
在一些具体实施中,该一个或多个图像传感器***314被配置为获取对应于物理环境105的至少一部分的图像数据。例如,该一个或多个图像传感器***314包括一个或多个RGB相机(例如,具有互补金属氧化物半导体(CMOS)图像传感器或电荷耦合器件(CCD)图像传感器)、单色相机、红外相机、基于事件的相机等。在各种具体实施中,该一个或多个图像传感器***314还包括发射光的照明源,诸如闪光灯。在各种具体实施中,该一个或多个图像传感器***314还包括相机上图像信号处理器(ISP),该相机上图像信号处理器被配置为对图像数据执行多个处理操作,该多个处理操作包括本文所述的过程和技术中的至少一部分。
存储器320包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备。在一些具体实施中,存储器320包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器320任选地包括远离所述一个或多个处理单元302定位的一个或多个存储设备。存储器320包括非暂态计算机可读存储介质。在一些具体实施中,存储器320或存储器320的非暂态计算机可读存储介质存储以下程序、模块和数据结构,或它们的子集,包括可选的操作***330以及一个或多个应用程序340。
操作***330包括用于处理各种基础***服务和用于执行硬件相关任务的过程。在一些具体实施中,应用程序340被配置为管理和协调一个或多个用户的一个或多个体验(例如,一个或多个用户的单个体验,或一个或多个用户的相应群组的多个体验)。
应用程序340包括图像评估单元342、3D表示单元344和实时预览单元346。图像评估单元342、3D表示单元344和实时预览单元346可被组合成单个应用程序或单元,或者被分成一个或多个附加的应用程序或单元。
图像评估单元342被配置有能够由处理器执行以进行如下操作的指令:使用本文所公开的技术中的一种或多种技术来获取传感器数据(例如,图像数据诸如光强度数据、深度数据、相机位置信息等),并且基于评估相对于对象的图像以及基于图像和在采集图像期间设备的跟踪位置来确定和选择以对象为中心的数据。例如,图像评估单元342分析来自光强度相机的RGB图像以及来自深度相机(例如,飞行时间传感器)的稀疏深度图和其他物理环境信息源(例如,来自相机的SLAM***、VIO等的相机定位信息),以选择用于3D重建的传感器信息的子集。在一些具体实施中,图像评估单元342包括独立单元,诸如对象检测单元、位姿跟踪单元、掩膜单元、初步对象模型单元和裁剪单元3D,如本文参考图8进一步所述。
3D表示单元344被配置有能够由处理器执行以进行如下操作的指令:使用本文所公开的一种或多种技术从图像评估单元342获取以对象为中心的数据并生成3D模型。例如,3D表示单元344从图像评估单元342获取图像评估单元342,获取分割数据(例如,RGB-S数据)、其他物理环境信息源(例如,相机定位信息),并且生成3D模型(例如,3D网格表示、具有相关联语义标签的3D点云等)。
实时预览单元346被配置有能够由处理器执行以进行如下操作的指令:使用本文所公开的技术中的一种或多种技术基于图像和在采集物理环境中的对象的图像期间设备的位置来生成并显示初步3D对象模型的实时预览。然后将初步3D对象模型覆盖到实时相机馈送上以用于在设备上的画中画显示。例如,实时预览单元346从光强度相机(例如,实时相机馈送)获取光强度图像序列、由位姿跟踪单元生成(例如,来自图像评估单元342)的跟踪数据(例如,来自相机的同时定位与建图(SLAM)***的相机定位信息)和由裁剪单元生成(例如,来自图像评估单元342)的分割数据,以输出用光强度图像序列迭代地更新的初步3D对象模型。在一些具体实施中,实时预览单元346被进一步配置有能够由处理器执行以进行如下操作的指令:生成用户界面引导元素,从而引导用户采集为不同透视图的附加图像。引导元素可以是覆盖在实时预览画中画视图或实时相机馈送中的扩展现实图像。引导元素可引导用户站立在采集附加图像的位置。引导元素可引导用户站立在采集附加图像的位置。在一些具体实施中,引导元素可向用户提供反馈,以引导用户采集具有较高图像质量的图像。例如,如果确定相机移动太快,则引导元素可作为特定符号、经由文本或两者向用户指示相机移动太快。另外,引导元素可指示照明太暗、需要另外的角度等。在一些具体实施中,实时预览单元346包括独立单元诸如3D预览模型单元和用户界面引导单元,以生成引导元素,如本文参考图9进一步所述。
尽管这些元件被示出为驻留在单个设备(例如,设备120)上,但应当理解,在其他具体实施中,元件的任何组合可位于单独的计算设备中。此外,图3更多地用作存在于特定具体实施中的各种特征部的功能描述,与本文所述的具体实施的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图3中单独示出的一些功能模块(例如,应用程序340)可以在单个模块中实现,并且单个功能块的各种功能可在各种具体实施中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征将根据具体实施而变化,并且在一些具体实施中,部分地取决于为特定实施方案选择的硬件、软件和/或固件的特定组合。
图4是根据一些具体实施的基于图像和在采集图像期间设备的跟踪位置来生成对象的3D模型的示例性方法400的流程图表示。在一些具体实施中,方法400由设备(例如,图1至图3的服务器110或设备120)执行,诸如移动设备、台式计算机、膝上型电脑或服务器设备。方法400可以在具有用于显示图像的屏幕和/或用于查看立体图像的屏幕的设备(例如,图1和图3的设备120)上执行,诸如头戴式显示器(HMD)。在一些具体实施中,方法400由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法400由执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器执行。参考图5至图9示出了方法400的3D模型创建过程。
在框402处,方法400在设备于包括对象的物理环境中移动期间采集传感器数据,其中该传感器数据包括经由设备上的相机(例如,设备120的图像传感器***314)采集的物理环境的图像。例如,用户在物理环境中围绕对象(例如,桌子上方的塑像,诸如对象130)移动设备(例如,移动设备)以从不同侧面采集该对象的图像。在一些具体实施中,该传感器数据可包括深度数据和运动传感器数据。在一些具体实施中,在该设备的移动期间,用户界面可显示所采集的包括对象的环境并提供用户界面元素。例如,用户界面元素(例如,扩展现实图像,诸如覆盖在实时视频流上的3D箭头)可向用户显示采集对象的附加角度和/或视角。在一些具体实施中,用户界面可显示对象的初步3D模型(例如,3D网格、3D边界框等)。例如,当用户正在捕获实时视频并且当实时视频正在主观看屏幕上流式传输时,另一个窗口的画中画显示可以在实时预览屏幕中向用户显示3D模型重建。
传感器数据可包括深度数据。深度数据可包括来自视点的像素深度值以及传感器位置和取向数据。在一些具体实施中,使用一个或多个深度相机获取深度数据。例如,该一个或多个深度相机可基于结构光(SL)、无源立体(PS)、有源立体(AS)、飞行时间(ToF)等采集深度。可以应用各种技术来采集深度图像数据以分配图像的每个部分(例如,在像素级)。例如,体素数据(例如,3D网格上的光栅图形,具有长度、宽度和深度的值)还可包含多个标量值,诸如不透明度、颜色和密度。在一些具体实施中,从传感器或图像内容的3D模型获取深度数据。图像的一些或所有内容可基于真实环境,例如描绘设备120周围的物理环境105。图像传感器可采集物理环境105的图像以包括在关于物理环境105的图像和深度信息中。在一些具体实施中,设备120上的深度传感器确定基于由设备120上的图像传感器采集的图像所确定的体素的深度值。
在框404处,方法400标识图像中的至少一些图像中的对象。例如,图像评估单元(例如,图2的图像评估单元242和/或图3的图像评估单元342)评估传感器数据以标识对象(例如,图1的对象130)。在一些具体实施中,标识对象可涉及使用基于来自多个图像的信息和深度信息的初步对象模型来标识对象。使用初步对象模型来标识对象可涉及通过创建对应于对象的3D边界框来进行掩膜。除此之外或另选地,也可创建对应于对象的二维(2D)掩膜。在图像采集期间,调整3D边界框以更好地拟合对象从而限定感兴趣的对象并且与背景分开。在一些具体实施中,对象标识可基于裁剪初步对象模型和与该初步对象模型相关联的3D关键点/调整初步对象模型和与该初步对象模型相关联的3D关键点的尺寸。例如,使用3D边界框约束来移除位于3D边界框之外的背景像素,并且/或者使用与对象相关联的2D掩膜约束来移除位于2D掩膜之外背景像素。可在扫描期间(例如,在图像采集期间)进行掩膜(例如,裁剪初步对象模型/调整初步对象模型的尺寸)以在第一阶段中检测对象,然后在进行图像扫描时,使用那些掩膜(例如,3D边界框约束、2D掩膜等)通过移除背景像素来分离出对象。在一些具体实施中,掩膜可使用覆盖算法,并且绕过对象,并对在图像采集期间的动态位置进行计算。
在一些具体实施中,对象标识可涉及稀疏3D深度云的致密化。例如,使用致密化算法根据稀疏数据集创建密集3D深度云。除此之外或另选地,在一些具体实施中,对象标识可以涉及关键点内插和/或靠近深度边缘的关键点的排除。例如,使用关键点对象算法,标识(例如,经由神经网络对RGB图像进行语义标记)对象的关键点,并且可将附加关键点(例如,与对象相关联的附加像素)内插(例如,添加)到初步对象模型,或者从初步对象模型中排除(例如,移除)。
在框406处,方法400基于对图像中的至少一些图像中的对象的标识来跟踪在采集图像期间设备的位置,这些位置标识设备相对于基于对象的位置和取向而定义的坐标系的定位和/或取向(例如,位姿信息)。在示例性具体实施中,基于对对象的标识来跟踪在采集图像期间设备的位置通过更新设备的以对象为中心的位姿(例如,当图像中的每个图像被采集时,相机在基于对象的坐标中相对于对象的位置)来跟踪对象。在一些具体实施中,跟踪可使用在基于对象的坐标(例如,由相对RGB-D相机移动做成的历史记录)中定义的位姿图。
在一些具体实施中,跟踪可涉及在对象离开视图时或在采集到对象的先前未见过部分时重新定位。例如,当对象离开相机视图并翻转时,跟踪可能需要重新定位并进一步标识与感兴趣的对象相同的对象,并且重新校准以对象为中心的坐标以确定翻转的对象与感兴趣的对象相同。在一些具体实施中,该方法可迭代地更新相机的以对象为中心的位姿和初步对象模型两者。
在一些具体实施中,位姿可基于裁剪初步对象模型及其3D关键点/调整初步对象模型及其3D关键点的尺寸(例如,使用3D边界框约束来移除背景图像信息并且/或者使用2D掩膜来移除背景图像像素(例如,类似于上文针对对象标识阶段期间的掩膜所述的过程))来验证。在一些具体实施中,位姿验证还可涉及稀疏深度云的致密化、关键点内插和/或靠近深度边缘的关键点的排除。
在框408处,方法400基于图像和在采集图像期间设备的位置来生成对象的3D模型。例如,3D模型可为3D网格表示或3D点云。在一些具体实施中,3D模型数据可以是使用具有相关联语义标签的3D点云来表示3D环境中的表面的3D表示。在一些具体实施中,3D模型数据是使用基于在物理环境中检测到的深度信息的网格化算法生成的3D重建网格,该深度信息被整合(例如,融合)以重建物理环境中的对象。网格化算法(例如,双行进立方体网格化算法、泊松网格化算法、四面体网格化算法等)可用于生成表示房间(例如,物理环境105)和/或房间内的对象(例如,对象130、桌子140、椅子142等)的网格。在一些具体实施中,对于使用网格的3D重建,为了有效地减少在重建过程中使用的存储器的量,使用了体素散列方法,其中3D空间被分成体素块,由散列表使用其3D位置作为键来引用。体素块仅围绕对象表面构造,从而释放原本将用于存储空余空间的存储器。体素散列方法也比当时的竞争方法(诸如基于八叉树的方法)更快。此外,它支持GPU和CPU之间的数据流,在GPU中,存储器通常是有限的,在CPU中,存储器更丰富。
在使用中,对于过程400,用户可期望创建桌子上的狗塑像(例如,对象130)的3D重建,并且用户可用设备(例如,智能电话诸如设备120)扫描房间中的对象,并且本文所述的过程将:采集传感器数据(例如,图像数据诸如光强度数据、深度数据、相机位置信息等),相对于对设备相对于对象的以对象为中心的位置跟踪来评估图像,基于该评估来选择传感器数据的子集,并且在对象正被用户扫描时提供该对象的3D表示。在一些具体实施中,3D表示可在实时相机馈送期间覆盖的用户设备上自动显示和更新。在一些具体实施中,可在扫描标识出多于一个对象的物理环境之后的某种类型的用户交互之后提供3D表示。例如,可向用户显示所标识的对象的选项,并且用户可选择或点击用户想要包括在3D表示中的特定对象,然后3D表示将与所选择的对象一起显示。因此,如下文参考图8所示和所述,图像评估单元(例如,图2的图像评估单元242和/或图3的图像评估单元342)标识要由3D表示单元(例如,图2的3D表示单元244和/或图3的3D表示单元344)利用的图像的以对象为中心的数据的子集。
图5A是示出根据一些具体实施的设备上的相机(例如,设备120的图像传感器***314)相对于物理环境中的对象(例如,对象130)的示例性相机位置的示例性操作环境500A的框图。在该示例中,示例性操作环境500A示出了包括来自图1的物理环境105的设备510、对象130和桌子140的环境。设备510被示出为在四个不同的相机视图下,设备510a至510d各自相机具有相对于对象130、目标对象(例如,桌子上的狗塑像)的不同视场和视角。虽然在位姿图路径502上仅示出了四个不同的相机视图,但当用户围绕对象130走动并扫描目标对象时,可存在在位姿图路径502上的任何点处采集的若干更多图像。位姿图路径502示出了设备围绕对象形成的由用户移动创建的示例路径。例如,位姿图是对相对于对象的相对RGB-D相机移动的历史记录。例如,可沿位姿图分配或定位关键帧,并且可相对于位姿图示出当前相机位置。尽管示出了相关特征,但本领域的普通技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的示例性具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,操作环境500A包括设备510。
图5B是示出相对于设备上的相机(例如,设备120的图像传感器***314)相对于物理环境(如示例性操作环境500A所示)中的对象(例如,对象130)的不同相机位置的示例性用户界面的示例性操作环境500B的框图。在该示例中,示例性操作环境500B示出了来自包括设备510、来自图1的物理环境105的对象130和桌子140的示例性操作环境500A的用户界面。例如,当设备510a处于如图所示采集对象130的传感器数据的位置时,用户界面562在具有画中画显示520a的设备显示器560上示出。画中画显示520a包括初步对象模型522a(例如,3D边界框、对象的3D渲染诸如3D网格、3D重建模型等)和用户界面引导元素524a。引导元素524a被示出为3D扩展现实图像,该图像被示出给用户,以引导用户将设备移动到采集附加传感器数据的视角。当用户和设备移动时,引导元素也将移动,以连续地将用户引导到采集处于不同视角下的对象的位置,以便根据需要适当地生成3D重建(例如,对象的高质量渲染)。引导元素524a基于以对象为中心的定位数据与对象130相关联,该以对象为中心的定位数据在用户基本上创建位姿图的路径502时设备围绕对象并且相对于该对象移动时被采集。当设备510b处于如图所示采集对象130的传感器数据的位置时,用户界面562在具有画中画显示520b的设备显示器560上示出。画中画显示520b包括初步对象模型522b(例如,3D边界框、对象的3D渲染诸如3D网格、3D重建模型等)和用户界面引导元素524b,该用户界面引导元素引导用户朝向如设备510c所示的位置采集附加图像。当设备510c处于如图所示采集对象130的传感器数据的位置时,用户界面562在具有画中画显示520c的设备显示器560上示出。画中画显示520c包括初步对象模型522c(例如,3D边界框、对象的3D渲染诸如3D网格、3D重建模型等)和用户界面引导元素524c,该用户界面引导元素引导用户朝向如设备510d所示的位置采集附加图像。在一些具体实施中,引导元素524a至524c遵循围绕对象并且相对于对象的中心的预设路径。另选地,引导元素524a至524c在本文所述的***(例如,图像评估单元)确定设备应采集图像数据的具***置时迭代地更新,这可能不需要完全360度覆盖,如图5A的位姿图502所示。例如,***可确定仅需要对象周围的200度覆盖来采集足够的传感器数据以生成对象的3D模型。
在一些具体实施中,基于目标对象的几何形状和所采集的目标对象的数据来确定设备位置标准。例如,***从设备510a的初始相机位置标识对象130,并且设备位置标准可确定或估计(例如,由后端重建要求驱动)采集足够的图像数据可能需要的附加视图和设备位置的数量,以最佳地完全且准确地重建目标对象,从而使对于用户而言更容易所需要的观察位置或站位的数量最小化,并且使本地设备(例如,图1和图3的设备120)的要处理的和/或发送到服务器(例如,图1和图2的服务器110)以进行处理的数据更少。
在一些具体实施中,设备510可包括一个或多个深度传感器(例如,结构光、飞行时间等)。如图5A和图5B所示,设备510朝向对象130成角度。如图所示,用户正在以不同的相机视角采集对象130周围的传感器数据。在一些具体实施中,用户不断地采集图像数据作为实时视频,因此,当用户将设备510a沿位姿图的路径502移动到设备510d处的位置时,可采集来自传感器数据的多个图像(例如,实时视频馈送)。在给定相机的当前运动和相机到对象的距离的情况下,可通过采集相对于图像帧之间的对象的设备位置来确定以对象为中心的位置数据。分别参考图6A至图6D进一步示出设备510a至510d及其相应生成的3D边界框(例如,初步对象模型)的示例性视图。
图6A至图6D是示出根据一些具体实施的图5A中的(由设备510(例如,设备510a至510d)采集的)示例性视图的框图。具体地,图6A是设备510a的具有对象透视图610a和初步对象模型620a(例如,3D边界框、对象的3D渲染诸如3D网格、3D重建模型等)的示例性相机视图,该初步对象模型在采集对象130的图像时实时生成。图6B是设备510b的具有对象透视图610b和初步对象模型620b的示例性相机视图。图6C是设备510c的具有对象透视图610c和初步对象模型620c的示例性相机视图。图6D是设备510d的具有对象透视图610d和初步对象模型620d的示例性相机视图。
图7A是示出根据一些具体实施的与物理环境中的对象(例如,对象130)相关联的初步对象模型(例如,3D边界框712)的框图710。例如,3D边界框约束算法可用于排除3D边界框712之外的图像数据区域714,以便从3D模型重建中移除“背景”数据。换句话讲,3D边界框约束限制将被发送到3D表示单元(例如,图2的3D表示单元244和/或图3的3D表示单元344)以生成对象的3D模型的传感器数据的量。
图7B是示出根据一些具体实施的与物理环境中的对象(例如,对象130)相关联的初步对象模型(例如,2D掩膜722)的框图720。例如,2D掩膜约束算法可用于排除2D掩膜722之外的图像数据区域724,以便从发送到3D模型重建单元的RGB图像中移除“背景”数据。换句话讲,2D掩膜约束限制将被发送到3D表示单元(例如,图2的3D表示单元244和/或图3的3D表示单元344)以生成对象的3D模型的传感器数据的量。
图7C是用于致密化对象的3D稀疏深度云的示例性环境的框图。例如,对象130的3D稀疏深度云730被发送到生成3D密集数据752的致密化单元750。3D密集数据752可包括示例性密集3D深度云740。在一些具体实施中,致密化单元750从设备(例如,设备120)的相机获取深度数据,并且可生成3D致密数据752并将其发送到图像评估单元(例如,图2的图像评估单元242和/或图3的图像评估单元342)。另选地,图像评估单元可包括致密化单元750。
图8是根据一些具体实施的示例性环境800的***流程图,其中***可基于图像和在采集图像期间设备的位置来生成对象的3D模型。在一些具体实施中,示例性环境800的***流程在设备(例如,图1至图3的服务器110或设备120)上执行,诸如移动设备、台式计算机、膝上型电脑或服务器设备。示例性环境800的***流程可显示在具有用于显示图像的屏幕和/或用于查看立体图像的屏幕的设备(例如,图1和图3的设备120)上,诸如头戴式显示器(HMD)。在一些具体实施中,示例性环境800的***流程在处理逻辑部件(包括硬件、固件、软件或它们的组合)上执行。在一些具体实施中,示例性环境800的***流程在执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器上执行。
示例性环境800的***流程从传感器(例如,传感器810)采集光强度图像数据803(例如,来自光强度相机802的实时相机馈送诸如RGB)、深度图像数据805(例如,来自深度相机804的深度图像数据诸如RGB-D)以及物理环境(例如,图1的物理环境105)的其他物理环境信息源(例如,来自位置传感器806的相机定位信息807诸如位置和取向数据),基于图像和在采集图像期间设备的跟踪位置来评估图像并且确定和选择相对于对象的以对象为中心的数据(例如,图像评估单元820),并且从以对象为中心的数据生成对象的3D模型数据842(例如,3D表示单元880)。
在一个示例性具体实施中,环境800包括采集或获取物理环境的数据(例如,来自图像源诸如传感器810的图像数据)的图像合成流水线。示例性环境800是采集多个图像帧的图像传感器数据(例如,光强度数据、深度数据和位置信息)的示例。图像源可包括采集物理环境的深度数据805的深度相机804、采集光强度图像数据803(例如,RGB图像帧序列)的光强度相机802(例如,RGB相机),以及用于采集定位信息的位置传感器806。对于定位信息807,一些具体实施包括视觉惯性测距(VIO)***,该VIO***使用顺序相机图像(例如,光强度数据803)来确定等效测距信息以估计行进距离。另选地,本公开的一些具体实施可包括SLAM***(例如,位置传感器806)。该SLAM***可包括独立于GPS并且提供实时同时定位与建图的多维(例如,3D)激光扫描和范围测量***。该SLAM***可生成并管理由来自环境中对象的激光扫描的反射而产生的非常准确的点云数据。随着时间推移,准确地跟踪点云中的任何点的移动,使得SLAM***可使用点云中的点作为位置的参考点,在其行进通过环境时保持对其位置和取向的精确理解。
在一个示例性具体实施中,环境800包括图像评估单元820,该图像评估单元被配置有能够由处理器执行以进行如下操作的指令:使用本文所公开的技术中的一种或多种技术来获取传感器数据(例如,图像数据诸如光强度数据、深度数据、相机位置信息等)并选择传感器数据的以对象为中心的子集(例如,以对象为中心的数据822)。在一些具体实施中,图像评估单元820包括对象检测单元830,该对象检测单元被配置有能够由处理器执行以分析图像信息并标识图像数据内的对象的指令。例如,图像评估单元820(例如,图2的图像评估单元242和/或图3的图像评估单元342)的对象检测单元830分析来自光强度相机802的RGB图像以及来自深度相机804(例如,飞行时间传感器)的稀疏深度图和其他物理环境信息源(例如,来自相机的SLAM***、VIO等(诸如,位置传感器806)的相机定位信息807),以标识光强度图像序列中的对象(例如,家居、家电、塑像等)。在一些具体实施中,对象检测单元830使用机器学习来进行对象标识。在一些具体实施中,机器学习模型是神经网络(例如,人工神经网络)、决策树、支持向量机、贝叶斯网络等。例如,对象检测单元830使用对象检测神经网络单元来标识对象和/或对象分类神经网络来对每种类型的对象进行分类。
在一些具体实施中,图像评估单元820包括位姿跟踪单元840,该位姿跟踪单元被配置有能够由处理器执行以分析相对于在图像采集期间设备运动的定位和取向信息(例如,位置数据807)的图像信息的指令。例如,图像评估单元820(例如,图2的图像评估单元242和/或图3的图像评估单元342)的位姿跟踪单元840分析来自相机的SLAM***、VIO等(例如,位置传感器806)的相机定位信息807,以跟踪相对于光强图像序列中的对象(例如,以对象为中心的数据)的设备位置。在一些具体实施中,位姿跟踪单元840生成位姿图(例如,图5A的位姿图路径502)作为相对于对象(例如,对象130)的相对RGB-D相机移动(例如,设备510a至510d)的历史记录。例如,可沿位姿图分配或定位关键帧,并且可相对于位姿图示出当前相机位置。
在一些具体实施中,图像评估单元820包括用于生成2D掩膜的掩膜单元850、用于生成初步对象模型的初步对象模型单元860(例如,3D边界框、对象的3D渲染诸如3D网格、3D重建模型等),以及用于基于2D掩膜和3D边界框信息从图像数据中移除背景信息的裁剪单元870。例如,2D掩膜约束算法可由裁剪单元870用来排除2D掩膜(例如,2D掩膜722)之外的图像数据区域(例如,图像数据区域724),以便从发送到3D模型重建单元(例如,3D表示单元880)的RGB图像中移除“背景”数据。换句话讲,2D掩膜约束限制将被发送到3D表示单元880(例如,图2的3D表示单元244和/或图3的3D表示单元344)以生成目标对象(例如,对象130)的3D模型的传感器数据的量。在一些具体实施中,对象标识可基于裁剪初步对象模型和与该初步对象模型相关联的3D关键点/调整初步对象模型和与该初步对象模型相关联的3D关键点的尺寸。例如,裁剪单元870可使用3D边界框约束来移除位于由初步对象模型单元860生成的3D边界框之外的背景像素,以移除位于3D边界框之外与对象相关联的背景像素。可在扫描期间(例如,在图像采集期间)进行掩膜(例如,裁剪初步对象模型/调整初步对象模型的尺寸)以在第一阶段中检测对象,然后在进行图像扫描时,使用那些掩膜(例如,3D边界框约束、2D掩膜等)通过移除背景像素来分离出对象。在一些具体实施中,掩膜可使用覆盖算法,并且绕过对象,并对在图像采集期间的动态位置进行计算。
图像评估单元820基于来自子单元(例如,对象检测单元830、位姿跟踪单元840、掩膜单元850、初步对象模型单元860和裁剪单元870)的分析—基于图像和在采集图像期间设备(例如,设备120)的跟踪位置来评估图像并且确定和选择相对于对象的以对象为中心的数据—来从传感器810选择传感器数据的子集(例如,选择以对象为中心的数据)。图像评估单元820聚焦于相对于例如根据基于对象的坐标系定义的以对象为中心的相机位姿的图像采集。因此,图像采集***820的位姿跟踪单元840通过更新设备的以对象为中心的位姿(例如,当图像中的每个图像被采集时,相机在基于对象的坐标中相对于对象的位置)来跟踪对象。
除此之外或另选地,在一些具体实施中,跟踪可涉及在对象离开视图时或在采集到对象的先前未见过部分时重新定位。例如,当对象离开相机视图并翻转时,跟踪可能需要重新定位并进一步标识与感兴趣的对象相同的对象,并且重新校准以对象为中心的坐标以确定翻转的对象与感兴趣的对象相同。在一些具体实施中,该方法可迭代地更新相机的以对象为中心的位姿和初步对象模型两者。
除此之外或另选地,在一些具体实施中,可选择图像信息以确保图像包括对象或特定对象特征(例如,对象的边缘、对象与相机的最接近点、公认的标记诸如品牌名称和/或符号等)。例如,图像评估单元820可分析图像信息,确定对象的特定特征,并且限制包括那些特征的图像子集,以便确保仅子集中包括在子集数据中的图像(例如,以对象为中心的数据822)被发送到3D重建单元880。因此,将以对象为中心的数据822中的数据集限制为仅包括特定对象的图像。在一些具体实施中,可基于所选择的图像子集在设备的移动期间显示画中画预览,如参考图9所示。
在一个示例性具体实施中,环境800还包括3D表示单元880,该3D表示单元被配置有能够由处理器执行以进行如下操作的指令:使用一种或多种技术从图像评估单元820获取传感器数据的以对象为中心的子集(例如,以对象为中心的数据822)并生成3D模型数据882。例如,3D表示单元880(例如,图2的3D表示单元244和/或图3的3D表示单元344)针对每个检测到的对象生成3D模型884a至884d(例如,针对对象130的3D边界框844a、3D重建模型884b、针对桌子140的3D边界框844b和针对椅子142的3D边界框844c)。
3D模型数据可以是使用具有相关联语义标签的3D点云来表示3D环境中的表面的3D表示844a至844d。3D表示844a、884c和844d分别被示出为针对对象130、桌子140和椅子142的3D边界框。在一些具体实施中,3D模型数据842是使用网格化算法基于在物理环境中检测到的深度信息生成的3D重建网格,该深度信息被整合(例如,融合)以重建物理环境。网格化算法(例如,双行进立方体网格化算法、泊松网格化算法、四面体网格化算法等)可用于生成表示房间(例如,物理环境105)和/或房间内的对象(例如,对象130、桌子140、椅子142等)的网格。在一些具体实施中,对于使用网格的3D重建,为了有效地减少在重建过程中使用的存储器的量,使用了体素散列方法,其中3D空间被分成体素块,由散列表使用其3D位置作为键来引用。体素块仅围绕对象表面构造,从而释放原本将用于存储空余空间的存储器。体素散列方法也比当时的竞争方法(诸如基于八叉树的方法)更快。此外,它支持GPU和CPU之间的数据流,在GPU中,存储器通常是有限的,在CPU中,存储器更丰富。
在一些具体实施中,所生成的对象的3D模型数据882基于精修图像来确定,其中这些精修图像基于以下中的至少一者来确定:3D关键点内插、与图像相关联的3D稀疏点云的致密化、对应于对象以用于移除图像的背景图像像素的2D掩膜和/或对应于对象以用于移除图像的背景图像像素的3D边界框约束。在一些具体实施中,3D关键点内插、3D稀疏点云的致密化、2D掩膜和3D边界框约束基于对象(例如,以对象为中心的数据822)的坐标系(例如,位姿跟踪单元840的位姿跟踪数据)。
在一些具体实施中,3D表示单元880包括整合单元,该整合单元被配置有能够由处理器执行以进行如下操作的指令:使用一种或多种已知技术来获取图像数据的子集(例如,光强度数据803、深度数据805等)和定位信息(例如,来自位置传感器806的相机位姿信息807)并且对该图像数据的子集进行整合(例如,融合)。例如,图像整合单元从图像源(例如,光强度相机802和深度相机804)接收深度图像数据805的子集(例如,稀疏深度数据)和强度图像数据803的子集(例如,RGB),并且对该图像数据的子集进行整合并生成3D数据。该3D数据可包括发送到3D表示单元880的密集3D点云(例如,围绕对象的多个图像帧的不完美深度图和相机位姿)。3D数据也可被体素化。在一些具体实施中,整合单元在图像评估单元820内,并且以对象为中心的数据822在被3D表示单元880处理之前由整合单元整合。
在一些具体实施中,3D表示单元包括语义分割单元,该语义分割单元被配置有能够由处理器执行以进行如下操作的指令:使用一种或多种已知技术来获取光强度图像数据(例如,光强度数据803)并且标识和分割墙体结构(墙、门、窗等)以及对象(例如,人、桌子、茶壶、椅子、花瓶等)。例如,该分割单元从图像源(例如,光强度相机802)接收强度图像数据803的子集,并且生成分割数据(例如,语义分割数据诸如RGB-S数据)。在一些具体实施中,分割单元使用机器学习模型,其中语义分割模型可被配置为标识图像数据的像素或体素的语义标签。在一些具体实施中,机器学习模型是神经网络(例如,人工神经网络)、决策树、支持向量机、贝叶斯网络等。在一些具体实施中,语义分割单元在图像评估单元820内,并且以对象为中心的数据822在被3D表示单元880处理之前由该语义分割单元进行语义标记。
图9是根据一些具体实施的示例性环境900的***流程图,其中***可基于图像和在采集图像期间设备的位置来生成并显示对象的3D模型(例如,3D点云、3D网格重建、与对象相关联的3D边界框等)的实时预览。在一些具体实施中,示例性环境900的***流程在设备(例如,图1至图3的服务器110或设备120)上执行,诸如移动设备、台式计算机、膝上型电脑或服务器设备。示例性环境900的***流程可显示在具有用于显示图像的屏幕和/或用于查看立体图像的屏幕的设备(例如,图1和图3的设备120)上,诸如头戴式显示器(HMD)。在一些具体实施中,示例性环境900的***流程在处理逻辑部件(包括硬件、固件、软件或其组合)上执行。在一些具体实施中,示例性环境900的***流程在执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器上执行。
示例性环境900的***流程从传感器(例如,传感器910)采集光强度图像数据903(例如,来自光强度相机902的实时相机馈送诸如RGB)、深度图像数据905(例如,来自深度相机904的深度图像数据诸如RGB-D)以及物理环境(例如,图1的物理环境105)的其他物理环境信息源(例如,来自位置传感器906的相机定位信息907诸如位置和取向数据),基于图像和在采集图像期间设备的跟踪位置来评估图像并且确定和选择相对于对象的以对象为中心的数据(例如,图像评估单元930),从以对象为中心的传感器数据生成3D模型预览数据(例如,实时预览单元950),并且在生成3D模型预览数据时将其实时预览显示在设备的显示器上的实时相机视图上。在一些具体实施中,示例性环境900的***流程包括生成并显示引导元素,以帮助用户在特定位置处采集图像,从而正确地采集对象(例如,采集具有更高图像质量、不同角度等的附加图像)。
在一个示例性具体实施中,环境900包括采集或获取物理环境的数据(例如,来自图像源的图像数据)的图像合成流水线。示例性环境900是采集多个图像帧的图像传感器数据(例如,光强度数据、深度数据和位置信息)的示例。图像源可包括采集物理环境的深度数据905的深度相机904、采集光强度图像数据903(例如,RGB图像帧序列)的光强度相机902(例如,RGB相机),以及用于采集定位信息的位置传感器。对于定位信息907,一些具体实施包括视觉惯性测距(VIO)***,该VIO***使用顺序相机图像(例如,光强度数据903)来确定等效测距信息以估计行进距离。另选地,本公开的一些具体实施可包括SLAM***(例如,位置传感器906)。该SLAM***可包括独立于GPS并且提供实时同时定位与建图的多维(例如,3D)激光扫描和范围测量***。该SLAM***可生成并管理由来自环境中对象的激光扫描的反射而产生的非常准确的点云数据。随着时间推移,准确地跟踪点云中的任何点的移动,使得SLAM***可使用点云中的点作为位置的参考点,在其行进通过环境时保持对其位置和取向的精确理解。
在一个示例性具体实施中,环境900包括图像评估单元930,该图像评估单元被配置有能够由处理器执行以进行如下操作的指令:使用本文所公开的技术中的一种或多种技术来获取传感器数据(例如,图像数据诸如光强度数据、深度数据、相机位置信息等)并选择传感器数据的以对象为中心的子集(例如,以对象为中心的数据922)。在一些具体实施中,图像评估单元930包括对象检测单元932,该对象检测单元被配置有能够由处理器执行以分析图像信息并标识图像数据内的对象的指令。例如,图像评估单元930(例如,图2的图像评估单元242和/或图3的图像评估单元342)的对象检测单元932分析来自光强度相机902的RGB图像以及来自深度相机904(例如,飞行时间传感器)的稀疏深度图和其他物理环境信息源(例如,来自相机的SLAM***、VIO等(诸如,位置传感器906)的相机定位信息907),以标识光强度图像序列中的对象(例如,家居、家电、塑像等)。在一些具体实施中,对象检测单元932使用机器学习来进行对象标识。在一些具体实施中,机器学习模型是神经网络(例如,人工神经网络)、决策树、支持向量机、贝叶斯网络等。例如,对象检测单元932使用对象检测神经网络单元来标识对象和/或对象分类神经网络来对每种类型的对象进行分类。在一些具体实施中,对象检测单元932生成与所标识的对象相关联的3D边界框(例如,3D边界框948)。
在一些具体实施中,图像评估单元930包括位姿跟踪单元934,该位姿跟踪单元被配置有能够由处理器执行以分析相对于在图像采集期间设备运动的定位和取向信息(例如,位置数据907)的图像信息的指令。例如,图像评估单元930(例如,图2的图像评估单元242和/或图3的图像评估单元342)的位姿跟踪单元934分析来自相机的SLAM***、VIO等(例如,位置传感器906)的相机定位信息907,以跟踪相对于光强图像序列中的对象(例如,以对象为中心的数据)的设备位置。在一些具体实施中,位姿跟踪单元934生成位姿图(例如,图5A的位姿图路径502)作为相对于对象(例如,对象130)的相对RGB-D相机移动(例如,设备510a至510d)的历史记录。例如,可沿位姿图分配或定位关键帧,并且可相对于位姿图示出当前相机位置。
在一些具体实施中,掩膜单元920基于所接收到的图像数据(例如,RGB数据903和/或深度数据905)来生成2D掩膜,并且将2D掩膜数据922发送到图像评估单元930。在一些具体实施中,图像评估单元930包括掩膜单元920以生成2D掩膜数据(例如,如本文针对图像评估单元820所述)。图像评估单元930还包括用于生成与所标识的对象相关联的3D边界框的对象检测单元932,以及用于基于2D掩膜和3D边界框信息从图像数据中移除背景信息以生成分割数据943的裁剪单元940。例如,如2D掩膜数据942所示,2D掩膜约束算法可由裁剪单元940用来排除2D掩膜(例如,2D掩膜944)之外的图像数据区域(例如,图像数据区域943),以便从发送到3D模型重建单元(例如,3D预览模型单元952)的RGB图像中移除“背景”数据。换句话讲,2D掩膜约束限制将被发送到3D表示单元(例如,图2的3D表示单元244和/或图3的3D表示单元344)以生成目标对象(例如,对象130)的预览3D模型的传感器数据的量。在一些具体实施中,对象标识可基于裁剪初步对象模型和与该初步对象模型相关联的3D关键点/调整初步对象模型和与该初步对象模型相关联的3D关键点的尺寸。例如,如3D边界框数据946所示,裁剪单元940可使用3D边界框约束来移除位于由对象检测单元932(例如,图8的初步对象模型单元860)生成的3D边界框(例如,3D边界框948)之外的背景像素(例如,图像数据区域947)以移除位于与对象(例如,对象130)相关联的3D边界框948之外的背景像素。可在扫描期间(例如,在图像采集期间)进行掩膜(例如,裁剪初步对象模型/调整初步对象模型的尺寸)以在第一阶段中检测对象,然后在进行图像扫描时,使用那些掩膜(例如,3D边界框约束、2D掩膜等)通过移除背景像素来分离出对象。在一些具体实施中,掩膜可使用覆盖算法,并且绕过对象,并对在图像采集期间的动态位置进行计算。
图像评估单元930基于来自子单元(例如,对象检测单元932、位姿跟踪单元934和裁剪单元940)的分析—基于图像和在采集图像期间设备(例如,设备120)的跟踪位置来评估图像并且确定和选择相对于对象的以对象为中心的数据(例如,对象3D数据933、跟踪数据935和分割数据943)—来从传感器910选择传感器数据的子集(例如,选择以对象为中心的数据)。图像评估单元930聚焦于相对于例如根据基于对象的坐标系定义的以对象为中心的相机位姿的图像采集。因此,图像评估单元930的位姿跟踪单元934通过更新设备的以对象为中心的位姿(例如,当图像中的每个图像被采集时,相机在基于对象的坐标中相对于对象的位置)来跟踪对象。
除此之外或另选地,,在一些具体实施中,跟踪可涉及在对象离开视图时或在采集到对象的先前未见过部分时重新定位。例如,当对象离开相机视图并翻转时,跟踪可能需要重新定位并进一步标识与感兴趣的对象相同的对象,并且重新校准以对象为中心的坐标以确定翻转的对象与感兴趣的对象相同。在一些具体实施中,该方法可迭代地更新相机的以对象为中心的位姿和初步对象模型两者。
除此之外或另选地,在一些具体实施中,可选择图像信息以确保图像包括对象或特定对象特征(例如,对象的边缘、对象与相机的最接近点、公认的标记诸如品牌名称和/或符号等)。例如,图像评估单元930可分析图像信息,确定对象的特定特征,并且限制包括那些特征的图像子集,以便确保仅子集中包括在子集数据中的图像(例如,以对象为中心的数据922)被发送到3D重建单元980。因此,将以对象为中心的数据922中的数据集限制为仅包括特定对象的图像。在一些具体实施中,可基于所选择的以对象为中心的图像数据的子集在设备的移动期间显示画中画预览(例如,PIP显示970)。
在示例性具体实施中,环境900还包括实时预览单元950,该实时预览单元被配置有能够由处理器执行以从图像评估单元930获取以对象为中心的数据(例如,对象3D数据933、跟踪数据935和分割数据943)和实时相机馈送903的指令。实时预览单元950包括3D预览模型单元952,该3D预览模型单元被配置有能够由处理器执行以进行如下操作的指令:使用一种或多种技术来获取以对象为中心的数据(例如,对象3D数据933、跟踪数据935和分割数据943)并生成3D模型预览数据953。例如,3D预览模型单元952针对每个检测到的对象(例如,对象130、桌子140和椅子142)生成3D模型预览。
3D模型预览数据953可以是使用具有相关联语义标签的3D点云来表示3D环境中的表面的3D表示。3D表示可类似于图8的被分别示出为针对对象130、桌子140和椅子142的3D边界框的3D表示884a、884c和844d。在一些具体实施中,3D模型预览数据是使用网格化算法基于在物理环境中检测到的深度信息生成的3D重建网格,该深度信息被整合(例如,融合)以重建物理环境。网格化算法(例如,双行进立方体网格化算法、泊松网格化算法、四面体网格化算法等)可用于生成表示房间(例如,物理环境105)和/或房间内的对象(例如,对象130、桌子140、椅子142等)的网格。
另外,实时预览单元950包括从图像评估单元930获取以对象为中心的数据(例如,对象3D数据933、跟踪数据935和分割数据943)和实时相机馈送903并且生成用户界面引导元素955(例如,如图5所示的引导元素524a至524c)的用户界面引导单元954。例如,示出了画中画显示972中的引导元素974和设备显示器960中的引导元素976作为示例性具体实施。引导元素数据955可以是3D扩展现实图像等,其被显示给用户,以引导用户将设备移动到采集附加传感器数据的视角。当用户和设备移动时,引导元素也将移动,以连续地将用户引导到采集处于不同视角下的对象的位置,以便根据需要适当地生成3D重建(例如,对象的高质量渲染)。除此之外或另选地,引导元素可引导可向用户提供反馈的引导元素以引导用户采集具有较高图像质量的图像。例如,如果确定相机移动太快,则引导元素可作为特定符号、经由文本或两者向用户指示相机移动太快。另外,引导元素可指示照明太暗、需要另外的角度等。引导元素基于以对象为中心的定位数据与目标对象相关联,该以对象为中心的定位数据在设备围绕对象并且相对于该对象移动时被采集。
在示例性具体实施中,环境900还包括设备显示器960(例如,图3的显示器312),该设备显示器被配置为从实时预览单元950获取引导元素数据955、实时相机馈送903和3D模型预览数据953,并且在使用一种或多种技术生成3D模型时生成该3D模型的实时视图和画中画(PIP)显示。例如,设备显示器960可显示实时视图962(例如,光强度图像数据903),并且PIP显示模块970可生成并显示PIP预览972。在从图像评估单元930采集子集图像数据时,随着3D预览模型单元952不断更新3D预览模型,可迭代地更新PIP预览972。另外,PIP显示模块970可从用户界面引导单元954获取用户界面引导元素数据955,并且在PIP预览972中显示用户界面引导元素974。例如,PIP预览972示出了引导元素974(例如,指向对象的区域以定位设备从而采集附加图像数据的3D箭头)。当用户获取对象的图像时,***确定有效地获取了对象的哪些部分,并且围绕对象连续移动引导元素974直到采集到足够的图像数据。用户界面引导元素帮助用户获取生成对象的3D模型所需要采集的图像。除此之外或另选地,引导元素数据955可生成覆盖在实时相机馈送上的引导元素(例如,实时视图962)。例如,引导元素976在设备显示器960的实时视图上示出,从而引导用户将设备移动到对象的背面(例如,对象130(狗塑像)的后视图)。
在一些具体实施中,图像合成流水线可包括针对扩展现实(XR)环境生成的虚拟内容(例如,放置在图1中的桌子140上的虚拟框)。在一些具体实施中,操作***230、330包括内置XR功能,例如包括XR环境应用程序或被配置为从一个或多个应用程序240、340调用以在用户界面内显示XR环境的查看器。例如,本文所述的***可包括XR单元,该XR单元被配置有能够由处理器执行以提供XR环境的指令,该XR环境包括对包括真实物理对象和虚拟内容的物理环境的描述。XR单元可生成虚拟深度数据(例如,虚拟内容的深度图像)和虚拟强度数据(例如,虚拟内容的光强度图像(例如,RGB))。例如,用于服务器110的应用程序240或用于设备120的应用程序340中的一者可包括XR单元,该XR单元被配置有能够由处理器执行以提供XR环境的指令,该XR环境包括对包括真实对象或虚拟对象的物理环境的描述。例如,可使用本文所公开的技术中的一种或多种技术基于真实对象和虚拟对象的存储的3D模型,基于3D空间中的对象相对于彼此的检测、跟踪和表示来定位虚拟对象。
本文阐述了许多具体细节以提供对要求保护的主题的全面理解。然而,本领域的技术人员将理解,可以在没有这些具体细节的情况下实践要求保护的主题。在其他实例中,没有详细地介绍普通技术人员已知的方法、设备或***,以便不使要求保护的主题晦涩难懂。
除非另外特别说明,否则应当理解,在整个说明书中,利用诸如“处理”、“计算”、“计算出”、“确定”和“标识”等术语的论述是指计算设备的动作或过程,诸如一个或多个计算机或类似的电子计算设备,其操纵或转换表示为计算平台的存储器、寄存器或其他信息存储设备、传输设备或显示设备内的物理电子量或磁量的数据。
本文论述的一个或多个***不限于任何特定的硬件架构或配置。计算设备可以包括部件的提供以一个或多个输入为条件的结果的任何合适的布置。合适的计算设备包括基于多用途微处理器的计算机***,其访问存储的软件,该软件将计算***从通用计算设备编程或配置为实现本发明主题的一种或多种具体实施的专用计算设备。可以使用任何合适的编程、脚本或其他类型的语言或语言的组合来在用于编程或配置计算设备的软件中实现本文包含的教导内容。
本文所公开的方法的具体实施可以在这样的计算设备的操作中执行。上述示例中呈现的框的顺序可以变化,例如,可以将框重新排序、组合和/或分成子块。某些框或过程可以并行执行。
本文中“适用于”或“被配置为”的使用意味着开放和包容性的语言,其不排除适用于或被配置为执行额外任务或步骤的设备。另外,“基于”的使用意味着开放和包容性,因为“基于”一个或多个所述条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出所述的值。本文包括的标题、列表和编号仅是为了便于解释而并非旨在为限制性的。
还将理解的是,虽然术语“第一”、“第二”等可能在本文中用于描述各种元素,但是这些元素不应当被这些术语限定。这些术语只是用于将一个元件与另一元件区分开。例如,第一节点可以被称为第二节点,并且类似地,第二节点可以被称为第一节点,其改变描述的含义,只要所有出现的“第一节点”被一致地重命名并且所有出现的“第二节点”被一致地重命名。第一节点和第二节点都是节点,但它们不是同一个节点。
本文中所使用的术语仅仅是为了描述特定具体实施并非旨在对权利要求进行限制。如在本具体实施的描述和所附权利要求中所使用的那样,单数形式的“一个”和“该”旨在也涵盖复数形式,除非上下文清楚地另有指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件,和/或其群组。
如本文所使用的,术语“如果”可以被解释为表示“当所述先决条件为真时”或“在所述先决条件为真时”或“响应于确定”或“根据确定”或“响应于检测到”所述先决条件为真,具体取决于上下文。类似地,短语“如果确定[所述先决条件为真]”或“如果[所述先决条件为真]”或“当[所述先决条件为真]时”被解释为表示“在确定所述先决条件为真时”或“响应于确定”或“根据确定”所述先决条件为真或“当检测到所述先决条件为真时”或“响应于检测到”所述先决条件为真,具体取决于上下文。
本发明的前述描述和概述应被理解为在每个方面都是例示性和示例性的,而非限制性的,并且本文所公开的本发明的范围不仅由例示性具体实施的详细描述来确定,而是根据专利法允许的全部广度。应当理解,本文所示和所述的具体实施仅是对本发明原理的说明,并且本领域的技术人员可以在不脱离本发明的范围和实质的情况下实现各种修改。
Claims (20)
1.一种方法,包括:
在具有处理器的设备处:
在所述设备于包括对象的物理环境中移动期间采集传感器数据,所述传感器数据包括经由所述设备上的相机采集的所述物理环境的图像;
标识所述图像中的至少一些图像中的所述对象;
基于对所述图像中的所述至少一些图像中的所述对象的所述标识来跟踪在采集所述图像期间所述设备的位置,所述位置标识所述设备相对于基于所述对象的位置和取向而定义的坐标系的定位;以及
基于所述图像和在采集所述图像期间所述设备的位置来生成所述对象的三维(3D)模型。
2.根据权利要求1所述的方法,其中在所述设备的所述移动期间采集所述传感器数据包括:在所述设备围绕所述对象移动时,从所述对象的不同视角采集图像。
3.根据权利要求1所述的方法,其中所述设备包括用户界面,并且其中所述方法还包括:在所述设备的所述移动期间,在所述用户界面内显示包括所述对象的所述物理环境的所采集的图像。
4.根据权利要求1所述的方法,其中标识所述对象包括:基于来自所述物理环境的所述图像的深度信息来生成初步对象模型,所述初步对象模型包括对应于所述对象的3D关键点。
5.根据权利要求4所述的方法,其中所述初步对象模型是3D边界框,其中生成3D边界框包括:
获取基于所述深度数据生成的所述物理环境的3D表示;
基于所述3D表示来确定对应于所述物理环境中的所述对象的地平面;以及
基于所述地平面和所述3D表示来生成对应于所述物理环境中的所述对象的所述3D边界框。
6.根据权利要求5所述的方法,其中标识所述对象还包括基于对应于所述对象的所述3D关键点来调整所述初步对象模型。
7.根据权利要求6所述的方法,其中调整所述初步对象模型基于3D边界框约束,所述3D边界框约束用于移除包括在所述3D边界框中的背景信息以生成更新的3D边界框。
8.根据权利要求4所述的方法,其中所述深度信息包括稀疏3D点云,其中标识所述对象还包括所述稀疏3D点云的致密化,所述稀疏3D点云基于对应于所述对象的所述3D关键点。
9.根据权利要求1所述的方法,其中标识所述对象还包括基于对应于所述对象的3D关键点的关键点内插,其中关键点内插包括排除在所述对象的深度边缘的接近范围内的3D关键点。
10.根据权利要求1所述的方法,其中所述设备的所述跟踪位置标识所述设备相对于基于所述对象的所述位置和所述取向而定义的所述坐标系的位置和取向。
11.根据权利要求1所述的方法,其中所述设备包括用户界面,其中跟踪在采集所述图像期间所述设备的位置包括:在所述用户界面上显示引导指示符以引导将所述设备移动到新位置,从而采集所述对象在所述新位置处的附加图像,其中所述引导指示符引导将所述设备移动到所述新位置和新取向,其中所述引导指示符定位在所述设备的实时相机视图中的3D空间中。
12.根据权利要求11所述的方法,其中当所述对象在所述设备的所述相机的视场内移动时,所述引导指示符基于经调整坐标系相对于所述对象移动,所述经调整坐标系是基于所述对象的经调整位置和经调整取向而定义的,其中所述对象的所述经调整位置和所述经调整取向是基于所述对象的所述移动。
13.根据权利要求1所述的方法,其中跟踪所述设备的所述位置包括使用以下项来调整所述物理环境的所述图像:
用于移除所述图像的背景图像像素的二维(2D)掩膜,其中所述2D掩膜基于所述对象的所述坐标系来确定;或者
用于移除所述图像的背景图像像素的3D边界框约束,其中所述3D边界框约束基于所述对象的所述坐标系来确定。
14.根据权利要求1所述的方法,其中所述传感器数据包括深度信息,所述深度信息包括针对每个图像的稀疏3D点云,其中跟踪所述设备的所述位置包括基于所述稀疏3D点云的致密化来调整所述物理环境的所述图像,所述稀疏3D点云基于对应于所述对象的3D关键点。
15.根据权利要求1所述的方法,其中当所述对象在所述相机的视场内被重新取向或重新定位时,所述方法还包括重新定位过程,所述重新定位过程包括:
将所述物理环境的第一图像与所述对象的多个关键帧图像进行比较,所述第一图像包括所述对象;
基于所述比较从所述多个关键帧中标识第一关键帧,所述关键帧与所述坐标系中的第一关键帧位置相关联;以及
基于标识所述第一关键帧,基于所述第一关键帧位置来确定在采集所述第一图像期间所述设备相对于所述对象的所述坐标系的重新定位位置。
16.根据权利要求15所述的方法,其中在所述对象不在所述相机的所述视场内的一段时间之后,所述对象在所述相机的所述视场内被重新取向或重新定位。
17.根据权利要求1所述的方法,其中所生成的所述对象的3D模型基于精修图像来确定,其中所述精修图像基于以下中的至少一者来确定:3D关键点内插、与所述图像相关联的3D稀疏点云的致密化、用于移除所述图像的背景图像像素的、对应于所述对象的二维(2D)掩膜、用于移除所述图像的背景图像像素的、对应于所述对象的3D边界框约束。
18.根据权利要求17所述的方法,其中所述3D关键点内插、所述3D稀疏点云的所述致密化、所述2D掩膜和所述3D边界框约束基于所述对象的所述坐标系。
19.一种设备,包括:
非暂态计算机可读存储介质;和
一个或多个处理器,所述一个或多个处理器耦接到所述非暂态计算机可读存储介质,其中所述非暂态计算机可读存储介质包括程序指令,所述程序指令在所述一个或多个处理器上执行时,使***执行包括以下操作的操作:
在所述设备于包括对象的物理环境中移动期间采集传感器数据,所述传感器数据包括经由所述设备上的相机采集的所述物理环境的图像;
标识所述图像中的至少一些图像中的所述对象;
基于标识所述图像中的所述至少一些图像中的所述对象来跟踪在采集所述图像期间所述设备的位置,所述位置标识所述设备相对于基于所述对象的位置和取向而定义的坐标系的定位;以及
基于所述图像和在采集所述图像期间所述设备的位置来生成所述对象的三维(3D)模型。
20.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质在计算机上存储计算机可执行程序指令以执行包括以下操作的操作:
在设备于包括对象的物理环境中移动期间采集传感器数据,所述传感器数据包括经由所述设备上的相机采集的所述物理环境的图像;
标识所述图像中的至少一些图像中的所述对象;
基于标识所述图像中的所述至少一些图像中的所述对象来跟踪在采集所述图像期间所述设备的位置,所述位置标识所述设备相对于基于所述对象的位置和取向而定义的坐标系的定位;以及
基于所述图像和在采集所述图像期间所述设备的位置来生成所述对象的三维(3D)模型。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062986076P | 2020-03-06 | 2020-03-06 | |
US62/986,076 | 2020-03-06 | ||
US17/179,487 | 2021-02-19 | ||
US17/179,487 US20210279967A1 (en) | 2020-03-06 | 2021-02-19 | Object centric scanning |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113436136A true CN113436136A (zh) | 2021-09-24 |
Family
ID=77556511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110226395.7A Pending CN113436136A (zh) | 2020-03-06 | 2021-03-01 | 以对象为中心的扫描 |
Country Status (2)
Country | Link |
---|---|
US (2) | US20210279967A1 (zh) |
CN (1) | CN113436136A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116148883A (zh) * | 2023-04-11 | 2023-05-23 | 锐驰智慧科技(深圳)有限公司 | 基于稀疏深度图像的slam方法、装置、终端设备及介质 |
WO2023125363A1 (zh) * | 2021-12-31 | 2023-07-06 | 华为技术有限公司 | 电子围栏自动生成方法、实时检测方法及装置 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7079287B2 (ja) * | 2019-11-07 | 2022-06-01 | 株式会社スクウェア・エニックス | 鑑賞システム、モデル構成装置、制御方法、プログラム及び記録媒体 |
US11704802B2 (en) * | 2019-11-07 | 2023-07-18 | Accenture Global Solutions Limited | Multi-dimensional model merge for style transfer |
US11022495B1 (en) | 2020-03-06 | 2021-06-01 | Butlr Technologies, Inc. | Monitoring human location, trajectory and behavior using thermal data |
US20220070235A1 (en) * | 2020-08-28 | 2022-03-03 | Tmrw Foundation Ip S.Àr.L. | System and method enabling interactions in virtual environments with virtual presence |
US11398079B2 (en) * | 2020-09-23 | 2022-07-26 | Shopify Inc. | Systems and methods for generating augmented reality content based on distorted three-dimensional models |
US11941771B2 (en) | 2021-02-03 | 2024-03-26 | Accenture Global Solutions Limited | Multi-dimensional model texture transfer |
US12028507B2 (en) | 2021-03-11 | 2024-07-02 | Quintar, Inc. | Augmented reality system with remote presentation including 3D graphics extending beyond frame |
US11645819B2 (en) | 2021-03-11 | 2023-05-09 | Quintar, Inc. | Augmented reality system for viewing an event with mode based on crowd sourced images |
US11657578B2 (en) | 2021-03-11 | 2023-05-23 | Quintar, Inc. | Registration for augmented reality system for viewing an event |
US11527047B2 (en) | 2021-03-11 | 2022-12-13 | Quintar, Inc. | Augmented reality system for viewing an event with distributed computing |
US12003806B2 (en) * | 2021-03-11 | 2024-06-04 | Quintar, Inc. | Augmented reality system for viewing an event with multiple coordinate systems and automatically generated model |
KR20230087750A (ko) | 2021-12-10 | 2023-06-19 | 삼성전자주식회사 | 3차원 모델링 장치 및 방법 |
WO2023191987A1 (en) * | 2022-03-30 | 2023-10-05 | Butlr Technologies, Inc. | Pose detection using thermal data |
US20230377300A1 (en) * | 2022-05-17 | 2023-11-23 | Apple Inc. | Systems, methods, and user interfaces for generating a three-dimensional virtual representation of an object |
US20240054730A1 (en) * | 2022-08-15 | 2024-02-15 | Zebra Technologies Corporation | Phased Capture Assessment and Feedback for Mobile Dimensioning |
CN116188713B (zh) * | 2023-04-25 | 2023-08-15 | 煤炭科学研究总院有限公司 | 基于点云镜像模型的煤矿三维场景动态生成方法和装置 |
KR102678525B1 (ko) * | 2023-10-19 | 2024-06-26 | (주)이노시뮬레이션 | 바운딩 박스를 이용한 포인트 클라우드 데이터 기반 객체 모델링 방법 및 이를 실행하는 시스템 |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080123937A1 (en) * | 2006-11-28 | 2008-05-29 | Prefixa Vision Systems | Fast Three Dimensional Recovery Method and Apparatus |
US20120195471A1 (en) * | 2011-01-31 | 2012-08-02 | Microsoft Corporation | Moving Object Segmentation Using Depth Images |
CN102681661A (zh) * | 2011-01-31 | 2012-09-19 | 微软公司 | 在玩游戏中使用三维环境模型 |
CN103198524A (zh) * | 2013-04-27 | 2013-07-10 | 清华大学 | 一种大规模室外场景三维重建方法 |
CN105765628A (zh) * | 2013-10-23 | 2016-07-13 | 谷歌公司 | 深度图生成 |
WO2017142654A1 (en) * | 2016-02-18 | 2017-08-24 | Intel Corporation | 3-dimensional scene analysis for augmented reality operations |
CN107111370A (zh) * | 2014-12-30 | 2017-08-29 | 微软技术许可有限责任公司 | 现实世界对象的虚拟表示 |
CN107260195A (zh) * | 2016-02-29 | 2017-10-20 | 通用电气公司 | 用于计算机断层扫描成像的伪影去除的***和方法 |
WO2017190351A1 (en) * | 2016-05-06 | 2017-11-09 | SZ DJI Technology Co., Ltd. | Systems and methods for video processing and display |
WO2018049843A1 (zh) * | 2016-09-14 | 2018-03-22 | 杭州思看科技有限公司 | 三维传感器***及三维数据获取方法 |
CN108012559A (zh) * | 2015-03-27 | 2018-05-08 | 奥伯维尔斯工程有限公司 | 自动三维模型生成 |
US20180144547A1 (en) * | 2015-06-30 | 2018-05-24 | Matterport, Inc. | Mobile capture visualization incorporating three-dimensional and two-dimensional imagery |
CN108616745A (zh) * | 2016-12-12 | 2018-10-02 | 三维视觉科技有限公司 | 2d自动转3d方法和*** |
CN109710071A (zh) * | 2018-12-26 | 2019-05-03 | 青岛小鸟看看科技有限公司 | 一种屏幕控制方法和装置 |
KR20190084594A (ko) * | 2018-01-08 | 2019-07-17 | 현대모비스 주식회사 | 3차원 영상정보 기반 객체 추적 장치 및 방법 |
WO2019204131A2 (en) * | 2018-04-19 | 2019-10-24 | Microsoft Technology Licensing, Llc | Surface reconstruction for environments with moving objects |
CN110715647A (zh) * | 2018-07-13 | 2020-01-21 | 苹果公司 | 使用多次三维扫描进行对象检测 |
US20200065952A1 (en) * | 2018-08-25 | 2020-02-27 | International Business Machines Corporation | Robotic mapping for tape libraries |
US20200273180A1 (en) * | 2017-11-14 | 2020-08-27 | Apple Inc. | Deformable object tracking |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE452379T1 (de) * | 2007-10-11 | 2010-01-15 | Mvtec Software Gmbh | System und verfahren zur 3d-objekterkennung |
US8718393B2 (en) * | 2010-07-28 | 2014-05-06 | Shenzhen Institutes Of Advanced Technology Chinese Academy Of Sciences | Method for reconstruction of urban scenes |
US10574974B2 (en) * | 2014-06-27 | 2020-02-25 | A9.Com, Inc. | 3-D model generation using multiple cameras |
WO2017203774A1 (ja) * | 2016-05-26 | 2017-11-30 | ソニー株式会社 | 情報処理装置、情報処理方法及び記憶媒体 |
JP6088094B1 (ja) * | 2016-06-20 | 2017-03-01 | 株式会社Cygames | 複合現実環境を作成するためのシステム等 |
US10255658B2 (en) * | 2016-08-09 | 2019-04-09 | Colopl, Inc. | Information processing method and program for executing the information processing method on computer |
US20180211404A1 (en) * | 2017-01-23 | 2018-07-26 | Hong Kong Applied Science And Technology Research Institute Co., Ltd. | 3d marker model construction and real-time tracking using monocular camera |
JP6918648B2 (ja) * | 2017-08-31 | 2021-08-11 | キヤノン株式会社 | 画像処理装置、画像処理方法及びプログラム |
US10275689B1 (en) * | 2017-12-21 | 2019-04-30 | Luminar Technologies, Inc. | Object identification and labeling tool for training autonomous vehicle controllers |
DE102018204083A1 (de) * | 2018-03-16 | 2019-09-19 | Adidas Ag | Verfahren zum Entwerfen eines Kleidungsstücks, insbesondere zum Entwerfen eines Schuhoberteils. |
US10872269B2 (en) * | 2018-10-26 | 2020-12-22 | Volvo Car Corporation | Methods and systems for the fast estimation of three-dimensional bounding boxes and drivable surfaces using LIDAR point clouds |
CN113330490B (zh) * | 2019-01-31 | 2024-04-23 | 华为技术有限公司 | 三维(3d)辅助个性化家庭对象检测 |
US10930012B2 (en) * | 2019-05-21 | 2021-02-23 | International Business Machines Corporation | Progressive 3D point cloud segmentation into object and background from tracking sessions |
US11361505B2 (en) * | 2019-06-06 | 2022-06-14 | Qualcomm Technologies, Inc. | Model retrieval for objects in images using field descriptors |
US11430151B2 (en) * | 2019-11-06 | 2022-08-30 | Seiko Epson Corporation | Online learning for 3D pose estimation using simplified constellations |
KR102199772B1 (ko) * | 2019-11-12 | 2021-01-07 | 네이버랩스 주식회사 | 3차원 모델 데이터 생성 방법 |
KR102198851B1 (ko) * | 2019-11-12 | 2021-01-05 | 네이버랩스 주식회사 | 물체의 3차원 모델 데이터 생성 방법 |
US11373332B2 (en) * | 2020-01-06 | 2022-06-28 | Qualcomm Incorporated | Point-based object localization from images |
WO2021150846A1 (en) * | 2020-01-22 | 2021-07-29 | Visualize K.K. | Methods and systems for obtaining a scale reference and measurements of 3d objects from 2d photos |
US10964094B1 (en) * | 2020-01-31 | 2021-03-30 | Vr Media Technology, Inc. | Visualization system that transforms 2D images of objects slices into 3D point clouds |
US11417069B1 (en) * | 2021-10-05 | 2022-08-16 | Awe Company Limited | Object and camera localization system and localization method for mapping of the real world |
-
2021
- 2021-02-19 US US17/179,487 patent/US20210279967A1/en not_active Abandoned
- 2021-03-01 CN CN202110226395.7A patent/CN113436136A/zh active Pending
-
2023
- 2023-11-01 US US18/385,943 patent/US20240062488A1/en active Pending
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080123937A1 (en) * | 2006-11-28 | 2008-05-29 | Prefixa Vision Systems | Fast Three Dimensional Recovery Method and Apparatus |
US20120195471A1 (en) * | 2011-01-31 | 2012-08-02 | Microsoft Corporation | Moving Object Segmentation Using Depth Images |
CN102681661A (zh) * | 2011-01-31 | 2012-09-19 | 微软公司 | 在玩游戏中使用三维环境模型 |
CN103198524A (zh) * | 2013-04-27 | 2013-07-10 | 清华大学 | 一种大规模室外场景三维重建方法 |
CN105765628A (zh) * | 2013-10-23 | 2016-07-13 | 谷歌公司 | 深度图生成 |
CN107111370A (zh) * | 2014-12-30 | 2017-08-29 | 微软技术许可有限责任公司 | 现实世界对象的虚拟表示 |
CN108012559A (zh) * | 2015-03-27 | 2018-05-08 | 奥伯维尔斯工程有限公司 | 自动三维模型生成 |
US20180144547A1 (en) * | 2015-06-30 | 2018-05-24 | Matterport, Inc. | Mobile capture visualization incorporating three-dimensional and two-dimensional imagery |
WO2017142654A1 (en) * | 2016-02-18 | 2017-08-24 | Intel Corporation | 3-dimensional scene analysis for augmented reality operations |
CN107260195A (zh) * | 2016-02-29 | 2017-10-20 | 通用电气公司 | 用于计算机断层扫描成像的伪影去除的***和方法 |
WO2017190351A1 (en) * | 2016-05-06 | 2017-11-09 | SZ DJI Technology Co., Ltd. | Systems and methods for video processing and display |
WO2018049843A1 (zh) * | 2016-09-14 | 2018-03-22 | 杭州思看科技有限公司 | 三维传感器***及三维数据获取方法 |
CN108616745A (zh) * | 2016-12-12 | 2018-10-02 | 三维视觉科技有限公司 | 2d自动转3d方法和*** |
US20200273180A1 (en) * | 2017-11-14 | 2020-08-27 | Apple Inc. | Deformable object tracking |
KR20190084594A (ko) * | 2018-01-08 | 2019-07-17 | 현대모비스 주식회사 | 3차원 영상정보 기반 객체 추적 장치 및 방법 |
WO2019204131A2 (en) * | 2018-04-19 | 2019-10-24 | Microsoft Technology Licensing, Llc | Surface reconstruction for environments with moving objects |
CN110715647A (zh) * | 2018-07-13 | 2020-01-21 | 苹果公司 | 使用多次三维扫描进行对象检测 |
US20200065952A1 (en) * | 2018-08-25 | 2020-02-27 | International Business Machines Corporation | Robotic mapping for tape libraries |
CN109710071A (zh) * | 2018-12-26 | 2019-05-03 | 青岛小鸟看看科技有限公司 | 一种屏幕控制方法和装置 |
Non-Patent Citations (7)
Title |
---|
PIETRO ZANUTTIGH 等: "Deep learning for 3D shape classification from multiple depth maps", 《 2017 IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING (ICIP)》, 30 September 2017 (2017-09-30), pages 3615 - 3619, XP033323249, DOI: 10.1109/ICIP.2017.8296956 * |
RAJPUT, MAA 等: "Recursive Total Variation Filtering Based 3D Fusion", 《SIGMAP: PROCEEDINGS OF THE 13TH INTERNATIONAL JOINT CONFERENCE ON E-BUSINESS AND TELECOMMUNICATIONS》, vol. 5, 31 January 2016 (2016-01-31), pages 72 - 80 * |
ZYGMUNT KUŚ 等: "Object Tracking for Rapid Camera Movements in 3D Space", 《 STUDIES IN COMPUTATIONAL INTELLIGENCE》, vol. 481, 31 December 2013 (2013-12-31), pages 1 - 5 * |
周妍: "融合场景语义信息的多视图室内三维模型重建研究", 《中国博士学位论文全文数据库信息科技辑》, no. 2019, 15 June 2019 (2019-06-15), pages 138 - 42 * |
张迪 等: "智能视觉感知与理解研究态势分析", 《计算机工程与应用》, vol. 54, no. 19, 31 October 2018 (2018-10-31), pages 18 - 25 * |
曹惠龙: "三维虚拟与实景视频的融合平台研究及设计", 《电脑知识与技术》, vol. 5, no. 11, 30 April 2009 (2009-04-30), pages 2984 - 2985 * |
闫智 等: "基于BIM快速生成高精度三维模型的方法研究及其应用探索", 《土木建筑工程信息技术》, vol. 10, no. 04, 31 August 2018 (2018-08-31), pages 33 - 40 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023125363A1 (zh) * | 2021-12-31 | 2023-07-06 | 华为技术有限公司 | 电子围栏自动生成方法、实时检测方法及装置 |
CN116148883A (zh) * | 2023-04-11 | 2023-05-23 | 锐驰智慧科技(深圳)有限公司 | 基于稀疏深度图像的slam方法、装置、终端设备及介质 |
CN116148883B (zh) * | 2023-04-11 | 2023-08-08 | 锐驰智慧科技(安吉)有限公司 | 基于稀疏深度图像的slam方法、装置、终端设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
US20210279967A1 (en) | 2021-09-09 |
US20240062488A1 (en) | 2024-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240062488A1 (en) | Object centric scanning | |
CN113315878B (zh) | 单程对象扫描 | |
US10977818B2 (en) | Machine learning based model localization system | |
US11922580B2 (en) | Floorplan generation based on room scanning | |
US10593104B2 (en) | Systems and methods for generating time discrete 3D scenes | |
US11842514B1 (en) | Determining a pose of an object from rgb-d images | |
US11328481B2 (en) | Multi-resolution voxel meshing | |
KR20170007102A (ko) | 3차원 지도 생성 및 표시 장치 및 방법 | |
US11763479B2 (en) | Automatic measurements based on object classification | |
JP2011095797A (ja) | 画像処理装置、画像処理方法及びプログラム | |
US11763477B2 (en) | Person height estimation | |
Du et al. | Video fields: fusing multiple surveillance videos into a dynamic virtual environment | |
US11640692B1 (en) | Excluding objects during 3D model generation | |
CN113140032A (zh) | 基于房间扫描的平面图生成 | |
US11158122B2 (en) | Surface geometry object model training and inference | |
CN112561071A (zh) | 根据3d语义网格的对象关系估计 | |
CN113139992A (zh) | 多分辨率体素网格化 | |
CN113137916B (zh) | 基于对象分类的自动测量 | |
US11783558B1 (en) | Object correction using scene graphs | |
US20240212201A1 (en) | User location determination based on object interactions | |
CN113397526A (zh) | 人体高度估计 | |
Duenas Oviedo et al. | Colour Hue and Texture Evaluation for 3D Symbolization of Indoor Environments Using RGB-D Data | |
CN112070175A (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 |