首页> 中国专利> 具有实例检测的对象检测以及一般场景理解

具有实例检测的对象检测以及一般场景理解

摘要

本公开涉及具有实例检测的对象检测以及一般场景理解。本文所公开的各种具体实施包括确定CGR环境中的特定对象实例的设备、系统和方法。在一些具体实施中,识别物理环境的图像中描绘的对象的对象类型。然后,基于对象类型和图像来确定特定实例。在一些具体实施中,特定实例的对象具有与和对象类型的其他实例相关联的一组特征不同的一组特征。然后,获取物理环境中描绘的对象的特定实例的一组特征。

著录项

  • 公开/公告号CN112465988A

    专利类型发明专利

  • 公开/公告日2021-03-09

    原文格式PDF

  • 申请/专利权人 苹果公司;

    申请/专利号CN202010938753.2

  • 发明设计人 A·A·布查卡;A·N·莫埃勒;M·库恩;

    申请日2020-09-09

  • 分类号G06T19/00(20110101);G06F3/01(20060101);

  • 代理机构11038 中国贸促会专利商标事务所有限公司;

  • 代理人刘玉洁

  • 地址 美国加利福尼亚

  • 入库时间 2023-06-19 10:08:35

说明书

相关申请的交叉引用

本申请要求2019年9月9日提交的美国临时申请序列号62/897,625的权益,该申请全文以引用方式并入本文。

技术领域

本公开整体涉及电子设备,并且具体地涉及基于物理环境的图像来提供计算机生成现实(CGR)环境的系统、方法和设备。

背景技术

CGR环境可基于物理环境的图像来创建。例如,设备可捕获物理环境的图像并在CGR环境中的物理对象中添加呈现给用户的虚拟内容。用于检测对象、识别对象的实例以及大体理解物理环境的现有技术可在效率和准确性方面得到改进。

发明内容

本文公开的各种具体实施包括提供对用于提供CGR环境的物理环境的场景理解的设备、系统和方法。场景理解基于检测物理环境中存在的一个或多个特定物理对象(例如,品牌x椅子、型号y)。通过首先检测对象及其类型(例如,使用第一神经网络检测椅子),然后执行由对象类型引导的实例检测来检测对象实例,例如,使用第二神经网络来识别椅子型号或使用当前相机图像中例如从桌子周围的边界框内提取的特征部来执行视觉搜索。本文所公开的具体实施可以各种方式将对象检测与实例检测组合。在各种具体实施中,对所识别的对象类型的实例检测用于访问所识别的对象类型的实例的一组特征(例如,尺寸、材料特性等)。在一些具体实施中,基于实例检测来提供CGR环境,例如,通过组合该组特征中的一个或多个来修改CGR环境。

在一些具体实施中,对象检测使用第一机器学习模型来检测并识别物理环境的图像中的对象的对象类型。例如,对象检测检测并识别房间的物理环境的图像中的家具对象的对象类型(例如,桌子、沙发、椅子等)。然后,在一些具体实施中,实例检测使用针对该对象类型(例如,桌子)训练的第二机器学习模型,并且从所检测对象的物理环境的图像输入独特特征部,以确定对象类型的精确模型或特定实例(例如,桌子品牌模型xyz1)。在各种具体实施中,特定实例的对象具有与和对象类型的其他实例相关联的一组特征不同的一组特征。

一些具体实施使用所识别的对象类型(例如,桌子)的实例的数据库。所确定的特定实例(或特定品牌模型标识符xyz1)可用于访问(例如,经由索引)所确定的特定实例(例如,桌子xyz1)的各种信息或一组特征,诸如材料、尺寸、颜色等。在一些具体实施中,根据实例检测所确定的特定实例用于访问所识别的对象类型(例如,桌子)的该特定实例(例如,桌子xyz1)的稳健描述。在一些具体实施中,针对所确定的特定实例获取的一组特征中的一个或多个特征与CGR环境组合。在一些具体实施中,针对所确定的特定实例(例如,桌子品牌模型标识符xyz1)获取的一组特征中的一个或多个特征用于CGR环境中的场景理解、场景重建或材料检测。在一些具体实施中,针对该特定桌子模型xyz1获取的一组特征中的一个或多个特征用于改进CGR环境的质量。

在一些具体实施中,对象类型识别之后的实例检测用于CGR环境中的环境纹理化(例如,在虚拟对象中反射真实对象)。在一些具体实施中,实例检测用于在CGR环境中的真实对象上反射虚拟对象。在一些具体实施中,实例检测用于确定CGR环境中用于增强物理模拟的真实对象的物理特性(例如,表面的摩擦、对象的反弹行为或音频反射率)。在一些具体实施中,实例检测用于使用精确对象或平面边界(例如,尺寸)在CGR环境中生成高质量场景或对象重建(例如,在没有整个对象的视觉数据的情况下)(例如,用于遮挡处理和物理模拟)。在一些具体实施中,实例检测用于CGR环境中的减弱现实(例如,移除或替换真实对象)。在一些具体实施中,实例检测用于理解CGR环境中的光照情况(例如,光源的位置、颜色或方向)。

本文所公开的各种具体实施包括确定CGR环境中的特定对象实例的设备、系统和方法。在一些具体实施中,识别物理环境(例如,内部房间)的图像中描绘的对象的对象类型(例如,桌子)。在一些具体实施中,基于物理环境的图像中的对象的对象类型和独特特征部来确定特定实例(例如,桌子品牌模型标识符xyz1)。然后,使用所确定的特定实例来获取物理环境的图像中所描绘的对象的所确定的特定实例的一组特征,以在该对象类型(例如,桌子)的实例的数据库中执行查找。在一些具体实施中,特定实例的对象具有与和对象类型的其他实例(例如,桌子品牌模型标识符abc4、桌子品牌模型标识符klm11)相关联的一组特征不同的一组特征(例如,尺寸、颜色、材料)。在一些具体实施中,通过将所确定的特定实例(例如,桌子品牌模型标识符xyz1)的一组特征中的一个或多个特征与CGR环境组合,在CGR环境中使用实例检测。

根据一些具体实施中,非暂态计算机可读存储介质中存储有指令,所述指令是计算机可执行的以执行或使得执行本文所述的任何方法。根据一些具体实施,一种设备包括一个或多个处理器、非暂态存储器以及一个或多个程序;该一个或多个程序被存储在非暂态存储器中并且被配置为由一个或多个处理器执行,并且该一个或多个程序包括用于执行或使得执行本文所述方法中的任一种的指令。

附图说明

因此,本公开可被本领域的普通技术人员理解,更详细的描述可参考一些例示性具体实施的方面,其中一些具体实施在附图中示出。

图1是根据一些具体实施的示例性操作环境的框图。

图2是根据一些具体实施的示例性控制器的框图。

图3是根据一些具体实施的示例性电子设备(例如,头戴式设备(HMD))的框图。

图4A至图4D是示出根据一些具体实施的在CGR环境中使用所识别的对象类型的特定实例的框图。

图5是示出根据一些具体实施的基于对象类型的特定实例来修改CGR环境的示例性方法的流程图。

根据通常的做法,附图中示出的各种特征部可能未按比例绘制。因此,为了清楚起见,可以任意地扩展或减小各种特征部的尺寸。另外,一些附图可能未描绘给定的系统、方法或设备的所有部件。最后,在整个说明书和附图中,类似的附图标号可用于表示类似的特征部。

具体实施方式

描述了许多细节以便提供对附图中所示的示例具体实施的透彻理解。然而,附图仅示出了本公开的一些示例方面,因此不应被视为限制。本领域的普通技术人员将会知道,其他有效方面或变体不包括本文所述的所有具体细节。此外,没有详尽地描述众所周知的系统、方法、部件、设备和电路,以免模糊本文所述的示例性具体实施的更多相关方面。尽管图1-图3示出了涉及电子设备的示例性具体实施,但其他具体实施可涉及其他类型的设备,包括但不限于手表和其他可穿戴电子设备、移动设备、膝上型计算机、台式计算机、游戏设备(HMD)、头戴式设备、家庭自动化设备以及包括或使用图像捕获设备的其他设备。

图1是根据一些具体实施的示例性操作环境100的框图。尽管示出了相关特征,但本领域的普通技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的示例性具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,操作环境100包括控制器110和电子设备120,该控制器和该电子设备中的一者或两者可处于物理环境中。物理环境是指人们在没有电子系统帮助的情况下能够感测和/或交互的物理世界。物理环境诸如物理公园包括物理物品,诸如物理树木、物理建筑物和物理人。人们能够诸如通过视觉、触觉、听觉、味觉和嗅觉来直接感测物理环境和/或与物理环境交互。

在一些具体实施中,控制器110被配置为管理和协调用户的计算机生成现实(CGR)环境。在一些具体实施中,控制器110包括软件、固件或硬件的合适组合。下文参考图2更详细地描述控制器110。在一些具体实施中,控制器110是相对于物理环境105处于本地或远程位置的计算设备。

在一个示例中,控制器110是位于物理环境105内的本地服务器。在另一个示例中,控制器110是位于物理环境105之外的远程服务器(例如,云服务器、中央服务器等)。在一些具体实施中,控制器110经由一个或多个有线或无线通信信道144(例如,蓝牙、IEEE802.11x、IEEE 802.16x、IEEE 802.3x等)与电子设备120通信地耦接。

在一些具体实施中,控制器110和电子设备120被配置为一起向用户呈现CGR环境。

在一些具体实施中,电子设备120被配置为向用户呈现CGR环境。在一些具体实施中,电子设备120包括软件、固件或硬件的合适组合。下文参考图3更详细地描述电子设备120。在一些具体实施中,控制器110的功能由电子设备120提供或与电子设备120组合,例如,在用作独立单元的电子设备的情况下。

根据一些具体实施,当用户出现在物理环境105内时,电子设备120向用户呈现CGR环境。CGR环境是指人们经由电子系统感测和/或交互的完全或部分模拟的环境。在CGR中,跟踪人的物理运动的一个子集或其表示,并且作为响应,以符合至少一个物理定律的方式调节在CGR环境中模拟的一个或多个虚拟对象的一个或多个特征。例如,CGR系统可以检测人的头部转动,并且作为响应,以与此类视图和声音在物理环境中变化的方式类似的方式调节呈现给人的图形内容和声场。在一些情况下(例如,出于可达性原因),对CGR环境中虚拟对象的特征的调节可以响应于物理运动的表示(例如,声音命令)来进行。

人可以利用其感官中的任一者来感测CGR对象和/或与CGR对象交互,包括视觉、听觉、触觉、味觉和嗅觉。例如,人可以感测音频对象和/或与音频对象交互,该音频对象创建3D或空间音频环境,该3D或空间音频环境提供3D空间中点音频源的感知。又如,音频对象可以使能音频透明度,该音频透明度在有或者没有计算机生成的音频的情况下选择性地引入来自物理环境的环境声音。在某些CGR环境中,人可以感测和/或只与音频对象交互。

CGR的示例包括虚拟现实和混合现实。虚拟现实(VR)环境是指被设计成对于一个或多个感官完全基于计算机生成的感官输入的模拟环境。VR环境包括人可以感测和/或与之交互的虚拟对象。例如,树木、建筑物和代表人的化身的计算机生成的图像是虚拟对象的示例。人可以通过在计算机生成的环境内人的存在的模拟、和/或通过在计算机生成的环境内人的物理运动的一个子组的模拟来感测和/或与VR环境中的虚拟对象交互。

与被设计成完全基于计算机生成的感官输入的VR环境相比,混合现实(MR)环境是指被设计成除了包括计算机生成的感官输入(例如,虚拟对象)之外还引入来自物理环境的感官输入或其表示的模拟环境。在虚拟连续体上,混合现实环境是完全物理环境作为一端和虚拟现实环境作为另一端之间的任何状况,但不包括这两端。

在一些MR环境中,计算机生成的感官输入可以对来自物理环境的感官输入的变化进行响应。另外,用于呈现MR环境的一些电子系统可以跟踪相对于物理环境的位置和/或取向,以使虚拟对象能够与真实对象(即,来自物理环境的物理物品或其表示)交互。例如,系统可以导致运动使得虚拟树木相对于物理地面看起来是静止的。

混合现实的示例包括增强现实和增强虚拟。增强现实(AR)环境是指其中一个或多个虚拟对象叠加在物理环境或其表示之上的模拟环境。例如,用于呈现AR环境的电子系统可具有透明或半透明显示器,人可以透过该显示器直接查看物理环境。该系统可以被配置成在透明或半透明显示器上呈现虚拟对象,使得人利用该系统感知叠加在物理环境之上的虚拟对象。另选地,系统可以具有不透明显示器和一个或多个成像传感器,成像传感器捕获物理环境的图像或视频,这些图像或视频是物理环境的表示。系统将图像或视频与虚拟对象组合,并在不透明显示器上呈现组合物。人利用系统经由物理环境的图像或视频而间接地查看物理环境,并且感知叠加在物理环境之上的虚拟对象。如本文所用,在不透明显示器上显示的物理环境的视频被称为“透传视频”,意味着系统使用一个或多个图像传感器捕获物理环境的图像,并且在不透明显示器上呈现AR环境时使用那些图像。进一步另选地,系统可以具有投影系统,该投影系统将虚拟对象投射到物理环境中,例如作为全息图或者在物理表面上,使得人利用该系统感知叠加在物理环境之上的虚拟对象。

增强现实环境也是指其中物理环境的表示被计算机生成的感官信息进行转换的模拟环境。例如,在提供透传视频中,系统可以对一个或多个传感器图像进行转换以施加与成像传感器所捕获的视角不同的选择视角(例如,视点)。又如,物理环境的表示可以通过图形地修改(例如,放大)其部分而进行转换,使得经修改部分可以是原始捕获图像的代表性的但不是真实的版本。再如,物理环境的表示可以通过以图形方式消除其部分或将其部分进行模糊处理而进行转换。

增强虚拟(AV)环境是指其中虚拟或计算机生成的环境结合来自物理环境的一个或多个感官输入的模拟环境。感官输入可以是物理环境的一个或多个特征的表示。例如,AV公园可以具有虚拟树木和虚拟建筑物,但人的脸部是从对物理人拍摄的图像逼真再现的。又如,虚拟对象可以采用一个或多个成像传感器所成像的物理物品的形状或颜色。再如,虚拟对象可以采用符合太阳在物理环境中的位置的阴影。

有许多不同类型的电子系统使人能够感测和/或与各种CGR环境交互。示例包括头戴式系统、基于投影的系统、平视显示器(HUD)、集成有显示能力的车辆挡风玻璃、集成有显示能力的窗户、被形成为被设计用于放置在人眼睛上的透镜的显示器(例如,类似于隐形眼镜)、耳机/听筒、扬声器阵列、输入系统(例如,具有或没有触觉反馈的可穿戴或手持控制器)、智能电话、平板电脑、和台式/膝上型计算机。头戴式系统可以具有一个或多个扬声器和集成的不透明显示器。另选地,头戴式系统可以被配置成接受外部不透明显示器(例如,智能电话)。头戴式系统可以结合用于捕获物理环境的图像或视频的一个或多个成像传感器、和/或用于捕获物理环境的音频的一个或多个麦克风。头戴式系统可以具有透明或半透明显示器,而不是不透明显示器。透明或半透明显示器可以具有媒介,代表图像的光通过该媒介被引导到人的眼睛。显示器可以利用数字光投影、OLED、LED、uLED、硅基液晶、激光扫描光源或这些技术的任意组合。媒介可以是光学波导、全息图媒介、光学组合器、光学反射器、或它们的任意组合。在一个实施方案中,透明或半透明显示器可被配置成选择性地变得不透明。基于投影的系统可以采用将图形图像投影到人的视网膜上的视网膜投影技术。投影系统也可以被配置成将虚拟对象投影到物理环境中,例如作为全息图或在物理表面上。

图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)、静态随机存取存储器(CGRAM)、双倍数据速率随机存取存储器(DDR RAM)或者其他随机存取固态存储器设备。在一些具体实施中,存储器220包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器220任选地包括远离所述一个或多个处理单元202定位的一个或多个存储设备。存储器220包括非暂态计算机可读存储介质。在一些具体实施中,存储器220或者存储器220的非暂态计算机可读存储介质存储下述程序、模块和数据结构或者它们的子集,其中包括任选的操作系统230和计算机生成现实(CGR)体验模块240。

操作系统230包括用于处理各种基础系统服务和用于执行硬件相关任务的过程。

在一些具体实施中,CGR模块240被配置为创建、编辑、呈现或体验CGR环境。在一些具体实施中,CGR模块240包括对象类型识别单元242、实例识别单元244和对象实例特征单元246。对象类型识别单元242被配置为检测并识别物理环境的图像中的对象的对象类型。实例识别单元244被配置为从所检测到的对象的物理环境的图像输入独特特征部,以确定该对象类型的特定实例。对象实例特征单元246被配置为获取物理环境的图像中所描绘的对象类型的所确定的特定实例的一组特征。CGR模块240被配置为向一个或多个用户呈现将被用作CGR环境的一部分的虚拟内容(例如,3D内容)。例如,用户可查看并以其他方式体验基于CGR的用户界面,该用户界面允许用户例如经由手势、语音命令、输入设备输入等基于该虚拟内容位置来选择、放置、移动以及以其他方式呈现CGR环境。

尽管这些模块和单元被示出为驻留在单个设备(例如,控制器110)上,但应当理解,在其他具体实施中,这些模块和单元的任何组合可位于单独的计算设备中。此外,图2更多地用作存在于特定具体实施中的各种特征部的功能描述,与本文所述的具体实施的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图2中单独示出的一些功能模块可以在单个模块中实现,并且单个功能块的各种功能可在各种具体实施中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征部将根据具体实施而变化,并且在一些具体实施中,部分地取决于为特定具体实施选择的硬件、软件或固件的特定组合。

图3是根据一些具体实施的电子设备120的示例的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,在一些具体实施中,电子设备120包括一个或多个处理单元302(例如,微处理器、ASIC、FPGA、GPU、CPU、处理核心等)、一个或多个输入/输出(I/O)设备及传感器306、一个或多个通信接口308(例如,USB、FIREWIRE、THUNDERBOLT、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、GSM、CDMA、TDMA、GPS、IR、BLUETOOTH、ZIGBEE、SPI、I2C或类似类型的接口)、一个或多个编程(例如,I/O)接口310、一个或多个显示器312、一个或多个面向内部或面向外部的图像传感器314、存储器320以及用于互连这些部件和各种其他部件的一条或多条通信总线304。

在一些具体实施中,一条或多条通信总线304包括互连和控制系统部件之间的通信的电路。在一些具体实施中,一个或多个I/O设备及传感器306包括惯性测量单元(IMU)、加速度计、磁力计、陀螺仪、温度计、一个或多个生理传感器(例如,血压监测仪、心率监测仪、血液氧传感器、血糖传感器等)、一个或多个传声器、一个或多个扬声器、触觉引擎或者一个或多个深度传感器(例如,结构光、飞行时间等)等。

在一些具体实施中,一个或多个显示器312被配置为向用户呈现CGR环境。在一些具体实施中,一个或多个显示器312对应于全息、数字光处理(DLP)、液晶显示器(LCD)、硅上液晶(LCoS)、有机发光场效应晶体管(OLET)、有机发光二极管(OLED)、表面传导电子发射器显示器(SED)、场发射显示器(FED)、量子点发光二极管(QD-LED)、微机电系统(MEMS)或者类似显示器类型。在一些具体实施中,一个或多个显示器312对应于衍射、反射、偏振、全息等波导显示器。例如,电子设备120包括单个显示器。又如,电子设备120包括针对用户的每只眼睛的显示器。

存储器320包括高速随机存取存储器,诸如DRAM、CGRAM、DDR RAM或其他随机存取固态存储器设备。在一些具体实施中,存储器320包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器320任选地包括远离所述一个或多个处理单元302定位的一个或多个存储设备。存储器320包括非暂态计算机可读存储介质。在一些具体实施中,存储器320或者存储器320的非暂态计算机可读存储介质存储下述程序、模块和数据结构或者它们的子集,其中包括任选的操作系统330和CGR模块340。

操作系统330包括用于处理各种基础系统服务和用于执行硬件相关任务的过程。

在一些具体实施中,CGR模块340被配置为创建、编辑、呈现或体验CGR环境。在一些具体实施中,CGR模块340包括对象类型识别单元342、实例识别单元344和对象实例特征单元346。对象类型识别单元342被配置为检测并识别物理环境的图像中的对象的对象类型。实例识别单元344被配置为从所检测到的对象的物理环境的图像输入独特特征部,以确定该对象类型的特定实例。对象实例特征单元346被配置为获取物理环境的图像中所描绘的对象类型的所确定的特定实例的一组特征。CGR模块340被配置为向一个或多个用户呈现将被用作CGR环境的一部分的虚拟内容(例如,3D内容)。例如,用户可查看并以其他方式体验基于CGR的用户界面,该用户界面允许用户例如经由手势、语音命令、输入设备输入等基于该虚拟内容位置来选择、放置、移动以及以其他方式呈现CGR环境。

此外,图3更多地用作存在于特定具体实施中的各种特征部的功能描述,与本文所述的具体实施的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图3中单独示出的一些功能模块可以在单个模块中实现,并且单个功能块的各种功能可在各种具体实施中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征部将根据具体实施而变化,并且在一些具体实施中,部分地取决于为特定具体实施选择的硬件、软件或固件的特定组合。

图4A是示出根据一些具体实施的在CGR环境中使用所识别的对象类型的特定实例的示意图。在一些具体实施中,真实世界项目存在于物理环境105中,并且在CGR环境505中具有对应的表示。如图4A所示,桌子410、两把椅子420a、420b、沙发椅430和灯440存在于物理布景105中。桌子510、两把椅子520a、520b、沙发椅530和灯540是桌子410、两把椅子420a、420b、沙发椅430和灯440的CGR环境505中的并存的实时表示。在一些具体实施中,对象检测是一种类型的计算机视觉和图像处理,其涉及检测一个或多个数字图像(例如,视频)中特定类型或类别(例如,人、汽车等)的语义对象的实例。每种对象类型具有其自身的用于对对象类型进行分类的特殊特征部。如图4A所示,在一些具体实施中,通过首先检测描绘物理环境105的CGR环境505的图像(例如,2D或3D)中的对象(例如,桌子510),然后分析图像以确定检测到的对象的类型(例如,对象类型=桌子)来检测对象类型。

如图4B所示,在CGR环境505中检测桌子510、两把椅子520a、520b和沙发椅530。在一些具体实施中,检测到的对象位于边界框内。如图4B所示,桌子510、两把椅子520a、520b和沙发椅530分别由对应的边界框610、620a、620b和630定位。在一些具体实施中,一旦在图像中检测到对象,就可使用机器学习(ML)来确定对象的类型。用于对象检测的ML方法包括基于机器学习的方法或基于深度学习的方法。在一些具体实施中,机器学习方法首先从包含输入和期望输出两者的一组数据定义特征部,然后使用分类技术来识别对象类型。在一些具体实施中,深度学习技术例如使用卷积神经网络(CNN)进行端到端对象检测而不明确定义特征部。在一些具体实施中,可使用第一神经网络来确定对象的类型。

在一些具体实施中,一旦确定了对象类型,便可在CGR环境505中标记对象类型,如图4C所示。在一些具体实施中,可将虚拟对象添加到CGR环境505,诸如图4C所示的头像550。

如图4D所示,基于对象类型(例如,桌子)和图像(例如,图像的一部分610)来确定特定实例。在一些具体实施中,对象类型包括与对象类型相关联的一组特征。在一些具体实施中,对象类型的每个特定实例包括与对象类型的其他实例相关联的一组特征不同的一组特征的唯一实例化。

在一些具体实施中,使用视觉搜索来确定特定实例(例如,对象类型=桌子,品牌模型标识符=xyz1)。在一些具体实施中,来自设备120的2D或3D图像(例如,当前图像或其部分610)可用于提取桌子510的特征部。在一些具体实施中,所提取的特征部用于生成对象类型的特定实例的抽象结构表示。在一些具体实施中,所生成的抽象结构表示可以类似于散列函数的方式操作,该散列函数可用于将任意大小的数据映射到称为散列代码的固定大小的数据上。散列函数通常与散列表结合使用,该散列表是由散列代码寻址或访问以用于数据查找的对应数据结构。

一旦从对象类型(桌子)和图像的至少一部分(边界框610)生成特定实例(例如,桌子410的品牌和型号)的抽象结构表示,该特定实例的抽象结构表示可被发送到以相同方式编码的抽象结构表示的数据库。在一些具体实施中,以相同方式编码的抽象结构表示的数据库包括对应的特定唯一品牌模型标识符。换句话讲,由视觉搜索创建的抽象结构表示用于索引由对象类型组织的现有特定品牌模型的数据库,以输出1个对应的品牌模型标识符(例如,数字或字母数字代码等)。

ML方法还可以用于通过提取并编码当前CGR环境505中对象类型的特定实例的独特特征部来创建品牌模型的现有特定实例的此类数据库,并且用于将所提取的编码的独特特征部与正在搜索的对象类型的一组编码的特定实例进行比较。因此,在一些具体实施中,专用ML网络可用于实例检测。

在一些具体实施中,品牌模型的现有特定实例的数据库返回与输入抽象结构表示的最接近的匹配。在一些具体实施中,品牌模型的现有特定实例的数据库响应于输入抽象结构表示而返回一组最接近的匹配(例如,3、5、25等)。

在一些具体实施中,使用视觉搜索方法(例如,独特特征部描述)编码的品牌模型的现有特定实例的此类数据库已经预先创建并存储。在一些具体实施中,对象类型的现有特定实例的抽象结构表示和数据库是专有的。

因此,在一些具体实施中,每种对象类型使用对应的对象实例标识符。在一些具体实施中,存在多个对应的对象实例标识符。在一些具体实施中,存在多个对应的对象实例标识符,其中针对CGR环境中的每个可识别对象类型都存在单个对应的对象实例标识符。

一旦从数据库查询返回了桌子410的所确定的特定实例的品牌和型号(例如,特定对象类型品牌模型标识符),就使用该品牌模型标识符来检索该品牌模型标识符的整组特征。例如,桌子410的确定的特定实例被识别为品牌模型标识符xyz1,并且品牌模型标识符xyz1用于访问桌子xyz1的预设或已知的一组特征(例如,尺寸、材料、物理特性)。

在一些具体实施中,来自实例检测的一组特征中的一个或多个特征与CGR环境处的其他信息组合。因此,在CGR从环境下组合或使用从实例检测所得的一组特征中的尺寸、颜色、材料组成等中的一者或多者。

在一些具体实施中,对象检测之后的实例检测用于CGR环境中的环境纹理化(例如,在虚拟对象中反射真实对象或在真实对象上反射虚拟对象)。例如,实例检测识别可用于确定CGR重建中的平面的反射特征的物理环境中的对象的材料特性。在一些具体实施中,实例检测与CGR环境处的场景重建组合,例如,以使用通过实例检测返回的尺寸或颜色来改进3D空间理解。此外,所识别的对象类型(例如,桌子、椅子、沙发等)可与材料特征一起使用。

在一些具体实施中,对象检测之后的实例检测用于确定CGR环境中用于增强物理模拟的真实对象的物理特性(例如,表面的摩擦、对象的反弹行为、实际边界或音频反射率)。

在一些具体实施中,对象检测之后的实例检测用于在没有(例如,整个检测到的对象的)视觉数据的情况下在CGR环境中生成高质量场景或对象重建。在一些具体实施中,在没有整个检测到的对象的图像数据的情况下执行实例检测。例如,可从CGR环境中重建的不到一半的物理沙发提供物理环境中沙发的沙发品牌模型标识符。在该时间点,实例检测可提供整个沙发的完整3D模型,这允许在没有整个对象的视觉数据的情况下进行CGR环境重建。在另一个示例中,使用对象类型“椅子”以及椅子的靠背和一些腿部的图像来提供椅子品牌模型标识符,其中椅子被推入物理环境中的桌子处,其中椅子的椅座在桌子下方并且不能在物理环境的图像中捕获。在该时间点,椅子品牌模型标识符的实例检测可以提供包括椅座或椅座座套的整个椅子的完整3D模型,这允许在始终不能够具有对应的视觉数据的情况下进行CGR环境重建。

在一些具体实施中,对象检测之后的实例检测提供改进的或非常精确的对象或平面边界(例如,经由品牌模型标识符获取尺寸)。在一些具体实施中,实例检测为在物理环境的CGR环境重建中的遮挡处理(例如,经由品牌模型标识符获取尺寸)或在CGR环境中的虚拟对象和真实对象之间的遮挡处理中提供提高的准确性。在一些具体实施中,实例检测提高了CGR环境中物理模拟的准确性。在一些具体实施中,实例检测可通过在知道由松散项目或杂乱覆盖的对象的特征时减少杂乱的重建来减少或移除CGR环境中的噪声,或者知道对象(例如,沙发、椅子等)的颜色图案可在查看通知图案化实例检测到的对象的项目时提供改进的3D重建。

在一些具体实施中,对象检测之后的实例检测在CGR环境处提供减弱的现实(例如,从重建的物理环境中移除真实对象)。在一些具体实施中,减弱的现实可在首先虚拟地移除现有沙发(例如,在物理环境中重建实际沙发)之后,虚拟地将一件新家具(例如,虚拟沙发)放置到室内CGR环境中。在一些具体实施中,实例检测提供要移除的实际对象重建的特性(尺寸、颜色、关于不可见区域的信息等)。例如,实例检测可提供关于面向墙壁的沙发的后侧的信息,该信息永远不会由纯粹的设备上重建(例如,即时定位和映射(SLAM))提供。在一些具体实施中,实例检测提供关于CGR环境中的周围或附近对象的附加信息,该附加信息改进或提高对物理环境的3D空间理解或要虚拟移除的真实对象周围的图像修复的准确性。

在一些具体实施中,对象检测之后的实例检测提供关于物理环境中的照明的附加信息(例如,光源的位置或方向),这可以使阴影或3D空间定位更准确。在一些具体实施中,对象检测之后的实例检测提供关于物理环境中的照明的附加信息,因为可以将品牌模型识别的对象类型的颜色与其在CGR环境中的重建颜色进行比较。例如,白色图案化沙发可在CGR环境中看起来是有色的(例如,发黄的),并且允许对CGR环境的一部分或整个CGR环境进行颜色校正。此外,光源的已知位置、颜色或方向可用于减弱的现实中,以减少或消除真实对象在真实世界物理环境中投射的阴影。

图5是示出根据一些具体实施的确定CGR环境中对象类型的特定实例的一组特征的示例性方法的流程图。在一些具体实施中,方法500由设备(例如,图1-图3的控制器100或电子设备120)执行。可使用电子设备或由彼此通信的多个设备来针对CGR环境执行方法500。在一些具体实施中,方法500由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法500由执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器执行。

在框510处,方法500识别物理环境的图像中描绘的对象的对象类型。在一些具体实施中,通过首先检测物理环境的图像中的对象,然后确定所检测到的对象的类型(例如,椅子、沙发、桌子、墙壁等)来检测对象类型。在一些具体实施中,一旦在图像中检测到对象,就可使用模型学习(ML)来确定对象的类型。在一些具体实施中,一旦在图像中检测到对象,就可以使用诸如基于机器学习的方法或基于深度学习的方法的方法来确定对象的类型。在一些具体实施中,可使用第一神经网络来确定对象的类型。

在框510处的一些具体实施中,使用具有处理器的电子设备(例如,HMD)上的传感器(例如,相机)来获取物理环境的图像。在一些具体实施中,图像是2D图像或3D图像。在一些具体实施中,传感器可以是RGB相机、深度传感器、RGB-D相机、一个或多个2D相机、IR相机等。在一些具体实施中,使用传感器的组合。在一些具体实施中,传感器用于生成表示物理环境的CGR环境。在一些具体实施中,CGR环境是使用电子设备处的视觉惯性测量(VIO)或SLAM位置跟踪等生成的。在一些具体实施中,可使用彩色图像。另选地,在一些具体实施中,可使用灰度图像。

在框520处,方法500基于对象类型和物理环境的图像来确定特定实例。在一些具体实施中,对象类型包括与对象类型相关联的一组特征。在一些具体实施中,对象类型的每个特定实例包括与对象类型的其他不同实例相关联的一组特征不同的一组特征的唯一实例化。在一些具体实施中,物理环境的图像中的对象的独特特征部和对象类型可用于确定对象类型的单个特定实例。在一些具体实施中,物理环境的图像中的对象的独特特征部和对象类型可用于识别对象类型的特定实例。在一些具体实施中,机器学习可用于确定对象类型的特定实例(例如,实例检测)(例如,使用对象类型和一个或多个图像中的对象的独特特征部)。在一些具体实施中,可以使用机器学习模型,其输入对象类型和图像/图像部分以输出(例如,确定)对象类型的一个特定实例。在一些具体实施中,针对多种对象类型(例如,对象类型=“桌子”)之一训练的第二神经网络可用于从使用从图像获取的对象的对象类型和独特特征部生成的输入表示(例如,抽象表示)中识别特定的“桌子”品牌模型标识符。在一些具体实施中,使用从当前相机图像中的所识别对象类型(例如,桌子)的所检测对象周围的边界框内提取的特征部的视觉搜索可以在由对象类型“桌子”的实例的表示形成的数据库上执行。在一些具体实施中,从描绘所检测到的对象类型的对象的图像的一部分中提取特征部(例如,以确定特定实例或特定品牌模型标识符)。

在框530处,方法500获取被确定为在物理环境的图像中描绘的所识别的对象类型的对象的特定实例的一组特征。在一些具体实施中,通过索引或访问数据库以识别关于所识别的对象类型的所确定的特定实例的视觉和物理特性(例如,材料、尺寸等)的信息(例如,该组特征)来获取所确定的特定实例的该组特征。在一些具体实施中,所识别的对象类型的所确定的特定实例包括所识别的对象类型(“桌子)的所确定的特定实例(例如,所确定的品牌(“American Heritage”))和模型实例标识符(“型号AH-500-252J1”)。

在一些具体实施中,所确定的特定实例的该组特征可与CGR环境处的其他信息组合。在一些具体实施中,该组特征可与关于CGR环境的其他信息组合以提供(1)修改的或改进的场景理解;(2)修改的或改进的场景重建;或(3)CGR环境中修改的或改进的材料检测。在一些具体实施中,方法500可用于提供CGR环境纹理化、CGR反射、CGR物理模拟、不在图像中的重建CGR对象部分、CGR对象/平面边界,或CGR环境中真实对象的移除。

在框530处的一些具体实施中,使用对象类型的所确定的特定实例(例如,抽象表示)索引或访问的对象类型的现有特定实例的数据库返回与所输入的所确定的特定实例的最接近的匹配(例如,单个精确匹配)。在一些具体实施中,使用所确定的特定实例(例如,抽象表示)索引或访问的对象类型的现有特定实例的数据库响应于所输入的所确定的特定实例而返回一组最接近的匹配(例如,3、5、25等)。

例如,在框530处的一些具体实施中,将“桌子”类型确定的品牌模型实例标识符输入到“桌子”类型实例检测数据库,并且返回置信度值分别为70%、20%、7%和3%的一组(4个)桌子,即桌子A、桌子B、桌子C和桌子D。在各种具体实施中,方法500可尝试获取附加信息以提高确定性、接受不确定性水平或允许用户输入。在一个示例中,在实例检测用于物理模拟(例如,反射率)并且桌子A-D具有类似的反射率的情况下,桌子A-D的一个反射率值(或平均反射率值)可用于CGR环境中。在该示例中,在CGR环境中使用正确的反射率值,并且没有单个确定的特定实例(例如,精确匹配)结果。在如上所述返回桌子A、桌子B、桌子C和桌子D的另一个示例中,可以通知用户在特定方向上移动或在特定方向上扫描以获取物理环境中实际桌子的更多部分的图像,这产生了关于实际桌子的附加信息(例如,独特特征部),直到实例检测返回物理环境中实际桌子的单个确定的特定实例(例如,精确匹配)。在如上所述返回桌子A、桌子B、桌子C和桌子D的又一个示例中,选择桌子A的最可能的结果并将其用于CGR环境中。在如上所述返回桌子A、桌子B、桌子C和桌子D的又一个示例中,可以向用户呈现四个选择并允许在组中选择1(或不选择)以用于CGR环境。

本文阐述了许多具体细节以提供对要求保护的主题的全面理解。然而,本领域的技术人员将理解,可以在没有这些具体细节的情况下实践要求保护的主题。在其他实例中,没有详细地介绍普通技术人员已知的方法、设备或系统,以便不使要求保护的主题晦涩难懂。

在一些具体实施中,系统包括非暂态计算机可读存储介质;以及一个或多个处理器,所述一个或多个处理器耦接至所述非暂态计算机可读存储介质,其中所述非暂态计算机可读存储介质包括程序指令,所述程序指令在所述一个或多个处理器上执行时,使所述系统执行本文公开的示例性方法。在一些具体实施中,非暂态计算机可读存储介质存储能够在计算机上执行以执行本文公开的示例性方法的操作的程序指令。

除非另外特别说明,否则应当理解,在整个说明书中,利用诸如“处理”、“计算”、“计算出”、“确定”和“识别”等术语的论述是指计算设备的动作或过程,诸如一个或多个计算机或类似的电子计算设备,其操纵或转换表示为计算平台的存储器、寄存器或其他信息存储设备、传输设备或显示设备内的物理电子量或磁量的数据。

本文论述的一个或多个系统不限于任何特定的硬件架构或配置。计算设备可以包括部件的提供以一个或多个输入为条件的结果的任何合适的布置。合适的计算设备包括基于多用途微处理器的计算机系统,其访问存储的软件,该软件将计算系统从通用计算设备编程或配置为实现本发明主题的一种或多种具体实施的专用计算设备。可以使用任何合适的编程、脚本或其他类型的语言或语言的组合来在用于编程或配置计算设备的软件中实现本文包含的教导内容。

本文所公开的方法的具体实施可以在这样的计算设备的操作中执行。上述示例中呈现的框的顺序可以变化,例如,可以将框重新排序、组合或者分成子框。某些框或过程可以并行执行。

本文中“适用于”或“被配置为”的使用意味着开放和包容性的语言,其不排除适用于或被配置为执行额外任务或步骤的设备。另外,“基于”的使用意味着开放和包容性,因为“基于”一个或多个所述条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出所述的值。本文包括的标题、列表和编号仅是为了便于解释而并非旨在为限制性的。

还将理解的是,虽然术语“第一”、“第二”等可能在本文中用于描述各种对象,但是这些对象不应当被这些术语限定。这些术语只是用于将一个对象与另一对象区分开。例如,第一节点可以被称为第二节点,并且类似地,第二节点可以被称为第一节点,其改变描述的含义,只要所有出现的“第一节点”被一致地重命名并且所有出现的“第二节点”被一致地重命名。第一节点和第二节点都是节点,但它们不是同一个节点。

本文中所使用的术语仅仅是为了描述特定具体实施并非旨在对权利要求进行限制。如在本具体实施的描述和所附权利要求中所使用的那样,单数形式的“一个”和“该”旨在也涵盖复数形式,除非上下文清楚地另有指示。还将理解的是,本文中所使用的术语“或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”或“包含”在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、对象或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、对象、部件或其分组。

如本文所使用的,术语“如果”可以被解释为表示“当所述先决条件为真时”或“在所述先决条件为真时”或“响应于确定”或“根据确定”或“响应于检测到”所述先决条件为真,具体取决于上下文。类似地,短语“如果确定[所述先决条件为真]”或“如果[所述先决条件为真]”或“当[所述先决条件为真]时”被解释为表示“在确定所述先决条件为真时”或“响应于确定”或“根据确定”所述先决条件为真或“当检测到所述先决条件为真时”或“响应于检测到”所述先决条件为真,具体取决于上下文。

本发明的前述具体实施方式和发明内容应被理解为在每个方面都是例示性和示例性的,而非限制性的,并且本文所公开的本发明的范围不仅由例示性具体实施的详细描述来确定,而是根据专利法允许的全部广度。应当理解,本文所示和所述的具体实施仅是对本发明原理的说明,并且本领域的技术人员可以在不脱离本发明的范围和实质的情况下实现各种修改。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号