视点物体选择转让专利

申请号 : CN201280033759.9

文献号 : CN103649988B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 萨德·斯特纳

申请人 : 谷歌公司

摘要 :

本申请公开了视点物体的选择。示例方法和系统可以由可穿戴计算机实现以利用光流分析来辨识预先确定的用户动作,诸如选择物体。示例方法可以涉及可穿戴计算设备:(a)从可穿戴计算设备的视频相机接收视频数据;(b)为该视频数据确定光流;(c)确定在该视频数据的光流内的区域处存在光流差;以及(d)响应于确定在该区域处存在光流差:(i)识别位于存在光流差的区域处的物体;(ii)执行对该物体的搜索;以及(iii)促使图形显示器显示与来自搜索的结果相对应的信息。本发明解决了感测并分析用户的环境,以智能地提供适于用户正体验的物理世界的信息的技术问题。

权利要求 :

1.一种感测物体的方法,包括:

接收视频数据;

为所述视频数据确定光流;

确定在所述视频数据的所述光流内的一个区域处存在光流差,其中确定存在所述光流差包括:确定在所述区域内的光流的量值与在所述区域外的光流的量值显著不同;以及确定所述视频数据的所述光流的至少部分具有作为与对物体的选择相关联的预先确定的用户动作的特性的曲率;以及响应于确定在所述光流内的所述区域处存在所述光流差:识别位于存在所述光流差的所述区域处的物体;

执行对位于存在所述光流差的所述区域处的所述物体的搜索;以及促使图形显示器显示与来自所述搜索的结果相对应的信息。

2.根据权利要求1所述的方法:

其中在所述区域内的所述光流的量值比在所述区域外的所述光流的量值显著地小;以及其中确定所述视频数据的所述光流的至少部分具有作为所述预先确定的用户动作的特性的所述曲率包括确定在所述区域外的所述光流中存在该特性曲率。

3.根据权利要求2所述的方法,其中所述预先确定的用户动作包括当所述用户围绕所述物体沿着基本上环形路径移动时所述物体保持在所述用户的视场内基本上相同的位置中。

4.根据权利要求1所述的方法:

其中在所述区域内的所述光流的量值比在所述区域外的所述光流的量值显著地大;以及其中确定所述视频数据的所述光流的至少部分具有作为所述预先确定的用户动作的特性的所述曲率包括确定在所述区域内存在该特性曲率。

5.根据权利要求4所述的方法,其中所述预先确定的用户动作包括当所述物体转动时对所述物体的固着。

6.根据权利要求1所述的方法,

其中所述光流包括在所述视频数据中的多个样本点处的多个光流矢量,以及其中确定所述光流包括为所述视频数据中的所述样本点中的每一个生成光流数据,所述光流数据包括:(a)所述样本点的坐标,以及(b)在所述样本点处的所述光流矢量的量值和方向的指示,以及其中确定在所述视频数据的所述光流内的所述区域处存在所述光流差包括:确定阈值量值,使得预先确定百分比的所述光流矢量中的每一个的量值小于所述阈值量值;

确定所述光流矢量中的哪些具有小于所述阈值量值的量值;以及确定所述区域包括具有小于所述阈值量值的量值的至少预先确定百分比的所述光流矢量。

7.根据权利要求1所述的方法,

其中所述光流包括在所述视频数据中的多个样本点处的多个光流矢量,其中确定所述光流包括为所述视频数据中的所述样本点中的每一个生成光流数据,所述光流数据包括:(a)所述样本点的坐标,以及(b)在所述样本点处的所述光流矢量的量值和方向的指示,以及其中确定在所述视频数据的所述光流内的所述区域处存在光流差包括:确定阈值量值,使得预先确定百分比的所述光流矢量的量值大于所述阈值量值;

确定所述光流矢量中的哪些具有大于所述阈值量值的量值;以及确定所述区域包括具有大于所述阈值量值的量值的至少预先确定百分比的所述光流矢量。

8.根据权利要求1所述的方法,进一步包括:使用来自所述视频数据的视频帧来生成来自所述视频数据的所述物体的三维重构;以及其中执行对所述物体的所述搜索包括执行对所述物体的所述三维重构的三维搜索。

9.根据权利要求8所述的方法,进一步包括:对所述物体的所述三维重构进行评估,以确定是否存在尚未被捕捉到、能够改进所述三维重构的信息;以及如果确定存在尚未被捕捉到并且能够改进所述三维重构的信息,则发起对所述用户的提示,其中所述提示指引所述用户执行可能在所述视频数据中捕捉能够改进所述三维重构的所述信息的至少部分的用户动作。

10.根据权利要求1所述的方法,其中确定存在光流差包括持续地确定所述视频数据的光流,以确定何时在所述视频数据的所述区域处存在所述光流差。

11.根据权利要求1所述的方法,其中确定在所述区域处存在所述光流差包括:检测在所述视频数据中的所述区域处的所述光流差;以及确定所述光流差在所述区域中持续至少预先确定的时间段。

12.根据权利要求1所述的方法,其中所述光流差被确定为存在于所述视频数据的两个帧之间,以及其中识别所述视频数据中的位于所述光流差的所述区域处的所述物体包括:将图像处理技术应用到所述两个帧中的第一帧,以在视觉上隔离所述第一帧中的所述物体;以及向另一个计算设备发送物体识别请求,其中所述物体识别请求包括已被应用了所述图像处理技术的所述第一帧的副本。

13.一种用于感测物体的系统,包括:

用于接收视频数据的装置;

用于为所述视频数据确定光流的装置;

用于通过下述操作来确定何时在所述视频数据的所述光流中的一个区域处存在光流差的装置:确定在所述区域内的光流的量值与在所述区域外的光流的量值显著不同;以及确定所述视频数据的所述光流的至少部分具有作为与对物体的选择相关联的预先确定的用户动作的特性的曲率;以及用于响应于确定存在所述光流差进行下述操作的装置:识别所述视频数据中的位于所述光流差的所述区域处的物体;

促使对位于所述光流差的所述区域处的所述物体执行搜索;以及促使图形显示器显示与来自所述搜索的结果相对应的信息。

14.根据权利要求13所述的系统:

其中在所述区域内的所述光流的量值比在所述区域外的所述光流的量值显著地小;以及其中确定所述视频数据的所述光流的至少部分具有作为所述预先确定的用户动作的特性的所述曲率包括确定在所述区域外的所述光流中存在该特性曲率。

15.根据权利要求14所述的系统:其中所述预先确定的用户动作包括当所述用户围绕所述物体沿着基本上环形路径移动时所述物体保持在所述用户的视场内基本上相同的位置中。

16.根据权利要求13所述的系统:

其中在所述区域内的所述光流的量值比在所述区域外的所述光流的量值显著地大;以及其中确定所述视频数据的所述光流的至少部分具有作为所述预先确定的用户动作的特性的所述曲率包括确定在所述区域内存在该特性曲率。

17.根据权利要求16所述的系统,其中所述预先确定的用户动作包括当所述物体转动时对所述物体的固着。

18.一种感测物体的系统,包括:

到计算设备的显示器的接口;

到被配置成记录视频数据的视频相机的接口;以及板上计算系统,其可操作来:

为视频数据确定光流;

基于下述几项来确定何时在所述视频数据的所述光流中的区域处存在光流差:(a)在所述区域内的光流的量值与在所述区域外的光流的量值显著不同的确定,以及(b)所述视频数据的所述光流的至少部分具有作为与对物体的选择相关联的预先确定的用户动作的特性的曲率的确定;

响应于确定存在所述光流差:

识别所述视频数据中的位于所述光流差的所述区域处的物体;

执行对位于所述光流差的所述区域处的所述物体的搜索;以及促使头戴式显示器显示与来自所述搜索的结果相对应的图形信息。

19.根据权利要求18所述的系统,其中在所述区域处存在所述光流差的所述确定取决于所述区域内的所述光流的量值显著不同的所述确定以及所述视频数据的所述光流的至少部分具有作为所述预先确定的用户动作的特性的曲率的所述确定。

20.根据权利要求18所述的系统,其中所述板上计算系统可操作来:区分至少包括第一类型和第二类型的多个类型的光流差;

确定在所述区域处存在哪种类型的光流差;以及基于所述光流差的所确定的类型对执行对所述物体的所述搜索的方式进行调整。

21.根据权利要求18所述的系统:

其中在所述区域内的所述光流的量值比在所述区域外的所述光流的量值显著地小;以及其中被确定为具有作为所述预先确定的用户动作的特性的所述曲率的所述视频数据的所述光流的所述部分包括基本上在所述区域外的所述光流的部分。

22.根据权利要求21所述的系统,其中所述预先确定的用户动作包括当所述用户围绕所述物体沿着基本上环形路径移动时所述物体保持在所述用户的视场内基本上相同的位置中。

23.根据权利要求18所述的系统:

其中在所述区域内的所述光流的量值比在所述区域外的所述光流的量值显著地大;以及其中被确定为具有作为所述预先确定的用户动作的特性的所述曲率的所述视频数据的所述光流的所述部分包括基本上在所述区域内的所述光流的部分。

24.根据权利要求23所述的系统,其中所述预先确定的用户动作包括当所述物体转动时对所述物体的固着。

说明书 :

视点物体选择

[0001] 相关申请
[0002] 本申请要求于2011年5月11日提交的、题为“Point-of-View Object Selection”的美国专利申请No.13/105,828的优先权,为任何目的,通过引用将其内容合并入本文。

技术领域

[0003] 本申请涉及视点物体的选择,更具体讲,涉及感测并分析用户的环境,并且智能地提供适于用户正体验的物理世界的信息。

背景技术

[0004] 诸如个人计算机、膝上型计算机、平板计算机、蜂窝电话和无数类型的具有因特网能力的设备的计算设备在现代生活的许多方面中越来越普遍。随着计算机变得更先进,将计算机生成的信息与用户的对物理世界的感知相混合的增强现实设备预计将变得更普遍。
[0005] 为了提供增强现实体验,用户在他们从事其日常生活的各个方面时可以穿戴位置和情境感知计算设备。这样的计算设备,其通常被称为“可穿戴”计算机,被配置成感测并分析用户的环境,并且智能地提供适于用户正体验的物理世界的信息。
[0006] 可穿戴计算机可以通过例如确定用户的地理位置、使用相机和/或传感器来检测在用户附近的物体、使用麦克风和/或传感器来检测用户正听见的内容、以及使用各种其他传感器来收集关于用户周围的环境的信息,来感测用户的周围环境。进一步,可穿戴计算机可以使用生物传感器来检测用户的自身身体状态。然后,可以对可穿戴计算机所收集的信息进行分析,以便确定应当向用户呈现什么信息。
[0007] 许多可穿戴计算机包括由用户穿戴的头戴式显示器(HMD)或采取该HMD的形式。HMD典型地提供靠近用户的眼睛的抬头显示器。如此,HMD还可以被称为“近目”显示器。HMD可以将计算机生成的图形(例如,文本、图像、视频等)覆盖在用户正感知的物理世界上。包括在用户的两只眼睛前面的显示器的HMD被称为“双目”HMD,而包括在仅仅一只眼睛前面的显示器的那些被称为“单目”HMD。
[0008] HMD可以使用多种技术将计算机生成的图形合并入用户的物理世界的视图中。例如,“穿视(see-through)”HMD可以在透明表面上显示图形,以使用户看见覆盖在物理世界上的图形。在另一方面,“环视(See-around)”HMD可以通过靠近用户的眼睛放置不透明显示器,以便利用在用户的眼睛之间的视力的分享并且创建显示器作为用户所看见的世界的部分的效果,来使图形覆盖在物理世界上。

发明内容

[0009] 在一个方面中,示例方法可以涉及可穿戴计算机或其他设备:(a)接收视频数据;(b)为该视频数据确定光流;(c)确定在该视频数据的光流内的区域处存在光流差;以及(d)响应于确定在该光流内的区域处存在光流差:(i)识别位于存在光流差的区域处的物体;
(ii)执行对位于存在光流差的区域处的物体的搜索;以及(iii)促使图形显示器显示与来自搜索的结果相对应的信息。
[0010] 在示例实施例中,光流差可以是可穿戴计算设备的用户的预先确定的用户动作的特性。例如,光流差可以是在用户沿着围绕物体的基本上环形路径移动时该物体保持在用户的视场内的基本上相同位置的特性。作为另一个示例,光流差可以是在物体转动时对该物体的固着的特性。在这样的实施例中,确定在该视频数据的光流内的区域处存在光流差可以涉及:(i)确定在该区域内的光流的量值与在该区域外的光流的量值显著不同;以及(ii)确定该视频数据的光流的至少部分具有作为与对物体的选择相关联的预先确定的用户动作的特性的曲率。
[0011] 在另一个方面中,公开了其上存储有指令的非暂时性计算机可读介质。所述指令可以包括:(a)用于接收视频数据的指令;(b)用于为该视频数据确定光流的指令;(c)用于确定何时在该视频数据的光流中的区域处存在光流差的指令;以及(d)用于响应于确定存在光流差,识别该视频数据中的位于光流差的区域处的物体的指令;(e)用于促使对位于光流差的区域处的物体执行搜索的指令;以及(f)用于促使图形显示器显示与来自搜索的结果相对应的信息的指令。
[0012] 在又另一个方面中,公开了可穿戴计算系统。该可穿戴计算系统可以包括:(a)到头戴式显示器的接口,其中该头戴式显示器被配置成显示与用户的视点有关的计算机生成的信息;(b)到视频数据相机的接口,该视频数据相机被配置成基本跟踪用户的视点;以及(c)板上计算系统,其被配置成:(i)为来自视频相机的视频数据确定光流;(ii)确定何时在视频数据的光流中的区域处存在光流差;(iii)响应于确定存在光流差,识别视频数据中的位于光流差的区域处的物体;(iv)执行对位于光流差的区域处的物体的搜索;以及(v)促使头戴式显示器显示与来自搜索的结果相对应的图形信息。
[0013] 通过在适当情况下参考附图,阅读下面详细描述,这些以及其他方面、优势和替选将变得对本领域技术人员显而易见。

附图说明

[0014] 图1是图示其中可以实现可穿戴计算设备的示例实施例的系统的简化框图。
[0015] 图2A是采取头戴式显示器形式的示例可穿戴计算设备的三维呈现。
[0016] 图2B是场景在其可以由包括头戴式显示器的可穿戴计算机的用户感知到时的图像。
[0017] 图2C是更详细地示出示例可穿戴计算设备的组件的简化框图。
[0018] 图3是示例光流场的图示。
[0019] 图4A是示例方法凭借其可以辨识为对在用户的视野内的特定物体的选择的预先确定的用户动作的图示。
[0020] 图4B是与图4A所图示的用户动作相对应的示例光流场的图示。
[0021] 图5A是示例方法凭借其可以辨识为对在用户的视野内的特定物体的选择的预先确定的用户动作的另一个图示。
[0022] 图5B是与图5A所图示的用户动作相对应的示例光流场的图示。
[0023] 图6是图示根据示例实施例的方法的流程图。
[0024] 图7是示出来自具有与在图4B中所示的相似的光流差的光流场的光流矢量的分布的直方图。
[0025] 图8是示出来自具有与在图4B中所示的相似的光流差的光流场的光流矢量的分布的另一个直方图。

具体实施方式

[0026] 下面的详细描述参考附图描述了所公开的系统和方法的各种特征和功能。在附图中,除非上下文另有规定,相似符号典型地标识相似组件。在本文所述的示例性系统和方法实施例并不意为限制。应当容易理解的是,可以以各种各样的不同配置来安排并组合所公开的系统和方法的某些方面,其全部均是在本文所预期的。
[0027] I.综述
[0028] 为了感测用户的环境,可穿戴计算机可以包括与用户的参考帧(frame of reference)对齐并且被安装为跟踪用户的头部的移动的“视点”视频相机。通过有效地捕捉用户在给定时间点正看见的内容,该视频可以被分析来检测在用户的视野内的物体和/或人、识别这些物体和/或人以及在HMD中显示与这些物体和/或人相对应的信息。此外,对视频的分析可以用来确定给定物体或人在用户的参考帧中所位于的地方,并且在HMD中显示对应信息,使得用户看见对应信息如同“浮”在给定物体或人上或附近般。
[0029] 作为示例,当用户在注视朋友时,用户的HMD上的视频相机可以捕捉该朋友的视频。然后,可以使用例如众所周知的面部识别技术来对该视频进行分析。如此,可以识别该朋友,并且可以显示与该朋友有关的信息,以使用户看见与其朋友接近的信息。例如,HMD可以显示该朋友的姓名、联系信息、生日等。
[0030] 虽然已开发了许多用于识别物体并且在HMD上智能地显示相关信息的技术,然而,这些技术没有提供有意义的用户交互。具体地,虽然这样的技术允许物体和人被辨识并识别,然而,它们不允许用户指定该用户感兴趣的特定物体。
[0031] 在本文所述的方法和系统通过将运动分析技术应用到视频,帮助提供对用户选择的物体的计算机辨识。这些运动分析技术检测来自视点视频相机的视频何时是与用户对物体的选择相关联的预先确定的用户动作的特性。在示例实施例中,使用光流分析来检测何时在视频中存在带有“光流差”的区域。如此,示例方法和系统可以帮助向可穿戴计算机的用户提供通过执行预先确定的动作来选择用户的视场中的物体的能力。
[0032] 示例性实施例源于某些用户动作在所选择的物体的区域中造成特性光流差的认识。作为一个示例,用户可以围绕物体转动,同时将该物体保持在其参考帧中的相同位置处(例如,在用户的视野的中心)。这可以导致在该物体处的光流的量值比在视频帧中别处的光流的量值显著地小。另外,捕捉该用户移动的视频典型地具有带有与用户环绕所选择的物体相对应的某些转动特性的光流。因此,示例方法可以涉及确定用户已选择了位于这样的光流差的区域中的特定物体,并且作为响应而执行对所选择的物体的动作。
[0033] 在本文中,应当将视频的光流理解为是从视频中的物体和用户相对于彼此的移动产生的视频中的像素的明显运动的测量。进一步,应当将光流差区域理解为意为视频中的光流的量值显著不同于视频中别处的区域。
[0034] II.示例系统和设备
[0035] 图1是图示其中可以实现可穿戴计算设备的示例实施例的系统的简化框图。如所示,网络100包括接入点104,其提供对因特网106的接入。通过接入点104提供有对因特网106的接入,可穿戴计算机102可以与各种数据源108a-c以及增强现实(AR)服务器110通信。
[0036] 可穿戴计算机102可以采取各种形式,并且如此,可以合并各种显示器类型来提供增强现实体验。在示例实施例中,可穿戴计算机102包括头戴式显示器(HMD)。例如,可穿戴计算机102可以包括带有双目显示器或单目显示器的HMD。另外,HMD的显示器可以是例如光学直视显示器、光学环视显示器或视频直视显示器。更一般地,可穿戴计算机102可以包括被配置成向其用户提供增强现实体验的任何类型的HMD。
[0037] 为了感测用户的环境和体验,可穿戴计算机102可以包括或被提供有来自各种类型的感测和跟踪设备的输入。这样的设备可以包括视频相机、静态相机、全球定位系统(GPS)接收器、红外传感器、光学传感器、生物传感器、射频识别(RFID)系统、无线传感器、加速计、陀螺仪和/或罗盘等。
[0038] 此外,可穿戴计算机102可以包括允许用户与HMD交互的集成用户接口(UI)。例如,可穿戴计算机102可以包括各种按钮和/或触摸屏接口,其允许用户提供输入。作为另一个示例,可穿戴计算机102可以包括被配置成从用户接收语音命令的麦克风。此外,可穿戴计算机102可以包括允许各种类型的用户接口设备与可穿戴计算机连接的一个或多个接口。例如,可穿戴计算机102可以为与各种手持式键盘和/或指示设备的连通性而被配置。更一般地,可穿戴计算机102可以被配置成与几乎任何类型的用户接口设备对接。
[0039] 可穿戴计算机102可以在其核心包括包含用于可穿戴计算机的处理功能的硬件的板上计算系统。具体地,板上计算系统可以至少部分作用为对感测和跟踪设备所收集的数据以及通过任何UI提供的用户输入数据进行分析,并且基于该分析,确定应当通过HMD向用户显示什么信息,以及应当如何在显示器中安排该信息。
[0040] 可穿戴计算机102可以另外或替选地依赖于外部数据源,以便对用户的环境进行分析和/或确定待显示的适当信息。具体地,虽然可穿戴计算机102可以合并板上数据存储,然而,板上存储中可用的存储器量可以由于与诸如可穿戴计算机102的可穿戴设备相关联的大小、重量和/或成本约束而被限制。如此,可穿戴计算机102可以包括有线或无线网络接口,通过其,可穿戴计算机102能够连接到因特网106并且访问数据源108a-c。可穿戴计算机102可以被配置成使用一个或多个协议,诸如802.11、802.16(WiMAX)、LTE、GSM、GPRS、CDMA、EV-DO和/或HSPDA等,来连接到因特网106。此外,可穿戴计算机102可以被配置成使用多个有线和/或无线协议来连接到因特网106。作为一个示例,许多当前设备为使用诸如CDMA、GSM或WiMAX的蜂窝通信协议的“3G”或“4G”数据连通性而被配置,以及为使用802.11的“WiFi”连通性而被配置。其他示例也是可能的。
[0041] 取决于可穿戴计算机102使用哪个协议来连接到因特网106,接入点104可以采取各种形式。例如,如果可穿戴计算机102使用802.11或通过以太网连接来连接,则接入点104可以采取无线接入点(WAP)或无线路由器的形式。作为另一个示例,如果可穿戴计算机102使用诸如CDMA或GSM协议的蜂窝空中接口协议来连接,则接入点104可以是在蜂窝网络中的基站,其通过蜂窝网络提供因特网连通性。进一步,由于可穿戴计算机102可以被配置成使用多个无线协议来连接到因特网106,因此,还可能的是,可穿戴计算机102可以被配置成通过多种类型的接入点来连接到因特网106。
[0042] 可穿戴计算机102可以被进一步配置成通过因特网(如所示)或可能通过专用网络(其可以提供更安全的连接)来连接到AR服务器110。AR服务器110,虽然是可选的,然而,可以帮助改善可穿戴计算机102的性能。具体地,由于大小、重量和/或成本约束可以限制用户所穿戴的设备的数据存储和处理能力,因此,将可穿戴计算机102的部分(或可能甚至全部)数据处理功能移到诸如AR服务器110的远程实体可以提供增加的处理能力。这对于对可穿戴计算机102的感测和/或跟踪设备所收集的数据的潜在数据密集型分析以及基于其对HMD显示器的控制来说,可以是有用的。
[0043] 在进一步方面中,AR服务器110可以包括允许对为可穿戴计算机102支持增强现实体验的数据的更快速检索的数据存储。例如,AR服务器110可以随着时间的推移收集特定于给定可穿戴计算机102的数据,其然后可以用来定制用户的体验。此外,AR服务器110可以对从在给定位置的多个不同可穿戴计算机收集的特定于位置的数据进行组合。然后,可以结合来自可穿戴计算机102的感测设备的当前数据使用这样的数据来将其HDM显示定制到可穿戴计算机102的当前位置和/或可穿戴计算机102的穿戴者的特定用户偏好和倾向。应当注意的是,可穿戴计算机102可以自身包括可穿戴计算机将类似数据存储在其中的数据存储,并且实际上可以在没有来自AR服务器的任何支持的情况下起作用。然而,由于可以限制可穿戴计算机102的板上计算系统的数据存储和处理能力的大小、重量和/或成本约束,因此,诸如AR服务器110的远程实体可以向可穿戴计算机102提供优良的数据存储和/或数据检索能力,因此可以改善可穿戴计算机102的性能。
[0044] 图2A是采取HMD形式的示例可穿戴计算设备的三维呈现。如所示,可穿戴计算设备200包括单目环视显示器202,其将计算机生成的图形覆盖在用户的物理世界的视图中。环视显示器202是可通过经由光学波导208耦接到显示器的板上计算系统204控制的。可穿戴计算设备200还包括视频相机206,其被安装在HMD的框架上并且被定向为一般地跟踪穿戴者的参考帧(即,穿戴者的视点)。此外,可穿戴计算设备200合并了板上计算系统204,其一般作用为对从视频相机206接收的数据(以及可能来自其他感测设备和/或用户接口的数据)进行分析,并且相应地控制显示器202。此外,可以通过光学波导将构成图形的数据(例如,视频、图像、文本等)从板上计算系统204转送到显示器202。
[0045] 视频相机206的类型可以根据工程设计选择来选择。如此,视频相机206可以以各种不同分辨率和/或不同帧速率(例如,变化的每秒帧数(fps))捕捉视频。许多具有小尺寸规格的视频相机,诸如在蜂窝电话、网络摄像头等中使用的那些,对本领域技术人员是众所周知的,并且可以被合并入示例可穿戴计算机。然而,应当理解的是,示例实施例并不限于任何特定类型的视频相机。
[0046] 在示例实施例中,视频相机206被安装为捕捉用户的视点。具体地,视频相机206被安装在可穿戴计算设备200上,以使其被放置并定向在与用户的眼睛相同的方向来捕捉与穿戴者的视野类似的视野。其他配置也是可能的。仅作为一个示例,视频相机可以被安装在用户的前额上或在用户的眼睛中间,并且再次被定向在与用户的眼睛相同的方向。如此被安装,视频相机跟踪用户的头部的移动,因此在给定时间点所记录的视频的视角一般地将在该时间捕捉用户的参考帧(即,用户的视野)。还可能的是,示例可穿戴计算机可以合并多个视频相机,其可以被配置成捕捉相同视野或捕捉不同视角或视野。
[0047] 在一些示例HMD中,单目视频显示器202可以被放置并且调整大小为使得正显示的图像看起来被覆盖在用户的物理世界的视图上或“浮”在用户的物理世界的视图中,因此,提供了计算机生成的信息与用户的对物理世界的感知合并和/或扩增了用户的对物理世界的感知的体验。为了这样做,板上计算系统204可以被配置成对视频相机206所捕捉到的视频片段进行分析来智能地确定(a)应当显示什么图形,(b)以及应当如何显示图形(例如,在显示器上的位置、图形的大小等)。
[0048] 图2B是场景在其可以由包括HMD的可穿戴计算机的用户感知到时的图像。具体地,这种类型的视图可以由可穿戴计算设备200的HMD提供。在该示例中,用户正在通过HMD观看城市风景,并且可穿戴计算设备200已在HMD上显示了建筑物的“标签”(例如,Merchandise Mart、300N.LaSalle Drive、Trump International Hotel and 283N.Franklin St.以及77W.Wacker Dr.)和地标的标签(例如,Chicago River)。如所示,这些标签位于它们分别识别的建筑物和地标附近,以使向用户告知了相关联的建筑物/地标名和/或地址。
[0049] 此外,根据在建筑物和用户之间的距离对在图2B中所示的标签的文本调整大小。例如,“Chicago River”标签的文本大小最大,因为其离用户最近,而“Trump International Hotel and ”的文本大小最小,因为其距用户最远。如此使标签大小变化可以帮助产生更近建筑物的标签也更近,而离得更远的建筑物的标签也离得更远的感知。应当理解的是,这只是可以被合并来提供增强现实体验的处理类型的一个示例,并且绝不意为限制,因为其仅出于说明目的而被提供。
[0050] 图2C是更详细地示出示例可穿戴计算设备的组件的简化框图。如所示,可穿戴计算机200包括至少包含一个处理器256和系统存储器258的板上计算系统204。在示例实施例中,板上计算系统204可以包括通信地连接处理器256和系统存储器258以及可穿戴计算设备200的其他组件的系统总线264。取决于所期望的配置,处理器256可以是任何处理器类型的,包括但不限于微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)或其任何组合。此外,系统存储器258可以是任何存储器类型的,包括但不限于易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或其任何组合。
[0051] 示例板上计算系统204还可以包括各种其他组件。例如,板上计算系统204包括用于连接到视频相机206的视频相机接口252、用于(通过A/V端口255)控制HMD 202的图形处理单元254、用于连接到其他计算设备272的一个或多个通信接口268、与一个或多个外部UI设备261兼容的一个或多个UI接口260以及电源262。
[0052] 此外,示例可穿戴计算设备200还可以包括一个或多个数据存储设备266,其可以是可移除存储设备、非可移除存储设备或其组合。可移除存储和非可移除存储设备的示例包括磁盘设备,诸如软盘驱动器和硬盘驱动器(HDD)、诸如光盘(CD)驱动器或数字通用盘(DVD)驱动器的光盘驱动器、固态驱动器(SSD)以及带驱动器,仅列出一些。计算机存储介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的以任何方法或技术实现的易失性和非易失性、可移除和非可移除介质。例如,计算机存储介质可以采取下述形式:RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或可以用来存储期望的信息并且可以由可穿戴计算设备200访问的任何其他介质。
[0053] 根据示例实施例,板上计算系统204包括被存储在系统存储器258中(和/或可能另一个数据存储介质中)并且可由处理器256执行来促进在本文所述的可穿戴计算设备200的功能性的程序指令。因此,在示例实施例中,板上计算系统204可以包括用于执行光流分析来确定视频相机206所捕捉到的视频的光流的程序指令270。如本领域技术人员所理解的,视频的“光流”是自在物体和视频相机之间的相对移动产生的视频中的物体的明显运动。
[0054] 此外,可穿戴计算设备200可以使用光流分析来向用户提供通过执行预先确定的用户动作来选择在其视野内的物体的能力。具体地,板上计算系统204可以被配置成辨识何时视频相机206所捕捉到的视频的光流具有与预定义的用户移动相关联的某些特性,并且基于光流的这些特性来识别用户已选择的物体。
[0055] 例如,可穿戴计算设备200可以对来自视频相机206的视点视频的光流进行分析,并且检测何时视频帧中的区域具有与在帧别处的光流的量值显著不同的量值的局部光流。当视频帧中的某一区域中的光流的量值显著不同于在视频帧别处的量值时,可以说,在视频的该区域中存在“光流差”。可穿戴计算设备200可以因此将位于光流差区域的物体识别为已被用户选择。
[0056] 用于确定光流的许多技术是本领域技术人员众所周知的。这样的技术包括(i)相位相关,(ii)基于块的方法,(iii)差分法,诸如Lucas-Kanade光流法、Horn-Schunk方法、Buxton-Buxton方法和Black Jepson方法,以及(iv)离散优化方法等。在示例实施例中,板上计算系统210可以实现Lucas-Kanade方法,其典型地对视频中的噪声不那么敏感,并且因此可以特别适于确定在数字捕捉的视频中的帧之间的光流。然而,可能的是,示例实施例可以利用用于确定光流的任何适当技术,包括但不限于任何上述技术。
[0057] 为了确定在给定时间点的光流,板上计算系统204可以应用Lucas-Kanade方法或任何其他适当技术来对在来自视频相机206的两个视频帧之间的光流进行比较。在示例实施例中,所确定的光流可以采取被存储在存储设备266中的光流数据的形式。对于给定光流确定,作为结果的光流数据可以包括由其在视频帧内的坐标识别的样本点集,并且对于每一个样本点,数据指示在该样本点处的对应光流矢量的量值和方向。在视觉上,板上计算系统204所确定的光流可以被二维地表示为“光流场”,其示出了在视频帧内的样本点集以及指示在每一个样本点处的相应光流的光流矢量。
[0058] 在进一步方面中,可穿戴计算机可以包括第二相机或可能甚至三个或更多相机。例如,可穿戴计算机可以包括安装在用户的头部的每侧上的相机和/或安装在用户的前额上(例如,在用户的眼睛中间)的一个或多个相机。可穿戴计算机然后可以使用来自所有视频相机的视频流来确定何时存在光流差。例如,被提供有来自第二相机的另外光流数据,可穿戴计算机可以能够更准确和/或更迅速地确定何时存在光流差。因此,根据示例实施例方法的可穿戴计算机可以被进一步配置成从第二视频相机接收视频、确定来自第二相机的视频的光流以及确定在第二视频中是否存在光流差。
[0059] 当使用两个相机,并且几乎同时在来自两者的视频中检测到光流差时,这证实了存在光流差的确定是准确的。然而,当在来自两个相机的视频之间存在不一致时,该不一致可以根据设计选择来解决。例如,当在一个相机中检测到光流差,但是在另一个中没有检测到时,HMD可以被配置成断定存在光流差并且相应地基于其中检测到该差的视频来进行下去。替选地,HMD可以通过假设存在错误来解决不一致,并且如此可以仅在两个视频中均存在差时,才断定存在光流差。
[0060] III.光流场的综述
[0061] 图3是示例光流场的图示。如所示,光流场300包括整个帧中的样本点,其中与每一个样本点相对应的光流矢量指示在该样本点处所确定的光流的量值和方向。
[0062] 一般地,光流场300中的每一个样本点对应于从之得到光流的视频帧中的某一像素。因此,样本点的坐标值的范围可以由正为其确定光流的视频的分辨率来定义。例如,示例光流场300向视频的光流提供640像素乘480像素(“640×480”)的分辨率。如此,光流场300中的每一个样本点可以由其在640×480视频帧内的相应坐标来识别。在所图示的示例中,例如,样本点以11×15栅格被安排,其中坐标范围从在左下角的样本点A处的[40,40]到在右上角的[600,440]。
[0063] 应当理解的是,光流场中的样本点的数量和安排可以根据工程设计选择而变化。例如,虽然示例可穿戴计算机200可以被配置成为与在光流场300中所示的相同数量的样本点确定光流,然而,可以增加样本点数量来帮助增加光流的准确性。此外,虽然光流场300中的样本点被示出为以栅格被安排并且间隔40像素,然而,光流场,为其确定光流的样本点的安排和间隔可以根据工程设计选择而变化。更进一步,为其确定光流矢量的点的数量可以随被利用的用于确定光流的特定技术而变化。
[0064] 参考回图2C,示例板上计算系统204可以被配置成从视频相机206接收现场视频馈给,并且在接收视频馈给的帧时持续地更新并分析光流。如此,板上计算系统204可以对光流持续地监视作为预先确定的用户移动的特性的光流的出现。当预先确定的用户动作指示对用户的视野内的某一物体的选择以供通过可穿戴计算设备200的搜索时,持续光流分析可以是有利的,因为其可以允许搜索结果在显示器202中的自动且基本上瞬时(例如,“实时”)显示。
[0065] 然而,应当理解的是,可以替选地周期性或间歇地更新光流。此外,还可能的是,可以响应于来自用户的如此做的指示来确定光流。例如,光流分析可以默认禁用的,并且仅在用户指示其意欲被提供搜索功能性、或意欲光流分析因另一个原因而被启用时才被启用。
[0066] IV.对应于预先确定的用户动作的示例光流场
[0067] A、在绕物体的弧形路径中的移动
[0068] 图4A是示例方法可以辨识为选择在用户的视场内的特定物体的预先确定的用户动作的图示。根据示例实施例,预先确定的用户动作是使得视点视频相机在移动期间所捕捉到的视频具有特性光流,其包括在和/或围绕用户通过用户动作选择的物体的光流差。
[0069] 图4A所图示的用户动作涉及用户402最初聚焦于物体404。用户402然后沿着基本上环形的路径406移动,当用户沿着路径406移动时将物体404保持在用户的参考帧内相同的位置中。用户402围绕物体404的移动可以由用户以各种方式来实现。例如,用户402可以仅仅绕着物体404行走,同时将该物体保持在其参考帧的中心。作为另一个示例,用户402可以保持站在基本上相同的地方,但是围绕物体404以环形运动移动其头部,同时将物体基本上保持在其视场的中心(或基本上在其视场内的固定位置中)。其他示例也是可能的。
[0070] 当在用户402沿着路径406移动时物体404保持在用户的视场内基本上相同的位置中时,物体404的明显移动(或更具体地,物体404位于视频帧中的区域中的像素的明显移动)将显著少于在帧别处的明显移动。因此,物体的区域中的光流矢量平均起来将具有比在帧别处的光流矢量小的量值,因此造成了在包括所选择的物体的区域中的光流差。因此,当可穿戴计算机检测到在某一区域中存在这样的光流差时,可穿戴计算机可以作为响应地确定哪个物体在该区域中,并且将该物体识别为被用户选择。
[0071] 在进一步方面中,当用户402以基本上环形路径406移动时,视点视频相机所捕捉到的视频的作为结果的光流场可以具有特性的转动特性。具体地,在所选择的物体的区域外的光流场可以展示与用户围绕物体404以弧形路径406移动相对应的曲率模式。在一些实施例中,可穿戴计算机可以仅在(i)在物体的区域中存在光流差以及(ii)在物体的区域外的光流具有作为围绕物体转动的特性的曲率两者时才确定特定物体已被选择。
[0072] 图4B是与图4A所图示的用户动作相对应的示例光流场的图示。具体地,图4B示出了光流场450,其中在对应于物体404的一般区域410内的光流矢量一般是比在对应于物体404的区域410外的光流矢量小的量值。进一步,光流场450的在区域410外的部分展示与用户沿着诸如路径406的弧形路径围绕物体404移动相对应的曲率模式。出于这些原因中的一个或两者,可穿戴计算机对光流场进行分析可以确定在对应于物体404的区域410中存在光流差。(注意,物体404在图4B中从启用正面的视图示出,而不是在图4A中所示的物体404的自顶而下视图。)
[0073] 如所注意的,光流场450的在区域410外的部分展示作为用户围绕物体转动同时将物体保持在其视场内基本上相同位置中的特性的曲率。具体地,当用户围绕物体404以逆时针方式转动时,表示在用户的视场中的前景的像素(例如,在由[0,0]和[640,220]所定义的矩形区域中并且在区域410外的像素)具有针对其明显运动的从左到右分量,而表示在用户的视场中的后景的像素(例如,在由[0,260]和[640,480]所定义的矩形区域中并且在区域410外的像素)具有针对其明显运动的从右到左分量。进一步,表示用户的视场左边(在前景和后景两者中)的像素具有针对其明显运动的向下分量。在另一方面,表示用户的视场右边的像素具有针对其明显运动的向下分量。
[0074] 如此,当用户围绕物体404以弧形路径移动时,作为结果的视点视频具有以下面一般方式演示明显移动的光流场450:在视频帧的右上方(例如,朝向[640,480])向上并朝左边、在视频帧的左上方(例如,朝向[0,480])向下并朝左边、在视频帧的左下方(例如,朝向[0,0])向下并朝右边、以及在视频帧的右下方(例如,朝向[640,0])向上并朝右边。进一步,光流场450中(在区域410外的区域中)的光流矢量的角度是使得光流场450展示图4B中所示的一般曲率。该一般曲率是捕捉图4A中所示这样的用户动作的视点视频的特性。
[0075] B、对转动物体的固着
[0076] 图5A是根据示例实施例可以被辨识为对特定物体的选择的预先确定的用户动作的另一个图示。具体地,图5A中所示的用户动作可以用来选择诸如物体504的移动物体,其正在用户的视场内转动,同时用户保持在基本上相同的位置中。
[0077] 具体地,当用户502保持在基本上相同的地方并且保持基本上固着于物体504时,于是,帧的其余部分,包括非移动物体506和508,将具有相对于用户比转动物体504少的明显移动。(在图5A中,在帧的其余部分中的光流矢量被示出为没有量值,然而这是不需要的)。因此,在与图5A所图示的用户动作相对应的视点视频中,在和/或围绕转动物体504的区域中的光流矢量平均起来将具有比在视频帧别处的光流矢量大得多的量值。这造成了在包括所选择的物体的视频的区域中的光流差。进一步,这样的视点视频的光流可以展示在物体504的区域中的一般曲率,其是物体转动同时用户固着于该物体而没有显著移动的特性。如此,物体504的区域中的量值和/或曲率的差异可以用来识别在物体504的区域处的光流差。
[0078] 图5A所图示的预先确定的用户动作可以对用户可以用其手捡起来的更小和/或轻量的物体尤其有用。具体地,用户可以通过将这样的物体保持在其视场内并且使该物体转动同时保持固着于其来发起搜索。该用户动作还可以通过固着于诸如旋转木马的自身转动的物体来实现。然而,应当理解的是,该用户动作并不限于任何特定用途或针对任何特定类型的物体使用。
[0079] 图5B是与图5A所图示的用户动作相对应的示例光流场的图示。具体地,图5B示出了光流场550,其中在区域552内的光流矢量的量值一般比在区域552外的光流矢量的量值更大。如此,可以确定区域552是光流差。(注意,物体504-508在图5B中从启用正面的视图示出,而不是在图5A中所示的自顶而下视图。)
[0080] 在图5B所图示的进一步方面中,自物体504的转动而产生的光流具有作为用户保持在一个地方并且固着于转动物体的特性的曲率。例如,当物体504以逆时针方式转动时,在视频左边的像素具有向下并朝右边的明显运动,而在视频右边的像素具有向上并朝左边的明显运动。
[0081] IV.示例性方法
[0082] 示例性方法一般可以涉及计算设备对来自诸如视点视频的视频的光流进行分析,并且确定何时光流对应于用于选择物体的预先确定的用户动作,诸如图4A和5A中所图示的用户动作。对光流的分析还可以识别视频中的正被选择的特定物体,以使可以对该物体采取动作。如此,示例性方法涉及采取与所选择的物体有关的动作,诸如执行对所选择的物体的搜索或提供所选择的物体的3D重构等。
[0083] 在本文,示例性方法可以作为示例被描述为由具有HMD的可穿戴计算机(例如,由这样的可穿戴计算机的板上计算系统)来实现。然而,应当理解的是,示例方法可以由任何类型的可穿戴计算机、可穿戴计算机的多个组件、通过网络与可穿戴计算机通信的一个或多个其他实体(例如,与增强现实服务器协作或在增强现实服务器的协助下)、或与一个或多个其他实体结合的可穿戴计算机,来实现。此外,可能的是,示例方法可以在除可穿戴计算机外的设备上实现。例如,示例方法可以由视频相机或装备有视频相机的移动电话来实现。在其他设备上的实现也是可能的。
[0084] 图6是图示根据示例实施例的方法的流程图。方法600作为示例被描述为由具有HMD的可穿戴计算机(例如,由这样的可穿戴计算机的板上计算系统)来实现。方法600是其中可穿戴计算机识别用户选择的物体并且作为响应执行对该物体的搜索的实施例的示例。
[0085] 更具体地,示例方法600涉及可穿戴计算机的板上计算系统从HMD上的视频相机接收视频,如块602所示。该系统然后为视频确定光流,如块604所示。在示例实施例中,该系统持续地确定并分析视频相机所捕捉到的视频的光流。如此,该系统可以确定何时在视频中的区域处存在光流差,如块606所示。响应于确定存在光流差,该系统然后识别视频中的大致位于光流差的区域中的物体,如块608所示。该系统然后执行对该物体的搜索,如块610所示,并且促使系统的显示器显示与搜索的结果相对应的图形信息,如块612所示。
[0086] A.检测光流差
[0087] 根据示例方法,该系统对视频的光流分析与产生视频中的物体的视觉隔离的预先确定的用户动作,诸如图4A和5A所图示的那些,相对应的光流差。用户可以通过其中所选择的物体在用户的参考帧内经历显著更多或更少的明显运动的动作,实现所选择的物体的视觉隔离。当可穿戴计算机包括一般跟随用户的头部的移动的视点视频相机时,通过用户的这样的视觉隔离导致显著不同于在视频别处的光流的在所选择的物体的位置处的光流。
[0088] 例如,系统可以对光流进行分析,以便检测何时存在作为用户在围绕物体的转动移动期间固着于物体的特性的光流差,诸如存在于图4B中的那个。为了这样做,系统可以确定在视频的某一区域或区内的光流矢量的量值平均起来是比在视频别处(例如,在该区域外)的光流矢量的量值显著地小。具体地,系统可以首先确定阈值量值,使得预先确定百分比的光流矢量的量值小于该阈值量值。系统然后可以确定哪些光流矢量具有小于阈值量值的量值,并且确定视频中的至少包括预先确定百分比的具有小于阈值量值的量值的光流矢量的区域。
[0089] 在一些实施例中,对存在光流差的区域的识别可以进一步涉及确定光流场具有与预先确定的用户动作相关联的曲率特性。例如,当光流场包括比在光流场别处显著大的量值的区域时,于是,可穿戴计算机可以进一步考虑在该区域外的光流是否具有作为用户围绕在该区域处的物体转动的特性的曲率。如果检测到该特性曲率,则可穿戴计算机断定在该区域存在光流差。否则,可穿戴计算机可以断定由于缺乏特性曲率(尽管有量值的显著差异),因此,不存在光流差。图4B图示了包括这种类型的光流场的光流场的特定示例。更具体地,因为下述两者:(i)区域410中的光流在量值上显著不同于光流场450别处,以及(ii)在区域410外的光流具有作为用户围绕在视频中在区域410处所示的物体转动的特性的曲率,可穿戴计算机可以断定在光流场450的区域410存在光流差。
[0090] 在进一步方面中,板上计算系统可以另外或替选地检测何时存在作为预先确定的用户动作的特性的光流差,该预先确定的用户动作诸如图5A所图示的,其中用户保持在基本上相同的位置中并且在物体正转动时固着于物体。具体地,一旦系统已确定在给定时间点的光流,该系统就可以确定在视频的某一区域内的光流矢量的量值比在视频别处(例如,在该区域外)的光流矢量的量值显著地大。该确定可以涉及HMD首先确定阈值量值,使得预先确定百分比的光流矢量的量值小于该阈值量值。HMD然后可以确定哪些光流矢量具有大于阈值量值的量值,并且确定是否存在至少包括预先确定百分比的具有大于阈值量值的量值的光流矢量的区域。
[0091] 在一些实施例中,可穿戴计算机可以进一步使对光流差的识别以特性曲率在光流场的具有比别处大的量值的区域中存在为条件。图5B图示了其中存在这样的光流差的光流场550。如此,当确定区域510平均起来是显著大的量值时,于是,可以对区域510中的光流分析作为转动物体的特性的曲率。在这种情况下,由于存在特性曲率,因此,可穿戴计算机可以断定在区域510存在光流差。
[0092] 在进一步方面中,对阈值量值的确定可以涉及系统从所确定的光流生成光流矢量的量值分布。然后,可以对该分布进行分析来确定量值,以该量值,预先确定百分比的光流矢量具有更小的量值。然后,可以将该量值设置为阈值量值。
[0093] 例如,图7是示出来自具有与在图4B中所示的相似的光流差的光流场的光流矢量的分布的直方图。在该示例中,考虑其中HMD将阈值量值设置为等于下面所述的量值的实施例:以该量值,25%的光流矢量具有更小的量值。如该直方图中所示,以阈值量值750,来自光流场的25%的光流矢量具有小于阈值量值750的量值。(注意,图7出于说明目的,因此,并不意在在数学上准确。)注意,仅作为示例提供了25%的百分比,并且用来确定阈值量值的预先确定的百分比可以根据工程设计选择而变化。
[0094] 板上计算系统然后可以对具有低于阈值量值的那些光流矢量(其可以被称为“低量值光流矢量”)的位置(即,像素坐标)进行估计,并且确定在视频中是否存在聚集了预先确定百分比的低量值光流矢量的区域。低量值光流矢量在一个区域中的聚集是作为在用户执行预先确定的用户动作时所捕捉到的典型视频的光流差,诸如图4B中所示。
[0095] 因此,当板上计算系统检测到预先确定百分比的低量值光流矢量在某一大小的区域中存在时,其可以将这当作为在该区域中存在光流差的指示。例如,系统可以将75%的低量值光流矢量在预先确定大小(例如,预先确定分辨率)的区域中的聚集认为是指示在该区域中的物体被选择的光流差。再次参考图4B作为示例,系统可以确定75%的低量值光流矢量在区域410内,因此,在区域410存在光流差。
[0096] 图8是示出来自具有与在图5B中所示的相似的光流差的光流场的光流矢量的分布的另一个直方图。作为特定示例,考虑其中系统将阈值量值设置为等于下面所述的量值的实施例:以该量值,25%的光流矢量具有更大的量值。如该直方图中所示,以阈值量值850,来自光流场800的25%的光流矢量具有大于该阈值量值的量值。(注意,图8出于说明目的,因此,并不意在在数学上准确。)再次注意,仅作为示例提供了25%的百分比,并且用来确定阈值量值的预先确定的百分比可以根据工程设计选择而变化。
[0097] 板上计算系统然后可以对具有高于阈值量值的那些光流矢量(其可以被称为“高量值光流矢量”)的位置(即,像素坐标)进行估计,并且确定在视频中是否存在聚集了预先确定百分比的高量值光流矢量的区域。高量值光流矢量在一个区域中的聚集是作为在用户执行预先确定的用户动作,诸如图5A中所示时,所捕捉到的典型视频的光流差。
[0098] 因此,当板上计算系统检测到预先确定百分比的高量值光流矢量在某一大小的区域中存在时,其可以将这当作为在该区域存在光流差的指示。例如,HMD可以将75%的高量值光流矢量在预先确定大小的区域中的聚集认为是指示在该区域中的物体被选择的光流差。参考图5B作为示例,HMD可以确定超过75%的高量值光流矢量在区域510内,因此,在区域510存在光流差。
[0099] 在一些实施例中,可以执行另外的检查来确定光流差的区域是否在预先确定的时间段内保持基本上相同的大小。例如,在用户围绕物体转动时,该用户可以保持在距物体近似相同的距离处。在这种情况下,物体的大小应当在对应的视点视频中保持基本上相同。如此,光流差的大小也应当保持基本上相同。因此,一旦光流差被识别,可穿戴计算机然后就可以确定光流差的大小,并且仅在至少预先确定的时间段内该大小保持基本上相同时才前进去识别在该光流差处的物体和/或对该物体采取动作。
[0100] B.识别光流差的区域中的物体
[0101] 一旦确定在视频的某一区域处存在光流差,HMD就前进到识别位于该区域中的物体。例如,由于区域510基本上包括物体504,因此,HMD可以将物体504识别为所选择的物体。可以以各种方式来完成这个功能。例如,可以将物体辨识技术应用到图像来识别图片中的物体,以及每一个物体的位置。具体地,可以识别构成物体的像素。然后,可以通过确定哪个物体具有与光流差的像素坐标相匹配的像素,来识别在光流差的区域处的物体。
[0102] 可以使用各种标准来确定给定物体的像素是否与光流差的像素坐标相匹配。例如,可以将光流差的区域当作为定义应当基本上包含所选择的物体的边界对待。如此,HMD可以确定来自物体的预先确定百分比的像素是否在该区域所形成的边界内。例如,当物体的至少75%在给定区域内时(即,当构成该物体的像素中的至少75%在该区域内时),可以认为该物体被包含在该给定区域内。其他示例是可能的,并且可以根据工程设计选择而变化。
[0103] 替选地,可以将光流差的区域当作选择包括在光流差的区域内的大部分像素的任何物体的光标对待。在这样的实施例中,可以确定光流差的区域,使得其是较小的区域。为了这样做,可以将用来确定阈值量值的百分比减少到5%,例如,以使减少在该差的区域中的光流矢量的数量,因此,同样减少了该区域的大小。
[0104] 在进一步方面中,为了帮助使辨识物体的过程更高效,可以将高斯模糊应用到帧中的在光流差的区域外的区域。这样做可以突出显示带有物体的区域,简化了从帧中的所有其他信息挑选出物体的过程。
[0105] 还可以应用其他技术来帮助改善物体的图像,以使对物体的搜索或其他动作可以更准确。例如,当一般地识别物体时,可以对来自视频的物体的图像执行超分辨率。作为另一个示例,也可以对物体的图像执行次像素分辨率。超分辨率和次像素分辨率两者的技术对本领域技术人员来说众所周知,因此,在本文没有更详细地进行论述。
[0106] C.对在光流差的区域中的物体采取动作
[0107] 再次参考图6的方法600,一旦已识别了在光流差的区域中的物体,就可以对该物体执行搜索。一般地,可以执行任何类型的基于图像的搜索。例如,可以使用对本领域技术人员众所周知的许多搜索技术中的一个来执行对所选择的物体的基于图像的因特网搜索。该搜索总体来说可以涉及例如对图像数据库的搜索、基于与物体相关联的文本的搜索、或另一种类型的搜索。因此,搜索结果可以包括图像、文本、超链接和/或其他类型的媒体和/或其他类型的信息。
[0108] 还可以对所识别的物体采取其他动作。例如,可以在对所识别的物体执行搜索之前在HMD中向用户突出显示或另外指示该物体。然后,可以提示用户确认应当对该物体执行搜索。例如,可以在HMD中显示视觉提示。作为另一个示例,可以通过可穿戴计算机的扬声器播放出听觉提示。用户然后可以通过例如确认应当执行搜索、指示不应当执行搜索、和/或指示应当采取某一其他动作来进行响应。在替选中,可以提示用户确认与物体有关的非搜索功能。在这样的实施例中,可以在接收了来自用户的确认时执行非搜索功能。
[0109] 在进一步方面中,可以为所选择的物体执行三维(3D)重构和/或3D搜索。如此,可穿戴计算机可以使用在用户围绕所选择的物体转动时(或当物体自身转动时)所捕捉到的视频,来生成该物体的3D重构。这样的视频典型地将提供在所选择的物体转动时捕捉所选择的物体的多个视图的视频帧序列。然后,可以应用对本领域技术人员众所周知的3D重构的技术来基于这些视频帧,生成3D重构。然后,可以应用本领域技术人员众所周知的任何3D搜索技术,以便对所选择的物体的3D重构执行3D搜索。进一步,可穿戴计算机可以被配置成自身执行搜索、或生成3D重构并且将其发送给诸如AR服务器的另一个实体来执行搜索、或将视频发送给从其生成3D重构并且为HMD执行搜索的另一个实体。
[0110] 在更进一步方面中,示例系统可以在3D重构正被创建时对3D重构进行评估,并且可以提供关于可以如何改进3D重构的反馈。具体地,可穿戴计算机可以确定是否存在在视频中尚未捕捉到、可以改进三维重构的信息。例如,考虑围绕物体转动的预先确定的用户动作可以生成包括物体的来自不同角度的多个视图的视频。然而,可能的情况是,来自不同角度的另外视图可以改进3D重构。
[0111] 如果确定尚未被捕捉到的信息可以改进3D重构,则可穿戴计算机可以提示用户例如执行可能在视频中捕捉可以改进3D重构的至少部分信息的用户动作。例如,提示可以采取下述形式:在HMD中显示的箭头,其指示用户应当围绕所选择的物体转动的方向,以便可以在视点视频中捕捉物体的另外视图。作为另一个示例,可以显示指示应当朝某一方向使所选择的物体转动的箭头。注意,在任一种情况下,箭头可以指示转动应当朝相同方向继续、或可以指示应当使转动反转。向用户提供其他类型的反馈或指令的其他类型的提示也是可能的。
[0112] 在进一步方面中,示例系统可以被配置成区分不同类型的光流差。如此,示例系统可以将不同功能与不同类型的光流差相关联。例如,示例可穿戴计算机可以被配置成区分多个类型的光流差,其至少包括第一类型和第二类型(例如,图像搜索和3D搜索)。如此,可穿戴计算机可以确定在给定时间点存在哪种类型的光流差,并且作为响应对执行对物体的搜索的方式进行调整(例如,通过取决于光流差的类型来执行图像搜索或3D搜索)。
[0113] 为了更具体地说明,在一些实施例中,作为朝任一方向围绕物体转动的特性的光流差可以触发相同动作(例如,搜索)。然而,在其他实施例中,可以将与围绕物体逆时针转动相关联的光流差映射到第一功能(例如,基本物体搜索),而可以将与顺时针转动相关联的光流差映射到第二功能(例如,物体的3D重构)。
[0114] 更进一步,可以对光流分析连续姿势,以向用户提供更细粒度的控制。例如,考虑这样的情况:刚检测到与围绕物体的转动相关联的光流差,并且刚显示了物体的搜索结果。用户然后可以使其头部倾斜,同时继续注视物体(以及对应光流被检测到),以便选择对已被搜索的物体执行的多种动作中的一个。例如,一旦检测到头部朝第一方向的倾斜的光流特性可以启动与物体相关联的网页,而检测到朝第二方向的倾斜的光流特性可以保存图像,以及检测到朝第三方向的倾斜的光流特性可以将图像加载在电子邮件消息中。许多其他姿势和功能也是可能的。
[0115] 进一步,可能的是,可以显示指导随后姿势的信息,以便协助用户。例如,可以显示指示倾斜方向的箭头,以及指示与朝给定方向的倾斜相关联的功能的文本。其他示例也是可能的。
[0116] D.在示例方法中的服务器协助
[0117] 虽然前述示例方法已主要地被描述为由可穿戴计算机(例如,由HMD)实现,然而,应当理解的是,部分或全部所述功能性可以由诸如AR服务器的远程实体实现。例如,AR服务器可以从可穿戴计算机接收视频、确定何时在视频的区域中存在光流差、识别在光流差的区域中的物体、搜索所识别的物体、然后向可穿戴计算机告知搜索结果。作为另一个示例,可穿戴计算机可以确定何时存在光流差,然后将光流数据和对应视频帧发送给AR服务器,其使用光流数据来识别哪个物体被选择,然后对所选择的物体执行基于图像的搜索。其他示例也是可能的。
[0118] 在一些实施例中,可穿戴计算机可以通过请求诸如AR服务器的远程实体为可穿戴计算机识别物体来识别物体。例如,当示例可穿戴计算机确定存在光流差时,可穿戴计算机可以被配置成将对应光流数据和从之生成该数据的视频帧发送给诸如AR服务器的远程实体。AR服务器然后可以应用物体辨识技术来识别视频帧中的物体,并且识别哪个物体位于光流差处。
[0119] 替选地,示例可穿戴计算机可以应用图像处理技术来隔离视频帧中的所选择的物体,然后将视频帧的经处理的版本发送给AR服务器以供物体识别和搜索。例如,如果光流确定技术被配置为使得差的区域基本上包含所选择的物体(例如,当将该区域作为定义围绕所选择的物体的边界对待时),则可穿戴计算机可以应用图像处理技术来突出显示光流差的区域。例如,可穿戴计算机可以模糊、移除、使明亮或另外突出显示视频帧的在光流差的区域外的所有区域。由于光流差的区域基本上包括所选择的物体,因此,突出显示该区域可以用作为隔离所选择的物体。因此,这样做可以隔离所选择的物体,以使AR服务器仅需要识别该物体是什么。
[0120] 此外,应当理解的是,在替选实施例中,可能的是,可以将示例方法和系统合并入除可穿戴计算机外的设备。例如,本领域技术人员应当理解的是,示例方法可以由具有视频记录能力的其他设备,诸如移动电话和相机(例如,视频相机或具有视频能力的静态相机),来实现。
[0121] 虽然在本文已公开了各种方面和实施例,然而,其他方面和实施例将对本领域技术人员显而易见。在本文所公开的各种方面和实施例出于说明目的,并且并不意在限制,其中真实范围和精神由所附权利要求指出。