使用语义分割的平面检测的制作方法
未命名
09-22
阅读:85
评论:0

使用语义分割的平面检测
1.本技术是申请日为2019年6月24日、中国国家申请号为201910550165.9、发明名称为“使用语义分割的平面检测”的发明专利申请的分案申请。
技术领域
2.本公开整体涉及平面检测,具体地讲,涉及用于基于语义分割的平面检测的系统、方法和设备。
背景技术:
3.物理环境是指人们在没有电子系统帮助的情况下能够感测和/或交互的物理世界。物理环境诸如物理公园包括物理物品,诸如物理树木、物理建筑物和物理人。人们能够诸如通过视觉、触觉、听觉、味觉和嗅觉来直接感测物理环境和/或与物理环境交互。
4.相反,计算机生成现实(cgr)环境是指人们经由电子系统感知和/或交互的完全或部分模拟的环境。在cgr中,跟踪人的物理运动的一个子集或其表示,并且作为响应,以符合至少一个物理定律的方式调节在cgr环境中模拟的一个或多个虚拟对象的一个或多个特征。例如,cgr系统可以检测人的头部转动,并且作为响应,以与此类视图和声音在物理环境中变化的方式类似的方式调节呈现给人的图形内容和声场。在一些情况下(例如,出于可达性原因),对cgr环境中虚拟对象的特征的调节可以响应于物理运动的表示(例如,声音命令)来进行。
5.人可以利用其感官中的任一者来感测cgr对象和/或与cgr对象交互,包括视觉、听觉、触觉、味觉和嗅觉。例如,人可以感测音频对象和/或与音频对象交互,所述音频对象创建3d或空间音频环境,所述3d或空间音频环境提供3d空间中点音频源的感知。又如,音频对象可以使能音频透明度,该音频透明度在有或者没有计算机生成的音频的情况下选择性地引入来自物理环境的环境声音。在某些cgr环境中,人可以感测和/或只与音频对象交互。
6.cgr的示例包括虚拟现实和混合现实。
7.虚拟现实(vr)环境是指被设计成对于一个或多个感官完全基于计算机生成的感官输入的模拟环境。vr环境包括人可以感测和/或交互的多个虚拟对象。例如,树木、建筑物和代表人的化身的计算机生成的图像是虚拟对象的示例。人可以通过在计算机生成的环境内人的存在的模拟、和/或通过在计算机生成的环境内人的物理运动的一个子组的模拟来感测和/或与vr环境中的虚拟对象交互。
8.与被设计成完全基于计算机生成的感官输入的vr环境相比,混合现实(mr)环境是指被设计成除了包括计算机生成的感官输入(例如,虚拟对象)之外还引入来自物理环境的感官输入或其表示的模拟环境。在虚拟连续体上,混合现实环境是完全物理环境作为一端和虚拟现实环境作为另一端之间的任何状况,但不包括这两端。
9.在一些mr环境中,计算机生成的感官输入可以对来自物理环境的感官输入的变化进行响应。另外,用于呈现mr环境的一些电子系统可以跟踪相对于物理环境的位置和/或取向,以使虚拟对象能够与真实对象(即,来自物理环境的物理物品或其表示)交互。例如,系
统可以导致运动使得虚拟树木相对于物理地面看起来是静止的。
10.混合现实的示例包括增强现实和增强虚拟。
11.增强现实(ar)环境是指其中一个或多个虚拟对象叠加在物理环境或其表示之上的模拟环境。例如,用于呈现ar环境的电子系统可以具有透明或半透明显示器,人可以透过它直接查看物理环境。该系统可以被配置为在透明或半透明显示器上呈现虚拟对象,使得人利用该系统感知叠加在物理环境之上的虚拟对象。另选地,系统可以具有不透明显示器和一个或多个成像传感器,成像传感器捕获物理环境的图像或视频,这些图像或视频是物理环境的表示。系统将图像或视频与虚拟对象组合,并在不透明显示器上呈现组合物。人利用系统经由物理环境的图像或视频而间接地查看物理环境,并且感知叠加在物理环境之上的虚拟对象。如本文所用,在不透明显示器上显示的物理环境的视频被称为“透传视频”,意味着系统使用一个或多个图像传感器捕获物理环境的图像,并且在通过不透明显示器呈现ar环境时使用那些图像。进一步另选地,系统可以具有投影系统,该投影系统将虚拟对象投射到物理环境中,例如作为全息图或者在物理表面上,使得人利用该系统感知叠加在物理环境之上的虚拟对象。
12.增强现实环境也是指其中物理环境的表示被计算机生成的感官信息进行转换的模拟环境。例如,在提供透传视频中,系统可以对一个或多个传感器图像进行转换以施加与成像传感器所捕获的视角不同的视角(例如,视点)。又如,物理环境的表示可以通过图形地修改(例如,放大)其部分而进行转换,使得修改后的部分可以是原始捕获图像的代表性的但不是真实的版本。再如,物理环境的表示可以通过以图形方式消除或模糊其部分而进行转换。
13.增强虚拟(av)环境是指其中虚拟或计算机生成的环境结合来自物理环境的一个或多个感官输入的模拟环境。感官输入可以是物理环境的一个或多个特征的表示。例如,av公园可以具有虚拟树木和虚拟建筑物,但人的脸部是从对物理人拍摄的图像逼真再现的。又如,虚拟对象可以采用一个或多个成像传感器所成像的物理物品的形状或颜色。再如,虚拟对象可以采用符合太阳在物理环境中的位置的阴影。
14.有许多不同类型的电子系统使人能够感测和/或与各种cgr环境交互。示例包括头戴式系统、基于投影的系统、平视显示器(hud)、集成有显示能力的车辆挡风玻璃、集成有显示能力的窗户、被形成为被设计用于放置在人眼睛上的透镜的显示器(例如,类似于隐形眼镜)、耳机/听筒、扬声器阵列、输入系统(例如,具有或没有触觉反馈的可穿戴或手持控制器)、智能电话、平板电脑和台式/膝上型计算机。头戴式系统可以具有一个或多个扬声器和集成的不透明显示器。另选地,头戴式系统可以被配置为接受外部不透明显示器(例如,智能电话)。头戴式系统可以结合用于捕获物理环境的图像或视频的一个或多个成像传感器、和/或用于捕获物理环境的音频的一个或多个麦克风。头戴式系统可以具有透明或半透明显示器,而不是不透明显示器。透明或半透明显示器可以具有媒介,代表图像的光通过媒介被引导到人的眼睛。显示器可以利用数字光投影、oled、led、uled、硅基液晶、激光扫描光源、或这些技术的任意组合。媒介可以是光学波导、全息图媒介、光学组合器、光学反射器、或它们的任意组合。在一个实施方案中,透明或半透明显示器可被配置为选择性地变得不透明。基于投影的系统可以采用将图形图像投影到人的视网膜上的视网膜投影技术。投影系统也可以被配置为将虚拟对象投影到物理环境中,例如作为全息图或在物理表面上。
15.将cgr对象放置到未映射的或者动态的场景中至少从用户体验的角度带来了挑战。如果cgr对象被放置到没有适当虚拟衬底的场景当中,那么cgr对象可能未被锚定到场景中的现实世界表面。如此,cgr对象可能漂浮在半空中,遮蔽现实世界对象或者与现实世界对象发生冲突。这会产生既不逼真也不可信的糟糕用户体验。相应地,在各种具体实施中,这一挑战的解决方式是检测场景内的平面并确定其范围,从而提供cgr对象被置于其上的虚拟衬底。
附图说明
16.因此,本公开可由本领域的普通技术人员理解,更详细的描述可参考一些示例性具体实施的方面,其中一些具体实施在附图中示出。
17.图1是根据一些具体实施的示例性操作环境的框图。
18.图2是根据一些具体实施的示例性控制器的框图。
19.图3是根据一些具体实施的示例性hmd的框图。
20.图4示出了场景连同勘测场景的手持式电子设备。
21.图5示出了图4的勘测场景的手持式电子设备。
22.图6示出了根据一些具体实施的生成平面假设的方法的流程图表示。
23.根据通常的做法,附图中示出的各种特征部可能未按比例绘制。因此,为了清楚起见,可以任意地扩展或减小各种特征部的尺寸。另外,一些附图可能未描绘给定的系统、方法或设备的所有部件。最后,在整个说明书和附图中,类似的附图标号可用于表示类似的特征部。
技术实现要素:
24.本文公开的各种具体实施包括用于场景摄像机重定目标的设备、系统和方法。在各种具体实施中,在包括一个或多个处理器、非暂态存储器和场景摄像机的hmd中执行方法。该方法包括获取包括多个像素的场景图像以及基于场景图像获取点云。该方法包括基于场景图像生成对象分类集,对象分类集的每个元素包括被分类为场景中的相应对象的相应多个像素。该方法包括基于点云和对象分类集生成平面假设。
25.根据一些具体实施,一种设备包括一个或多个处理器、非暂态存储器以及一个或多个程序;这一个或多个程序被存储在非暂态存储器中并且被配置为由一个或多个处理器执行,并且这一个或多个程序包括用于执行或导致执行本文所述方法中的任一种的指令。根据一些具体实施,一种非暂态计算机可读存储介质中存储有指令,当由设备的一个或多个处理器执行时,这些指令使得该设备执行或导致执行本文所述方法中的任一种。根据一些具体实施,一种设备包括:一个或多个处理器、非暂态存储器,以及用于执行或导致执行本文所述方法中的任一种的装置。
具体实施方式
26.描述了许多细节以便提供对附图中所示的示例性具体实施的透彻理解。然而,附图仅示出了本公开的一些示例方面,因此不应被视为限制。本领域的普通技术人员将理解,其他有效方面和/或变体不包括本文所述的所有具体细节。此外,没有详尽地描述众所周知
的系统、方法、部件、设备和电路,以免模糊本文所述的示例性具体实施的更多相关方面。
27.为了允许用户将cgr对象放置在cgr环境中,映射场景以生成若干平面假设,这些平面假设将大致描述能够将cgr对象置于其上的现实世界表面。场景映射可能耗时并且/或者具有很高的计算成本。为了降低问题的复杂性,使用来自语义分割(将场景图像的像素分类为属于各种对象)的额外信息来辅助平面检测。
28.图1是根据一些具体实施的示例性操作环境100的框图。尽管示出了相关特征,但本领域的普通技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的示例性具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,操作环境100包括控制器110和hmd 120。
29.在一些具体实施中,控制器110被配置为管理和协调用户的cgr体验。在一些具体实施中,控制器110包括软件、固件和/或硬件的合适组合。下文参考图2更详细地描述控制器110。在一些具体实施中,控制器110是相对于场景105处于本地或远程位置的计算设备。例如,控制器110是位于场景105内的本地服务器。又如,控制器110是位于场景105之外的远程服务器(例如,云服务器、中央服务器等)。在一些具体实施中,控制器110经由一个或多个有线或无线通信信道144(例如,蓝牙、ieee 802.11x、ieee 802.16x、ieee 802.3x等)与hmd 120通信耦接。又如,控制器110包含在hmd 120的外壳内。
30.在一些具体实施中,hmd 120被配置为向用户提供cgr体验。在一些具体实施中,hmd 120包括软件、固件和/或硬件的合适组合。下文参考图3更详细地描述hmd 120。在一些具体实施中,控制器110的功能由hmd 120提供和/或与hmd 120结合。
31.根据一些具体实施,当用户虚拟地和/或物理地存在于场景105内时,hmd 120向用户提供cgr体验。在一些具体实施中,在呈现ar体验时,hmd 120被配置为呈现ar内容(例如,一个或多个虚拟对象)以及实现场景105的光学透视。在一些具体实施中,在呈现ar体验时,hmd 120被配置为呈现ar内容(例如,一个或多个虚拟对象),该ar内容与hmd 120的场景摄像机捕获的图像或其部分叠加或以其他方式相结合。在一些具体实施中,在呈现av内容时,hmd 120被配置为呈现与用户的计算机模拟环境视图相组合或叠加在该视图上的现实世界元素或其表示。在一些具体实施中,在呈现vr体验时,hmd 120被配置为呈现vr内容。
32.在一些具体实施中,用户将hmd 120戴在头上。因此,hmd 120包括被提供用于显示cgr内容的一个或多个cgr显示器。例如,在各种具体实施中,hmd 120包围用户的视野。在一些具体实施中,使用被配置为呈现cgr内容的手持设备(诸如智能电话或平板电脑)代替hmd 120,并且用户不再佩戴hmd 120而是手持该设备,同时使显示器朝向用户视野,并且使摄像机朝向场景105。在一些具体实施中,手持设备可被放置在可被佩戴在使用者的头部的外壳内。在一些具体实施中,采用被配置为呈现cgr内容的cgr舱、外壳或室替代hmd 120,用户在其中不再佩戴或手持hmd 120。
33.图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。
34.在一些具体实施中,一条或多条通信总线204包括互连和控制系统部件之间的通信的电路。在一些具体实施中,一个或多个i/o设备206包括键盘、鼠标、触控板、操纵杆、一个或多个麦克风、一个或多个扬声器、一个或多个图像传感器、一个或多个显示器等中的至少一种。
35.存储器220包括高速随机存取存储器,诸如动态随机存取存储器(dram)、静态随机存取存储器(sram)、双倍数据速率随机存取存储器(ddr ram)或者其他随机存取固态存储设备。在一些具体实施中,存储器220包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器220任选地包括相对于一个或多个处理单元202处于远程位置的一个或多个存储设备。存储器220包括非暂态计算机可读存储介质。在一些具体实施中,存储器220或者存储器220的非暂态计算机可读存储介质存储下述程序、模块和数据结构或者它们的子集,其中包括任选的操作系统230和cgr体验模块240。
36.操作系统230包括用于处理各种基础系统服务的过程和用于执行硬件相关任务的过程。在一些具体实施中,cgr体验模块240被配置为管理和协调一个或多个用户的单重或多重cgr体验(例如,一个或多个用户的单重cgr体验,或一个或多个用户的相应群组的多重cgr体验)。为此,在各种具体实施中,cgr体验模块240包括数据获取单元242、跟踪单元244、协调单元246和数据传输单元248。
37.在一些具体实施中,数据获取单元242被配置为至少从hmd 120获取数据(例如,呈现数据、交互数据、传感器数据、位置数据等)。出于该目的,在各种具体实施中,数据获取单元242包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。
38.在一些具体实施中,跟踪单元244被配置为映射场景105并且至少跟踪hmd 120相对于场景105的位置/定位。出于该目的,在各种具体实施中,跟踪单元244包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。
39.在一些具体实施中,协调单元246被配置为管理和协调hmd 120向用户呈现的cgr体验。出于该目的,在各种具体实施中,协调单元246包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。
40.在一些具体实施中,数据传输单元248被配置为至少向hmd 120传输数据(例如,呈现数据、位置数据等)。出于该目的,在各种具体实施中,数据传输单元248包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。
41.尽管数据获取单元242、跟踪单元244、协调单元246和数据传输单元248被示为驻留在单个设备(例如,控制器110)上,但应当理解,在其他具体实施中,数据获取单元242、跟踪单元244、协调单元246和数据传输单元248的任何组合可位于单独计算设备中。
42.此外,图2更多地用作可以存在于特定实施方案中的各种特征的功能描述,与本文所述的具体实施的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图2中单独示出的一些功能模块可以在单个模
块中实现,并且单个功能块的各种功能可在各种具体实施中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征将根据具体实施而变化,并且在一些具体实施中,部分地取决于为特定实施方案选择的硬件、软件和/或固件的特定组合。
43.图3是根据一些具体实施的hmd 120的示例的框图。尽管示出了某些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。出于该目的,作为非限制性示例,在一些具体实施中,hmd 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和/或类似类型的接口)、一个或多个编程(例如,i/o)接口310、一个或多个cgr显示器312、一个或多个任选的面向内部和/或面向外部的图像传感器314、存储器320以及用于互连这些部件和各种其他部件的一条或多条通信总线304。
44.在一些具体实施中,一条或多条通信总线304包括互连和控制系统部件之间的通信的电路。在一些具体实施中,一个或多个i/o设备及传感器306包括惯性测量单元(imu)、加速度计、陀螺仪、温度计、一个或多个生理传感器(例如,血压监测仪、心率监测仪、血液氧传感器、血糖传感器等)、一个或多个传声器、一个或多个扬声器、触觉引擎以及/或者一个或多个深度传感器(例如,结构光、飞行时间等)等。
45.在一些具体实施中,一个或多个cgr显示器312被配置为向用户提供cgr体验。在一些具体实施中,一个或多个cgr显示器312对应于全息、数字光处理(dlp)、液晶显示器(lcd)、硅上液晶(lcos)、有机发光场效应晶体管(olet)、有机发光二极管(oled)、表面传导电子发射显示器(sed)、场发射显示器(fed)、量子点发光二极管(qd-led)、微机电系统(mems)以/或者类似的显示器类型。在一些具体实施中,一个或多个cgr显示器312对应于衍射、反射、偏振、全息等波导显示器。例如,hmd 120包括单个cgr显示器。又如,hmd 120包括针对用户的每只眼睛的cgr显示器。在一些具体实施中,一个或多个cgr显示器312能够呈现ar和vr内容。在一些具体实施中,一个或多个cgr显示器312能够呈现ar或vr内容。
46.在一些具体实施中,一个或多个图像传感器314被配置为获取对应于用户面部的至少一部分(包括用户的眼睛)的图像数据(因而可称为眼睛跟踪摄像机)。在一些具体实施中,一个或多个图像传感器314被配置成面向前方,以便获取对应于当不存在hmd 120时用户将看到的场景的图像数据(因而可以被称为场景摄像机)。一个或多个任选图像传感器314可包括一个或多个rgb相机(例如,具有互补金属氧化物半导体(cmos)图像传感器或电荷耦合器件(ccd)图像传感器)、一个或多个红外(ir)相机以及/或者一个或多个基于事件的相机等。
47.存储器320包括高速随机存取存储器,诸如dram、sram、ddr ram或其他随机存取固态存储器设备。在一些具体实施中,存储器320包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器320任选地包括相对于一个或多个处理单元302处于远程位置的一个或多个存储设备。存储器320包括非暂态计算机可读存储介质。在一些具体实施中,存储器320或者存储器320的非暂态计算机可读存储介质存储下述程序、模块和数据结构或者它们的子集,其中包括任选的操作
系统330和cgr呈现模块340。
48.操作系统330包括用于处理各种基础系统服务的过程和用于执行硬件相关任务的过程。在一些具体实施中,cgr呈现模块340被配置为经由一个或多个cgr显示器312向用户呈现cgr内容。出于该目的,在各种具体实施中,cgr呈现模块340包括数据获取单元342、cgr呈现单元344、平面检测单元346和数据传输单元348。
49.在一些具体实施中,数据获取单元342被配置为至少从控制器110获取数据(例如,呈现数据、交互数据、传感器数据、位置数据等)。出于该目的,在各种具体实施中,数据获取单元342包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。
50.在一些具体实施中,cgr呈现单元344被配置为经由一个或多个cgr显示器312呈现cgr内容。出于该目的,在各种具体实施中,cgr呈现单元344包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。
51.在一些具体实施中,平面检测单元346被配置为基于场景的一幅或多幅图像(例如,使用一个或多个图像传感器314的场景摄像机捕获的)生成一个或多个平面假设。出于该目的,在各种具体实施中,平面检测单元346包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。
52.在一些具体实施中,数据传输单元348被配置为至少向控制器110传输数据(例如,呈现数据、位置数据等)。出于该目的,在各种具体实施中,数据传输单元348包括指令和/或用于指令的逻辑以及启发法和用于启发法的元数据。
53.尽管数据获取单元342、cgr呈现单元344、平面检测单元346和数据传输单元348被示为驻留在单个设备(例如,hmd 120)上,但应当理解,在其他具体实施中,数据获取单元342、cgr呈现单元344、平面检测单元346和数据传输单元348的任何组合可位于单独计算设备中。
54.此外,图3更多地用作可能存在于特定实施方案中的各种特征的功能描述,与本文所述的具体实施的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图3中单独示出的一些功能模块可以在单个模块中实现,并且单个功能块的各种功能可在各种具体实施中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征将根据具体实施而变化,并且在一些具体实施中,部分地取决于为特定实施方案选择的硬件、软件和/或固件的特定组合。
55.图4示出了场景405连同勘测场景405的手持式电子设备410。场景405包括悬挂在墙壁407上的画像406和桌子408。
56.手持式电子设备410显示场景415的表示,包括悬挂在墙壁417的表示上的画像416的表示和桌子418的表示。在勘测场景405时,手持式电子设备410生成场景405的地图,该地图包括cgr坐标系内的若干平面假设。平面假设中的每一个限定cgr坐标系中的平面区域,并且可以按照很多方式中的任何方式来指定。例如,在各种具体实施中,平面假设包括平面方程或对应系数。在各种具体实施中,平面假设包括对平面边界的指示,例如,cgr坐标系中的平面的范围。平面假设中的每一个对应于场景405的平面表面,例如,墙壁407、地板或者桌子408的顶部。
57.在各种具体实施中,手持式电子设备410基于点云和对象分类集生成平面假设。在
各种具体实施中,点云以场景摄像机获取的包括多个像素(例如,像素矩阵)的场景图像为基础。在各种具体实施中,点云包括cgr坐标系内的多个三维点。在各种具体实施中,cgr坐标系是重力对准的,使得坐标之一(例如,z坐标)与重力向量的方向反向延伸。重力向量可通过手持式电子设备410的加速度计来获取。点云中的每个点表示场景405的表面上的点,例如,墙壁407、地板或桌子408上的点。在各种具体实施中,点云是使用vio(视觉惯性里程计)和/或深度传感器获取的。在各种具体实施中,点云以场景的图像以及按照不同角度拍摄的场景405的先前图像为基础,以提供立体成像。在各种具体实施中,点云中的点与元数据相关联,元数据可以是诸如场景中表面上的点的颜色、纹理、反射率或透射率或者场景405中的表面上的点的位置方面的置信度。
58.手持式电子设备410可采用各种各样的方法由点云确定一个平面假设(或多个平面假设)。例如,在各种具体实施中,采用ransac(随机抽样一致性)方法基于点云生成平面假设。在一种ransac方法中,迭代包括选择点云中的三个随机点,确定由这三个随机点限定的平面,以及确定点云中处于平面的预设距离(例如,1cm)以内的点的数量。点的数量形成了平面的评分(或置信度),并且在若干次迭代之后,选择具有最高评分的平面用于平面假设的生成。随着所检测到的该平面上的点被从点云移除,可重复该方法以检测另一平面。在各种具体实施中,手持式电子设备410采用其他确定平面假设的方法,诸如在作为相关申请的2018年1月23日提交的美国临时专利申请no.62/620,971中描述的那些方法,该申请全文以引用方式并入本文。
59.基于手持式电子设备410的取向,点云中的各个点对应于由手持式电子设备410勘测的场景405的图像的各个相应像素。
60.在各种具体实施中,对象分类集基于场景405的图像。对象分类集包括一个或多个元素,每个元素包括被分类为场景中的相应对象的多个像素(场景图像的)的相应子集。在各种具体实施中,对象分类集是基于语义分割生成的。在各种具体实施中,对象分类集是使用应用于场景图像的神经网络来生成的。在各种具体实施中,对象分类集的元素包括指示场景中对应于元素的对象(例如,墙壁407、地板或桌子408)的标签。
61.图5示出了图4的勘测场景405的手持式电子设备410。在图5中,场景415的表示被显示为具有以不同颜色着色的不同元素(多个像素的相应子集)。在图5中,对象分类集包括四个元素,即,包括多个像素中的对应于画像416的表示的子集的第一元素506、包括多个像素中的对应于墙壁417的表示的(不连续)子集的第二元素507a-507c、包括多个像素中的对应于桌子418的顶部的表示的子集的第三元素508以及包括多个像素中的对应于地板的表示的子集的第四元素511。
62.在各种具体实施中,对象分类集协助手持式电子设备410以各种方式确定平面假设。在各种具体实施中,手持式电子设备410使用对象分类集来减少在平面检测方法(例如,ransac)中使用的点云中的点的数量,从而提高计算效率。例如,手持式电子设备410识别点云的点中对应于对象分类集的特定元素的像素的子集(例如,点云的点中对应于第三元素508所示像素的子集),并且仅使用这些点来执行ransac平面检测算法,与额外使用来自其他表面的点相比,这种做法可能以快得多的速度收敛。
63.在各种具体实施中,手持式电子设备410使用对象分类集来修改基于点云所生成的平面假设。例如,手持式电子设备410基于点云生成第一平面假设,第一平面假设具有边
界。第一平面假设包括位于某一平面的设定距离以内的点云的点的子集。在各种具体实施中,点云的点的子集包括对应于对象分类集的两个不同元素中的图像的像素的点。相应地,在各种具体实施中,手持式电子设备410可将第一平面假设分割成两个(或更多个)平面假设,每个平面假设与点云的点的子集中对应于对象分类集的相应元素的点相关联。另外,在各种具体实施中,手持式电子设备410可降低第一平面假设的置信度(或其他评分)。在各种具体实施中,点云的点的子集对应于图像中与对象分类集的特定元素相对应的像素,但未能包括点云中对应于该特定元素的图像的像素的一个或多个点。因此,在各种具体实施中,手持式电子设备410可使第一平面假设增长(例如,扩大边界),以包含点云中对应于该特定元素的图像的像素的点。通过这种方式,与使用时间顺序图像来扩展平面假设的其他系统相比,使用单幅图像对平面假设进行了扩展。另外,在各种具体实施中,手持式电子设备410可提高第一平面假设的置信度(或其他评分)。
64.在各种具体实施中,手持式电子设备410使用对象分类集来标记平面假设。例如,手持式电子设备410基于点云生成平面假设。在各种具体实施中,点云的点的子集对应于图像中与对象分类集的具有特定标签的特定元素相对应的像素。因此,手持式电子设备410可将平面假设修改为包含特定标签。带标签平面为手持式电子设备410的很多不同使用情况提供了条件。在各种具体实施中,特定cgr对象只能被放置到cgr环境中具有特定标签的平面假设上。例如,在各种具体实施中,cgr花瓶只能放置在标记为桌子顶部的平面假设上,cgr画像只能放置在标记为墙壁的平面假设上,或者cgr家具只能放置在标记为地板的平面假设上。
65.图6是根据一些具体实施的生成平面假设的方法600的流程图表示。在各种具体实施中,方法600由具有一个或多个处理器、非暂态存储器和场景摄像机的设备(例如,图3中的hmd 120)执行。在一些具体实施中,方法600由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法600由执行存储在非暂态计算机可读介质(例如,存储器)中的指令(例如,代码)的处理器执行。简而言之,在一些情况下,方法600包括:获取包括多个像素的场景图像;获取基于场景图像的点云以及基于场景图像的对象分类集,以及基于点云和对象分类集生成平面假设。
66.在框610中,方法600开始,其中设备获取包括多个像素的场景图像。在各种具体实施中,设备使用场景摄像机捕获场景的图像。
67.在框620处,方法600继续,其中设备基于场景图像来获取点云。在各种具体实施中,点云包括cgr坐标系内的多个三维点。在各种具体实施中,cgr坐标系是重力对准的,使得坐标之一(例如,z坐标)与重力向量的方向反向延伸。重力向量可通过设备的加速度计来获取。在各种具体实施中,点云是使用vio(视觉惯性里程计)和/或深度传感器获取的。在各种具体实施中,点云以场景的图像以及按照不同角度拍摄的场景的先前图像为基础,以提供立体成像。在各种具体实施中,点云中的点与元数据相关联,元数据可以是诸如场景中表面上的点的颜色、纹理、反射率或透射率或者场景中的表面上的点的位置方面的置信度。
68.在框630处,方法600继续,其中,设备基于场景图像生成对象分类集。对象分类集的每个元素包括被分类为场景中的相应对象的相应多个像素。在各种具体实施中,对象分类集是基于语义分割生成的。在各种具体实施中,对象分类集是使用应用于场景图像的神经网络来生成的。在各种具体实施中,对象分类集的元素包括指示场景中对应于元素的对
象(例如,墙壁、地板或桌子)的标签。
69.在框640处,方法600继续,其中设备基于点云和对象分类集生成平面假设。在各种具体实施中,设备通过确定点云的点中对应于对象分类集的特定元素的相应多个像素的子集以及基于点云的点的子集生成平面假设而生成平面假设。例如,在各种具体实施中,设备对点云的点的子集(而非点云的其他点)应用ransac平面检测算法。
70.在各种具体实施中,生成平面假设包括基于点云生成第一平面假设(例如,使用ransac平面检测算法)。设备使第一平面假设与对象分类集的特定元素相关联。例如,设备确定点云中对应于对象分类集的特定元素中的图像的像素的大部分或全部点。设备确定点云的点中对应于对象分类集的特定元素的相应多个像素的子集。设备基于点云的点的子集来更新第一平面假设(例如,通过扩展(或收缩)第一平面假设的边界)。
71.在各种具体实施中,生成平面假设包括基于对象分类集确定与平面假设相关联的置信度。例如,在各种具体实施中,设备基于点云生成包含第一置信度的第一平面假设,并且响应于确定第一平面假设的点云的大部分或全部点都对应于对象分类集的单个元素中的图像的像素而提高第一置信度。
72.在各种具体实施中,设备获取包括第二多个像素的场景的第二图像(例如,在稍后的第二时间上)。设备基于场景图像获取第二点云,并基于第二场景图像生成第二对象分类集。设备基于第二点云和第二对象分类集来更新平面假设。例如,设备可以将平面更新为包含对应于对象的(如第二对象分类集所指示的)新位置的点云的点,并且去除旧位置的点。
73.在各种具体实施中,对象分类集的至少一个元素包括标签。相应地,在各种具体实施中,设备基于对象分类集使平面假设与标签相关联。
74.在各种具体实施中,设备使平面假设与对象分类集的包括标签的特定元素相关联。设备检测对应于cgr对象与平面假设的关联性的用户输入。例如,用户可以从对象选择界面选择对象,并移动对象,使之被显示为靠近cgr坐标系内的平面假设。响应于特定元素的标签符合放置标准,设备使cgr对象与平面假设相关联。通过这种方式,某一对象只能被放置到cgr环境中的特定类型的表面上。
75.在各种具体实施中,设备使平面假设与对象分类集的包括标签的特定元素相关联。响应于特定元素的标签符合修改标准,设备将cgr对象显示在平面假设的位置处。通过这种方式,可以基于标签施加对某些表面进行修改,例如,将地板改为熔岩,或者将天花板改为天空。
76.虽然上文描述了在所附权利要求书范围内的具体实施的各个方面,但是应当显而易见的是,上述具体实施的各种特征可通过各种各样的形式体现,并且上述任何特定结构和/或功能仅是例示性的。基于本公开,本领域的技术人员应当理解,本文所述的方面可以独立于任何其他方面来实现,并且这些方面中的两个或更多个可以采用各种方式组合。例如,可以使用本文阐述的任何数量的方面来实现装置和/或可以实践方法。另外,除了本文阐述的一个或多个方面之外或者不同于本文阐述的一个或多个方面,可以使用其他结构和/或功能来实现这样的装置和/或可以实践这样的方法。
77.还将理解的是,虽然术语“第一”、“第二”等可能在本文中用于描述各种元素,但是这些元素不应当被这些术语限定。这些术语只是用于将一个元素与另一元素区分开。例如,第一节点可以被称为第二节点,并且类似地,第二节点可以被称为第一节点,其改变描述的
含义,只要所有出现的“第一节点”被一致地重命名并且所有出现的“第二节点”被一致地重命名。第一节点和第二节点都是节点,但它们不是同一个节点。
78.本文中所使用的术语仅仅是为了描述特定具体实施并非旨在对权利要求进行限制。如在本具体实施的描述和所附权利要求中所使用的那样,单数形式的“一个”和“该”旨在也涵盖复数形式,除非上下文清楚地另有指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件、和/或其分组。
79.如本文所使用的,术语“如果”可以被解释为表示“当所述先决条件为真时”或“在所述先决条件为真时”或“响应于确定”或“根据确定”或“响应于检测到”所述先决条件为真,具体取决于上下文。类似地,短语“如果确定[所述先决条件为真]”或“如果[所述先决条件为真]”或“当[所述先决条件为真]时”被解释为表示“在确定所述先决条件为真时”或“响应于确定”或“根据确定”所述先决条件为真或“当检测到所述先决条件为真时”或“响应于检测到”所述先决条件为真,具体取决于上下文。
技术特征:
1.一种方法,包括:获取包括多个像素的场景的图像;基于所述场景的所述图像获取点云;基于所述场景的所述图像生成对象分类集,所述对象分类集的每个元素包括被分类为所述场景中的相应对象的相应多个像素;以及基于所述点云和所述对象分类集生成平面假设,其中生成所述平面假设包括:基于所述对象分类集确定与所述平面假设相关联的初始置信度评分;根据确定所述平面假设的所述点云中与在所述对象分类集的相同元素中的所述图像的像素相对应的点的数目大于阈值数目,生成与所述平面假设相关联的大于所述初始置信度评分的增加的置信度评分;以及根据确定所述平面假设的所述点云中与所述对象分类集的所述相同元素中的所述图像的像素相对应的点的数目小于所述阈值数目,生成与所述平面假设相关联的小于初始置信度评分的降低的置信度评分。2.根据权利要求1所述的方法,其中生成所述平面假设包括:确定所述点云的点中与所述对象分类集的特定元素的所述相应多个像素相对应的子集;以及基于所述点云的点的所述子集生成所述平面假设。3.根据权利要求1所述的方法,其中生成所述平面假设包括:基于所述点云生成第一平面假设;使所述第一平面假设与所述对象分类集的特定元素相关联;确定所述点云的点中与所述对象分类集的所述特定元素的所述相应多个像素相对应的子集;以及基于所述点云的点的所述子集更新所述第一平面假设。4.根据权利要求3所述的方法,其中,基于所述点云中的点的所述子集来更新所述第一平面假设包括:扩展所述第一平面假设的边界以包含所述点云中的点的所述子集的额外一个或多个点。5.根据权利要求1所述的方法,其中,所述对象分类集的至少一个元素还包括标签,并且所述方法还包括:使所述平面假设与所述对象分类集的包括标签的特定元素相关联;检测对应于计算机生成现实对象与所述平面假设的关联性的用户输入;以及响应于所述特定元素的所述标签符合放置标准,使所述计算机生成现实对象与所述平面假设相关联。6.根据权利要求5所述的方法,还包括:使所述平面假设与所述对象分类集的包括标签的特定元素相关联;以及响应于所述特定元素的所述标签符合修改标准,将计算机生成现实对象显示在所述平面假设的位置处。7.一种方法,包括:获取包括多个像素的场景的图像;基于所述场景的所述图像获取点云的多个点;
基于所述场景的所述图像获取对象分类集,其中所述对象分类集的每个元素包括分别与所述场景中的相应对象相关联的多个像素;以及通过识别所述点云的所述多个点中与所述对象分类集的特定元素相对应的子集来检测所述场景内的平面。8.根据权利要求7所述的方法,其中,所述对象分类集的每个元素与所述场景中的不同对象相关联。9.根据权利要求7所述的方法,其中,获取所述对象分类集包括:经由语义分割生成所述对象分类集,并且其中所述对象分类集的每个元素包括与所述场景中的相应对象相关联的语义标签。10.根据权利要求7所述的方法,其中,检测所述平面包括基于所述点云和所述对象分类集生成平面假设。11.根据权利要求10所述的方法,其中,生成所述平面假设包括:基于所述点云生成第一平面假设;将所述第一平面假设与所述对象分类集的所述特定元素相关联;基于所述对象分类集的所述特定元素的像素识别所述点云的所述多个点的所述子集;基于所述点云的点的所述子集来更新所述第一平面假设。12.根据权利要求10所述的方法,其中,生成所述平面假设包括:基于所述对象分类集确定与所述平面假设相关联的初始置信度评分;根据确定所述多个点的所述子集的数目大于阈值数目,生成与所述平面假设相关联的大于所述初始置信度评分的增加的置信度评分;以及根据确定所述多个点的所述子集的数目小于所述阈值数目,生成与所述平面假设相关联的小于初始置信度评分的降低的置信度评分。13.根据权利要求10所述的方法,其中,生成所述平面假设包括:基于所述对象分类集确定与所述平面假设相关联的初始置信度评分;根据确定所述多个点的所述子集的数目大于阈值数目,生成与所述平面假设相关联的大于所述初始置信度评分的增加的置信度评分;以及根据确定所述多个点的所述子集的数目小于所述阈值数目,生成与所述平面假设相关联的小于初始置信度评分的降低的置信度评分。14.根据权利要求10所述的方法,其中,生成所述平面假设包括:将随机抽样一致性(ransac)平面检测算法应用于所述点云的所述多个点的所述子集;以及放弃将所述ransac平面检测算法应用于所述点云的所述多个点的剩余子集,其中所述多个点的所述剩余子集中的每一者不被包括在所述点云的所述多个点的所述子集中。15.根据权利要求7所述的方法,其中,基于vio(视觉惯性里程计)和/或来自深度传感器的数据来获取所述点云的所述多个点。16.根据权利要求7所述的方法,其中,获取所述对象分类集包括:通过对所述场景的所述图像应用神经网络来生成所述对象分类集。17.一种方法,包括:获取包括多个像素的场景的图像;
基于所述场景的所述图像获取点云的多个点;基于所述场景的所述图像获取对象分类,其中所述对象分类对应于分别与所述场景中的相应对象相关联的多个像素;以及通过识别所述点云的所述多个点中与所述对象分类相对应的至少一个子集来检测所述场景内的平面。18.根据权利要求17所述的方法,其中,获取所述对象分类包括:经由语义分割生成所述对象分类,并且其中所述点云的所述多个点中与所述对象分类相对应的所述子集中的每个子集包括与所述场景中的相应对象相关联的语义标签。19.根据权利要求17所述的方法,其中,检测所述平面包括:基于所述点云和所述对象分类生成平面假设。20.根据权利要求17所述的方法,其中,获取所述对象分类包括:通过对所述场景的所述图像应用神经网络来生成所述对象分类。
技术总结
本公开涉及使用语义分割的平面检测。本文公开了在一种具体实施中,由包括一个或多个处理器、非暂态存储器和场景摄像机的头戴式设备(HMD)执行的生成平面假设的方法。该方法包括获取包括多个像素的场景图像。该方法包括基于场景图像获取点云以及基于场景图像生成对象分类集,对象分类集的每个元素包括被分类为场景中的相应对象的相应多个像素。该方法包括基于点云和对象分类集生成平面假设。于点云和对象分类集生成平面假设。于点云和对象分类集生成平面假设。
技术研发人员:D
受保护的技术使用者:苹果公司
技术研发日:2019.06.24
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/