CN105493154A - 用于确定增强现实环境中的平面的范围的系统和方法 - Google Patents
用于确定增强现实环境中的平面的范围的系统和方法 Download PDFInfo
- Publication number
- CN105493154A CN105493154A CN201480046887.6A CN201480046887A CN105493154A CN 105493154 A CN105493154 A CN 105493154A CN 201480046887 A CN201480046887 A CN 201480046887A CN 105493154 A CN105493154 A CN 105493154A
- Authority
- CN
- China
- Prior art keywords
- illustrative plates
- collection
- planar object
- unit
- plane surface
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- 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/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/32—Determination of transform parameters for the alignment of images, i.e. image registration using correlation-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—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/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Image Processing (AREA)
Abstract
本发明提出用于构建平面物体的表示的方法、系统、计算机可读媒体和设备。在一些实施例中,揭示了用于构建平面物体的表示的技术。根据一些实施例,一种用于构建平面物体的表示的方法可以包含获得从观察位置捕捉的物理场景的深度图像。所述深度图像可以包括多个深度值并且对应于所述物理场景中的多个点。所述方法可进一步包含识别所述平面物体据估计沿其定位的平面表面。此外,所述方法可以包含构建支撑图谱。此外,所述方法可以包含构建遮挡图谱,所述遮挡图谱指示所述平面表面的其中所述平面物体遗失的部分。随后,所述方法可以包含使用所述遮挡图谱构建所述平面物体的至少一个边界的表示。
Description
背景技术
本发明的方面涉及增强现实(AR)。更具体来说,本公开的方面涉及构建支撑和遮挡图谱以确定AR环境中的平面的范围。
增强现实提供了现实世界环境的经过计算机产生的虚拟物体增强的视图。在一些情况下,AR涉及将虚拟物体叠加在物理环境上。
RGB深度(RGBD)相机提供了一种创建描述场景的三维(3D)几何形状的点云的方法。RGBD相机捕捉的多个深度图像可以对准和组合以创建桌面或更大房间环境的扩展3D模型。
然而,许多应用程序要求不止对场景表面的取样表示。例如,一些应用程序可能需要将点云分段成对应于单个物体(例如物理桌子)的子集。对于移动装置上的增强现实应用程序而言,桌面可能是场景的一个重要部分,因为它限定了用户通常在其中进行交互的区域。为了与限定的区域正确交互,可能需要与限定的区域相关联的边界。当前方法可能无法确定边界是所述表面的真正边界,还是仅仅是所记录的数据的边界。
当前方法仅仅注意提取对应于例如桌面的单个物体的点。当前方法可能能够找到边界,但是并不在物体的物理边界与重建的边界之间作出决定。这个区别对于应用程序是重要的,例如游戏需要知道一个表面可能在重建的边界处增长,但是不在所述表面的物理边界处增长。
因此,需要准确地确定增强现实环境内的物体的表面的真正边界。
发明内容
某些实施例描述一种用于构建AR环境内的平面物体的表示的系统和方法。
在一些实施例中,一种用于构建平面物体的表示的技术包含获得从观察位置捕捉的物理场景的深度图像,所述深度图像包括多个深度值并且对应于所述物理场景中的多个点,每一深度值指示从所述观察位置到所述物理场景中的所述多个点中的一个的距离。所述方法进一步包含识别所述平面物体据估计沿其定位的平面表面。所述方法还包含构建支撑图谱,所述支撑图谱指示所述平面表面的被所述平面物体和靠在所述平面物体顶上的物体的可能表面占据的部分。所述方法另外包含构建遮挡图谱,所述遮挡图谱指示所述平面表面的其中所述平面物体遗失的部分。所述方法还包含使用所述遮挡图谱和所述支撑图谱构建所述平面物体的至少一个边界的表示。
在一些实施例中,所述平面物体是物理场景中的桌面。
在一些实施例中,构建遮挡图谱的步骤包含将平面表面分割成多个单元,并且,对于每一单元,对具有足够大可以从所述观察位置延伸并且在所述平面表面处穿越所述单元的深度值的多个点进行计数。
在一些实施例中,构建支撑图谱的步骤包含将平面表面分割成多个单元,并且,对于每一单元,对具有从所述观察位置延伸到所述单元或所述单元上方的空间的垂直柱内的一个位置的深度值的多个点进行计数。
在一些实施例中,所述方法进一步包含基于遮挡图谱和平面物体的至少一个边界构建遮挡梯度图谱。所述方法另外包含基于支撑图谱和平面物体的至少一个边界构建支撑梯度图谱。所述方法还包含基于遮挡梯度图谱和支撑梯度图谱对与平面物体的边界相关联的片段进行分类。
在一些实施例中,对与平面物体的边界相关联的片段进行分类的步骤包含:将线段投影到支撑图谱中,将线段投影到遮挡图谱中,以及确定投影的线段是否与平面物体的真正边缘重合。
在一些实施例中,使用RGB深度相机获得深度图像。
在一些实施例中,一种用于构建平面物体的表示的装置包含存储器、相机和一或多个处理器。所述相机经配置以获得从观察位置捕捉的物理场景的深度图像,所述深度图像包括多个深度值并且对应于所述物理场景中的多个点,每一深度值指示从所述观察位置到所述物理场景中的所述多个点中的一个的距离。所述一或多个处理器经配置以:识别所述平面物体据估计沿其定位的平面表面;构建支撑图谱,所述支撑图谱指示所述平面表面的被所述平面物体和靠在所述平面物体顶上的物体的可能表面占据的部分;构建遮挡图谱,所述遮挡图谱指示所述平面表面的其中所述平面物体遗失的部分;以及使用所述遮挡图谱和所述支撑图谱构建所述平面物体的至少一个边界的表示。
在一些实施例中,一或多个非暂时性计算机可读媒体存储用于构建平面物体的表示的计算机可执行指令,所述计算机可执行指令当经执行时使包含于装置中的一或多个计算装置:识别所述平面物体据估计沿其定位的平面表面;构建支撑图谱,所述支撑图谱指示所述平面表面的被所述平面物体和靠在所述平面物体顶上的物体的可能表面占据的部分;构建遮挡图谱,所述遮挡图谱指示所述平面表面的其中所述平面物体遗失的部分;以及使用所述遮挡图谱和所述支撑图谱构建所述平面物体的至少一个边界的表示。
在一些实施例中,一种用于构建平面物体的表示的设备包含用于获得从观察位置捕捉的物理场景的深度图像的装置,所述深度图像包括多个深度值并且对应于所述物理场景中的多个点,每一深度值指示从所述观察位置到所述物理场景中的所述多个点中的一个的距离。所述设备还包含用于识别所述平面物体据估计沿其定位的平面表面的装置。所述设备另外包含用于构建支撑图谱的装置,所述支撑图谱指示所述平面表面的被所述平面物体和靠在所述平面物体顶上的物体的可能表面占据的部分。所述设备进一步包含用于构建遮挡图谱的装置,所述遮挡图谱指示所述平面表面的其中所述平面物体遗失的部分。所述设备还包含用于使用所述遮挡图谱和所述支撑图谱构建所述平面物体的至少一个边界的表示的装置。
附图说明
通过实例来说明本发明的各方面。在附图中,相同参考数字指示类似元件,且:
图1说明可并入有一或多个实施例的系统的简化图;
图2A说明移动装置或某个其它装置的经配置以构建平面物体的表示的组件的实施例;
图2B说明作为移动装置的一部分的计算机可读存储媒体的简化图;
图3A是物理场景的实例说明,RGBD相机可以使用3D点从所述物理场景中捕捉一或多个图像和/或其它数据;
图3B是图3A的物理场景的说明,其进一步说明了支撑表面的表示;
图4A说明根据一些实施例的支撑图谱;
图4B说明根据一些实施例的遮挡图谱;
图5A是渲染为热图的支撑图谱的实例;
图5B是渲染为热图的遮挡图谱的实例;
图6说明根据一些实施例通过改进步骤计算的凸包与凹面轮廓之间的差异;
图7说明根据一些实施例给边界多边形线段分类的方法;
图8说明用于构建平面物体的表示的方法的实施例;以及
图9说明可在其中实施一或多个实施例的计算系统的实例。
具体实施方式
现将相对于形成其一部分的附图来描述若干说明性实施例。虽然下文描述可在其中实施本发明的一或多个方面的特定实施例,但可使用其它实施例,且可在不脱离本发明的范围或所附权利要求书的精神的情况下进行各种修改。
图1说明可并入有一或多个实施例的系统10的简化图。
本发明的实施例可以描述用于确定AR环境内的平面的范围(例如,物体的物理边界)的技术。在一些情况下,所述技术可以使用两个信息源。首先,所述技术可以寻找通过经由RGBD相机获得的3D点测量值得到支撑的物体的可能表面区域(例如桌子的表面区域)。其次,所述技术可以消除可能遮挡其它3D点测量值的可能表面区域(例如桌子的表面区域)。组合这两个信息源可以容许估计表面的真正范围和确定表面的真正物理边界。
可以从在空间中对准的多个RGBD图像创建点云。点云是坐标系中的数据点的集合,并且意在代表物体的外表面。在一些情况下,RGBD的位置和定向在共同参考系内可能是已知的。随后,可以通过将各个RGBD图像的所有深度图变换成共同参考系来创建3D点云。通过知道相机在共同参考系中的位置及定向,系统可以具有用于AR环境内的每一3D点的3D可见性信息。
现在参看图1,说明的是AR系统10。AR系统10包含装置(例如具有AR功能的移动装置12)和物体14。在此特定实例中,物体14可以是桌子。移动装置12可为具有输入感觉单元的任何计算装置,例如相机及显示器。此处,移动装置12是智能电话,但本文中描述的功能性不限于智能电话。举例来说,移动装置12可以是数码相机、摄录像机、平板计算机、个人数字助理、视频游戏控制台、头戴式显示器(HMD)或其它可穿戴显示器、投影仪装置、RGBD相机、深度相机或其它装置。此外,作为移动装置12的替代,可使用例如个人计算机(例如,桌上型计算机)的装置或其它非手持式装置或通常不被标记为移动装置的装置。移动装置12包含用于捕捉现实世界即物理环境中的物理物体的图像的相机。观察位置可以是从一个特定视点(例如RGB、深度相机、声纳、激光扫描)或从多个视点(例如能够感测深度的立体相机)。另外,移动装置12可包含多个相机,例如独立的RGB相机和独立的深度相机。
如本文中所使用,点云是三维空间中的对应于物理物体的至少一部分的由移动装置12的相机在视野18中可见的点的集合。可以例如基于来自移动装置12的相机(描述如下)的图像数据,通过由移动装置12的处理器执行的一或多种技术来确定点云。移动装置12经配置以通过如下方式来增强现实:捕捉物理环境的图像,这里是捕捉物体14(例如桌子)的图像,并且在透明或半透明显示器上显示用一或多个虚拟物体补充的额外图像,这里三维角色16叠加在物体14的图像上,并且显示在移动装置12的显示器上。三维角色16可以是任何形式的虚拟物体,而并不限于拟人角色。如本文中详述,可以准许三维角色16移动到物体14的表面上的各种位置。因而,重要的是AR系统10要确定桌子的边缘。举例来说,AR系统10可能想要将虚拟物体的移动限制在桌子内。
因此,移动装置12可以使用下面进一步详细描述的方法和技术来确定物体14的表面的真正边界。
图2A说明移动装置或某个其它装置的经配置以构建平面物体的表示的组件的实施例。
参看图2A,移动装置12(或其它形式的AR装置)可以包含传感器20、传感器处理器22、一或多个相机24、相机处理器26、显示器28、图形处理器30、触摸传感器32、触摸传感器处理器34、通信模块36、处理器38、(非暂时性)存储器40和计算机可读媒体46。处理器22、26、30、34,通信模块36,处理器38,存储器40和计算机可读媒体46(如所说明)通过总线42通信地耦合,或者可以直接耦合或以另一方式耦合。处理器22、26、30、34可为单个处理器的部分,或由存储于存储器40中且由处理器38执行的软件代码的不同部分实施,或为分开的专用处理器,或这些的组合(例如,其中处理器22、26、30、34中的一或多者是专用处理器且其它是处理器38的部分)。处理器22、26、30、34、38可为一或多个通用处理器及/或一或多个专用处理器(例如,数字信号处理芯片、图形加速处理器及/或类似者)。传感器20可提供各种感测到的参数的一项指示及/或若干指示,例如,重力(例如)相对于移动装置12的定向(相对于移动装置12的装置坐标系)的方向的指示。
传感器20和传感器处理器22可经配置以确定移动装置12的定向。传感器20是经配置以感测用于确定移动装置12的定向的信息的定向传感器。例如,传感器20可包含一或多个惯性传感器,例如陀螺仪、一或多个加速计、惯性测量单元(IMU)及/或另一类型及/或其它类型的传感器。传感器处理器22经配置以处理由传感器20测量/收集的数据以确定移动装置12的定向。还可以计算其它信息,例如移动装置12移动的距离和/或方向。
相机24及相机处理器26经配置以捕捉及产生视觉信息。相机24经配置以捕捉现实世界场景的图像及/或视频,其可使用增强逻辑来增强(利用增强效果,例如,放置在现实世界表面上的文本或图样)。相机可包含深度相机、RGB深度相机、声纳、激光扫描或能够感测深度的立体相机。深度相机可以具有不同的测量深度的方法。相机处理器26经配置以处理由相机26收集的数据以将所述数据转换为可由增强逻辑使用的格式。相机处理器26经配置以对从相机24所收集的数据执行各种类型的图像或视频处理以准备用于在显示器28上显示的内容。观察位置可以是来自一个特定视点(例如深度相机、RGB深度相机、声纳、激光扫描)或来自多个视点(例如能够感测深度的立体相机)。
显示器28及图形处理器30经配置以基于由相机24捕捉及由相机处理器26处理的数据而提供视觉信息,且基于由增强逻辑产生的信息而提供视觉信息。显示器28可为包含触摸传感器32的触摸屏接口。图形处理器30经配置以产生图形数据以供在显示器28上显示。图形处理器30经配置以使用由增强逻辑提供的信息以显示经增强图像或视频内容。
触摸传感器处理器34可处理由触摸传感器32输出的数据以识别用户何时触摸触摸屏。触摸传感器过程34可经配置以识别各种触摸手势,包含对触摸屏的多手指触摸。所述增强逻辑可使用由触摸传感器处理器34确定的手势信息来至少部分确定增强应响应于用户输入如何反应。
通信模块36经配置以使得移动装置12能够使用一或多种无线协议进行通信。通信模块36经配置以允许移动装置12从附近的无线装置(包含无线接入点及其它具有AR功能的装置)发送及接收数据。通信模块36可包含调制解调器、无线网卡、红外通信装置、无线通信装置及/或芯片组(例如,短程无线装置(例如BluetoothTM装置或802.11装置)、WiFi装置、WiMax装置、蜂窝式通信设施等),或类似者。通信模块36可准许与网络、其它计算机系统及/或其它装置交换数据。
处理器38经配置以控制传感器处理器22、相机处理器26、图形处理器30或触摸传感器处理器34中的一或多者。传感器处理器22、相机处理器26、图形处理器30或触摸传感器处理器34中的一或多者还可以由处理器38实施。
存储器40包含易失性及/或持久性、非暂时性存储器以用于存储由具有AR功能的移动装置12的各种组件使用的数据。存储器40可包含本地及/或网络可存取的存储装置、磁盘驱动器、驱动阵列、光学存储装置、例如随机存取存储器(“RAM”)及/或只读存储器(“ROM”)等固态存储装置,其可为可编程的、闪存可更新的及/或类似者。此些存储装置可经配置以实施任何适当数据存储装置,包含(但不限于)各种文件系统、数据库结构和/或类似者。
存储器40存储用于移动装置12中包含的处理器中的一或多者的处理器可读、处理器可执行软件程序代码44。软件代码44含有用于控制处理器以执行如下描述的功能的指令(但是描述可能会说是软件或处理器执行所述功能)。在一些情况下,增强逻辑可实施为存储于存储器40中的处理器可执行指令。软件44包含可以实施本文所述的方法的操作系统、装置驱动程序、可执行库和/或其它软件代码指令,例如一或多个应用程序。例如,本文中描述的一或多个程序可能被实施为由处理器执行的软件代码指令。此类指令可致使通用计算机(或其它装置)执行如本文所描述的一或多个操作。软件44可存储在并入到移动装置12内的存储器40的非可装卸部分上或可存储在例如压缩光盘等可装卸式媒体上,及/或在安装包中提供。所述指令可采用可由处理器直接执行的可执行代码形式,或者替代地指令可呈源代码及/或可安装代码的形式,所述源代码及/或可安装代码在编译及/或安装后(例如,使用多种一般可用的编译程序、安装程序、压缩/解压缩公用程序等中的任一者),随后采用可执行代码的形式。
计算机可读存储媒体46可以是任何磁性、电子、光学或其它计算机可读存储媒体。计算机可读存储媒体46可以包含一或多个代码模块,下文予以进一步详细描述。
图2B说明作为移动装置12的一部分的计算机可读存储媒体46的简化图。计算机可读存储媒体46存储计算机可读代码,其包括代码模块,包含平面表面识别模块210、支撑图谱构建模块220、遮挡图谱构建模块230和边界表示构建模块240。
平面表面识别模块210含有代码,所述代码在由处理器38执行时,识别平面物体据估计要沿其定位的平面表面。平面表面识别模块210可以与相机24和/或相机处理器26介接以存取捕捉到的物理场景的深度图像。在存取捕捉到的物理场景的深度图像后,平面表面识别模块210即刻可以分析所述图像以识别物理场景内的平面表面。在一些实施例中,物理场景内的平面表面的识别可以是关于物体表面可以处于其中的空间中的参考平面的假定或最佳猜测(通过平面表面识别模块210确定)。可以通过利用3D点测量值来识别物理场景的图像内的平面表面。举例来说,可以采用参考法线方向,并且可以将所有3D点投影到这个方向上。可以选择沿这个方向的分布的峰值,因为这是大多数3D点可以处在的点。在一些实施例中,选择投影到峰值周围的区间中的所有3D点,并且将3D平面稳固地配合到这个集合中。所得的平面参数于是描述对于桌面的平面假定。
支撑图谱构建模块220含有代码,所述代码在由处理器38执行时构建支撑图谱,其指示平面表面的被平面物体和靠在平面物体顶上的物体的可能表面占据的部分。支撑图谱构建模块220可以与平面表面识别模块介接,以便确定识别出的平面表面处于物理场景内的哪个位置。支撑图谱构建模块220创建的支撑图谱可以由跨越平面表面识别模块210识别的3D平面的一部分的有规律的2D栅格限定。图谱可以是存储可能落在其中的每一栅格单元的点的数目的值的二维矩阵。构建出的支撑图谱可以记录3D点云的哪些点靠在可能的物体表面上或在可能的物体表面上方。支撑图谱构建模块220可以将沿参考平面的每一3D点投影到栅格单元中。如果点在参考平面上或上方,则对应于特定单元的支撑图谱值可以递增。如果点在参考平面下方,则可以不对任何栅格单元作出改变。
遮挡图谱构建模块230含有代码,所述代码在由处理器38执行时构建遮挡图谱,其指示平面表面的其中平面物体遗失的部分。遮挡图谱可以记录2D栅格结构中的哪些单元可能遮挡了深度相机看到的3D点。遮挡图谱构建模块230可以使每一3D点和由其看到所述3D点的相机中心之间的光线与参考平面相交。可以接着确定交叉点处于哪个单元中。如果交叉点是在相机中心与3D点之间,则对应于特定单元的遮挡图谱值可以递增,否则可以不作出改变。
边界表示构建模块240含有代码,所述代码在由处理器38执行时,使用遮挡图谱和支撑图谱构建平面物体的至少一个边界的表示。遮挡图谱可能是由遮挡图谱构建模块230产生的,而支撑图谱可能是由支撑图谱构建模块220构建的。可以针对与物体表面相关联的所有3D点计算边界表示。首先,边界表示构建模块240将所有3D点投影到估计平面中,从而获得2D平面点的集合。接下来,边界表示构建模块240计算点集合的凸包。由于凸包可能过高地估计点集合覆盖的区域,所以通过插入形成2D平面点的凹面轮廓的多边形边缘来迭代地改进凸包。下面进一步详细描述边界表示的改进和构建。
可省略上文相对于移动装置12所描述的元件中的一或多者。例如,可省略通信模块36及/或触摸传感器32及触摸传感器处理器34。此外,可在一些实施例中包含额外元件。处理器22、26、30、34中的一或多者可与处理器38组合或实施在处理器38中,及/或可由存储于存储器40中的指令实施处理器22、26、30、34中的一或多者的一些或所有功能性。
图3A是红-绿-蓝(RGB)-深度RGBD相机可以使用3D点从中捕捉一或多个图像和/或其它数据的物理场景的实例性说明。RGBD相机305可以观测物体310(例如桌面)上的3D点和总体环境315(例如桌子下方的地面)中的3D点307。如图3A中所说明,每一3D点的3D可见性信息可以基于3D点307与相机中心之间的直接视线306。另外,如图3A中所说明,直接视线306未受到遮挡。
图3B是图3A的物理场景的说明,其进一步说明了支撑表面320的表示。在一些情况下,当估计桌面范围和属性时,3D点307可以支撑桌子区域的一部分,或者被桌子区域的一些部分遮挡。
在下一个步骤中,系统可以限定对应于支撑表面320的参考平面。举例来说,支撑表面320可以是图3A-3B中的桌面。在一些情况下,可以假设支撑表面320具有参考法线方向,并且将所有3D点投影到支撑表面320的方向上。可以选择沿支撑表面320的方向的分布的峰值以变成参考平面。分布的峰值可以是大多数3D点所处于的位置。另外,选择投影到峰值周围的区间中的所有3D点,并且将3D平面稳固地配合到所选择的3D点的所述集合中。因此,所得的平面参数可以描述对于桌面的平面假定。
图4A和4B说明根据一些实施例的用以记录参考平面的支撑信息和遮挡信息两者的两个图谱。图谱可以由跨越支撑表面320(例如桌面)的位置处的3D平面的一部分的有规律的2D栅格限定。图谱可以是存储落在每一栅格中的每一栅格单元的点数的值的二维矩阵。如上所述,图谱可以是由支撑图谱构建模块220构建的支撑图谱和由遮挡图谱构建模块230构建的遮挡图谱。
图4A说明根据一些实施例的支撑图谱。支撑图谱可以记录可以靠在可能的支撑表面320(例如桌面)上或其上方的3D点云的点。举例来说,为了确定支撑表面320,RGBD相机305可以将沿平面法线的每一3D点307投影到栅格单元415中。如果投影点307是在平面上或上方(例如图4A中的点405),则系统可以使对应于所述单元的支撑图谱值递增。或者,如果投影点在所述平面下方(例如图4B中的点410),则所述系统可以忽略所述投影点。
图4B说明根据一些实施例的遮挡图谱。遮挡图谱记录2D栅格结构中的遮挡相机305看到的3D点的单元415。为了确定被遮挡的3D点,系统可以使每一3D点307和相机305的中心之间的光线与所述平面相交。然后,可以确定交叉点所处在的单元415。如果交叉点是在相机305的中心与3D点之间,则系统可以递增对应于所确定的单元415的遮挡图谱值。或者,如果交叉点不在3D点307与相机305的中心之间,则系统可以不递增所述遮挡图谱值。
如图4A中所说明,一些3D点307(例如点405)投影在桌子平面上方,并且可以用于递增对应于所述单元的支撑图谱值。另外,如图4B中所说明,一些3D点(例如点410)投影在桌子平面下方,并且可以用于递增对应于所述单元415的遮挡图谱值。使到平面下方的3D点307(例如点410)的光线与所述平面相交以确定遮挡。此外,更新栅格单元415中的值以给每一3D点307的支撑或遮挡计数。
图5A和5B说明根据一些实施例的支撑和遮挡热图的实例。
图5A是渲染为热图的支撑图谱的实例。图5B是渲染为热图的遮挡图谱的实例。在这个实例中,较浅的阴影510指示低达0的低值,而较深的阴影520指示高值。在图5A中说明的支撑图谱中,基于阴影,系统可以确定矩形桌子形状的一部分和桌子上的一些物体。另外,图5B中说明的遮挡图谱展示了刚超过桌子边缘的区域,其将遮挡其它测量值。
在图5A和5B两者中,左下角区530中的边界都没有足够的信息,这可能是因为左下角区中没有3D点。
为了获得桌子轮廓的表示,系统可以计算已经与桌面相关联的所有3D点的多边形轮廓。首先,系统可以将所有3D点投影到估计平面中,从而获得2D平面点集合。然后,系统可以计算2D平面点集合的凸包。在一些情况下,凸包可能会高估2D平面点集合覆盖的区域;因而,系统可以通过插入形成2D平面点集合的凹面轮廓的多边形边缘,来迭代地改进和减小凸包。
举例来说,凸包的改进步骤可以轮流查看每一多边形片段。系统可以计算一个圆,其对于2D点集合中的所有点,与多边形片段的两个端点A、B和来自2D点集合的第三点C相交。然后,系统可以确定产生半径最大并且中心放在所述片段的相对侧上的圆的2D点。α形状理论于是保证没有其它点处于所述圆中。因此,所述系统可以将原始片段更换成连接A到C并且连接C到B的两个新片段。所得的改进的多边形轮廓现在可以把2D点集合圈得比之前更紧,并且不会漏掉任何2D点。
图6说明根据一些实施例的由优化步骤计算的凸包610(较粗的线)和凹面轮廓620(较细的线)之间的差异。在这个实例中,用菱形说明输入的2D点云630。如上所述,所得的轮廓可以限定一个多边形,其描述桌子的当前重建的边界。
为了确定重建的边界的哪些部分与真正的物体边界重合,系统可以对照在上述步骤中构建的支撑图谱和遮挡图谱来测试边界。
图7说明根据一些实施例给边界多边形线段分类的方法。可以将线段(例如线段705、710)投影到图谱(例如支撑图谱和遮挡图谱)中。两个图谱的局部梯度(阴影区域)确定一条线是否在真正的物体边界上。在这个实例中,左区中的线段710不在边界上,而下区中的线段705在边界上。下区中的线段705之所以在边界上,是因为两个梯度都存在而且指向朝右的方向。
为了确定重建的边界的部分是否与真正的物体边界重合,将多边形轮廓的每一线段(例如线段705、710)投影到支撑图谱和遮挡图谱中。如果线段与真正的物体边缘重合,则支撑图谱应当在线段的内部715具有高支撑图谱值(例如图5A中的中等和暗阴影),并且在线段的外部720具有低/零支撑图谱值。相反,遮挡图谱应当在线段内部725具有低/零遮挡图谱值,因为透过物体表面可能看不见点。另外,遮挡图谱应当在线段的外部730具有高遮挡图谱值(例如图5B中的中等到暗阴影),因为存在原本将被遮挡的测量点。
通过沿线段整合支撑图谱和遮挡图谱的梯度来测试这两项准则。支撑图谱梯度可以指向内,并且在某一阈值以上,而遮挡图谱梯度必须指向外,并且同样在某一阈值以上。如果满足这两项准则,所述系统可以假设线段表示真正的物体边界。在任何其它情况下,所述系统可能未收集到足够信息;因而,可假设边界是未知的,并且重建处仅仅存在人工边界。
使用图1、2和3的系统和装置,可以执行各种方法。图8说明用于构建平面物体的表示的方法800的实施例。可以通过图1、2A、2B和3A、3B的系统和/或装置或通过某种其它经配置以呈现分析物理环境的系统来执行方法800。用于执行方法800的步骤的装置包含图1、2A、2B和3A、3B的系统的组件的一或多个例子。
在步骤810处,系统(例如,AR系统10、移动装置12)可以获得从观察位置捕捉的物理场景的深度图像。深度图像可以包括多个深度值并且对应于物理场景中的多个点。另外,每一深度值指示从观察位置到物理场景中的多个点中的一个的距离。观察位置可以是从一个特定视点(例如RGB深度相机、声纳、激光扫描)或从多个视点(例如能够感测深度的立体相机)。获得从观察位置捕捉的物理场景的深度图像可以通过相机24和关于图2A中的装置12的组件26、22、30、38和46论述的过程中的一或多者执行。或者,深度相机305可以执行步骤810。
在步骤820处,系统(例如AR系统10)可以识别平面物体据估计沿其定位的平面表面。识别平面表面可以通过相机24和关于图2A中的装置12的组件26、22、30、38和46论述的过程中的一或多者执行。或者,深度相机305可以执行步骤810。
在步骤830处,系统(例如AR系统10)可以构建支撑图谱。支撑图谱指示平面表面的被平面物体以及靠在平面物体顶上的物体的可能表面占据的部分。举例来说,可以使用存储器40和关于图2中的装置12的组件26、22、30、38和46论述的过程中的一或多者构建支撑图谱。
在步骤840处,系统(例如AR系统10)可以构建遮挡图谱,遮挡图谱指示平面表面的其中平面物体遗失的部分。举例来说,可以使用存储器40和关于图2中的装置12的组件26、22、30和38论述的过程中的一或多者构建遮挡图谱。
在步骤850处,系统(例如AR系统10)可以使用遮挡图谱构建平面物体的至少一个边界的表示。举例来说,可以使用存储器40和关于图2A中的装置12的组件26、22、30、38和46论述的过程中的一或多者构建平面物体的至少一个边界的表示。
根据一些实施例,方法800可以进一步包括基于遮挡图谱和平面物体的至少一个边界构建遮挡梯度图谱。另外,方法800可包括基于支撑图谱和平面物体的至少一个边界构建支撑梯度图谱。此外,所述方法可包括基于遮挡梯度图谱和支撑梯度图谱对与平面物体的边界相关联的片段进行分类。
此外,构建支撑图谱的步骤可包括将平面表面分割成多个单元。此外,对于每一单元,对具有从观察位置延伸到单元或单元上方的空间的垂直柱内的一个位置的深度值的多个点进行计数。
在一或多种布置中,平面物体可以是物理场景中的桌面。
在一或多种布置中,构建遮挡图谱的步骤可包括将平面表面分割成多个单元。另外,对于每一单元,对具有足够大可以从观察位置延伸并且在平面表面处穿越单元的深度值的多个点进行计数。
在一或多种布置中,构建表示的步骤可包括将线段投影到支撑图谱中,将线段投影到遮挡图谱中,以及确定投影的线段是否与平面物体的真正边缘重合。
图9说明可在其中实施一或多个实施例的计算系统的实例。如图9中所说明的计算机系统可作为上文描述的计算机化装置的部分而并入。例如,计算机系统900可表示以下装置的组件中的一些组件:电视机、计算装置、服务器、台式计算机、工作站、汽车中的控制或交互系统、平板计算机、上网本或任何其它合适的计算系统。计算装置可为具有图像捕捉装置或输入感觉单元和用户输出装置的任何计算装置。图像捕捉装置或输入感觉单元可为相机装置。用户输出装置可为显示单元。计算装置的实例包含但不限于视频游戏控制台、平板计算机、智能电话及任何其它手持式装置。图9提供计算机系统900的一个实施例的示意性说明,所述计算机系统可执行通过各种其它实施例提供的方法(如本文所描述),及/或可充当主控计算机系统、远程查询一体机/终端、销售点装置、汽车中的电话或导航或多媒体接口、计算装置、机顶盒、台式计算机和/或计算机系统。图9仅意图提供对各种组件的一般化说明,可在适当时利用所述组件中的任一者或全部。因此,图9广泛地说明可如何以相对分离或相对更集成的方式实施各个系统元件。在一些实施例中,计算机系统900的元件可以用于实施图1中的装置12的功能性。
计算机系统900展示为包括可经由总线902电耦合(或在适当时可以其它方式通信)的硬件元件。所述硬件元件可包含:一或多个处理器904,包含(但不限于)一或多个通用处理器和/或一或多个专用处理器(例如,数字信号处理芯片、图形加速处理器,和/或其类似者);一或多个输入装置908,其可包含(但不限于)一或多个相机、传感器、鼠标、键盘、经配置以检测超声波或其它声音的麦克风,和/或其类似者;以及一或多个输出装置910,其可包含(但不限于)显示单元(例如,本发明的实施例中所使用的装置)、打印机和/或其类似者。
在本发明的实施例的一些实施方案中,各种输入装置908和输出装置910可嵌入到例如显示装置、桌子、地板、墙壁和窗纱等接口中。此外,耦合到处理器的输入装置908及输出装置910可形成多维跟踪系统。
计算机系统900可进一步包含以下各者(及/或与以下各者通信):一或多个非暂时性存储装置906,所述非暂时性存储装置906可包括(但不限于)本地及/或网络可接入的存储装置,及/或可包含(但不限于)磁盘驱动器、驱动阵列、光学存储装置、例如随机存取存储器(“RAM”)及/或只读存储器(“ROM”)等固态存储装置,其可为可编程的、可快闪更新的及/或其类似者。此些存储装置可经配置以实施任何适当数据存储装置,包含(但不限于)各种文件系统、数据库结构和/或类似者。
计算机系统900可能还包含通信子系统912,其可包含(但不限于)调制解调器、网卡(无线或有线)、红外线通信装置、无线通信装置和/或芯片组(例如,BluetoothTM装置、802.11装置、Wi-Fi装置、WiMax装置、蜂窝式通信设施等)和/或其类似者。通信子系统912可准许与网络、其它计算机系统和/或本文中所描述的任何其它装置交换数据。在许多实施例中,计算机系统900将进一步包括非暂时性工作存储器918,其可包含RAM或ROM装置,如上文所描述。
计算机系统900还可包括展示为当前位于工作存储器918内的软件元件,包含操作系统914、装置驱动器、可执行库及/或例如一或多个应用程序916的其它代码,其可包括由各种实施例所提供,及/或可经设计以实施方法及/或配置系统,由其它实施例所提供的计算机程序,如本文中所描述。仅举例来说,关于上文所论述的方法所描述的一或多个程序可实施为可由计算机(和/或计算机内的处理器)执行的代码和/或指令;接着,在一个方面中,这类代码和/或指令可用以配置和/或调适通用计算机(或其它装置)以根据所描述的方法执行一或多个操作。
一组这些指令及/或代码可存储在计算机可读存储媒体(例如,上文所描述的存储装置906)上。在一些情况下,存储媒体可能并入于计算机系统(例如,计算机系统900)内。在其它实施例中,存储媒体可能与计算机系统(例如,可装卸式媒体(例如,压缩光盘))分离,及/或提供于安装包中,使得存储媒体可用以编程、配置及/或调适其上存储有指令/代码的通用计算机。这些指令可呈可由计算机系统900执行的可执行代码形式,及/或可呈源代码及/或可安装代码的形式,所述源代码及/或可安装代码在由计算机系统900编译及/或安装于计算机系统上后(例如,使用多种一般可用的编译程序、安装程序、压缩/解压缩公用程序等中的任一者),随后采用可执行代码的形式。
可根据具体要求作出实质性变化。举例来说,还可能使用定制硬件,且/或可将特定元件实施于硬件、软件(包含便携式软件,例如小程序等),或两者中。另外,可利用到其它计算装置(例如网络输入/输出装置)的连接。在一些实施例中,可省略计算机系统900的一或多个元件或可将其与所说明系统分开实施。举例来说,可将处理器904和/或其它元件与输入装置908分开实施。在一个实施例中,处理器经配置以接收来自分别实施的一或多个相机的图像。在一些实施例中,可将除图9中所说明的元件之外的元件包含在计算机系统900中。
一些实施例可使用计算机系统(例如,计算机系统900)来执行根据本发明的方法。举例来说,所描述方法的程序中的一些或全部可由计算机系统900响应于处理器904执行工作存储器918中所含有的一或多个指令(其可并入到操作系统914和/或其它代码中,例如,应用程序916)的一或多个序列来执行。可将此类指令从另一计算机可读媒体(例如,存储装置906中的一或多者)读取到工作存储器918中。仅举例来说,执行包含于工作存储器918中的指令序列可使处理器904执行本文中所描述的方法的一或多个程序。
如本文中所使用,术语“机器可读媒体”和“计算机可读媒体”指代参与提供致使机器以特定方式操作的数据的任何媒体。在使用计算机系统900实施的一些实施例中,在将指令/代码提供到处理器904以供执行时可能涉及各种计算机可读媒体,且/或各种计算机可读媒体可能用以存储和/或携载此些指令/代码(例如,作为信号)。在许多实施方案中,计算机可读媒体为物理及/或有形存储媒体。此媒体可以采用许多形式,包含但不限于非易失性媒体、易失性媒体和传输媒体。非易失性媒体包含(例如)光盘和/或磁盘,例如,存储装置906。易失性媒体包含(但不限于)例如工作存储器918等动态存储器。传输媒体包含(但不限于)同轴电缆、铜线及光纤,包含包括总线902的电线,以及通信子系统912的各种组件(及/或通信子系统912借以提供与其它装置的通信的媒体)。因此,传输媒体还可呈波的形式(包含(但不限于)无线电、声波及/或光波,例如,在无线电波及红外线数据通信期间产生的那些波)。
举例来说,常见形式的物理和/或有形计算机可读媒体包含软性磁盘、柔性磁盘、硬盘、磁带,或任何其它磁性媒体、CD-ROM、任何其它光学媒体、打孔卡、纸带、具有孔图案的任何其它物理媒体、RAM、PROM、EPROM、快闪EPROM、任何其它存储器芯片或盒带、如下文所描述的载波,或计算机可从其读取指令和/或代码的任何其它媒体。
在将一或多个指令的一或多个序列携载到处理器904以用于执行时可涉及各种形式的计算机可读媒体。仅举例来说,最初可将指令携载于远程计算机的磁盘及/或光学光盘上。远程计算机可将指令加载到其动态存储器中并将指令作为信号经由传输媒体来发送以由计算机系统900接收和/或执行。根据本发明的各种实施例,这些信号(其可呈电磁信号、声学信号、光信号和/或类似者的形式)全部是可在其上对指令进行编码的载波的实例。
通信子系统912(及/或其组件)一般将接收信号,且总线902可能接着将信号(及/或通过信号携载的数据、指令等)携载到工作存储器918,处理器904从所述工作存储器检索指令并执行指令。可任选地在由处理器904执行之前或之后将由工作存储器918接收的指令存储在非暂时性存储装置906上。
上文所论述的方法、系统和装置为实例。在适当时,各种配置可省略、取代或添加各种程序或组件。举例来说,在替代性配置中,可以不同于所描述的顺来执行方法,和/或可添加、省略和/或组合各种阶段。又,可以各种其它配置组合关于某些配置所描述的特征。可以类似方式组合配置的不同方面和元件。又,技术发展,且因此,元件中的许多为实例且并不限制本发明或权利要求的范围。
在描述中给出特定细节以提供对实例配置(包含实施方案)的透彻理解。然而,可在并无这些特定细节的情况下实践配置。举例来说,已在并无不必要细节的情况下展示众所周知的电路、过程、算法、结构和技术以便避免混淆配置。此描述仅提供实例配置,且并不限制权利要求的范围、适用性或配置。实际上,对配置的前面描述将向所属领域的技术人员提供能够让人实施所描述技术的描述。在不脱离本发明的精神或范围的情况下,可对元件的功能及布置作出各种改变。
而且,可将配置描述为被描绘为流程图或框图的过程。尽管每一流程图或框图可将操作描述为循序过程,但许多操作可并行地或同时地执行。此外,操作的次序可以重新排列。过程可以具有图中未包含的额外步骤。此外,方法的实例可由硬件、软件、固件、中间件、微码、硬件描述语言或其任何组合实施。当以软件、固件、中间件或微码实施时,用以执行必要任务的程序代码或代码段可存储在例如存储媒体等非暂时性计算机可读媒体中。处理器可执行所描述的任务。
在已描述若干实例配置之后,可在不脱离本发明的精神的情况下使用各种修改、替代性构建和等效物。举例来说,上述元件可为较大系统的组件,其中其它规则可优先于本发明的应用或以其它方式修改本发明的应用。而且,可在考虑以上元件之前、期间或之后进行数个步骤。
Claims (28)
1.一种用于构建平面物体的表示的方法,其包括:
获得从观察位置捕捉的物理场景的深度图像,所述深度图像包括多个深度值并且对应于所述物理场景中的多个点,每一深度值指示从所述观察位置到所述物理场景中的所述多个点中的一个的距离;
识别所述平面物体据估计沿其定位的平面表面;
构建支撑图谱,所述支撑图谱指示所述平面表面的被所述平面物体和靠在所述平面物体顶上的物体的可能表面占据的部分;
构建遮挡图谱,所述遮挡图谱指示所述平面表面的其中所述平面物体遗失的部分;以及
使用所述遮挡图谱和所述支撑图谱构建所述平面物体的至少一个边界的表示。
2.根据权利要求1所述的方法,其中所述平面物体是所述物理场景中的桌面。
3.根据权利要求1所述的方法,其中构建所述遮挡图谱包括:
将所述平面表面分割成多个单元;以及
对于每一单元,对具有足够大而从所述观察位置延伸并且在所述平面表面处穿越所述单元的深度值的多个点进行计数。
4.根据权利要求1所述的方法,其中构建所述支撑图谱包括:
将所述平面表面分割成多个单元;以及
对于每一单元,对具有从所述观察位置延伸到所述单元或所述单元上方的空间的垂直柱内的一个位置的深度值的多个点进行计数。
5.根据权利要求1所述的方法,其进一步包括:
基于所述遮挡图谱和所述平面物体的所述至少一个边界构建遮挡梯度图谱;
基于所述支撑图谱和所述平面物体的所述至少一个边界构建支撑梯度图谱;以及
基于所述遮挡梯度图谱和所述支撑梯度图谱对与所述平面物体的边界相关联的片段进行分类。
6.根据权利要求5所述的方法,其中对与所述平面物体的所述边界相关联的所述片段进行分类包括:
将线段投影到所述支撑图谱中;
将所述线段投影到所述遮挡图谱中;以及
确定所述投影的线段是否与所述平面物体的真正边缘重合。
7.根据权利要求1所述的方法,其中使用RGB深度相机获得所述深度图像。
8.一种用于构建平面物体的表示的装置,其包括:
存储器;
相机,其用以获得从观察位置捕捉的物理场景的深度图像,所述深度图像包括多个深度值并且对应于所述物理场景中的多个点,每一深度值指示从所述观察位置到所述物理场景中的所述多个点中的一个的距离;以及
一或多个处理器,其经配置以:
识别所述平面物体据估计沿其定位的平面表面;
构建支撑图谱,所述支撑图谱指示所述平面表面的被所述平面物体和靠在所述平面物体顶上的物体的可能表面占据的部分;
构建遮挡图谱,所述遮挡图谱指示所述平面表面的其中所述平面物体遗失的部分;以及
使用所述遮挡图谱和所述支撑图谱构建所述平面物体的至少一个边界的表示。
9.根据权利要求8所述的装置,其中所述平面物体是所述物理场景中的桌面。
10.根据权利要求8所述的装置,其中构建所述遮挡图谱包括:
将所述平面表面分割成多个单元;以及
对于每一单元,对具有足够大而从所述观察位置延伸并且在所述平面表面处穿越所述单元的深度值的多个点进行计数。
11.根据权利要求8所述的装置,其中构建所述支撑图谱包括:
将所述平面表面分割成多个单元;以及
对于每一单元,对具有从所述观察位置延伸到所述单元或所述单元上方的空间的垂直柱内的一个位置的深度值的多个点进行计数。
12.根据权利要求8所述的装置,所述一或多个处理器经配置以:
基于所述遮挡图谱和所述平面物体的所述至少一个边界构建遮挡梯度图谱;
基于所述支撑图谱和所述平面物体的所述至少一个边界构建支撑梯度图谱;以及
基于所述遮挡梯度图谱和所述支撑梯度图谱对与所述平面物体的边界相关联的片段进行分类。
13.根据权利要求12所述的装置,其中对与所述平面物体的所述边界相关联的所述片段进行分类包括:
将线段投影到所述支撑图谱中;
将所述线段投影到所述遮挡图谱中;以及
确定所述投影的线段是否与所述平面物体的真正边缘重合。
14.根据权利要求8所述的装置,其中所述相机是RGB深度相机。
15.一种或多种非暂时性计算机可读媒体,其存储用于构建平面物体的表示的计算机可执行指令,所述计算机可执行指令当经执行时使包含于装置中的一或多个计算装置:
获得从观察位置捕捉的物理场景的深度图像,所述深度图像包括多个深度值并且对应于所述物理场景中的多个点,每一深度值指示从所述观察位置到所述物理场景中的所述多个点中的一个的距离;
识别所述平面物体据估计沿其定位的平面表面;
构建支撑图谱,所述支撑图谱指示所述平面表面的被所述平面物体和靠在所述平面物体顶上的物体的可能表面占据的部分;
构建遮挡图谱,所述遮挡图谱指示所述平面表面的其中所述平面物体遗失的部分;以及
使用所述遮挡图谱和所述支撑图谱构建所述平面物体的至少一个边界的表示。
16.根据权利要求15所述的非暂时性计算机可读媒体,其中所述平面物体是所述物理场景中的桌面。
17.根据权利要求15所述的非暂时性计算机可读媒体,其中构建所述遮挡图谱包括:
将所述平面表面分割成多个单元;以及
对于每一单元,对具有足够大而从所述观察位置延伸并且在所述平面表面处穿越所述单元的深度值的多个点进行计数。
18.根据权利要求15所述的非暂时性计算机可读媒体,其中构建所述支撑图谱包括:
将所述平面表面分割成多个单元;以及
对于每一单元,对具有从所述观察位置延伸到所述单元或所述单元上方的空间的垂直柱内的一个位置的深度值的多个点进行计数。
19.根据权利要求15所述的非暂时性计算机可读媒体,其中所述计算机可执行指令当经执行时进一步致使包含在所述装置中的所述一或多个计算装置:
基于所述遮挡图谱和所述平面物体的所述至少一个边界构建遮挡梯度图谱;
基于所述支撑图谱和所述平面物体的所述至少一个边界构建支撑梯度图谱;以及
基于所述遮挡梯度图谱和所述支撑梯度图谱对与所述平面物体的边界相关联的片段进行分类。
20.根据权利要求19所述的非暂时性计算机可读媒体,其中对与所述平面物体的所述边界相关联的所述片段进行分类包括:
将线段投影到所述支撑图谱中;
将所述线段投影到所述遮挡图谱中;以及
确定所述投影的线段是否与所述平面物体的真正边缘重合。
21.根据权利要求15所述的非暂时性计算机可读媒体,其中所述深度图像是使用RGB深度相机获得的。
22.一种用于构建平面物体的表示的设备,其包括:
用于获得从观察位置捕捉的物理场景的深度图像的装置,所述深度图像包括多个深度值并且对应于所述物理场景中的多个点,每一深度值指示从所述观察位置到所述物理场景中的所述多个点中的一个的距离;
用于识别所述平面物体据估计沿其定位的平面表面的装置;
用于构建支撑图谱的装置,所述支撑图谱指示所述平面表面的被所述平面物体和靠在所述平面物体顶上的物体的可能表面占据的部分;
用于构建遮挡图谱的装置,所述遮挡图谱指示所述平面表面的其中所述平面物体遗失的部分;以及
用于使用所述遮挡图谱和所述支撑图谱构建所述平面物体的至少一个边界的表示的装置。
23.根据权利要求22所述的设备,其中所述平面物体是所述物理场景中的桌面。
24.根据权利要求22所述的设备,其中构建所述遮挡图谱包括:
用于将所述平面表面分割成多个单元的装置;以及
对于每一单元,对具有足够大而从所述观察位置延伸并且在所述平面表面处穿越所述单元的深度值的多个点进行计数。
25.根据权利要求22所述的设备,其中构建所述支撑图谱包括:
将所述平面表面分割成多个单元的装置;以及
对于每一单元,对具有从所述观察位置延伸到所述单元或所述单元上方的空间的垂直柱内的一个位置的深度值的多个点进行计数。
26.根据权利要求22所述的设备,其进一步包括:
用于基于所述遮挡图谱和所述平面物体的所述至少一个边界构建遮挡梯度图谱的装置;
用于基于所述支撑图谱和所述平面物体的所述至少一个边界构建支撑梯度图谱的装置;以及
用于基于所述遮挡梯度图谱和所述支撑梯度图谱对与所述平面物体的边界相关联的片段进行分类的装置。
27.根据权利要求26所述的设备,其中对与所述平面物体的所述边界相关联的所述片段进行分类包括:
将线段投影到所述支撑图谱中;
将所述线段投影到所述遮挡图谱中;以及
确定所述投影的线段是否与所述平面物体的真正边缘重合。
28.根据权利要求22所述的设备,其中使用RGB深度相机获得所述深度图像。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361872436P | 2013-08-30 | 2013-08-30 | |
US61/872,436 | 2013-08-30 | ||
US14/268,721 | 2014-05-02 | ||
US14/268,721 US9514574B2 (en) | 2013-08-30 | 2014-05-02 | System and method for determining the extent of a plane in an augmented reality environment |
PCT/US2014/051955 WO2015031139A1 (en) | 2013-08-30 | 2014-08-20 | System and method for determining the extent of a plane in an augmented reality environment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105493154A true CN105493154A (zh) | 2016-04-13 |
CN105493154B CN105493154B (zh) | 2019-05-31 |
Family
ID=52582548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480046887.6A Expired - Fee Related CN105493154B (zh) | 2013-08-30 | 2014-08-20 | 用于确定增强现实环境中的平面的范围的系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9514574B2 (zh) |
EP (1) | EP3039655B1 (zh) |
JP (1) | JP6203406B2 (zh) |
KR (1) | KR20160048901A (zh) |
CN (1) | CN105493154B (zh) |
WO (1) | WO2015031139A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108629800A (zh) * | 2017-03-20 | 2018-10-09 | 北京三星通信技术研究有限公司 | 平面确定方法及增强现实显示信息的显示方法、相应装置 |
CN109472873A (zh) * | 2018-11-02 | 2019-03-15 | 北京微播视界科技有限公司 | 三维模型的生成方法、装置、硬件装置 |
CN110070600A (zh) * | 2018-11-02 | 2019-07-30 | 北京微播视界科技有限公司 | 三维模型的生成方法、装置、硬件装置 |
CN111989537A (zh) * | 2018-04-17 | 2020-11-24 | 丰田研究所股份有限公司 | 用于在无约束环境中检测人类视线和手势的系统和方法 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9304582B1 (en) * | 2013-12-19 | 2016-04-05 | Amazon Technologies, Inc. | Object-based color detection and correction |
US10664975B2 (en) * | 2014-11-18 | 2020-05-26 | Seiko Epson Corporation | Image processing apparatus, control method for image processing apparatus, and computer program for generating a virtual image corresponding to a moving target |
JP2017007033A (ja) * | 2015-06-22 | 2017-01-12 | シャープ株式会社 | ロボット |
JP6602096B2 (ja) * | 2015-08-18 | 2019-11-06 | 株式会社明和eテック | 欠陥検出装置 |
US10088736B2 (en) | 2015-09-24 | 2018-10-02 | Amazon Technologies, Inc. | Unmanned aerial vehicle descent |
KR102337931B1 (ko) | 2016-06-27 | 2021-12-13 | 로베르트 보쉬 게엠베하 | 동적 가림 핸들링을 위한 시스템들 및 방법들 |
US10565786B1 (en) * | 2016-06-30 | 2020-02-18 | Google Llc | Sensor placement interface |
KR102317776B1 (ko) * | 2016-10-05 | 2021-10-25 | 매직 립, 인코포레이티드 | 표면 모델링 시스템들 및 방법들 |
DK180470B1 (en) | 2017-08-31 | 2021-05-06 | Apple Inc | Systems, procedures, and graphical user interfaces for interacting with augmented and virtual reality environments |
US10402646B2 (en) | 2017-09-21 | 2019-09-03 | Amazon Technologies, Inc. | Object detection and avoidance for aerial vehicles |
EP3468182A1 (en) * | 2017-10-06 | 2019-04-10 | InterDigital VC Holdings, Inc. | A method and apparatus for encoding a point cloud representing three-dimensional objects |
KR102509823B1 (ko) * | 2017-12-27 | 2023-03-14 | 삼성전자주식회사 | 그리드 기반의 평면 추정 방법 및 장치 |
DK201870347A1 (en) | 2018-01-24 | 2019-10-08 | Apple Inc. | Devices, Methods, and Graphical User Interfaces for System-Wide Behavior for 3D Models |
KR102540546B1 (ko) | 2018-08-23 | 2023-06-05 | 현대자동차주식회사 | 가솔린 egr 시스템의 밸브개방 제어장치 및 방법 |
US11651567B2 (en) | 2018-12-13 | 2023-05-16 | Maxell, Ltd. | Display terminal, display control system and display control method |
JP2020148712A (ja) * | 2019-03-15 | 2020-09-17 | 東芝インフォメーションシステムズ株式会社 | 測距システム、測距装置及び配置方法 |
US11030474B1 (en) * | 2019-05-28 | 2021-06-08 | Apple Inc. | Planar region boundaries based on intersection |
JP2021033572A (ja) * | 2019-08-22 | 2021-03-01 | 株式会社豊田自動織機 | 画像データ収集装置及び画像データ仕分け方法 |
WO2021086355A1 (en) * | 2019-10-30 | 2021-05-06 | Hewlett-Packard Development Company, L.P. | Camera pose determinations with depth |
JP7366797B2 (ja) * | 2020-02-19 | 2023-10-23 | 株式会社Ihiインフラシステム | コンクリート床版の平坦度計測装置 |
KR20210157601A (ko) | 2020-06-22 | 2021-12-29 | 현대자동차주식회사 | 결빙 개선을 위한 lp-egr 시스템의 제어장치 및 방법 |
CN111899293B (zh) * | 2020-09-29 | 2021-01-08 | 成都索贝数码科技股份有限公司 | Ar应用中的虚实遮挡处理方法 |
US11960009B2 (en) * | 2020-12-30 | 2024-04-16 | Zoox, Inc. | Object contour determination |
US11972524B2 (en) * | 2021-03-30 | 2024-04-30 | Hcl Technologies Limited | Method and system for generating tightest revolve envelope for computer-aided design (CAD) model |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050135670A1 (en) * | 2003-12-17 | 2005-06-23 | Janakiraman Vaidyanathan | CAD modeling system and method |
CN102509342A (zh) * | 2011-09-22 | 2012-06-20 | 北京航空航天大学 | 一种共享增强现实场景中协同式虚实遮挡处理方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6420698B1 (en) | 1997-04-24 | 2002-07-16 | Cyra Technologies, Inc. | Integrated system for quickly and accurately imaging and modeling three-dimensional objects |
US7509241B2 (en) | 2001-07-06 | 2009-03-24 | Sarnoff Corporation | Method and apparatus for automatically generating a site model |
US7961934B2 (en) | 2003-12-11 | 2011-06-14 | Strider Labs, Inc. | Probable reconstruction of surfaces in occluded regions by computed symmetry |
JP2006065608A (ja) * | 2004-08-27 | 2006-03-09 | Fuji Xerox Co Ltd | 3次元モデル生成装置および方法 |
JP2006323608A (ja) * | 2005-05-18 | 2006-11-30 | Kozo Keikaku Engineering Inc | 立体構造物群モデル作成装置、立体構造物群モデル作成方法及び立体モデル作成システム |
JP2012507181A (ja) * | 2008-10-28 | 2012-03-22 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 画像特性のための遮蔽データの発生 |
US8933925B2 (en) | 2009-06-15 | 2015-01-13 | Microsoft Corporation | Piecewise planar reconstruction of three-dimensional scenes |
KR101686169B1 (ko) * | 2010-02-09 | 2016-12-14 | 삼성전자주식회사 | 옥트리 기반의 3차원 맵 생성 장치 및 방법 |
US9092657B2 (en) * | 2013-03-13 | 2015-07-28 | Microsoft Technology Licensing, Llc | Depth image processing |
-
2014
- 2014-05-02 US US14/268,721 patent/US9514574B2/en active Active
- 2014-08-20 JP JP2016538974A patent/JP6203406B2/ja active Active
- 2014-08-20 CN CN201480046887.6A patent/CN105493154B/zh not_active Expired - Fee Related
- 2014-08-20 KR KR1020167008050A patent/KR20160048901A/ko active Search and Examination
- 2014-08-20 WO PCT/US2014/051955 patent/WO2015031139A1/en active Application Filing
- 2014-08-20 EP EP14766026.0A patent/EP3039655B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050135670A1 (en) * | 2003-12-17 | 2005-06-23 | Janakiraman Vaidyanathan | CAD modeling system and method |
CN102509342A (zh) * | 2011-09-22 | 2012-06-20 | 北京航空航天大学 | 一种共享增强现实场景中协同式虚实遮挡处理方法 |
Non-Patent Citations (2)
Title |
---|
DAVID E. BREEN ET AL.: "Interactive Occlusion and Automatic Object Placement for Augmented Reality", 《COMPUTER GRAPHICS FORUM》 * |
M.O.BERGER: "Resolving Occlusion in Augmented Reality: a Contour Based Approach without 3D Reconstruction", 《1997 CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108629800A (zh) * | 2017-03-20 | 2018-10-09 | 北京三星通信技术研究有限公司 | 平面确定方法及增强现实显示信息的显示方法、相应装置 |
CN111989537A (zh) * | 2018-04-17 | 2020-11-24 | 丰田研究所股份有限公司 | 用于在无约束环境中检测人类视线和手势的系统和方法 |
CN109472873A (zh) * | 2018-11-02 | 2019-03-15 | 北京微播视界科技有限公司 | 三维模型的生成方法、装置、硬件装置 |
CN110070600A (zh) * | 2018-11-02 | 2019-07-30 | 北京微播视界科技有限公司 | 三维模型的生成方法、装置、硬件装置 |
CN110070600B (zh) * | 2018-11-02 | 2023-09-15 | 北京微播视界科技有限公司 | 三维模型的生成方法、装置、硬件装置 |
CN109472873B (zh) * | 2018-11-02 | 2023-09-19 | 北京微播视界科技有限公司 | 三维模型的生成方法、装置、硬件装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2015031139A1 (en) | 2015-03-05 |
US20150062117A1 (en) | 2015-03-05 |
CN105493154B (zh) | 2019-05-31 |
KR20160048901A (ko) | 2016-05-04 |
EP3039655B1 (en) | 2020-04-29 |
JP2016534466A (ja) | 2016-11-04 |
EP3039655A1 (en) | 2016-07-06 |
US9514574B2 (en) | 2016-12-06 |
JP6203406B2 (ja) | 2017-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105493154A (zh) | 用于确定增强现实环境中的平面的范围的系统和方法 | |
KR102612347B1 (ko) | 장치 위치 측정을 위한 다중 동기화 통합 모델 | |
CN104603719B (zh) | 扩增实境表面显示 | |
US9898844B2 (en) | Augmented reality content adapted to changes in real world space geometry | |
JP6423435B2 (ja) | 物理的光景を表すための方法および装置 | |
US20150185825A1 (en) | Assigning a virtual user interface to a physical object | |
US20160054791A1 (en) | Navigating augmented reality content with a watch | |
US11842514B1 (en) | Determining a pose of an object from rgb-d images | |
CN110473293B (zh) | 虚拟对象处理方法及装置、存储介质和电子设备 | |
KR20160003553A (ko) | 지도 정보를 제공하기 위한 전자 장치 | |
CN104769640A (zh) | 使用多个传感器来进行绘图与定位 | |
CN110363061B (zh) | 计算机可读介质、训练对象检测算法的方法及显示装置 | |
US11557080B2 (en) | Dynamically modeling an object in an environment from different perspectives | |
KR20150067250A (ko) | 사용자 인터페이스를 위한 터치리스 입력 | |
CN105637559A (zh) | 使用深度传感器的结构建模 | |
US20160227868A1 (en) | Removable face shield for augmented reality device | |
CN105531740A (zh) | 扩展物理平面的数字表示 | |
JP5263748B2 (ja) | ビューイングフラスタムを用いて客体に関する情報を提供するための方法、システム及びコンピュータ読み取り可能な記録媒体 | |
EP3594906A1 (en) | Method and device for providing augmented reality, and computer program | |
KR20180104224A (ko) | 화면 제어 방법 및 이를 지원하는 전자 장치 | |
KR101546653B1 (ko) | 증강현실 기반의 실시간 관심 컨텍스트 등록 시스템 및 그 방법 | |
KR101939530B1 (ko) | 지형정보 인식을 기반으로 증강현실 오브젝트를 표시하는 방법 및 그 장치 | |
KR102620195B1 (ko) | 콘텐츠 출력 방법 및 이를 지원하는 전자 장치 | |
WO2015030623A1 (en) | Methods and systems for locating substantially planar surfaces of 3d scene |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190531 Termination date: 20210820 |
|
CF01 | Termination of patent right due to non-payment of annual fee |