掌桥专利:专业的专利平台
掌桥专利
首页

用于运动模糊减轻的选择性图像金字塔计算

文献发布时间:2024-04-18 20:02:18


用于运动模糊减轻的选择性图像金字塔计算

相关申请

本申请要求于2021年11月8日提交的美国临时专利申请序列号17/521,081以及于2021年5月18日提交的美国临时专利申请序列号63/189,893的优先权,上述申请中的每一个的全部内容通过引用并入本文中。

技术领域

本文公开的主题总体上涉及视觉跟踪系统。具体地,本公开内容涉及用于减轻视觉跟踪系统中运动模糊的系统和方法。

背景技术

增强现实(AR)设备使用户能够观察场景,同时看到可以与设备的视场中的项目、图像、对象或环境对准的相关虚拟内容。虚拟现实(VR)设备提供了比AR设备更沉浸式的体验。VR设备用基于VR设备的定位和取向显示的虚拟内容遮挡用户的视野。

AR和VR设备二者都依赖于跟踪设备的姿势(例如,取向、定位、位置)的运动跟踪系统。运动跟踪系统(也称为视觉跟踪系统)使用AR/VR设备的光学传感器捕获的图像来跟踪其姿势。然而,当AR/VR设备快速移动时,图像可能会变得模糊。因此,高运动模糊度会导致跟踪性能下降。替选地,高运动模糊度也会使计算操作更多,从而在高动态下保持足够的跟踪准确度和图像质量。

附图说明

为了容易地识别对任何特定元件或动作的讨论,附图标记中的一个或更多个最高位数字指代该元件被首次引入时所在的图号。

图1是示出根据一个示例实施方式的用于操作AR/VR显示设备的环境的框图。

图2是示出根据一个示例实施方式的AR/VR显示设备的框图。

图3是示出根据一个示例实施方式的视觉跟踪系统的框图。

图4是示出根据一个示例实施方式的模糊减轻模块的框图。

图5是示出根据一个示例实施方式的过程的框图。

图6是示出根据一个示例实施方式的用于减轻运动模糊的方法的流程图。

图7是示出根据一个示例实施方式的用于减轻运动模糊的方法的流程图。

图8是示出根据示例实施方式的可以在其中实现本公开内容的软件架构的框图。

图9是根据一个示例实施方式的呈计算机系统形式的机器的图解表示,在该机器内,可以执行指令集合以使机器执行本文讨论的方法中的任何一种或更多种。

图10示出了根据一个示例性实施方式的网络环境,在该网络环境中可以实现头部可穿戴装置。

具体实施方式

下面的描述描述了示出本主题的示例实施方式的系统、方法、技术、指令序列和计算机程序产品。在下面的描述中,出于说明的目的,阐述了许多具体细节,以提供对本主题的各种实施方式的理解。然而,对于本领域技术人员而言将明显的是,可以在没有这些特定细节中的一些或其他细节的情况下实践本主题的实施方式。示例仅仅代表可能的变型。除非另有明确说明,否则结构(例如,结构部件,诸如模块)是可选的,并且可以被组合或细分,并且操作(例如,在过程、算法或其他功能中)可以在顺序上变化或者被组合或细分。

术语“增强现实”(AR)在本文中用于指代真实世界环境中的交互体验,其中驻留在真实世界中的物理对象被计算机生成的数字内容(也称为虚拟内容或合成内容)“增强(augment)”或加强(enhance)。AR还可以指如下系统,该系统能够将真实世界和虚拟世界、实时交互以及虚拟对象和真实对象的3D登记结合起来。AR系统的用户感知看起来与真实世界物理对象相连或交互的虚拟内容。

本文使用的“虚拟现实”(VR)指代完全不同于真实世界环境的虚拟世界环境的模拟体验。计算机生成的数字内容被显示在虚拟世界环境中。VR还指代如下系统,该系统使VR系统的用户完全沉浸在虚拟世界环境中,并与虚拟世界环境中呈现的虚拟对象进行交互。

本文使用的术语“AR应用”指代能够实现AR体验的计算机操作的应用。本文使用的术语“VR应用”指代能够实现VR体验的计算机操作的应用。术语“AR/VR应用”指代能够实现AR体验或VR体验的组合的计算机操作的应用。

本文使用的术语“视觉跟踪系统”指代使系统能够跟踪在由视觉跟踪系统的一个或更多个摄像装置捕获的图像中识别的视觉特征的计算机操作的应用或系统。视觉跟踪系统基于跟踪的视觉特征建立真实世界环境的模型。视觉跟踪系统的非限制性示例包括:视觉同步定位和映射系统(VSLAM)和视觉里程计惯性(VIO)系统。VSLAM可以用于基于视觉跟踪系统的一个或更多个摄像装置,从环境或场景中构建目标。VIO(也称为视觉惯性跟踪系统和视觉惯性里程计系统)基于从设备的多个传感器(如光学传感器、惯性传感器)获取的数据确定设备的最新姿势(如定位和取向)。

本文使用的术语“惯性测量单元”(IMU)指代能够报告移动体的惯性状态(包括移动体的加速度、速度、取向和定位)的设备。通过整合由IMU测量的加速度和角速度,IMU能够跟踪主体的运动。IMU还可以指代分别能够确定和量化线性加速度和角速度的加速度计和陀螺仪的组合。可以处理从IMU陀螺仪获得的值,以获得IMU的俯仰、横滚和航向,从而获得与IMU相关联的主体的俯仰、横滚和航向。还可以处理来自IMU的加速度计的信号,以获得IMU的速度和位移。

AR和VR应用二者都允许用户访问信息,例如以在AR/VR显示设备(也称为显示设备)的显示器中呈现的虚拟内容的形式。虚拟内容的呈现可以基于显示设备相对于物理对象或相对于参照系(在显示设备外部)的定位,使得虚拟内容正确地出现在显示器中。对于AR,虚拟内容看起来与用户和AR显示设备的摄像装置感知到的物理对象对准。虚拟内容看起来附属于物理世界(例如,感兴趣的物理对象)。为了做到这一点,AR显示设备检测物理对象并跟踪AR显示设备相对于物理对象的定位的姿势。姿势对显示设备相对于参照系或相对于另一对象的取向和定位进行标识。对于VR,虚拟对象出现在基于VR显示设备的姿势的定位处。因此,基于设备的最新姿势来刷新虚拟内容。显示设备处的视觉跟踪系统确定显示设备的姿势。视觉跟踪系统的示例包括视觉惯性跟踪系统(也称为视觉里程计系统),其依赖于从多个传感器(例如,光学传感器、惯性传感器)获取的数据。

当摄像装置快速移动(例如快速旋转)时,由视觉跟踪系统捕获到的图像可能会模糊。图像中的运动模糊会导致(视觉跟踪系统的)跟踪性能下降。替选地,运动模糊也会使视觉跟踪系统的计算更多,以在高动态下保持足够的跟踪准确度和图像质量。

具体地,视觉跟踪系统通常基于图像特征匹配部件。在输入的视频流中,算法检测图像中不同的3D点(特征),并尝试在后续图像中重新查找(匹配)这些点。在该匹配程序中,第一图像在本文中被称为“源图像”。第二图像(例如,需要在其中匹配特征的后续图像)在本文中称为“目标图像”。

可靠的特征点通常是在图像的高对比度区域(如角或边)中检测到的。然而,对于具有内置摄像装置的头部可穿戴装置来说,摄像装置可能会随着用户摇动他/她的头而快速移动,导致用内置摄像装置捕获的图像中出现严重的运动模糊。这种快速移动会导致高对比度区域模糊不清。因此,视觉跟踪系统的特征检测和匹配阶段受到负面影响,系统的整体跟踪准确度也受到影响。

减轻运动模糊的常见策略是,如果由于运动模糊导致原始图像分辨率上的匹配失败,则对源图像和目标图像的下采样版本执行特征检测和匹配。虽然在下采样版本的图像中会丢失视觉信息,但是会减少运动模糊。因此,特征匹配变得更加可靠。通常情况下,会对图像进行多次下采样,以获得针对不同严重程度的运动模糊的不同分辨率,并且所有不同版本的集合被称为图像金字塔。缩减(downscaling)过程也被称为“图像金字塔过程”或“图像金字塔算法”。然而,图像金字塔过程耗时较长,且该过程是运算密集型的。

本申请描述了通过将图像金字塔过程选择性地应用于选择图像(而不是每个捕获的图像)来减轻运动模糊的方法。运动模糊减轻模块基于估计的运动模糊级别或预测的运动模糊级别确定在何处应用图像金字塔过程。使用视觉跟踪系统的IMU或VIO可以准确且有效地识别当前或预计的运动模糊级别,而无需分析图像的内容(像素)。分析图像像素在计算上是昂贵的。

如果(1)当前图像包括运动模糊,并且视觉跟踪系统需要在较低规模的分辨率上匹配图像的特征,或者(2)如果当前图像中的新特征预计将在未来图像中在较低分辨率上匹配,则运动模糊减轻模块确定是否将图像金字塔过程应用于当前图像,因为在不久的将来,在即将到来的图像中可能存在运动模糊。

在一个示例性实施方式中,用于视觉跟踪系统中的选择性运动模糊减轻的方法包括:访问由视觉跟踪系统的光学传感器生成的第一图像;在光学传感器生成第一图像期间识别光学传感器的摄像装置操作参数;在光学传感器生成第一图像期间确定光学传感器的运动;基于光学传感器的摄像装置操作参数和光学传感器的运动确定第一图像的运动模糊级别;以及基于运动模糊级别确定是否使用金字塔计算算法来缩减第一图像。

因此,本文描述的方法中的一种或更多种方法通过选择性地对当前图像应用计算密集型图像金字塔过程,有利于解决功耗节省的技术问题。当前描述的方法通过提供功耗减少来提供对计算机功能操作的改进。因此,本文描述的方法中的一种或更多种方法可以避免对某些努力或计算资源的需要。这样的计算资源的示例包括处理器周期、网络流量、存储器使用、数据存储容量、功耗、网络带宽和冷却容量。

图1是示出根据一些示例实施方式的适于操作AR/VR显示设备106的环境100的网络图。环境100包括用户102、AR/VR显示设备106和物理对象104。用户102操作AR/VR显示设备106。用户102可以是人类用户(例如,人类)、机器用户(例如,由软件程序配置成与AR/VR显示设备106交互的计算机)或其任何合适的组合(例如,由机器辅助的人类或由人类监督的机器)。用户102与AR/VR显示设备106相关联。

AR/VR显示设备106可以是具有显示器的计算设备,例如智能手机、平板电脑或可穿戴计算设备(例如,手表或眼镜)。计算设备可以是手持式的,或者可以可移动地安装到用户102的头部。在一个示例中,显示器包括显示用AR/VR显示设备106的摄像装置捕获的图像的屏幕。在另一示例中,设备的显示器可以是透明的,例如在可穿戴计算眼镜的镜片中。在其他示例中,显示器可以是不透明的、部分透明的、部分不透明的。在其他示例中,显示器可以由用户102佩戴以覆盖用户102的视野。

AR/VR显示设备106包括基于用AR/VR显示设备106的摄像装置检测到的图像来生成虚拟内容的AR应用。例如,用户102可以指引AR/VR显示设备106的摄像装置捕获物理对象104的图像。AR应用生成与图像中的所识别对象(例如,物理对象104)相对应的虚拟内容,并在AR/VR显示设备106的显示器中呈现该虚拟内容。

AR/VR显示设备106包括视觉跟踪系统108。视觉跟踪系统108使用例如光学传感器(例如,启用深度的3D摄像装置、图像摄像装置)、惯性传感器(例如,陀螺仪、加速度计)、无线传感器(蓝牙、Wi-Fi)、GPS传感器和音频传感器来跟踪AR/VR显示设备106相对于真实世界环境110的姿势(例如,定位和取向)。在一个示例中,AR/VR显示设备106基于AR/VR显示设备106相对于真实世界环境110和/或物理对象104的姿势来显示虚拟内容。

图1所示的机器、数据库或设备中的任何一个都可以在如下通用计算机中实现,该通用计算机被软件修改(例如,配置或编程)为专用计算机,以执行本文针对该机器、数据库或设备描述的功能中的一个或更多个功能。例如,下面参照图6至图7讨论能够实现本文描述的方法中的任何一种或更多种方法的计算机系统。如本文所使用的,“数据库”是数据存储资源,并且可以存储被结构化为文本文件、表格、电子表格、关系数据库(例如,对象-关系数据库)、三元组存储、分层数据存储或其任何合适组合的数据。此外,图1中所示的机器、数据库或设备中的任何两个或更多个可以组合成单个机器,并且本文中针对任何单个机器、数据库或设备描述的功能可以在多个机器、数据库或设备之间细分。

AR/VR显示设备106可以通过计算机网络操作。计算机网络可以是使得能够在机器、数据库和设备之间或之中进行通信的任何网络。因此,计算机网络可以是有线网络、无线网络(例如,移动或蜂窝网络)或其任何合适的组合。计算机网络可以包括构成专用网络、公共网络(例如,因特网)或其任何适当组合的一个或更多个部分。

图2是示出根据一些示例实施方式的AR/VR显示设备106的模块(例如,部件)的框图。AR/VR显示设备106包括传感器202、显示器204、处理器206和存储设备208。AR/VR显示设备106的示例包括可穿戴计算设备、移动计算设备、导航设备、便携式媒体设备或智能电话。

传感器202包括例如光学传感器214(例如,诸如彩色摄像装置、热感摄像装置、深度传感器和一个或更多个灰度、全局/滚动快门跟踪摄像装置的摄像装置)和惯性传感器212(例如,陀螺仪、加速度计、磁力计)。传感器202的其他示例包括接近或位置传感器(如近场通信、GPS、蓝牙、Wifi)、音频传感器(如麦克风)、热传感器、压力传感器(如气压计)或其任何适当组合。注意,本文描述的传感器202是用于说明的目的,并且因此传感器202不限于上述的传感器。

显示器204包括被配置成显示由处理器206生成的图像的屏幕或监视器。在一个示例实施方式中,显示器204可以是透明的或半不透明的,使得用户102可以通过显示器204观看(在AR用例中)。在另一示例实施方式中,显示器204覆盖用户102的眼睛并遮挡用户102的整个视野(在VR用例中)。在另一示例中,显示器204包括被配置成经由触摸屏显示器上的接触来接收用户输入的触摸屏显示器。

处理器206包括AR/VR应用216和视觉跟踪系统210。AR/VR应用216使用计算机视觉来检测和识别物理环境或物理对象104。AR/VR应用216基于所识别的物理对象104或物理环境来检索虚拟内容(例如,3D对象模型)。AR/VR应用216在显示器204中呈现虚拟对象。在一个示例实施方式中,AR/VR应用216包括本地呈现引擎,该本地呈现引擎生成覆盖(例如,叠加在其上或者以其他方式与其协同显示)在由光学传感器214捕获的物理对象104的图像上的虚拟内容的可视化。可以通过调整物理对象104相对于AR/VR应用显示设备106的位置(例如,其物理位置、取向或两者)来操纵虚拟内容的可视化。类似地,可以通过调整AR/VR显示设备106相对于物理对象104的姿势来操纵虚拟内容的可视化。对于VR应用,AR/VR应用216在基于AR/VR显示设备106的姿势确定的位置(在显示器204中)处在显示器204中显示虚拟内容。

视觉跟踪系统210估计AR/VR显示设备106的姿势。例如,视觉跟踪系统210使用来自光学传感器214和惯性传感器212的图像数据和对应的惯性数据来跟踪AR/VR显示设备106相对于参照系(例如,真实世界环境110)的位置和姿势。下文将结合图3对视觉跟踪系统210进行更详细的描述。

存储设备208存储虚拟内容218。虚拟内容218包括例如视觉参考(例如,物理对象的图像)和对应体验(例如,三维虚拟对象模型)的数据库。

本文描述的模块中的任何一个或更多个模块可以使用硬件(例如,机器的处理器)或硬件和软件的组合来实现。例如,本文描述的任何模块都可以将处理器配置成执行本文针对该模块描述的操作。此外,这些模块中的任何两个或更多个模块可以被组合成单个模块,并且本文中针对单个模块描述的功能可以在多个模块之间细分。此外,根据各种示例实施方式,本文描述为在单个机器、数据库或设备内实现的模块可以跨多个机器、数据库或设备分布。

图3示出了根据一个示例实施方式的视觉跟踪系统210。视觉跟踪系统210包括惯性传感器模块302、光学传感器模块304、模糊减少模块306和姿势估计模块308。惯性传感器模块302访问来自惯性传感器212的惯性传感器数据。光学传感器模块304访问来自光学传感器214的光学传感器数据(如图像、摄像装置设置/操作参数)。摄像装置操作参数的示例包括但不限于光学传感器214的曝光时间、光学传感器214的视场、光学传感器214的ISO值和光学传感器214的图像分辨率。

在一个示例实施方式中,模糊减少模块306基于来自惯性传感器212的IMU传感器数据检索光学传感器214的角速度。模糊减少模块306基于角速度和摄像装置操作参数估计运动模糊级别,而不对图像中的像素执行任何分析。

在另一个示例实施方式中,模糊减少模块306基于来自视觉跟踪系统210的当前速度估计,结合当前图像中的当前跟踪点的3D位置,考虑光学传感器214的角速度和线速度二者。例如,模糊减少模块306基于(通过跟踪当前图像中的特征点的3D位置确定的)对象的距离来确定光学传感器214的线速度以及线速度对图像的不同区域的影响。因此,(当光学传感器214移动时)距光学传感器214较近的对象比距光学传感器214较远的对象看起来更模糊。

模糊减少模块306基于运动模糊级别来缩减由光学传感器214捕获的图像。例如,模糊减少模块306确定当前图像是模糊的,并对当前图像应用图像金字塔算法以增加当前图像的对比度。

姿势估计模块308确定AR/VR显示设备106相对于参照系(例如,真实世界环境110)的姿势(例如,位置、定位、取向)。在一个示例实施方式中,姿势估计模块308包括VIO系统,该VIO系统基于来自用光学传感器214捕获的当前图像的特征点的3D图以及用惯性传感器212捕获的惯性传感器数据来估计AR/VR显示设备106的姿势。

在一个示例实施方式中,姿势估计模块308计算AR/VR显示设备106的定位和取向。AR/VR显示设备106包括安装在刚性平台(AR/VR显示设备106的框架)上的一个或更多个光学传感器214以及一个或更多个惯性传感器212。光学传感器214可以安装有非交叠(分布孔径)或交叠(立体或更多)视场。

在一些示例实施方式中,姿势估计模块308包括对来自惯性传感器212的惯性信息和来自姿势估计模块308的图像信息进行组合的算法,惯性传感器212和姿势估计模块308耦接至刚性平台(例如,AR/VR显示设备106)或成套设备(rig)。在一个实施方式中,成套设备可以由安装在刚性平台上的多个摄像装置与惯性导航单元(例如,惯性传感器212)组成。因此,成套设备可以具有至少一个惯性导航单元和至少一个摄像装置。

图4是示出根据一个示例实施方式的模糊减少模块306的框图。模糊减少模块306包括运动模糊检测引擎402和金字塔计算引擎408。运动模糊检测引擎402包括当前图像模块404和未来图像模块406。

运动模糊检测引擎402确定来自光学传感器214的图像的运动模糊级别。当前图像模块404估计当前图像的运动模糊级别。未来图像模块406估计后续图像(例如,当前图像之后的图像)的运动模糊的可能性。

在一个示例实施方式中,当前图像模块404基于摄像装置操作参数和惯性传感器212的角速度估计运动模糊。当前图像模块404从光学传感器模块304检索光学传感器214的摄像装置操作参数。例如,摄像装置操作参数包括光学传感器214在当前图像的捕获/曝光期间的设置。当前图像模块404还从惯性传感器212检索惯性传感器数据(其中惯性传感器数据是在当前图像的捕获/曝光期间生成的)。当前图像模块404从惯性传感器模块302的IMU检索角速度。在一个示例中,当前图像模块404基于在当前图像的曝光时间期间采样的惯性传感器数据,对视觉跟踪系统108的角速度进行采样。在另一个示例中,当前图像模块404基于在当前图像的曝光时间期间捕获的惯性传感器数据识别视觉跟踪系统的最大角速度。

在另一个示例实施方式中,当前图像模块404基于摄像装置操作参数、视觉跟踪系统108的角速度和线速度估计运动模糊。当前图像模块404检索从VIO数据(来自姿势估计模块308)确定的角速度。当前图像模块404从视觉跟踪系统108(来自VIO数据)检索线速度,并(基于跟踪到的特征点的3D位置)估计该线速度对当前图像的各区域的运动模糊的影响。如上文所述,距光学传感器214较近的被描绘对象显示更多的模糊,而距光学传感器214较远的被描绘对象显示较少的模糊。姿势估计模块308跟踪特征点的3D位置,并计算所计算的线速度对当前图像的各部分的影响。

在当前图像模块404确定运动模糊较高(例如,超过阈值)时,当前图像模块404通知金字塔计算引擎408继续对当前图像应用图像金字塔算法。

未来图像模块406从惯性传感器212检索惯性传感器数据(其中惯性传感器数据是在当前图像的捕获/曝光时间期间生成的),并从光学传感器模块304检索光学传感器214的摄像装置操作参数。摄像装置操作参数包括光学传感器214在当前图像的捕获/曝光期间的摄像装置设置(如曝光时间、视场、分辨率)。未来图像模块406基于摄像装置设置和(可选地)角速度估计(当前图像之后的)后续图像中的运动模糊的可能性。例如,视觉跟踪系统108可以位于较暗的环境中。因此,光学传感器214的曝光时间较长。当前图像模块404确定当前图像中的运动模糊低于阈值,因为视觉跟踪系统108当时并没有快速移动。然而,未来图像模块406确定曝光时间较长(高于预设阈值),并且只要光学传感器214移动得更快一些,(在接下来的后续图像中)运动模糊的可能性就高。因此,未来图像模块406将光学传感器214的曝光时间用作未来运动模糊的可能性的预测因子。在未来图像模块406确定未来运动模糊的可能性较高的情况下,未来图像模块406通知金字塔计算引擎408继续对当前图像应用图像金字塔算法。

金字塔计算引擎408对当前图像执行图像金字塔算法以缩减当前图像。金字塔计算引擎408将经缩减的图像提供给姿势估计模块308进行特征匹配。

图5是示出根据一个示例实施方式的示例过程的框图。视觉跟踪系统108接收来自传感器202的传感器数据,以确定视觉跟踪系统108的姿势。模糊减少模块306基于传感器数据(例如,来自IMU的角速度)或来自姿势估计模块308的VIO数据(例如,角速度和线速度估计以及跟踪到的3D点位置)以及与当前图像相关联的摄像装置操作参数(例如,曝光时间、视场、分辨率)来估计当前图像的模糊运动。在另一个示例中,模糊减少模块306基于光学传感器214的角速度/线速度和摄像装置操作参数确定当前图像之后的图像中出现运动模糊的可能性。

当模糊减少模块306确定当前图像的运动模糊超过运动模糊阈值时,模糊减少模块306请求金字塔计算引擎408对当前图像执行图像金字塔算法以缩减当前图像。虽然当前图像的运动模糊可能在运动模糊阈值内,但是模糊减少模块306仍可以确定未来图像中运动模糊的可能性超过可能性阈值。在这种情况下,模糊减少模块306请求金字塔计算引擎408对当前图像执行图像金字塔算法。

姿势估计模块308基于由模糊减少模块306提供的图像(或经缩减的图像)识别视觉跟踪系统108的姿势。姿势估计模块308向AR/VR应用216提供姿势数据。

AR/VR应用216从存储设备208中检索虚拟内容218,并基于AR/VR显示设备106的姿势使虚拟内容218显示在(显示器204中的)位置处。注意,AR/VR显示设备106的姿势也被称为视觉跟踪系统108或光学传感器214的姿势。

图6是示出根据一个示例性实施方式的用于减轻运动模糊的方法600的流程图。方法600中的操作可以由视觉跟踪系统108使用上面关于图4描述的部件(例如,模块、引擎)来执行。因此,方法600将通过参照模糊减少模块306为例进行描述。然而,应当理解,方法600的操作中的至少一些操作可以部署在各种其他硬件配置上,或者由驻留在别处的类似部件来执行。

在框602中,当前图像模块404识别与(由光学传感器214捕获的)当前图像对应的当前摄像装置操作参数。在框604中,当前图像模块404检测当前图像的曝光时间期间的(光学传感器214的)角速度。在框606中,当前图像模块404基于光学传感器214的角速度和当前摄像装置操作参数估计运动模糊级别。在决策框608中,当前图像模块404确定(当前图像的)运动模糊级别是否超过(当前图像的)运动模糊级别阈值。在框610中,当前图像模块404响应于确定(当前图像的)运动模糊级别超过(当前图像的)运动模糊级别阈值,触发向金字塔计算引擎408的对当前图像进行下采样的请求。在当前图像模块404确定(当前图像的)运动模糊级别不超过(当前图像的)运动模糊级别阈值的情况下,方法600继续进行到框A612。

要注意的是,其他实施方式可以使用不同的排序、额外的或更少的操作以及不同的命名法或术语来完成类似的功能。在一些实施方式中,各种操作可以以同步或异步的方式与其他操作并行执行。本文中描述的操作被选择来以简化的形式说明一些操作原理。

图7是示出根据一个示例实施方式的用于减轻运动模糊的方法700的流程图。方法700中的操作可以由视觉跟踪系统108使用上面关于图4描述的部件(例如,模块、引擎)来执行。因此,方法700将通过参照模糊减少模块306为例进行描述。然而,应当理解,方法700的操作中的至少一些操作可以部署在各种其他硬件配置上,或者由驻留在别处的类似部件来执行。

在框A 612处,从方法600进行到方法700。在决策框702中,当前图像模块404确定当前图像将用作用于匹配后续图像中识别的特征的源图像。在框704中,未来图像模块406基于光学传感器214的曝光时间和光学传感器214的角速度估计下一图像中的运动模糊的可能性。在决策框706中,未来图像模块406估计运动模糊的可能性超过可能性阈值。在框708中,作为决策框706的结果,未来图像模块406触发向金字塔计算引擎408的对当前图像进行下采样的请求。

图8是示出软件架构804的框图800,该软件架构804可以安装在本文中描述的设备中的任何一个或更多个上。软件架构804由诸如机器802的硬件支持,机器802包括处理器820、存储器826和I/O部件838。在该示例中,软件架构804可以被概念化为层的堆栈,在该层的堆栈中,每个层提供特定的功能。软件架构804包括诸如操作系统812、库810、框架1208和应用806的层。在操作上,应用806通过软件堆栈来调用API调用850并且响应于API调用850接收消息852。

操作系统812管理硬件资源并且提供公共服务。操作系统812包括例如:内核814、服务816、以及驱动器822。内核814用作硬件与其他软件层之间的抽象层。例如,内核814提供存储器管理、处理器管理(例如,调度)、部件管理、联网和安全设置以及其他功能。服务816可以为其他软件层提供其他公共服务。驱动器822负责控制底层硬件或与底层硬件对接。例如,驱动器822可以包括显示驱动器、摄像装置驱动器、

库810提供由应用806使用的低级别公共基础设施。库810可以包括系统库818(例如,C标准库),该系统库818提供诸如存储器分配功能、字符串操纵功能、数学功能等的功能。另外,库810可以包括API库824,例如媒体库(例如,用于支持各种媒体格式的呈现和操纵的库,所述各种媒体格式例如运动图像专家组-4(MPEG4)、高级视频编码(H.264或AVC)、运动图像专家组层-3(MP3)、高级音频编码(AAC)、自适应多速率(AMR)音频编解码器、联合图像专家组(JPEG或JPG)或便携式网络图形(PNG))、图形库(例如,用于在显示器上的图形内容中以二维(2D)和三维(3D)呈现的OpenGL框架)、数据库库(例如,提供各种关系数据库功能的SQLite)、web库(例如,提供web浏览功能的WebKit)等。库810还可以包括各种其他库828,以向应用806提供许多其他API。

框架808提供由应用806使用的高级别公共基础设施。例如,框架808提供各种图形用户接口(GUI)功能、高级资源管理和高级定位服务。框架808可以提供可以由应用806使用的广泛的其他API,其中一些API可以特定于特定操作系统或平台。

在示例实施方式中,应用806可以包括家庭应用836、联系人应用830、浏览器应用832、图书阅读器应用834、位置应用842、媒体应用844、消息收发应用846、游戏应用848、以及诸如第三方应用840的各种各样的其他应用。应用806是执行程序中限定的功能的程序。可以采用各种编程语言来创建以各种方式构造的应用806中的一个或更多个,编程语言例如面向对象的编程语言(例如,Objective-C、Java或C++)或过程编程语言(例如,C语言或汇编语言)。在特定示例中,第三方应用840(例如,由特定平台的供应商以外的实体使用ANDROID

图9是机器900的图解表示,在该机器900中可以执行用于使机器900执行本文中所讨论的任何一种或更多种方法的指令908(例如,软件、程序、应用、小程序、应用(app)或其他可执行代码)。例如,指令908可以使机器900执行本文中描述的方法中的任何一种或更多种方法。指令908将通用的未编程的机器900转换成被编程为以所描述的方式执行所描述和所示出的功能的特定机器900。机器900可以作为独立设备操作或者可以耦接(例如,联网)至其他机器。在联网部署中,机器900可以在服务器客户端网络环境中以服务器机器或客户端机器的能力进行操作,或者在对等(或分布式)网络环境中作为对等机器进行操作。机器900可以包括但不限于:服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、PDA、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能电器)、其他智能设备、web设备、网络路由器、网络交换机、网络桥接器或能够顺序地或以其他方式执行指定要由机器900采取的动作的指令908的任何机器。此外,虽然仅示出了单个机器900,但是术语“机器”还应当被视为包括单独地或联合地执行指令908以执行本文中讨论的方法中的任何一种或更多种的机器的集合。

机器900可以包括可以被配置成经由总线944彼此通信的处理器902、存储器904和I/O部件942。在示例实施方式中,处理器902(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、ASIC、射频集成电路(RFIC)、其他处理器或其任何合适的组合)可以包括例如执行指令908的处理器906和处理器910。术语“处理器”旨在包括多核处理器,该多核处理器可以包括可以同时执行指令的两个或更多个独立的处理器(有时被称为“核”)。尽管图9示出了多个处理器902,但是机器900可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器或其任何组合。

存储器904包括主存储器912、静态存储器914和存储单元916,所述主存储器912、静态存储器914和存储单元916均可由处理器902经由总线944访问。主存储器904、静态存储器914和存储单元916存储实现本文所述的方法或功能中的任何一种或更多种的指令908。指令908在其被机器900执行期间还可以完全地或部分地驻留在主存储器912内、在静态存储器914内、在存储单元916内的机器可读介质918内、在处理器902中的至少一个处理器内(例如,在处理器的高速缓存存储器内)、或者在其任何合适的组合内。

I/O部件942可以包括用于接收输入、提供输出、产生输出、传送信息、交换信息、捕获测量结果等的各种各样的部件。包括在特定机器中的具体I/O部件942将取决于机器的类型。例如,诸如移动电话的便携式机器可以包括触摸输入设备或其他这样的输入机构,而无头(headless)服务器机器可能不包括这样的触摸输入设备。应当理解,I/O部件942可以包括在图9中未示出的许多其他部件。在各种示例实施方式中,I/O部件942可以包括输出部件928和输入部件930。输出部件928可以包括视觉部件(例如,诸如等离子体显示面板(PDP)的显示器、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT))、声学部件(例如,扬声器)、触觉部件(例如,振动马达、阻力机构)、其他信号发生器等。输入部件930可以包括字母数字输入部件(例如,键盘、被配置成接收字母数字输入的触摸屏、光电键盘或其他字母数字输入部件)、基于点的输入部件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他定点仪器)、触觉输入部件(例如,物理按钮、提供触摸或触摸姿势的定位和/或力的触摸屏或者其他触觉输入部件)、音频输入部件(例如,麦克风)等。

在另外的示例实施方式中,I/O部件942可以包括生物识别部件932、运动部件934、环境部件936或定位部件938以及各种其他部件。例如,生物识别部件932包括用于检测表达(例如,手表达、面部表达、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑波)、识别人(例如,声音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件934包括加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)等。环境部件936包括例如照明传感器部件(例如,光度计)、温度传感器部件(例如,检测环境温度的一个或更多个温度计)、湿度传感器部件、压力传感器部件(例如,气压计)、听觉传感器部件(例如,检测背景噪声的一个或更多个麦克风)、接近传感器部件(例如,检测附近物体的红外传感器)、气体传感器(例如,用于检测危险气体浓度以确保安全或测量大气中污染物的气体检测传感器),或者可以提供与周围物理环境对应的指示、测量或信号的其他部件。定位部件938包括位置传感器部件(例如,GPS接收器部件)、海拔传感器部件(例如,检测气压的高度计或气压计,根据气压可以得到海拔)、取向传感器部件(例如,磁力计)等。

可以使用各种技术来实现通信。I/O部件942还包括通信部件940,通信部件1240可操作成分别经由耦接924和耦接926将机器900耦接至网络920或设备922。例如,通信部件940可以包括网络接口部件或另一合适的设备以与网络920对接。在另外的示例中,通信部件940可以包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(NFC)部件、

此外,通信部件940可以检测标识符或包括可操作以检测标识符的部件。例如,通信部件940可以包括射频识别(RFID)标签阅读器部件、NFC智能标签检测部件、光学阅读器部件(例如,用于检测诸如通用产品代码(UPC)条形码的一维条形码、诸如快速响应(QR)码的多维条形码、Aztec码、数据矩阵、数据符号(Dataglyph)、最大码(MaxiCode)、PDF417、超码(UltraCode)、UCCRSS-2D条形码和其他光学码的光学传感器)或声学检测部件(例如,用于识别标记的音频信号的麦克风)。另外,可以经由通信部件940得出各种信息,例如经由互联网协议(IP)地理定位的位置、经由

各种存储器(例如,存储器904、主存储器912、静态存储器914和/或处理器902的存储器)和/或存储单元916可以存储由本文中所描述的方法或功能中的任何一个或更多个实现或使用的一组或更多组指令和数据结构(例如,软件)。这些指令(例如,指令908)在由处理器902执行时使各种操作实现所公开的实施方式。

可以经由网络接口设备(例如,包括在通信部件940中的网络接口部件)使用传输介质并且使用多个公知的传输协议中任何一个传输协议(例如,超文本传输协议(HTTP))通过网络920来发送或接收指令908。类似地,可以使用传输介质经由耦接926(例如,对等耦接)将指令908发送或接收至设备922。

本文使用的术语“机器存储介质”、“设备存储介质”和“计算机存储介质”的含义相同,并且在本公开内容中可互换使用。这些术语指代存储可执行指令和/或数据的单个或多个存储设备和/或介质(例如,集中式或分布式数据库,和/或相关联的缓存和服务器)。因此,术语应被视为包括但不限于固态存储器以及光学和磁性介质,包括处理器内部或外部的存储器。机器存储介质、计算机存储介质和/或设备存储介质的具体示例包括:非易失性存储器,包括例如半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、现场可编程门阵列(FPGA)和闪存设备;磁盘,例如内部硬盘和可移除磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。术语“机器存储介质”、“计算机存储介质”和“设备存储介质”具体地排除了载波、调制数据信号和其他这样的介质,载波、调制数据信号和其他这样的介质中的至少一些被涵盖在术语“信号介质”中。

术语“传输介质”和“信号介质”意指相同的介质,并且可以在本公开内容中互换使用。术语“传输介质”和“信号介质”应被视为包括能够存储、编码或携载指令1416以供机器1400执行的任何无形介质,并且包括数字或模拟通信信号或其他无形介质,以促进此类软件的通信。因此,术语“传输介质”和“信号介质”应包括任何形式的调制数据信号、载波等。术语“调制数据信号”指代其各个特征中的一个或更多个特征以将信息编码在该信号中的方式来设置或改变的信号。

术语“机器可读介质”、“计算机可读介质”和“设备可读介质”意指相同的事物并且可以在本公开内容中互换使用。这些术语被定义为包括机器存储介质和传输介质二者。因此,这些术语包括存储设备/介质和载波/调制数据信号二者。

具有头部可穿戴装置的系统

图10示出了根据一个示例性实施方式的其中可以实现头部可穿戴装置1002的网络环境1000。图10是示例头部可穿戴装置1002的高级功能框图,该示例头部可穿戴装置1002经由各种网络1040通信地耦接移动客户端设备1038和服务器系统1032。

头部可穿戴装置1002包括摄像装置,诸如可见光摄像装置1012、红外发射器1014和红外摄像装置1016中的至少一个。客户端设备1038能够使用通信1034和通信1036二者与头部可穿戴装置1002连接。客户端设备1038连接至服务器系统1032和网络1040。网络1040可以包括有线和无线连接的任何组合。

头部可穿戴装置1002还包括光学组件的图像显示器1004的两个图像显示器。这两个图像显示器包括与头部可穿戴装置1002的左外侧相关联的一个图像显示器以及与头部可穿戴装置1002的右外侧相关联的一个图像显示器。头部可穿戴装置1002还包括图像显示驱动器1008、图像处理器1010、低功率低功耗电路1026以及高速电路1018。光学组件的图像显示器1004用于向头部可穿戴装置1002的用户呈现图像和视频,包括可以包括图形用户界面的图像。

图像显示驱动器1008命令和控制光学组件的图像显示器1004中的图像显示器。图像显示驱动器1008可以将图像数据直接交付给光学组件的图像显示器1004中的图像显示器以进行呈现,或者可以将图像数据转换为适合交付给图像显示设备的信号或数据格式。例如,图像数据可以是根据压缩格式(诸如H.264(MPEG-4)、HEVC、Theora、Dirac、RealVideoRV40、VP8、VP9等)格式化的视频数据,以及静止图像数据可以根据压缩格式(诸如便携式网络组(PNG)、联合摄影专家组(JPEG)、标签图像文件格式(TIFF)或可交换图像文件格式(Exif)等)而被格式化。

如上所述,头部可穿戴装置1002包括框架和从框架的横向侧延伸的柄(或镜腿)。头部可穿戴装置1002还包括用户输入设备1006(例如,触摸传感器或按压按钮),包括头部可穿戴装置1002上的输入表面。用户输入设备1006(例如,触摸传感器或按压按钮)用于从用户接收用于操纵所呈现的图像的图形用户界面的输入选择。

用于头部可穿戴装置1002的图10中所示的部件位于边框或镜腿中的一个或更多个电路板(例如,PCB或柔性PCB)上。替选地或附加地,所描绘的部件可以位于头部可穿戴装置1002的块、框架、铰链或梁架中。左方和右方可以包括数字摄像装置元件,例如,互补金属氧化物半导体(CMOS)图像传感器、电荷耦合设备、摄像装置透镜或可以用于捕获数据(包括具有未知对象的场景的图像)的任何其他相应的可见光或光捕获元件。

头部可穿戴装置1002包括存储器1022,该存储器1022存储用于执行本文所述功能的子集或全部的指令。存储器1022还可以包括存储设备。

如图10中所示,高速电路1018包括高速处理器1020、存储器1022和高速无线电路1024。在该示例中,图像显示驱动器1008耦接至高速电路1018并由高速处理器1020操作,以驱动光学组件的图像显示器1004的左图像显示器和右图像显示器。高速处理器1020可以是能够管理头部可穿戴装置1002所需的任何一般计算系统的操作和高速通信的任何处理器。高速处理器1020包括使用高速无线电路1024来管理在通信1036上到无线局域网(WLAN)的高速数据传输所需的处理资源。在某些示例中,高速处理器1020执行操作系统(诸如LINUX操作系统或头部可穿戴装置1002的其他这样的操作系统),并且操作系统被存储在存储器1022中以用于执行。除了任何其他职责之外,使用执行头部可穿戴装置1002的软件架构的高速处理器1020来管理与高速无线电路1024的数据传输。在某些示例中,高速无线电路1024被配置成实现电气和电子工程师协会(IEEE)802.11通信标准(在本文中也被称为Wi-Fi)。在其他示例中,其他高速通信标准可以通过高速无线电路1024来实现。

头部可穿戴装置1002的低功率无线电路1030和高速无线电路1024可以包括短距离收发器(Bluetooth

存储器1022包括能够存储各种数据和应用的任何存储设备,此外还包括由左红外摄像装置1016和右红外摄像装置1016和图像处理器1010生成的摄像装置数据,以及由图像显示驱动器1008在光学组件的图像显示器1004的图像显示器上生成的用于显示的图像。虽然存储器1022被示出为与高速电路1018集成,但在其他示例中,存储器1022可以是头部可穿戴装置1002的独立的单独元件。在某些这样的示例中,电路由线可以提供通过包括高速处理器1020的芯片从图像处理器1010或低功率处理器1028至存储器1022的连接。在其他示例中,高速处理器1020可以管理存储器1022的寻址,使得低功率处理器1028将在需要涉及存储器1022的读或写操作的任何时间启动高速处理器1020。

如图10所示,头部可穿戴装置1002的低功率处理器1028或高速处理器1020可以耦接至摄像装置(可见光摄像装置1012、红外发射器1014或红外摄像装置1016)、图像显示驱动器1008、用户输入设备1006(例如,触摸传感器或按压按钮)以及存储器1022。

头部可穿戴装置1002与主机计算机连接。例如,头部可穿戴装置1002经由通信1036与客户端设备1038配对或者经由网络1040连接至服务器系统1032。服务器系统1032可以是作为服务或网络计算系统的一部分的一个或更多个计算设备,例如,包括处理器、存储器和网络通信接口,以通过网络1040与客户端设备1038和头部可穿戴装置1002通信。

客户端设备1038包括处理器和耦接至处理器的网络通信接口。网络通信接口允许通过网络1040、通信1034或通信1036进行通信。客户端设备1038可以进一步将用于生成双耳音频内容的指令的至少一部分存储在客户端设备1038的存储器中,以实现本文所述的功能。

头部可穿戴装置1002的输出部件包括视觉部件诸如显示器(诸如液晶显示器(LCD)、等离子显示板(PDP)、发光二极管(LED)显示器、投影仪或波导)。光学组件的图像显示器由图像显示驱动器1008驱动。头部可穿戴装置1002的输出部件还包括声学部件(例如,扬声器)、触觉部件(例如,振动马达)、其他信号生成器等。头部可穿戴装置1002、客户端设备1038和服务器系统1032的输入部件(例如用户输入设备1006)可以包括字母数字输入部件(例如,键盘、被配置成接收字母数字输入的触摸屏、光电键盘或其他字母数字输入部件)、基于点的输入部件(例如、鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指向性工具)、触觉输入部件(例如,物理按钮、提供触摸或触摸姿势的位置和力的触摸屏或其他触觉输入部件)、音频输入部件(例如,麦克风)等。

头部可穿戴装置1002可以可选地包括附加的外围设备元件。这样的外围设备元件可以包括生物识别传感器、附加传感器或与头部可穿戴装置1002集成的显示元件。例如,外围设备元件可以包括任何I/O部件,包括输出部件、运动部件、定位部件或本文中描述的任何其他此类元件。

例如,生物识别部件包括用于检测表情(例如,手部表情、面部表情、声乐表情、身体姿势或眼球跟踪)、测量生物信号(例如,血压、心率、体温、汗液或脑电波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件包括加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)等。定位部件包括用于生成位置坐标的位置传感器部件(例如,全球定位系统(GPS)接收器部件)、用于生成定位系统坐标的WiFi或Bluetooth

在使用类似于“A、B或C中的至少之一”、“A、B和C中的至少之一”、“一个或更多个A、B或C”或“A、B和C中的一个或更多个”的短语时,意图将该短语解释为意指A可以单独存在于实施方式中,B可以单独存在于实施方式中,C可以单独存在于实施方式中,或元件A、B和C的任何组合可以存在于单个实施方式中;例如,A和B、A和C、B和C、或A和B以及C。

在不脱离本公开内容的范围的情况下,可以对所公开的实施方式进行改变和修改。这些及其他改变或修改旨在包括在所附权利要求书中所表达的本公开内容的范围内。

尽管已经参考特定示例实施方式描述了实施方式,但是将明显的是,在不脱离本公开内容的更广泛范围的情况下,可以对这些实施方式进行各种修改和改变。因此,说明书和附图被认为是说明性的而不是限制性的。形成本发明的一部分的附图通过说明而非限制的方式示出了其中可以实践主题的具体实施方式。所示的实施方式被足够详细地描述,以使得本领域技术人员能够实践本文公开的教导。可以利用并由此得出其他实施方式,使得可以在不脱离本公开内容的范围的情况下进行结构和逻辑替换和改变。因此,该具体实施方式不应当被理解为限制性意义,并且各种实施方式的范围仅由所附权利要求以及这些权利要求所赋予的等同内容的全部范围来限定。

本发明主题的这些实施方式在本文中可以单独和/或集体地通过术语“发明”来指代,这仅仅是为了方便,并且如果事实上公开了一个以上的发明或发明构思,则并不旨在自愿地将本申请的范围限制为任何单个发明或发明构思。因此,尽管本文已经示出和描述了具体实施方式,但是应当理解,被计算以实现相同目的的任何布置都可以替代所示的具体实施方式。本公开内容旨在覆盖各种实施方式的任何和所有改编或变型。在回顾上述描述后,上述实施方式和本文未具体描述的其他实施方式的组合对于本领域技术人员来说将是明显的。

提供本公开内容的摘要以允许读者快速确定本技术公开内容的性质。以这样的理解提交摘要:即摘要将不用于解释或限制权利要求的范围或含义。此外,在前面的具体实施方式中,可以看出,出于简化本公开内容的目的,各种特征在单个实施方式中被组合在一起。本公开内容的该方法不应被解释为反映所要求保护的实施方式需要比在每个权利要求中明确叙述的特征更多的特征的意图。相反,如所附权利要求书所反映的,本发明主题在于少于单个公开实施方式的所有特征。因此,所附权利要求书在此被合并到具体实施方式中,其中每个权利要求独立作为单独的实施方式。

示例

示例1是一种用于视觉跟踪系统中的选择性运动模糊减轻的方法,所述方法包括:访问由所述视觉跟踪系统的光学传感器生成的第一图像;在所述光学传感器生成所述第一图像期间识别所述光学传感器的摄像装置操作参数;在所述光学传感器生成所述第一图像期间确定所述光学传感器的运动;基于所述光学传感器的所述摄像装置操作参数和所述光学传感器的所述运动来确定所述第一图像的运动模糊级别;以及基于所述运动模糊级别确定是否使用金字塔计算算法来缩减所述第一图像。

示例2包括示例1,其中,确定所述光学传感器的所述运动包括:从所述视觉跟踪系统的惯性传感器检索惯性传感器数据,所述惯性传感器数据对应于所述第一图像;以及基于所述惯性传感器数据确定所述视觉跟踪系统的角速度,其中,所述运动模糊级别基于所述视觉跟踪系统的所述角速度和所述摄像装置操作参数,而不分析所述第一图像的内容。

示例3包括示例1,其中,确定所述光学传感器的所述运动包括:从所述视觉跟踪系统的VIO系统访问VIO数据,所述VIO数据包括所述光学传感器的估计角速度、所述光学传感器的估计线速度以及所述第一图像中的特征点的位置,其中,所述运动模糊级别基于所述摄像装置操作参数和所述VIO数据,而不分析所述第一图像的内容,其中,所述第一图像的不同区域中的运动模糊基于所述光学传感器的所述估计角速度、所述光学传感器的所述估计线速度以及相对于所述光学传感器的所述第一图像的对应不同区域中的特征点的3D位置。

示例4包括示例1,其中,所述摄像装置操作参数包括所述光学传感器的曝光时间、所述光学传感器的视场、所述光学传感器的ISO值和图像分辨率的组合。

示例5包括示例1,还包括:确定所述第一图像的运动模糊级别超过运动模糊阈值;响应于检测到所述第一图像的运动模糊级别超过所述运动模糊阈值,将所述金字塔计算算法应用于所述第一图像,以生成所述第一图像的缩减版本;以及识别所述第一图像的缩减版本中的特征。

示例6包括示例1,还包括:检测到所述第一图像的运动模糊级别在运动模糊阈值内;以及响应于检测到所述第一图像的运动模糊级别在所述运动模糊阈值内,识别所述第一图像中的特征。

示例7包括示例1,其中,确定是否缩减所述第一图像还包括:在所述光学传感器生成第二图像之前,基于所述视觉跟踪系统的所述运动和所述摄像装置操作参数,估计所述第二图像的运动模糊的可能性,所述第二图像在所述第一图像之后。

示例8包括示例7,还包括:检测到所述第二图像的运动模糊的可能性超过运动模糊阈值;响应于检测到所述第二图像的运动模糊级别的可能性超过所述运动模糊阈值,将所述金字塔计算算法应用于所述第一图像,以生成所述第一图像的缩减版本;以及识别所述第一图像的缩减版本中的特征。

示例9包括示例7,还包括:检测到所述第二图像的运动模糊的可能性在运动模糊阈值内;以及响应于检测到所述第二图像的运动模糊的可能性在所述运动模糊阈值内,识别所述第一图像中的特征。

示例10包括示例1,还包括:匹配所述第一图像的缩减版本与所述第二图像的缩减版本之间的特征点;以及基于所匹配的特征点识别所述视觉跟踪系统的姿势。

示例11是一种计算装置,包括:处理器;以及存储器,所述存储器存储指令,当由所述处理器执行所述指令时,所述指令将所述装置配置成:访问由所述视觉跟踪系统的光学传感器生成的第一图像;在所述光学传感器生成所述第一图像期间识别所述光学传感器的摄像装置操作参数;在所述光学传感器生成所述第一图像期间确定所述光学传感器的运动;基于所述光学传感器的所述摄像装置操作参数和所述光学传感器的所述运动来确定所述第一图像的运动模糊级别;以及基于所述运动模糊级别确定是否使用金字塔计算算法来缩减所述第一图像。

示例12包括示例11,其中,确定所述光学传感器的所述运动包括:从所述视觉跟踪系统的惯性传感器检索惯性传感器数据,所述惯性传感器数据对应于所述第一图像;以及基于所述惯性传感器数据确定所述视觉跟踪系统的角速度,其中,所述运动模糊级别基于所述视觉跟踪系统的所述角速度和所述摄像装置操作参数,而不分析所述第一图像的内容。

示例13包括示例11,其中,确定所述光学传感器的所述运动包括:从所述视觉跟踪系统的视觉惯性里程计系统识别角速度;使用所述视觉惯性里程计系统跟踪所述第一图像中识别的特征点的位置;以及基于所述跟踪确定线速度,其中,所述第一图像的不同区域中的运动模糊基于所述光学传感器的所述估计角速度、所述光学传感器的所述估计线速度以及相对于所述光学传感器的所述第一图像的对应不同区域中的特征点的3D位置。

示例14包括示例11,其中,所述摄像装置操作参数包括所述光学传感器的曝光时间、所述光学传感器的视场、所述光学传感器的ISO值和图像分辨率的组合。

示例15包括示例11,其中,所述指令还将所述装置配置成:确定所述第一图像的运动模糊级别超过运动模糊阈值;响应于检测到所述第一图像的运动模糊级别超过所述运动模糊阈值,将所述金字塔计算算法应用于所述第一图像,以生成所述第一图像的缩减版本;以及识别所述第一图像的缩减版本中的特征。

示例16包括示例11,其中,所述指令还将所述装置配置成:检测到所述第一图像的运动模糊级别在运动模糊阈值内;以及响应于检测到所述第一图像的运动模糊级别在所述运动模糊阈值内,识别所述第一图像中的特征。

示例17包括示例11,其中,确定是否缩减所述第一图像还包括:在所述光学传感器生成第二图像之前,基于所述视觉跟踪系统的所述运动和所述摄像装置操作参数,估计所述第二图像的运动模糊的可能性,所述第二图像在所述第一图像之后。

示例18包括示例17,其中,所述指令还将所述装置配置成:检测到所述第二图像的运动模糊的可能性超过运动模糊阈值;响应于检测到所述第二图像的运动模糊级别的可能性超过所述运动模糊阈值,将所述金字塔计算算法应用于所述第一图像,以生成所述第一图像的缩减版本;以及识别所述第一图像的缩减版本中的特征。

示例19包括示例17,其中,所述指令还将所述装置配置成:检测到所述第二图像的运动模糊的可能性在运动模糊阈值内;以及响应于检测到所述第二图像的运动模糊的可能性在所述运动模糊阈值内,识别所述第一图像中的特征。

示例20是一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质包括指令,所述指令在由计算机执行时使所述计算机:访问由视觉跟踪系统的光学传感器生成的第一图像;在所述光学传感器生成所述第一图像期间识别所述光学传感器的摄像装置操作参数;在所述光学传感器生成所述第一图像期间确定所述光学传感器的运动;基于所述光学传感器的所述摄像装置操作参数和所述光学传感器的所述运动来确定所述第一图像的运动模糊级别;以及基于所述运动模糊级别确定是否使用金字塔计算算法来缩减所述第一图像。

技术分类

06120116576728