对提供镜面反射和反射修改的表面进行基于图像的检测的制作方法

文档序号:24291186发布日期:2021-03-17 00:39阅读:82来源:国知局
对提供镜面反射和反射修改的表面进行基于图像的检测的制作方法

相关申请的交叉引用

本申请要求2019年8月26日提交的美国临时申请序列号62/891,510的权益,并且要求2020年6月5日提交的美国临时申请序列号63/035,160的权益,这两个临时申请均全文并入本文。

本公开整体涉及检测提供镜面反射、修改反射的表面或提供描绘此类表面和反射的内容的系统、方法和设备。



背景技术:

现有技术可能无法准确地检测和定位反射镜、反射玻璃、液体以及在物理环境中提供镜面反射的其他表面。现有技术在电子设备(包括由用户握持、携带或穿戴的设备)上提供内容时可能未另外准确地描绘此类表面和反射。例如,由用户握持的移动设备可基于用户的物理环境的图像来提供内容,并且该内容可能无法充分描绘或以其他方式利用反射镜和那些反射镜中的反射。



技术实现要素:

本文所公开的各种具体实施包括检测反射镜、玻璃、液体和其他表面以及此类表面中的反射的设备、系统和方法。一些具体实施涉及检测用户或用户的设备在表面中的反射并提供虚拟内容,该虚拟内容增强或替换提供给用户的内容中的反射的外观。例如,环境的视图可被修改为包括用户的反射,该反射不包括用户正握持或穿戴的电子设备。在另一个示例中,可修改环境,使得虚拟内容诸如较新版本的电子设备或虚拟光剑在反射中替换电子设备。在另一个示例中,可修改环境,使得虚拟内容诸如头像在反射中替换用户。

一些具体实施涉及由执行存储在非暂态计算机可读介质中的指令的处理器执行的方法。此类方法可涉及确定环境的视图包括用户或电子设备的反射。确定视图包括反射可涉及:识别用于提供视图的3d模型中的视点包括提供镜面反射的表面;以及确定该视点相对于该表面的角度。在一些具体实施中,确定视图包括反射涉及:例如经由语义分析来识别物理环境中的表面或材料;以及确定那些表面或材料的反射属性。在一些具体实施中,确定视图包括反射涉及:使用计算机视觉例如通过识别设备、用户或其他对象的镜像/反转图像来识别设备、用户或另一对象的反射,。

该方法还可涉及识别替换内容以替换用户或电子设备的反射的至少一部分。在一些具体实施中,替换内容包括当手持移动设备被擦除、增强或以其他方式修改时将可见的用户身体的部分(例如,手、手臂等)或背景内容。在一些具体实施中,替换内容包括当腕戴式设备被擦除、增强或以其他方式修改时将可见的用户身体的部分(例如,手臂、衣服等)或背景内容。在一些具体实施中,替换内容包括当头戴式设备(hmd)被擦除、增强或以其他方式修改时将可见的用户头部的部分(例如,脸颊、眼睛、眉毛、头发等)或背景内容。

在一些具体实施中,替换内容包括将代替电子设备显示的相同类型的电子设备的不同版本。此类替换内容可使得用户能够可视化(例如,虚拟地尝试)当前正使用的电子设备的较新版本或替代形式。在一些具体实施中,替换内容包括将与电子设备一起显示或替换该电子设备的现有附件的附件(例如,保护壳、带等)。

在一些具体实施中,替换内容包括将代替用户的至少一部分的反射显示的头像,例如,用头像的头部或身体替换用户的头部或整个身体。

在一些具体实施中,替换内容包括在将被擦除的电子设备或用户的一部分周围的生成的内容。例如,用户衣服的一部分可在反射中被设备隐藏。替换内容可描绘出在反射未改变以擦除或修改设备的情况下原本会被隐藏的内容。

可使用先前或同时获取的物理环境、用户或物理环境中的对象的图像来生成或获取替换内容。例如,图像传感器可被配置为(例如,以面向下或面向身体的取向定位在可穿戴设备上等)捕获用户身体的图像以用于生成替换内容。在另一个示例中,可访问数据集以识别与用户的特征和偏好匹配的头像以用于生成替换内容。又如,用于替换先前隐藏的内容的其他内容的背景内容可经由阴影技术、空穴填充技术、内容幻觉技术、光线投射技术等来生成。

该方法还可涉及基于替换内容生成cgr环境的经修改的视图。例如,可通过包括用户身体的对应部分的替换内容和/或在电子设备不在视图中的情况下原本可见(例如,不可见)的物理环境来擦除电子设备。

本文所公开的一些具体实施基于物理环境的图像来定位提供镜面反射的反射镜、玻璃、液体和其他表面。在一些具体实施中,确定了物理环境的第一图像中描绘的表面的位置。表面的位置可通过例如从面向身体/面向下的相机或用户或对象的先前图像检测第一图像中对象(例如,用户、设备或设备上的显示内容)的与第二图像中对象的一部分匹配(例如,是其镜像)的一部分的镜面反射来确定。

一些具体实施涉及由执行存储在非暂态计算机可读介质中的指令的处理器执行的方法。此类方法可获取第一图像和第二图像。第一图像可以为物理环境并且包括对象的一部分的镜面反射。例如,第一图像可由可见光/红-绿-蓝(rgb)图像传感器捕获,并且包括人、人的衣服、电子设备或任何其他对象中的一些或全部的反射。第二图像可包括同一对象的该部分的直接视图(例如,不是反射)。在一些具体实施中,第二图像由物理环境中的面向下或面向身体的相机捕获。在一些具体实施中,在较早时间捕获并且从数据集获取第二图像,例如,从用户配置文件获取用户配置文件图片。在一些具体实施中,第一图像和第二图像为同一图像的部分。例如,具有或不具有广角镜头的相机可捕获包括用户面部的一部分的直接视图和该用户面部的该部分的反射两者的图像。

该方法可包括基于将第一图像中的对象的一部分的镜面反射与第二图像中的对象的该部分的直接视图匹配来检测第一图像中的镜面反射。如本文所用,短语镜面反射是指这样的反射,其中入射角(即,入射光线与法线之间的角度)大约等于反射角(即,反射光线与法线之间的角度),并且入射光线、表面法线以及反射光线均位于大约相同的平面上。匹配可涉及匹配对象的该部分的形状、尺寸、颜色、纹理或移动。匹配可涉及识别其中对象的左侧和右侧反向的镜像版本的对象。

该方法可包括基于镜面反射来确定表面在物理环境中的位置。这可基于设备在物理环境中的已知或确定的位置或取向以及图像中镜面反射的位置或尺寸。在一些具体实施中,基于图像数据或运动传感器数据(例如,经由基于特征匹配的定位技术、同时定位和映射(slam)技术等)来跟踪图像捕获设备在物理环境中的方位(例如,位置和取向)。在一些具体实施中,附加地或另选地使用语义标签(例如,关于对象类型、对象材料、对象特性等)来确定表面的位置。

在一些具体实施中,定位提供镜面反射的表面且不生成物理环境的3d模型,例如,仅使用在2d图像中识别的反射或关于物理环境的其他基于传感器的信息。在一些具体实施中,基于与用户、设备或其他对象的已知尺寸相比的图像数据以及用于确定表面相对于设备在物理环境中的位置的3d位置的比较来测量反射中描绘的用户、设备或其他对象的像素尺寸。此类基于图像的比较中的图像中描绘的对象可使用算法或基于机器学习的模型进行语义标记、识别、测量或以其他方式评估。在一些具体实施中,附加传感器数据(例如,深度传感器数据)用于促进测量、定位、识别、标记或其他功能。

在一些具体实施中,基于在捕获到图像时图像捕获设备的方位、所检测到的对象在该图像中的反射的像素位置以及所检测到的该对象在该图像中的反射的尺寸来确定提供镜面反射的表面的位置。在一些具体实施中,像素位置用于确定表面所位于的相对方向(例如,距相机位置的矢量方向),并且尺寸用于近似表面在该相对方向上的距离。表面的取向可被确定为与表面所位于的相对方向正交。在一些具体实施中,另选的或附加的位置技术或传感器信息(例如,深度传感器数据)可用于确定表面的位置。

在一些具体实施中,例如基于图像数据或运动传感器数据生成物理环境的3d模型。此类模型中的对象可例如基于使用图像数据的自动语义标记过程进行语义标记。还可相对于3d模型跟踪图像捕获设备的方位(例如,位置和取向)。在物理环境的各个时间点捕获到的图像的内容可与3d模型中的对象相关联。在一些具体实施中,基于图像数据在3d模型中识别了表面。基于检测到表面提供镜面反射,此类表面中的一些或全部可被进一步确定为镜面的。

一些具体实施使用特定于设备的标识符来确定提供镜面反射的表面的3d位置。一些具体实施涉及由执行存储在非暂态计算机可读介质中的指令的处理器执行的方法。此类方法可经由设备处的光源产生标识符。标识符可以是在设备的显示器上显示的特定于设备的唯一数字或符号。在另一个示例中,标识符是由设备处的光产生的唯一光图案。该方法例如使用可见光和/或ir传感器来获取物理环境的图像。该方法基于检测到与图像中的标识符相对应的内容并确定该标识符唯一地对应于设备来确定该图像包括该设备的镜面反射。例如,这可涉及确定标识符提供对应于设备而不是物理环境中的任何其他设备的数字、符号或光图案。该方法确定提供镜面反射的表面在物理环境中的位置。基于图像中的镜面反射来确定该位置。确定表面位置可基于设备在物理环境中的已知/确定的位置和取向以及图像中镜面反射的位置或尺寸。

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

附图说明

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

图1示出了根据一些具体实施的用户查看基于电子设备检测到反射而修改的计算机生成现实(cgr)环境。

图2示出了根据一些具体实施的图1的cgr环境的另选修改。

图3示出了根据一些具体实施的图1的cgr环境的另选修改。

图4示出了根据一些具体实施的图1的cgr环境的另选修改。

图5示出了根据一些具体实施的用户查看基于电子设备检测到反射而修改的计算机生成现实(cgr)环境。

图6是示出根据一些具体实施的提供cgr环境的系统的流程图的框图。

图7示出了根据一些具体实施的包括在三维(3d)语义模型中的项目的俯视图。

图8是根据一些具体实施的示例性设备的框图。

图9是示出根据一些具体实施的提供cgr环境的视图的示例性方法的流程图。

图10是示出根据一些具体实施的检测提供镜面反射的表面的示例性方法的流程图。

图11是示出根据一些具体实施的检测提供镜面反射的表面的示例性方法的流程图。

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

具体实施方式

描述了许多细节以便提供对附图中所示的示例具体实施的透彻理解。然而,附图仅示出了本公开的一些示例方面,因此不应被视为限制。本领域的普通技术人员将会知道,其他有效方面或变体不包括本文所述的所有具体细节。此外,没有详尽地描述众所周知的系统、方法、部件、设备和电路,以免模糊本文所述的示例性具体实施的更多相关方面。

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

在一些具体实施中,设备120被配置为检测提供镜面反射的表面,检测反射,或者管理、协调或向用户110呈现计算机生成现实(cgr)环境。在一些具体实施中,单独的控制器被配置为执行这些功能中的一个或多个功能。此类控制器(未示出)可以为相对于物理环境100处于本地或远程位置的计算设备。在一个示例中,控制器是位于物理环境100内的本地服务器。在另一个示例中,控制器是位于物理环境100之外的远程服务器(例如,云服务器、中央服务器等)。在一些具体实施中,控制器经由一个或多个有线或无线通信信道(例如,蓝牙、ieee802.11x、ieee802.16x、ieee802.3x等)与设备120通信地耦接。在一些具体实施中,控制器的功能由设备120提供或与该设备组合,例如,在用作独立单元的移动设备的情况下。

根据一些具体实施,当用户110出现在物理环境100内时,设备120向用户110呈现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、硅基液晶、激光扫描光源或这些技术的任意组合。媒介可以是光学波导、全息图媒介、光学组合器、光学反射器、或它们的任意组合。在一个具体实施中,透明或半透明显示器可被配置为选择性地变得不透明。基于投影的系统可以采用将图形图像投影到人的视网膜上的视网膜投影技术。投影系统也可以被配置成将虚拟对象投影到物理环境中,例如作为全息图或在物理表面上。

如图1所示,在一些具体实施中,设备120的用户110可使用设备120来查看来自物理环境100中的表面140(例如,具有超过足以提供能够观察反射的阈值量的镜面反射率的反射镜或其他表面)的反射。因此,如果设备120直接将反射传递到用户110,则该反射将包括所反射的用户145(例如,用户110的反射)和所反射的设备150(例如,设备120的反射)。然而,如进一步详细描述的,在一些具体实施中,设备120用替换内容180(例如,用户的手和衬衫的描绘)替换所反射的设备150。例如,设备120可确定cgr环境的视图(例如,视图130)包括用户110或设备120的反射(例如,所反射的设备150)、识别替换内容180,并且使用替换内容180代替所反射的用户145或所反射的设备150(例如,通过以图形方式擦除、消除或模糊所反射的用户145或所反射的设备150的部分)来修改cgr环境的视图130,以及例如通过空间对准、光度调整、视觉相干渲染、叠加、模版化、羽化或混合替换内容以向用户提供经修改的视图160。

在一些具体实施中,用户110可能期望看到他或她的反射且没有该用户正握持或穿戴的电子设备120。因此,可能期望cgr环境提供不包括电子设备的描绘的反射。因此,如图1所示,可提供cgr环境的视图160,其中电子设备120的反射150被擦除。

图2示出了图1的cgr环境的另选修改。如图2所示,设备120用替换内容280(例如,用户的手臂、手和衬衫的描绘)替换所反射的设备150。例如,设备120可确定cgr环境的视图(例如,视图130)包括用户110或设备120的反射(例如,所反射的设备150)、识别替换内容280,并且使用替换内容280代替所反射的设备150来修改cgr环境的视图130(例如,通过以图形方式擦除、消除或模糊所反射的设备150和所反射的用户145的部分),以向用户提供经修改的视图260。因此,如图2所示,可提供cgr环境的视图260,其中电子设备120的反射150被擦除,并且用户的手臂向下延伸而不是穿过他或她的身体。

图3示出了根据一些具体实施的图1的cgr环境的另选修改。如图3所示,设备120用替换内容380(例如,相同类型的电子设备的不同版本的描绘,诸如具有比设备120更大的尺寸的较新版本)替换所反射的设备150。例如,设备120可确定cgr环境的视图(例如,视图130)包括设备120的反射(例如,所反射的设备150)、识别替换内容380,并且使用替换内容380代替所反射的设备150和周围区域来修改cgr环境的视图130,以向用户提供经修改的视图360。因此,如图3所示,可提供cgr环境的视图360,其中电子设备120的反射150被相同类型的较大电子设备的描绘替换。

图4示出了根据一些具体实施的图1的cgr环境的另选修改。如图4所示,设备120用替换内容480(例如,另选内容的描绘,诸如光剑)替换所反射的设备150。例如,设备120可确定cgr环境的视图(例如,视图130)包括设备120的反射(例如,所反射的设备150)、识别替换内容480,并且使用替换内容480代替所反射的设备150和周围区域来修改cgr环境的视图130,以向用户提供经修改的视图460。可基于各种因素来识别另选内容,这些因素包括但不限于物理环境的背景、用户偏好、用户输入、与设备120的对应关系(例如,尺寸、形状等),以及与用户身体接触、握持或穿戴设备120的部分的对应关系。如图4所示,可提供cgr环境的视图460,其中电子设备120的反射150被光剑的描绘替换,该光剑由在物理环境中正握持电子设备120的用户的手握持。

图5示出了根据一些具体实施的用户查看基于电子设备检测到反射而修改的计算机生成现实(cgr)环境。如图4所示,在该示例中,设备120为头戴式设备(hmd)。设备120用替换内容580(例如,用户脸颊、眼睛等的描绘)替换所反射的设备150。例如,设备120可确定cgr环境的视图(例如,视图130)包括设备120的反射(例如,所反射的设备150)、识别替换内容580,并且使用替换内容580代替所反射的设备150和周围区域来修改cgr环境的视图130,以向用户提供经修改的视图560。替换内容可从用户的一个或多个图像获取,例如,经由面向下或面向身体的图像传感器或从所存储的用户配置文件同时捕获。如图5所示,可提供cgr环境的视图560,其中电子设备120的反射150被已擦除电子设备120的用户的描绘替换。

图6示出了检测提供镜面反射并提供cgr环境的表面的设备120的系统流。设备120使用一个或多个环境传感器610(例如,一个或多个相机)来捕获、创建或提供物理环境100的视图130。例如,由用户110握持的移动设备或由用户110穿戴的hmd的一个或多个面向外的相机可捕获物理环境100的一个或多个图像。相同或附加的相机(例如,其他传感器620)可捕获物理环境中的其他图像和信息。例如,环境传感器610可捕获对应于物理环境100的一部分的图像或其他信息,该图像或物理信息能够从物理环境100中的用户位置沿特定方向观察到,或者在物理环境100中以其他方式部分或完全围绕该用户。其他传感器620(例如,面向身体的相机)可同时捕获对应于用户或用户的设备的部分的图像或其他信息。来自这些传感器中的任一个传感器的一个或多个图像包括任何数量的对象,这些对象包括反射表面诸如反射镜、液体和玻璃。

在一些具体实施中,设备120使用传感器数据诸如来自环境传感器610和其他传感器620的一个或多个所捕获的图像来执行一个或多个传感器数据分析任务(例如,在框630处)。例如,语义分割可用于将图像的每个像素与类标签相关联,该类标签与像素所描绘的对象的类型(例如,人、桌子、椅子、门、对象、反射镜、液体、窗口等)或与像素所描绘的对象相关联的特征(例如,直视、反射等)相关联。在一些具体实施中,语义分割或其他传感器数据分析(框630)可识别或区分作为对象的反射的一部分的图像部分(例如,像素)与作为对象的直接视图的一部分的图像部分(例如,像素)。与反射相关联的像素可具有与直接视图相关联的像素相比不同的颜色特性,并且此类颜色特性可例如经由算法或机器学习模型来识别,以将像素分类为对应于直接视图或反射。

在一些具体实施中,匹配技术(例如,算法、机器学习模型等)被配置为识别图像(例如,像素分组)中的对象,该对象是物理环境、用户或对象的相同或另一图像(例如,像素分组)中的另一对象的反射。在一些具体实施中,匹配技术考虑了在将反射与相关联的对象匹配时在成像中发生的左-右反转。在一些具体实施中,匹配技术考虑了由于对应于距一个或多个传感器(例如,环境传感器610或其他传感器620)的不同距离的对象和反射而可能发生的尺寸差异。在一些具体实施中,匹配技术考虑了在反射中可能发生的颜色变化(例如,色彩强度减弱、褪色、色调变化)。在一些具体实施中,训练机器学习模型诸如神经网络以使用一个或多个输入图像将反射与对象的对应直接视图相匹配。例如,可使用标记对应于一个或多个训练图像(例如,图像部分或像素)中的对象的直接视图的反射(例如,图像部分或像素)的地面实况训练数据来训练此类机器学习模型。

在一些具体实施中,传感器数据分析(框630)识别与表面本身相关联的像素,例如描绘玻璃窗或反射镜的实际表面的像素。例如,基于图像的分析,例如使用算法或机器学习的计算机视觉可用于识别反射镜、窗口表面或流体表面。

在一些具体实施中,传感器数据分析(框630),例如计算机视觉算法或机器学习模型,可用于测量表面的镜面反射率、不透明度、半透明度、透明度、绕射或折射的量。例如,可使用机器学习来测量与由一个或多个像素所描绘的对象的表面相关联的镜面反射率,例如,以数值标度提供表示对象的镜面反射率的值。

在一些具体实施中,设备120执行可选的3d模型(框640)。例如,设备120可生成物理环境100的3d模型。在一些具体实施中,3d模型可由多个图像/记录生成,其中多个所捕获的图像/记录被组合以形成物理环境100的所捕获的部分(例如,基于视图130),或者物理环境100的多个所捕获的部分被组合以生成3d模型。在一些具体实施中,参考计算机辅助绘图(“cad”)模型可用于表示3d模型中的对象,包括对象或替换内容。

3d模型可被映射到任何适当的标准坐标系上,例如平面坐标、字坐标、几何坐标等。例如,投影点周围的360度(球形)图像可用作标准计算机图形渲染器中的环境地图(或环境反射地图)。此外,环境地图可以任何数量的可互换格式表示,例如,球形表示(等长矩形投影)或立方体地图表示。格式的选择可基于特定具体实施或渲染引擎的要求。

此外,在一些具体实施中,语义分割或其他传感器数据分析630可与3d模型640同时执行、与其进行通信或基于该模型执行。例如,可基于通过语义分割识别对象来执行3d模型,或者可基于3d模型来执行语义分割。

因此,3d模型可包括语义识别。图7描绘了物理环境的3d模型的俯视图(2d)700。在该示例中,语义标签对应于例如由语义分割机器学习模型生成的对象类型分类。在该示例中,用户110已被标记为“人”,设备120已被标记为“d”(英语“设备”的缩写),对象730已被标记为“椅子”,对象740已被标记为“桌子”,对象750已被标记为“人”,并且对象760已被标记为“反射镜”。

返回图6,在一些具体实施中,设备120生成与反射相关联的替换内容(框650)。生成的替换内容可以是要添加到3d模型640的3d内容或替换该内容的3d内容。然后可通过从适当的视点生成经修改的3d模型的2d视图来提供经修改的视图。

在其他具体实施中,替换内容是要添加到物理环境的视图的2d内容或替换该内容的2d内容。例如,可生成3d模型的2d视图,然后对其进行修改以替换3d视图的选择部分/像素。

在其他具体实施中,不需要生成或使用3d模型。相反,可捕获物理环境的一个或多个图像,然后用替换内容进行修改。

在一些具体实施中,替换内容将替换对应于用户或用户设备的一部分的反射的一部分,例如,如图1至图5所示。替换内容可包括所生成的背景内容,以便增强该替换内容的真实性。在一些具体实施中,为了准确地描绘用户110的反射(例如,减去设备120),设备120识别替换内容是否充分匹配或对应于所捕获的图像数据中的相邻纹理。在多种具体实施中,设备120确定3d模型的所有像素的对应纹理是否已知,并且如果存在没有纹理的像素,则可合成缺失的纹理。在一个具体实施中,可基于替换内容的纹理与紧邻的周围纹理比较,例如该替换内容是否被周围环境终止,而进行这样的识别。在一些具体实施中,环境地图可用于表示不同纹理(例如,颜色、图案等),并且完成环境地图以提供替换内容可包括通过扩展现有纹理或采用合成算法(例如,基于机器学习的算法)来为没有纹理的任何像素在替换内容中合成对应纹理。

在一些具体实施中,替换内容包括基于用户的图像或一个或多个所识别的头像生成的用户描述。在一些具体实施中,其他传感器220(例如,面向内或面向身体的相机)可收集关于用户110的信息(例如,用户的表情、眼睛移动等)。在一些具体实施中,替换内容源信息被存储(例如,所存储的信息660)并用于生成替换内容,该替换内容包括用户110或设备120的改变或经修改的反射。在一些具体实施中,由环境传感器610或其他传感器620收集的信息可用于将头像的尺寸或形状与用户110匹配。

在一些具体实施中,其他传感器620包括追踪用户的眉毛/前额的表情的一个或多个眉毛传感器。在一些具体实施中,其他传感器620包括追踪用户的口部/颌部的表情的一个或多个下颌追踪传感器。例如,由传感器捕获的额头、口部、颌部和眼睛的表情可用于模拟用户110的头像上的表情(例如,用户的反射),或者至少部分地基于用户的反应来选择性地渲染和合成用于由用户查看的内容。

在一些具体实施中,设备120将信息存储在所存储的信息660中。例如,为了创建头像,可使用形状预测方法来定位用户110的某些面部结构(例如,对于描述用户110的面部更重要的特征)。此外,所存储的信息660可包括对所存储的掩模中的用户110的不同元素的形状、尺寸、相对距离和深度进行建模。在一些具体实施中,可以将所存储的掩模应用于头像以定制头像的外观,以便模拟用户的外观。

在一些具体实施中,渲染引擎670向用户呈现内容。该内容可以是cgr环境的经修改的视图。在一些具体实施中,渲染引擎670组合传感器数据分析630、3d模型640以及替换内容生成650以向用户110呈现cgr环境。在一些具体实施中,表面140(例如,反射镜)的外观、用户110的反射或物理设备(所反射的设备150)的反射可取决于环境传感器210相对于表面140的距离、相对位置或取向、由环境传感器210捕获的光的量/强度或特定光源的存在或不存在。例如,渲染引擎670可通过识别反射表面或反射的几何形状来识别替换内容的不同反射属性。此外,在一些具体实施中,渲染引擎670可基于用户或用户的设备的位置来识别不同特性。

在多种具体实施中,替换内容(例如,用户握持的设备被擦除或修改或者用户穿戴的hmd被擦除或修改的反射)可通过选择3d点(例如,投影中心)来计算,其中环境的反射相对于对象的位置被准确地描绘。例如,如果对象为反射镜,则所选择的投影中心可为该反射镜的中心。在一些具体实施中,可使用渲染引擎基于3d模型在投影中心周围生成环境地图(例如立方图或球形图),以表示该3d模型的纹理。替换内容的渲染可取决于环境地图、设备的位置或取向、表面、用户以及其他对象。

此外,替换内容(例如,用户110减去设备120的合成反射)可取决于表面140的反射率、粗糙度或透明度。

镜面反射表面的反射率可用于确定替换内容的特性。可基于对象的类型或其特性(例如,对象的材料组成或属性)来自动确定反射率。例如,由具有高镜面反射率的材料制成的反射表面可能需要高度限定的替换内容,而在另一个实例中,具有相对较小镜面反射率或具有较粗糙表面的反射表面可能仅需要替换内容的最小限度的定义和细节。例如,对于玻璃窗和水生成的反射能够以降低的色彩强度生成,或者能够基于(例如,组合)通过玻璃或水看到的内容。

在一些具体实施中,可混合物理环境的所捕获的部分与替换内容之间的过渡,以避免物理环境的所捕获的部分的纹理与替换内容之间的尖锐或不现实的过渡。例如,物理环境的所捕获的部分的边界或替换内容可与周围环境混合。此外,设备120可通过将所渲染的内容与所捕获的环境进行比较来反复执行错误校正(框690),以确保准确性。

图8是根据一些具体实施的设备120的示例的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,在一些具体实施中,设备120包括一个或多个处理单元802(例如,微处理器、asic、fpga、gpu、cpu、处理核心等)、一个或多个输入/输出(i/o)设备及传感器806、一个或多个通信接口808(例如,usb、firewire、thunderbolt、ieee802.3x、ieee802.11x、ieee802.16x、gsm、cdma、tdma、gps、ir、bluetooth、zigbee、spi、i2c或类似类型的接口)、一个或多个编程(例如,i/o)接口810、一个或多个显示器812、一个或多个面向内部或面向外部的图像传感器814、存储器820以及用于互连这些部件和各种其他部件的一条或多条通信总线804。

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

在一些具体实施中,一个或多个显示器812被配置为向用户呈现cgr环境。在一些具体实施中,一个或多个显示器812对应于全息、数字光处理(dlp)、液晶显示器(lcd)、硅上液晶(lcos)、有机发光场效应晶体管(olet)、有机发光二极管(oled)、表面传导电子发射器显示器(sed)、场发射显示器(fed)、量子点发光二极管(qd-led)、微机电系统(mems)或类似显示器类型。在一些具体实施中,一个或多个显示器812对应于衍射、反射、偏振、全息等波导显示器。例如,设备120包括单个显示器。又如,设备120包括针对用户的每只眼睛的显示器。

存储器820包括高速随机存取存储器,诸如dram、cgram、ddrram或其他随机存取固态存储器设备。在一些具体实施中,存储器820包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器820任选地包括与一个或多个处理单元802远程定位的一个或多个存储设备。存储器820包括非暂态计算机可读存储介质。在一些具体实施中,存储器820或者存储器820的非暂态计算机可读存储介质存储下述程序、模块和数据结构或者它们的子集,其中包括任选的操作系统830、检测模块840和内容模块850。

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

在一些具体实施中,检测模块840包括反射检测单元842和表面检测单元844。在一些具体实施中,反射检测单元842被配置为例如使用物理环境的一个或多个图像或物理环境的3d模型来检测反射。反射检测单元842可包括基于将第一图像中的对象的一部分的镜面反射与第二图像中的对象的该部分的直接视图匹配来检测第一图像中的镜面反射。这可涉及识别其中对象的左侧和右侧反向的镜像版本的对象。匹配可涉及匹配对象的该部分的形状、尺寸、颜色、纹理或移动。

在一些具体实施中,表面检测单元844被配置为检测在物理环境中提供反射的表面。表面检测单元844可基于由反射检测单元842识别的一个或多个镜面反射来确定表面在物理环境中的位置。这可基于设备在物理环境中的已知或确定的位置或取向以及由设备捕获的图像中镜面反射的位置或尺寸。在一些具体实施中,基于图像数据或运动传感器数据(例如,经由基于特征匹配的定位技术、同时定位和映射(slam)技术等)来追踪图像捕获设备在物理环境中的方位(例如,位置和取向)。在一些具体实施中,例如基于图像数据或运动传感器数据来生成物理环境的3d模型。此类模型中的对象可例如基于使用图像数据的自动语义标记过程进行语义标记。还可相对于3d模型跟踪图像捕获设备的方位(例如,位置和取向)。在物理环境的各个时间点捕获到的图像的内容可与3d模型中的对象相关联。在一些具体实施中,基于图像数据在3d模型中识别了表面。基于检测到表面提供镜面反射,此类表面中的一些或全部可被进一步确定为镜面的。

在一些具体实施中,基于在捕获图像时图像捕获设备的方位、所检测到的对象在该图像中的反射的像素位置以及所检测到的该对象在该图像中的反射的尺寸来确定表面的位置。在一些具体实施中,像素位置用于确定表面所位于的相对方向,并且尺寸用于近似表面在该相对方向上的距离。表面的取向可被确定为与镜面反射所位于的相对方向正交。在一些具体实施中,另选的或附加的位置技术或传感器信息(例如,深度传感器数据)可用于确定表面的位置。

在一些具体实施中,内容模块850被配置为创建、编辑、呈现或体验cgr环境。在一些具体实施中,内容模块850包括反射单元852、头像单元854、cgr虚拟内容单元856和cgr呈现单元858。

在一些具体实施中,反射单元852被配置为识别来自对象的反射。例如,反射单元852可识别握持移动设备或穿戴hmd的用户的反射。在一些具体实施中,反射单元可使用语义分割或3d模型来识别反射或反射表面。在一些具体实施中,反射检测单元842和反射单元852的一个或多个功能被组合成单个单元。

在一些具体实施中,头像单元854被配置为生成头像或将头像与用户(例如,人、设备、账户等)相关联。例如,头像单元854可被配置为收集或存储关于用户面部特征的信息以形成用于模拟用户外观的掩模。在一些具体实施中,头像单元854追踪用户的面部特征或特性(例如,眼睛、口部、眉毛等),以便将头像的特征与用户的特征相匹配。

在一些具体实施中,cgr虚拟内容单元856被配置为确定用于替换用户的反射、设备的反射或握持或穿戴设备的用户的反射的虚拟内容。例如,cgr虚拟内容单元可基于设备相对于对象的角度或视点来生成替换反射。

在一些具体实施中,cgr呈现单元858被配置为呈现将被用作一个或多个用户的cgr环境的一部分的虚拟内容(例如,用户或设备的替换或更新的反射)。例如,用户可查看并以其他方式体验基于cgr的用户界面,该用户界面允许用户例如经由手势、语音命令、输入设备输入等来选择、放置、移动以及以其他方式体验cgr环境并与之交互。

尽管这些模块和单元(例如,模块840、850和单元842、844、852、854、856、858)被示出为驻留在单个设备(例如,设备120)上,但应当理解,在其他具体实施中,这些模块和单元的任何组合可位于单独的计算设备中。

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

图9是示出提供cgr环境的视图的示例性方法900的流程图。方法900可由设备诸如设备120执行。可在移动设备、hmd、台式计算机、膝上型计算机、服务器设备处或由彼此通信的多个设备执行方法900。在一些具体实施中,方法900由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法900由执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器执行。

在框902处,方法900确定cgr环境的视图包括来自表面的反射,该反射是用户或电子设备的反射。在一个示例中,该视图包括反射表面(诸如反射镜),并且该视图还包括握持设备(诸如移动电话)或穿戴设备(诸如hmd)的用户的反射。确定视图包括反射可涉及:识别用于提供视图的3d模型中的视点包括表面;以及确定该视点相对于该表面的角度。在一些具体实施中,确定视图包括反射涉及:例如经由语义分析来识别物理环境中的对象或材料;以及确定那些对象或材料的反射属性。在一些具体实施中,确定视图包括反射涉及:使用计算机视觉来识别设备、用户或另一对象,例如通过识别设备、用户或其他对象的镜像/反转图像。

在框904处,方法900识别替换内容以替换用户或电子设备的反射的至少一部分。在一些具体实施中,替换内容包括当手持设备被擦除、增强或以其他方式修改时将可见的用户身体的部分(例如,手、手臂等)或背景内容。在一些具体实施中,替换内容包括当腕戴式设备被擦除、增强或以其他方式修改时将可见的用户身体的部分(例如,手臂、衣服等)或背景内容。在一些具体实施中,替换内容包括当头戴式设备(hmd)被擦除、增强或以其他方式修改时将可见的用户身体的部分(例如,脸颊、眼睛、眉毛、头发等)或背景内容。在一些具体实施中,替换内容包括将代替电子设备显示的相同类型的电子设备的不同版本。此类替换内容可使得用户能够可视化(例如,虚拟地尝试)当前正使用的电子设备的较新版本或替代形式。在一些具体实施中,替换内容包括将与电子设备一起显示或替换该电子设备的现有附件的附件(例如,保护壳、带等)。在一些具体实施中,替换内容包括将代替用户的至少一部分的反射显示的头像,例如,用头像的头部或身体替换用户的头部或整个身体。在一些具体实施中,替换内容包括在将被擦除的电子设备或用户的一部分周围的背景区域。

可使用先前或同时获取的物理环境、用户或物理环境中的对象的图像来生成或获取替换内容。例如,图像传感器可被配置为(例如,以面向下或面向身体的取向定位在可穿戴设备上等)捕获用户身体的图像以用于生成替换内容。在另一个示例中,可访问数据集以识别与用户的特征和偏好匹配的头像以用于生成替换内容。又如,背景内容可经由阴影技术、空穴填充技术、内容幻觉技术、光线投射技术等来生成。

在框906处,方法900基于cgr环境的视图和所识别的替换内容生成cgr环境的经修改的视图。经修改的视图可包括不具有设备的用户或具有经修改设备的用户的经修改的反射。例如,可通过包括用户身体的对应部分的替换内容和/或在电子设备不在视图中的情况下原本可见(例如,不可见)的物理环境来擦除电子设备。生成的替换内容可以是要添加到3d模型640的3d内容或替换该内容的3d内容。然后可通过从适当的视点生成经修改的3d模型的2d视图来生成经修改的视图。在其他具体实施中,替换内容是要添加到物理环境的视图的2d内容或替换该内容的2d内容。例如,可生成3d模型的2d视图,然后对其进行修改以替换3d视图的选择部分/像素。在其他具体实施中,不需要生成或使用3d模型。相反,可捕获物理环境的一个或多个图像,然后用替换内容修改这些图像以提供cgr环境。

图10是示出检测提供镜面反射的表面的示例性方法1000的流程图。方法1000可由设备诸如设备120执行。可在移动设备、hmd、台式计算机、膝上型计算机、服务器设备处或由彼此通信的多个设备执行方法1000。在一些具体实施中,方法1000由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法1000由执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器执行。

在框1002处,方法1000获取包括对象的一部分的镜面反射的物理环境的第一图像。例如,第一图像可由可见光/红-绿-蓝(rgb)图像传感器捕获,并且包括人、人的衣服、电子设备或任何其他对象中的一些或全部的反射。

在框1004处,方法1000获取包括相同对象的该部分的直接视图(例如,不是反射)的第二图像。在一些具体实施中,第二图像由物理环境中的面向下或面向身体的相机捕获。在一些具体实施中,在较早时间捕获并且从数据集获取第二图像,例如,从用户配置文件获取用户配置文件图片。在一些具体实施中,第一图像和第二图像为同一图像的部分。例如,具有或不具有广角镜头的相机可捕获包括用户面部的一部分的直接视图和该用户面部的该部分的反射两者的图像。

在框1006处,方法1000基于将第一图像中对象的一部分的镜面反射与第二图像中对象的该部分的直接视图匹配来检测第一图像中的镜面反射。匹配可涉及匹配对象的该部分的形状、尺寸、颜色、纹理或移动。匹配可涉及识别其中对象的左侧和右侧反向的镜像版本的对象。

在框1008处,方法1000可基于镜面反射来确定表面在物理环境中的位置。这可基于设备在物理环境中的已知或确定的位置或取向以及图像中镜面反射的位置或尺寸。在一些具体实施中,基于图像数据或运动传感器数据(例如,经由基于特征匹配的定位技术、同时定位和映射(slam)技术等)来跟踪图像捕获设备在物理环境中的方位(例如,位置和取向)。在一些具体实施中,附加地或另选地使用语义标签(例如,关于对象类型、对象材料、对象特性等)来确定表面的位置。

在一些具体实施中,定位提供镜面反射的表面且不生成物理环境的3d模型,例如,仅使用在2d图像中识别的反射或关于物理环境的信息。在一些具体实施中,基于与用户、设备或其他对象的已知尺寸相比的图像数据以及用于确定表面相对于设备在物理环境中的位置的3d位置的比较,例如还通过考虑相机的固有参数诸如焦距,来测量反射中描绘的用户、设备或其他对象的像素尺寸。此类基于图像的比较中的图像中描绘的对象可使用算法或基于机器学习的模型进行语义标记、识别、测量或以其他方式评估。在一些具体实施中,附加传感器数据(例如,深度传感器数据)用于促进测量、定位、识别、标记或其他功能。

在一些具体实施中,基于在捕获图像时图像捕获设备的方位、所检测到的对象在该图像中的反射的像素位置以及所检测到的该对象在该图像中的反射的尺寸来确定表面的位置。在一些具体实施中,像素位置用于确定表面所位于的相对方向,并且尺寸用于近似表面在该相对方向上的距离。表面的取向可被确定为与镜面反射所位于的相对方向正交。在一些具体实施中,另选的或附加的位置技术或传感器信息(例如,深度传感器数据)可用于确定表面的位置。

在一些具体实施中,物理环境的3d模型例如基于图像数据、深度数据或运动传感器数据生成,并且用于检测镜面反射或确定表面的位置。此类模型中的对象可例如基于使用图像数据的自动语义标记过程进行语义标记。还可相对于3d模型跟踪图像捕获设备的方位(例如,位置和取向)。在物理环境的各个时间点捕获到的图像的内容可与3d模型中的对象相关联。在一些具体实施中,基于图像数据在3d模型中识别了表面。基于检测到表面提供镜面反射,此类表面中的一些或全部可被进一步确定为镜面的。

图11是示出检测提供镜面反射的表面的示例性方法1100的流程图。方法1100可由设备诸如设备120执行。可在移动设备、hmd、台式计算机、膝上型计算机、服务器设备处或由彼此通信的多个设备执行方法1100。在一些具体实施中,方法1100由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法1100由执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器执行。

在框1102处,方法1100经由设备处的光源产生标识符。标识符可以是在设备的显示器上显示的特定于设备的唯一数字、符号或图案。在另一个示例中,标识符是由设备处的光产生的唯一光图案。在另一个示例中,通过从红外光源发射红外光来产生标识符。标识符可以在从光源发射的光中进行时间上的编码,例如,作为时间签名。标识符可例如基于预先确定的或自动的序列发生器随时间改变。标识符可例如在显示器上连续显示并周期性地(例如,每10秒)更新。

在一些具体实施中,基于附加信息来产生标识符。例如,可以经由环境光传感器或其他方式确定物理环境的亮度,并且可以相应地选择标识符的亮度,例如,在较亮的环境中提供较亮的标识符以改善检测,或者在不太亮的环境中提供不太亮的标识符以节省系统资源。

在另一个示例中,基于检测设备的能力(例如,设备的成像能力或可影响其检测显示器反射的能力的处理能力)来产生标识符。可基于这些能力来选择用于显示标识符的显示参数。例如,如果仅能够以低置信度检测到设备的显示器,则可增强显示内容或选择例如更亮、具有更高对比度、具有更强梯度等的显示内容。

可与获取图像的相机同步地产生标识符。在一些具体实施中,内容或其他发射光与相机同步地脉冲、选通或闪烁,使得显示器在相机的积聚周期期间明亮/打开,而在相机的传感器未积聚时黑暗/关闭。

在框1104处,方法1100例如使用可见光和/或ir传感器来获取物理环境的图像。

在框1106处,方法1100基于检测到与图像中的标识符相对应的内容并确定该标识符唯一地对应于设备来确定该图像包括该设备的镜面反射。例如,这可涉及确定标识符提供对应于设备而不是物理环境中的任何其他设备的数字、符号或光图案。在一些具体实施中,方法1100首先检测显示器反射,例如可对应于显示器的反射的图像内容,然后识别图像中的显示器反射内的标识符。方法1100可基于识别从设备上的光源发射的光中的时间签名来确定图像包括设备的镜面反射。

确定图像包括镜面反射可涉及确定图像中的一部分不对应于另一设备的直接视图或反射。这可涉及例如通过识别设备的实际位置与所反射的设备的对应位置之间的对称变换来确定图像中的内容具有与所反射的设备一致的位置和取向。如果不能识别此类变换,则方法1100可确定图像的内容不对应于设备的反射。

在框1108处,方法1100确定提供镜面反射的表面在物理环境中的位置。基于图像中的镜面反射来确定该位置。确定表面位置可基于设备在物理环境中的已知/确定的位置和取向以及图像中镜面反射的位置或尺寸。

提供镜面反射的表面在物理环境中的位置可用于各种目的。在一个示例中,表面的位置可用于向用户提供通知。例如,可基于用户/用户设备与表面的接近度来提供通知,以防止用户与该表面碰撞。在另一个示例中,表面的位置可用于渲染虚拟对象的虚拟反射。在另一个示例中,表面的位置用于校正或调整物理环境的3d模型。

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

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

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

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

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

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

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

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

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1