CN117321635A - 用于多级别特征跟踪的直接尺度级别选择 - Google Patents
用于多级别特征跟踪的直接尺度级别选择 Download PDFInfo
- Publication number
- CN117321635A CN117321635A CN202280036061.6A CN202280036061A CN117321635A CN 117321635 A CN117321635 A CN 117321635A CN 202280036061 A CN202280036061 A CN 202280036061A CN 117321635 A CN117321635 A CN 117321635A
- Authority
- CN
- China
- Prior art keywords
- image
- level
- optical sensor
- motion blur
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000033001 locomotion Effects 0.000 claims abstract description 186
- 230000003287 optical effect Effects 0.000 claims abstract description 140
- 238000000034 method Methods 0.000 claims abstract description 55
- 230000000007 visual effect Effects 0.000 claims abstract description 41
- 230000008859 change Effects 0.000 claims abstract description 30
- 230000000116 mitigating effect Effects 0.000 claims abstract description 24
- 230000015654 memory Effects 0.000 claims description 41
- 238000004422 calculation algorithm Methods 0.000 claims description 27
- 238000004891 communication Methods 0.000 description 34
- 238000004364 calculation method Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 230000009467 reduction Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 239000008186 active pharmaceutical agent Substances 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 6
- 238000003384 imaging method Methods 0.000 description 6
- 235000004035 Cryptotaenia japonica Nutrition 0.000 description 5
- 102000007641 Trefoil Factors Human genes 0.000 description 5
- 235000015724 Trifolium pratense Nutrition 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000012800 visualization Methods 0.000 description 3
- 230000036772 blood pressure Effects 0.000 description 2
- 230000036760 body temperature Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 230000008921 facial expression Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 210000003128 head Anatomy 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000005693 optoelectronics Effects 0.000 description 2
- 150000003071 polychlorinated biphenyls Chemical class 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000004266 retinal recognition Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 241000278713 Theora Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000356 contaminant Substances 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003331 infrared imaging Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000008261 resistance mechanism Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Studio Devices (AREA)
Abstract
描述了用于减轻视觉惯性跟踪***中的运动模糊的方法。在一方面,该方法包括:访问由视觉跟踪***的光学传感器生成的第一图像,访问由视觉跟踪***的光学传感器生成的第二图像,第二图像在第一图像之后,确定第一图像的第一运动模糊级别,确定第二图像的第二运动模糊级别,识别第一图像与第二图像之间的尺度变化,基于第一运动模糊级别和尺度变化来确定用于第一图像的第一最优尺度级别,以及基于所述第二运动模糊级别和尺度变化来确定用于第二图像的第二最优尺度级别。
Description
相关申请
本申请要求于2021年11月8日提交的美国申请序列第17/521,109号的优先权的权益,该美国申请要求于2021年5月18日提交的美国临时专利申请序列第63/190,101号的优先权,所述美国申请和美国临时专利申请中的每一个通过引用整体并入本文。
技术领域
本文公开的主题总体上涉及视觉跟踪***。具体地,本公开内容涉及用于减轻视觉惯性跟踪***中的运动模糊的***和方法。
背景技术
增强现实(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示出了根据一个实施方式的主题的第三情形的示例。
图11示出了根据一个实施方式的主题的第四情形的示例。
图12示出了根据一个实施方式的主题的第五情形的示例。
图13示出了根据一个实施方式的用于运动模糊减轻的伪代码的示例。
图14示出了根据一个实施方式的用于运动模糊减轻的算法的示例。
图15示出了根据一个示例实施方式的可以在其中实现头戴式装置的网络环境。
图16是示出根据示例实施方式的可以在其中实现本公开内容的软件架构的框图。
图17是根据一个示例实施方式的呈计算机***形式的机器的图解表示,在该机器内,可以执行指令集合以使机器执行本文讨论的方法中的任何一种或更多种。
具体实施方式
下面的描述描述了示出本主题的示例实施方式的***、方法、技术、指令序列和计算机程序产品。在下面的描述中,出于说明的目的,阐述了许多具体细节以提供对本主题的各种实施方式的理解。然而,对于本领域技术人员而言将明显的是,可以在没有这些特定细节中的一些或其他细节的情况下实践本主题的实施方式。示例仅仅代表了可能的变化。除非另有明确说明,否则结构(例如,结构部件,诸如模块)是可选的,并且可以被组合或细分,并且操作(例如,在过程、算法或其他功能中)可以在顺序上变化或者被组合或细分。
术语“增强现实”(AR)在本文中用于指真实世界环境的交互体验,其中存在于真实世界中的物理对象被计算机生成的数字内容(也被称为虚拟内容或合成内容)“增强”或加强。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显示设备的姿势的位置处。因此,基于设备的最新姿势来刷新虚拟内容。显示设备处的视觉跟踪***确定显示设备的姿势。视觉跟踪***的示例包括依赖于从多个传感器(例如,光学传感器、惯性传感器)获取的数据的视觉惯性跟踪***(例如,VIO***)。
在摄像装置快速移动(例如,快速旋转)的情况下,视觉跟踪***所捕获的图像可能会模糊。图像中的运动模糊可以导致(视觉跟踪***的)下降的跟踪性能。可替选地,运动模糊还可以导致视觉跟踪***的更高的计算操作以在高动态下保持足够的跟踪准确度和图像质量。
特别地,视觉跟踪***通常基于图像特征匹配部件。在传入的视频流中,算法检测图像(特征)中的不同3D点,并且尝试在后续图像中重新找到(匹配)这些点。该匹配过程中的第一图像在本文中被称为“源图像”。第二图像(例如,要在其中匹配特征的后续图像)在本文中被称为“目标图像”。
可靠的特征点通常是在图像的高对比度区域(例如,角或边缘)中检测到的。然而,对于具有内置摄像装置的头戴式装置,摄像装置可能会随着用户摇动他/她的头而迅速移动,从而导致用内置摄像装置捕获的图像中的严重运动模糊。这样的快速运动导致模糊的高对比度区域。因此,视觉跟踪***的特征检测与匹配阶段受到负面影响,并且***的整体跟踪准确度遭受影响。
减轻运动模糊的常见策略是,如果在原始图像分辨率上的匹配由于运动模糊而失败,则在源图像和目标图像的下采样版本上执行特征检测与匹配。在视觉信息在下采样图像版本中丢失的情况下,运动模糊减少。因此,特征匹配变得更加可靠。通常,对图像进行多次下采样以针对不同严重程度的运动模糊获得不同的分辨率,并且所有不同版本的集合被称为图像金字塔。降尺度处理(downscaling process)还被称为“图像金字塔处理”或“图像金字塔算法”。然而,图像金字塔处理会是耗时的,并且该处理是计算密集的。
典型的图像金字塔算法对源图像和目标图像的多个级别执行迭代降尺度处理,直到来自源图像的降尺度级别的特征与来自目标图像的降尺度级别的特征匹配。例如,在从精细到粗糙的处理中,图像金字塔算法从最精细的级别(最高图像分辨率)开始并且继续直到成功匹配。在从粗糙到精细的处理中,图像金字塔算法从最粗糙的级别(最低图像分辨率)开始并且在匹配失败时停止。在任何一种情况下,图像金字塔算法在许多的多个级别上执行匹配。
本申请描述了识别用于特征匹配的最优尺度级别的方法。代替尝试在图像金字塔算法的每个尺度级别上匹配特征直到检测到成功匹配,当前描述的方法基于多个输入(例如,运动模糊估计和预测的尺度变化(scale change))在匹配处理之前预测用于特征匹配的最优尺度级别。因此,针对每个特征,每个图像仅需要一次匹配尝试,从而结果是更短的处理时间。
在一个示例实施方式中,本申请描述了用于减轻视觉惯性跟踪***中的运动模糊的方法。该方法包括:访问由视觉跟踪***的光学传感器生成的第一图像,访问由视觉跟踪***的光学传感器生成的第二图像,第二图像在第一图像之后,确定第一图像的第一运动模糊级别,确定第二图像的第二运动模糊级别,识别第一图像与第二图像之间的尺度变化(scale change),基于第一运动模糊级别和尺度变化来确定用于第一图像的第一最优尺度级别,以及基于第二运动模糊级别和尺度变化来确定用于第二图像的第二最优尺度级别。
因此,本文描述的一种或更多种方法通过识别图像金字塔处理对当前图像的最优尺度级别,有助于解决功耗节省的技术问题。当前描述的方法通过提供功耗降低同时仍然保持视觉惯性跟踪对运动模糊的鲁棒性来提供对计算机功能操作的改进。因此,本文描述的方法中的一种或更多种方法可以避免对某些努力或计算资源的需要。这样的计算资源的示例包括处理器周期、网络流量、存储器使用、数据存储容量、功耗、网络带宽和冷却能力。
图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包括例如光学传感器212(例如,诸如彩色摄像装置、热像仪、深度传感器和一个或多个灰度、全局/滚转快门跟踪摄像装置的摄像装置)和惯性传感器210(例如,陀螺仪、加速度计、磁力计)。传感器202的其他示例包括接近传感器或位置传感器(例如,近场通信、GPS、蓝牙、Wi-Fi)、音频传感器(例如,麦克风)、热传感器、压力传感器(例如,气压计)或其任何合适的组合。注意,本文中描述的传感器202是出于说明的目的,并且因此传感器202不限于上面所描述的传感器。
显示器204包括被配置成显示由处理器206生成的图像的屏幕或监视器。在一个示例实施方式中,显示器204可以是透明的或半不透明的,使得用户102可以透过显示器204观看(在AR用例中)。在另一示例实施方式中,显示器204覆盖用户102的眼睛并遮挡用户102的整个视野(在VR用例中)。在另一示例中,显示器204包括被配置成经由触摸屏显示器上的接触来接收用户输入的触摸屏显示器。
处理器206包括AR/VR应用214和视觉跟踪***108。AR/VR应用214使用计算机视觉来检测和识别物理环境或物理对象104。AR/VR应用214基于所识别的物理对象104或物理环境来检索虚拟内容(例如,3D对象模型)。AR/VR应用214在显示器204中呈现虚拟对象。在一个示例实施方式中,AR/VR应用214包括本地渲染引擎,该本地渲染引擎生成覆盖(例如,叠加在其上或者以其他方式与其协同显示)在由光学传感器212捕获的物理对象104的图像上的虚拟内容的可视化。可以通过调整物理对象104相对于AR/VR显示设备106的定位(例如,其物理位置、取向或两者)来操纵虚拟内容的可视化。类似地,可以通过调整AR/VR显示设备106相对于物理对象104的姿势来操纵虚拟内容的可视化。对于VR应用,AR/VR应用214在基于AR/VR显示设备106的姿势确定的(在显示器204中的)位置处在显示器204中显示虚拟内容。
视觉跟踪***108估计AR/VR显示设备106的姿势。例如,视觉跟踪***108使用来自光学传感器212和惯性传感器210的图像数据和对应的惯性数据来跟踪AR/VR显示器设备106相对于参照系(例如,真实世界环境110)的位置和姿势。下面参照图3更详细地描述视觉跟踪***108。
存储设备208存储虚拟内容216。虚拟内容216包括例如视觉参照(例如,物理对象的图像)和对应的体验(例如,三维虚拟对象模型)的数据库。
本文描述的模块中的任何一个或更多个模块可以使用硬件(例如,机器的处理器)或硬件和软件的组合来实现。例如,本文描述的任何模块都可以将处理器配置成执行本文针对该模块描述的操作。此外,这些模块中的任何两个或更多个可以组合成单个模块,并且本文针对单个模块描述的功能可以在多个模块之间细分。此外,根据各种示例实施方式,本文描述为在单个机器、数据库或设备内实现的模块可以跨多个机器、数据库或设备分布。
图3示出了根据一个示例实施方式的视觉跟踪***108。视觉跟踪***108包括惯性传感器模块302、光学传感器模块304、模糊减轻模块306和姿势估计模块308。惯性传感器模块302访问来自惯性传感器210的惯性传感器数据。光学传感器模块304访问来自光学传感器212的光学传感器数据(例如,图像、摄像装置设置/操作参数)。摄像装置操作参数的示例包括但不限于光学传感器212的曝光时间、光学传感器212的视野、光学传感器的ISO值和光学传感器212的图像分辨率。
在一个示例实施方式中,模糊减轻模块306基于来自惯性传感器210的IMU传感器数据来确定光学传感器212的角速度。模糊减轻模块306在不执行对图像中的像素的任何分析的情况下基于角速度和摄像装置操作参数来估计运动模糊级别。
在另一示例实施方式中,模糊减轻模块306基于来自视觉跟踪***108的当前速度估计,结合当前图像中当前跟踪的点的3D位置,来考虑光学传感器212的角速度和线速度两者。例如,模糊减轻模块306基于当前图像中对象(距离光学传感器212)的距离(例如,由特征点的3D位置确定)来确定光学传感器212的线速度以及线速度对当前图像的不同区域的影响。因此,更靠近光学传感器212的对象看起来比距离光学传感器212更远的对象更加模糊(在光学传感器212正在移动的情况下)。
模糊减轻模块306基于图像的运动模糊级别来将由光学传感器212捕获的图像降尺度(downscale)。例如,模糊减轻模块306确定当前图像是模糊的,并且将图像金字塔算法应用于当前图像以增加对比度。在一个示例实施方式中,模糊减轻模块306识别用于特征匹配的最优尺度级别。代替尝试在图像金字塔算法的每个尺度级别上匹配特征直到检测到成功匹配,模糊减轻模块306基于运动模糊估计和预测的尺度变化在匹配处理之前预测用于特征匹配的最优尺度级别。估计的运动模糊越高,用于特征匹配的最优分辨率越低。源图像与目标图像之间的尺度变化越高,对图像金字塔算法的最优尺度级别的调整越多。通过针对源图像和针对目标图像预测最优尺度级别,模糊减轻模块306对每个图像仅执行一次特征匹配尝试,从而结果是更短的处理时间。下面参照图4更详细地描述模糊减轻模块306的示例部件。
姿势估计模块308确定AR/VR显示设备106相对于参照系(例如,真实世界环境110)的姿势(例如,位置、定位、取向)。在一个示例实施方式中,姿势估计模块308包括VIO***,该VIO***基于来自用光学传感器212捕获的当前图像的特征点的3D图和用惯性传感器210捕获的惯性传感器数据来估计AR/VR显示设备106的姿势。
在一个示例实施方式中,姿势估计模块308计算AR/VR显示设备106的定位和取向。AR/VR显示设备106包括与一个或更多个惯性传感器210一起安装在刚性平台(AR/VR显示设备106的框架)上的一个或更多个光学传感器212。光学传感器212可以安装有非交叠的(分布式孔径)或交叠的(立体或更多)视野。
在一些示例实施方式中,姿势估计模块308包括对来自惯性传感器210的惯性信息和来自姿势估计模块308的图像信息进行组合的算法,其中惯性传感器210和姿势估计模块308耦接至刚性平台(例如,AR/VR显示设备106)或拍摄支架(rig)。在一个实施方式中,拍摄支架可以由与惯性导航单元(例如,惯性传感器210)一起安装在刚性平台上的多个摄像装置组成。因此,拍摄支架可以具有至少一个惯性导航单元和至少一个摄像装置。
图4是示出根据一个示例实施方式的模糊减轻模块306的框图。模糊减轻模块306包括运动模糊估计模块402、尺度变化估计模块404、最优尺度计算模块406、金字塔计算引擎408和特征匹配模块410。
运动模糊估计模块402针对来自光学传感器212的图像估计运动模糊级别。在一个示例实施方式中,运动模糊估计模块402基于(从光学传感器模块304获得的)摄像装置操作参数和(从惯性传感器模块302获得的)惯性传感器210的角速度来估计运动模糊。运动模糊估计模块402从光学传感器模块304检索光学传感器212的摄像装置操作参数。例如,摄像装置操作参数包括光学传感器模块304在当前图像的捕获/曝光时间期间的设置。运动模糊估计模块402还从惯性传感器210检索惯性传感器数据(其中惯性传感器数据是在当前图像的捕获/曝光时间期间生成的)。运动模糊估计模块402从惯性传感器模块302的IMU检索角速度。在一个示例中,运动模糊估计模块402基于在当前图像的曝光时间期间采样的惯性传感器数据来对惯性传感器210的角速度进行采样。在另一示例中,运动模糊估计模块402基于在当前图像的曝光时间期间捕获的惯性传感器数据来识别惯性传感器210的最大角速度。
在另一示例实施方式中,运动模糊估计模块402基于视觉跟踪***108的摄像装置操作参数、角速度和线速度来估计运动模糊。运动模糊估计模块402从(来自姿势估计模块308的)VIO数据检索角速度。运动模糊估计模块402(从VIO数据)检索线速度,并且基于当前图像中特征点的3D位置来估计其对当前的各个区域中的运动模糊的影响。如上面先前描述的,所描绘的更靠近光学传感器212的对象示出为更模糊,而所描绘的距离光学传感器212更远的对象示出为不太模糊。姿势估计模块308跟踪特征点的3D位置,并且计算所计算的线速度对当前图像的各个部分的影响。
尺度变化估计模块404通过跟踪由姿势估计模块308提供的特征点的3D位置来估计源图像与目标图像之间的尺度变化。例如,(在源图像和目标图像中)所匹配的特征点的位置变化可以指示光学传感器212正在靠近或远离场景移动。
最优尺度计算模块406基于所估计的运动模糊和尺度变化来确定用于金字塔计算引擎408的最优尺度级别。图8至图12示出了最优尺度计算模块406的操作的不同情形的示例。
在图8中,运动模糊估计模块402估计在源图像和目标图像两者中不存在运动模糊。尺度变化估计模块404估计源目标与图像目标之间的尺度没有改变。因此,最优尺度计算模块406确定用于源图像和目标图像两者的最优尺度级别保持在最低级别(例如,全分辨率),并且因此在这种情况下不执行降尺度。
在图9中,运动模糊估计模块402检测到源图像和目标图像两者中的运动模糊。尺度变化估计模块404估计源目标与图像目标之间的尺度没有改变。因此,最优尺度计算模块406确定用于源图像和目标图像两者的最优尺度级别是第一尺度级别。
在图10中,运动模糊估计模块402检测到源图像和目标图像两者中不存在运动模糊。尺度变化估计模块404估计源目标与图像目标之间的尺度已经改变,因为目标图像中的特征点远离源图像中的特征点。因此,最优尺度计算模块406确定用于源图像的源最优尺度级别增加至第一尺度级别,而用于目标图像的目标最优尺度级别保持在全分辨率。
在图11中,运动模糊估计模块402检测到源图像和目标图像两者中不存在运动模糊。尺度变化估计模块404估计源目标与图像目标之间的尺度已经改变,因为源图像中的特征点远离目标图像中的特征点。因此,最优尺度计算模块406确定用于源图像的源最优尺度级别保持在全分辨率,而用于目标图像的目标最优尺度级别增加至第一尺度级别。
在图12中,运动模糊估计模块402检测到源图像和目标图像两者中均存在运动模糊。尺度变化估计模块404估计源目标与图像目标之间的尺度已经改变,因为源图像中的特征点远离目标图像中的特征点。因此,最优尺度计算模块406确定用于源图像的源最优尺度级别增加至第一尺度级别,而用于目标图像的目标最优尺度级别增加至第二尺度级别。
金字塔计算引擎408以源最优尺度级别将图像金字塔算法应用于源图像以生成源图像的降尺度版本。金字塔计算引擎408以目标最优尺度级别将图像金字塔算法应用于目标图像以生成目标图像的降尺度版本。在最优尺度级别与图像的全分辨率对应的其他示例中,金字塔计算引擎408不将图像金字塔算法应用于图像。
特征匹配模块410基于由最优尺度计算模块406确定的对应最优尺度级别来匹配源图像的降尺度版本与目标图像的降尺度版本之间的特征。在一个示例中,特征匹配模块410匹配源图像的全分辨率版本与目标图像的降尺度版本之间的特征。在另一示例中,特征匹配模块410匹配源图像的降尺度版本与目标图像的全分辨率版本之间的特征。
图5是示出根据一个示例实施方式的示例处理的框图。视觉跟踪***108从传感器202接收传感器数据以确定视觉跟踪***108的姿势。模糊减轻模块306基于传感器数据(例如,来自IMU或VIO的角速度、来自姿势估计模块308的VIO数据的线速度)以及与源图像和目标图像相关联的摄像装置操作参数(例如,曝光时间、视野、分辨率)来估计源图像和目标图像的运动模糊。模糊减轻模块306还通过使用由姿势估计模块308提供的VIO数据(例如,3D点、姿势)来估计源图像与目标图像之间的尺度变化。模糊减轻模块306基于源图像的运动模糊以及源图像与目标图像之间的尺度变化来识别用于源图像的金字塔计算引擎408的源最优尺度级别。模糊减轻模块306基于目标图像的运动模糊以及源图像与目标图像之间的尺度变化来识别用于目标图像的金字塔计算引擎408的目标最优尺度级别。
金字塔计算引擎408将图像金字塔算法应用于源图像从而以源最优尺度级别将源图像降尺度。金字塔计算引擎408将图像金字塔算法应用于目标图像从而以目标最优尺度级别将目标图像降尺度。金字塔计算引擎408向姿势估计模块308提供源图像的降尺度版本/全版本和目标图像的降尺度版本/全版本。
姿势估计模块308基于金字塔计算引擎408提供的全分辨率或降尺度的图像来识别视觉跟踪***108的姿势。姿势估计模块308向AR/VR应用214提供姿势数据。
AR/VR应用214从存储设备208检索虚拟内容216,并且基于AR/VR显示设备106的姿势使虚拟内容216显示在(显示器204中的)某个位置处。注意,AR/VR显示设备106的姿势还被称为视觉跟踪***108或光学传感器212的姿势。
图6是示出根据一个示例实施方式的用于减轻运动模糊的方法600的流程图。方法600中的操作可以由视觉跟踪***108使用上面关于图4描述的部件(例如,模块、引擎)来执行。因此,通过参照模糊减轻模块306以示例方式来描述方法600。然而,应当理解,方法600的操作中的至少一些操作可以部署在各种其他硬件配置上或者由驻留在其他地方的类似部件来执行。
在块602中,运动模糊估计模块402估计源图像中的源运动模糊级别。在块604中,运动模糊估计模块402估计目标图像中的目标运动模糊级别。在块606中,尺度变化估计模块404识别源图像与目标图像之间的尺度变化。在块608中,最优尺度计算模块406基于源运动模糊级别和尺度变化来确定用于源图像的源最优尺度级别。在块610中,最优尺度计算模块406基于目标运动模糊级别和尺度变化来确定用于目标图像的目标最优尺度级别。在块612中,最优尺度计算模块406基于源最优尺度级别和目标最优尺度级别中的最大值来确定选定的尺度级别。在块614中,金字塔计算引擎408基于选定的尺度级别来更新源最优尺度级别和目标最优尺度级别。方法600继续到块A616。
要注意的是,其他实施方式可以使用不同的排序、额外的或更少的操作以及不同的命名法或术语来完成类似的功能。在一些实施方式中,各种操作可以以同步或异步的方式与其他操作并行执行。本文描述的操作被选择来以简化的形式说明一些操作原理。
图7是示出根据一个示例实施方式的用于减轻运动模糊的方法700的流程图。方法600中的操作可以由视觉跟踪***108使用上面关于图4描述的部件(例如,模块、引擎)来执行。因此,通过参照模糊减轻模块306以示例方式来描述方法600。然而,应当理解,方法600的操作中的至少一些操作可以部署在各种其他硬件配置上或者由驻留在其他地方的类似部件来执行。
方法700在块A616处从方法600继续。在块702中,金字塔计算引擎408以源最优尺度级别将源图像降尺度。在块704中,金字塔计算引擎408以目标最优尺度级别将目标图像降尺度。在块706中,特征匹配模块410在降尺度的源图像中识别源特征。在块708中,特征匹配模块410在降尺度的目标图像中识别目标特征。在块710中,特征匹配模块410将源特征与目标特征进行匹配。在块712中,姿势估计模块308基于匹配的特征来确定姿势。
图8示出了根据一个实施方式的主题的第一情形的示例。
图9示出了根据一个实施方式的主题的第二情形的示例。
图10示出了根据一个实施方式的主题的第三情形的示例。
图11示出了根据一个实施方式的主题的第四情形的示例。
图12示出了根据一个实施方式的主题的第五情形的示例。
图13示出了根据一个实施方式的用于运动模糊减轻的伪代码的示例。
图14示出了根据一个实施方式的用于运动模糊减轻的算法的示例。
具有头戴式装置的***
图15示出了根据一个示例实施方式的可以在其中实现头戴式装置1502的网络环境1500。图15是经由各种网络1540通信地耦接移动客户端设备1538和服务器***1532的示例性头戴式装置1502的高级别功能框图。
头戴式装置1502包括摄像装置,例如可见光摄像装置1512、红外发射器1514和红外摄像装置1516中的至少一个。客户端设备1538可以能够使用通信1534和通信1536两者与头戴式装置1502连接。客户端设备1538连接至服务器***1532和网络1540。网络1540可以包括有线连接和无线连接的任何组合。
头戴式装置1502还包括光学组件的图像显示器1504的两个图像显示器。这两个图像显示器包括与头戴式装置1502的左侧相关联的一个图像显示器以及与右侧相关联的一个图像显示器。头戴式装置1502还包括图像显示驱动器1508、图像处理器1510、低功耗的低功率电路***1526和高速电路***1518。光学组件的图像显示器1504用于向头戴式装置1102的用户呈现图像和视频,包括可以包括图形用户界面的图像。
图像显示驱动器1508命令并控制光学组件的图像显示器1504的图像显示。图像显示驱动器1508可以将图像数据直接传送至光学组件的图像显示器1504中的图像显示器以进行呈现,或者必须将图像数据转换为适合传送至图像显示设备的信号或数据格式。例如,图像数据可以是根据诸如H.264(MPEG-4Part 10)、HEVC、Theora、Dirac、RealVideo RV40、VP8、VP9等的压缩格式被格式化的视频数据,并且静止图像数据可以根据诸如便携式网络组(PNG)、联合图像专家组(JPEG)、标签图像文件格式(TIFF)或可交换的图像文件格式(Exif)等的压缩格式被格式化。
如上所述,头戴式装置1502包括框架和从框架的侧面延伸的柄部(或镜腿)。头戴式装置1502还包括用户输入设备1506(例如,触摸传感器或按钮),用户输入设备1506包括头戴式装置1502上的输入表面。用户输入设备1506(例如,接触传感器或按钮)要从用户那里接收输入选择,以操纵呈现的图像的图形用户界面。
图15中所示出的用于头戴式装置1502的部件位于边框或镜腿中的一个或更多个电路板(例如PCB或柔性PCB)上。可替选地或另外地,所描绘的部件可以位于头戴式装置1502的块、框架、铰链或梁架中。左侧和右侧可以包括数字摄像装置元件,例如互补金属氧化物半导体(CMOS)图像传感器、电荷耦合器件、摄像装置镜头或可以用于捕获包括具有未知物体的场景图像的数据的任何其他相应可见光或光捕获元件。
头戴式装置1502包括存储器1522,存储器1522存储指令以执行本文描述的功能的子集或全部。存储器1522还可以包括存储设备。
如图15所示,高速电路***1518包括高速处理器1520、存储器1522和高速无线电路***1524。在该示例中,图像显示驱动器1508耦接至高速电路***1518并且由高速处理器1520操作,以驱动光学组件的图像显示器1504的左图像显示器和右图像显示器。高速处理器1520可以是任何能够管理高速通信和头戴式装置1502所需的任何一般计算***的操作的处理器。高速处理器1520包括管理使用高速无线电路***1524在通信1536上将高速数据传输到无线局域网(WLAN)所需的处理资源。在某些示例中,高速处理器1520执行操作***例如LINUX操作***或头戴式装置1502的其他这样的操作***,并且该操作***被存储在存储器1522中以供执行。除了任何其他职责外,执行头戴式装置1502的软件架构的高速处理器1520还被用来管理与高速无线电路***1524的数据传输。在某些示例中,高速无线电路***1524被配置成实现电气和电子工程师协会(IEEE)802.11通信标准,本文中还被称为Wi-Fi。在其他示例中,其他高速通信标准可以通过高速无线电路***1524来实现。
头戴式装置1502的低功率无线电路***1530和高速无线电路***1524可以包括短程收发器(蓝牙TM)以及无线广域网、局域网或广域网收发器(例如,蜂窝或WiFi)。包括经由通信1534和通信1536进行通信的收发器的客户端设备1538可以使用头戴式装置1502的架构的细节来实现,网络1540的其他元件也是如此。
存储器1522包括能够存储各种数据和应用的任何存储设备,所述各种数据和应用尤其包括由左红外摄像装置1516和右红外摄像装置1516和图像处理器1510生成的摄像装置数据、以及由图像显示驱动器1508在光学组件的图像显示器1504的图像显示器上生成以用于显示的图像。虽然存储器1522示出为与高速电路***1518集成,但是在其他示例中,存储器1522可以是头戴式装置1502的独立元件。在某些这样的示例中,电路由线路可以提供通过包括高速处理器1520的芯片从图像处理器1510或低功率处理器1528到存储器1522的连接。在其他示例中,高速处理器1520可以管理存储器1522的寻址,使得低功率处理器1528将在需要涉及存储器1522的读或写操作的任何时候启动高速处理器1522。
如图15所示,头戴式装置1502的低功率处理器1528或高速处理器1520可以耦接至摄像装置(可见光摄像装置1512;红外发射器1514或红外摄像装置1516)、图像显示驱动器1508、用户输入设备1506(例如,触摸传感器或按钮)和存储器1522。
头戴式装置1502与主机计算机连接。例如,头戴式装置1502经由通信1536与客户端设备1538配对,或者经由网络1540连接至服务器***1532。服务器***1532可以是作为服务或网络计算***的一部分的一个或更多个计算设备,例如,其包括处理器、存储器和网络通信接口,以通过网络1540与客户端设备1538和头戴式装置1502通信。
客户端设备1538包括处理器和耦接至处理器的网络通信接口。网络通信接口使得能够通过网络1540、通信1534或通信1536进行通信。客户端设备1538还可以将用于生成双声道音频内容的指令的至少部分存储在客户端设备1538的存储器中以实现本文描述的功能。
头戴式装置1502的输出部件包括视觉部件,例如诸如液晶显示器(LCD)、等离子体显示面板(PDP)、发光二极管(LED)显示器、投影仪或波导管等的显示器。光学组件的图像显示器由图像显示驱动器1508驱动。头戴式装置1502的输出部件还包括声学部件(例如,扬声器)、触觉部件(例如,振动马达)、其他信号发生器等。头戴式装置1502、客户端设备1538和服务器***1532的输入部件(例如,用户输入设备1506)可以包括字母数字输入部件(例如,键盘、被配置成接收字母数字输入的触摸屏、光电键盘或其他字母数字输入部件)、基于点的输入部件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他定点仪器)、触觉输入部件(例如,物理按钮、提供触摸或触摸姿势的位置和力度的触摸屏或其他触觉输入部件)、音频输入部件(例如,麦克风)等。
头戴式装置1502可以可选地包括附加的***设备元件。这样的***设备元件可以包括与头戴式装置1502集成的生物特征传感器、附加传感器或显示元件。例如,***设备元件可以包括任何I/O部件,包括输出部件、运动部件、定位部件或本文描述的任何其他这样的元件。
例如,生物计量部件包括检测表达(例如,手部表达、面部表达、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑电波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件包括加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)等。定位部件包括用于生成位置坐标的位置传感器部件(例如,全球定位***(GPS)接收器部件)、用于生成定位***坐标的WiFi或蓝牙TM收发器、海拔传感器部件(例如,检测可得到海拔的气压的高度计或气压计)、取向传感器部件(例如,磁力计)等。这样的定位***坐标也可以经由低功率无线电路***1530或高速无线电路***1524从客户端设备1538通过通信1536接收。
在使用类似于“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。
在不脱离本公开内容的范围的情况下,可以对所公开的实施方式进行改变和修改。这些以及其他改变或修改旨在包括在所附权利要求书中所表达的本公开内容的范围内。
图16是示出软件架构1604的框图1600,该软件架构可以安装在本文描述的设备中的任何一个或更多个设备上。软件架构1604由诸如机器1602的硬件支持,机器1602包括处理器1620、存储器1626和I/O部件1638。在该示例中,软件架构1604可以概念化为层的堆叠,其中每个层提供特定的功能。软件架构1604包括诸如操作***1612、库1610、框架1608和应用1606的层。在操作上,应用1606通过软件堆栈来调用API调用1650并且响应于API调用1650接收消息1652。
操作***1612管理硬件资源并且提供公共服务。操作***1612包括例如内核1614、服务1616和驱动器1622。内核1614用作硬件和其他软件层之间的抽象层。例如,内核1614提供存储器管理、处理器管理(例如,调度)、部件管理、联网和安全设置以及其他功能。服务1616可以为其他软件层提供其他公共服务。驱动器1622负责控制底层硬件或与底层硬件对接。例如,驱动器1622可以包括显示驱动器、摄像装置驱动器、或低能耗驱动器、闪存驱动器、串行通信驱动器(例如,通用串行总线(USB)驱动器)、/>驱动器、音频驱动器、电力管理驱动器等。
库1610提供由应用1606使用的低级别公共基础设施。库1610可以包括***库1618(例如,C标准库),***库1618提供诸如存储器分配功能、字符串操作功能、数学功能等的功能。此外,库1610可以包括API库1624,例如媒体库(例如,用于支持各种媒体格式的呈现和操纵的库,所述各种媒体格式例如运动图像专家组-4(MPEG4)、高级视频编码(H.264或AVC)、运动图像专家小组层-3(MP3)、高级音频编码(AAC)、自适应多速率(AMR)音频编解码器、联合图像专家组(JPEG或JPG)或便携式网络图形(PNG))、图形库(例如,用于在显示器上的图形内容中以二维(2D)和三维(3D)呈现的OpenGL框架)、数据库库(例如,用于提供各种关系数据库功能的SQLite)、web库(例如,提供web浏览功能的WebKit)等。库1610还可以包括各种各样的其他库1628,以向应用1606提供许多其他API。
框架1608提供由应用1606使用的高级别公共基础设施。例如,框架1608提供各种图形用户界面(GUI)功能、高级别资源管理和高级别定位服务。框架1608可以提供可以由应用1606使用的广泛的其他API,其中一些可以专用于特定操作***或平台。
在示例实施方式中,应用1606可以包括家庭应用1636、联系人应用1630、浏览器应用1632、图书阅读器应用1634、位置应用1642、媒体应用1644、消息收发应用1646、游戏应用1648以及诸如第三方应用1640的各种各样的其他应用。应用1606是执行在程序中限定的功能的程序。可以采用各种编程语言来创建以各种方式构造的应用1606中的一个或更多个,编程语言例如面向对象编程语言(例如,Objective-C、Java或C++)或过程编程语言(例如,C语言或汇编语言)。在特定示例中,第三方应用1640(例如,由特定平台的供应商以外的实体使用ANDROIDTM或IOSTM软件开发工具包(SDK)开发的应用)可以是在诸如IOSTM、ANDROIDTM、Phone的移动操作***或另外的移动操作***上运行的移动软件。在该示例中,第三方应用1640可以调用由操作***1612提供的API调用1650来促进本文描述的功能。
图17是机器1700的图解表示,在机器1700内可以执行用于使机器1700执行本文所讨论的任何一种或更多种方法的指令1708(例如,软件、程序、应用、小程序、app或其他可执行代码)。例如,指令1708可以使机器1700执行本文描述的方法中的任何一种或更多种方法。指令1708将通用的未经编程的机器1700转换成被编程为以所描述的方式执行所描述和所示出的功能的特定机器1700。机器1700可以作为独立设备操作,或者可以耦接(例如,联网)至其他机器。在联网部署中,机器1700可以在服务器-客户端网络环境中以服务器机器或客户端机器的身份进行操作,或者作为对等(或分布式)网络环境中的对等机器进行操作。机器1700可以包括但不限于:服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、PDA、娱乐媒体***、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能电器)、其他智能设备、web设备、网络路由器、网络交换机、网络桥接器或能够顺序地或以其他方式执行指定要由机器1700采取的动作的指令1708的任何机器。此外,虽然仅示出了单个机器1700,但是术语“机器”还应当被视为包括单独地或联合地执行指令1708以执行本文所讨论的方法中的任何一种或更多种方法的机器的集合。
机器1700可以包括可以被配置成经由总线1744彼此通信的处理器1702、存储器1704和I/O部件1742。在示例实施方式中,处理器1702(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、ASIC、射频集成电路(RFIC)、其他处理器或其任何合适的组合)可以包括例如执行指令1708的处理器1706和处理器1710。术语“处理器”旨在包括多核处理器,该多核处理器可以包括可以同时执行指令的两个或更多个独立的处理器(有时被称为“核”)。尽管图17示出了多个处理器1702,但是机器1700可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器或其任何组合。
存储器1704包括主存储器1712、静态存储器1714和存储单元1716,所述主存储器1712、静态存储器1714和存储单元1716均可由处理器1702经由总线1744访问。主存储器1712、静态存储器1714和存储单元1716存储体现本文所描述的方法或功能中的任何一种或更多种方法或功能的指令1708。指令1708在被机器1700执行期间还可以完全或部分地驻留在主存储器1712内、在静态存储器1714内、在存储单元1716内的机器可读介质1718内、在处理器1702中的至少一个处理器内(例如,在处理器的高速缓存存储器内)或者在其任何合适的组合内。
I/O部件1742可以包括接收输入、提供输出、产生输出、传送信息、交换信息、捕获测量结果等的各种各样的部件。包括在特定机器中的具体I/O部件1742将取决于机器的类型。例如,便携式机器例如移动电话可以包括触摸输入设备或其他这样的输入机构,而无头服务器机器将不太可能包括这样的触摸输入设备。应当理解,I/O部件1742可以包括在图17中未示出的许多其他部件。在各种示例实施方式中,I/O部件1742可以包括输出部件1728和输入部件1730。输出部件1728可以包括视觉部件(例如,诸如等离子体显示板(PDP)、发光二极管(LED)显示器,液晶显示器(LCD)、投影仪或阴极射线管(CRT)的显示器)、声学部件(例如,扬声器)、触觉组件(例如,振动电机、阻力机构)、其他信号发生器等。输入部件1730可以包括字母数字输入部件(例如,键盘、被配置成接收字母数字输入的触摸屏、光电键盘或其他字母数字输入部件)、基于点的输入部件(如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他定点仪器)、触觉输入部件(例如,物理按钮、提供触摸或触摸姿势的位置和/或力度的触摸屏或其他触觉输入部件)、音频输入部件(例如,麦克风)等。
在其他示例实施方式中,I/O部件1742可以包括生物计量部件1732、运动部件1734、环境部件1736或定位部件1738以及各种其他部件。例如,生物计量部件1732包括用于检测表达(例如,手表达、面部表达、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑电波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件1734包括加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)等。环境部件1736包括例如照明传感器部件(例如,光度计)、温度传感器部件(例如,检测环境温度的一个或更多个温度计)、湿度传感器部件、压力传感器部件(例如,气压计)、听觉传感器部件(例如,检测背景噪声的一个或更多个麦克风)、接近传感器部件(例如,检测附近物体的红外传感器)、气体传感器(例如,用于检测危险气体浓度以确保安全或测量大气中污染物的气体检测传感器)、或者可以提供与周围物理环境对应的指示、测量或信号的其他部件。定位部件1738包括位置传感器部件(例如,GPS接收器部件)、海拔传感器部件(例如,检测可从中得出海拔的气压的海拔计或气压计)、取向传感器部件(例如,磁力计)等。
可以使用各种各样的技术来实现通信。I/O部件1742还包括通信部件1740,通信部件1740可以操作成分别经由耦接1724和耦接1726将机器1700耦接至网络1720或设备1722。例如,通信部件1740可以包括网络接口部件或另一合适的设备以与网络1720对接。在其他示例中,通信部件1740可以包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(NFC)部件、部件(例如,/>低能耗)、/>部件以及用于经由其他模态提供通信的其他通信部件。设备1722可以是另一机器或各种***设备中的任何***设备(例如,经由USB耦接的***设备)。
此外,通信部件1740可以检测标识符或包括可操作以检测标识符的部件。例如,通信部件1740可以包括射频识别(RFID)标签阅读器部件、NFC智能标签检测部件、光学阅读器部件(例如,用于检测诸如通用产品代码(UPC)条形码的一维条形码、诸如快速响应(QR)码的多维条形码、Aztec码、数据矩阵、数据符号(Dataglyph)、最大码(MaxiCode)、PDF417、超码(Ultra Code)、UCC RSS-2D条形码和其他光学码的光学传感器)或声学检测部件(例如,用于识别标记的音频信号的麦克风)。另外,可以经由通信部件1740得出各种信息,例如经由因特网协议(IP)地理定位获得的位置、经由信号三角测量获得的位置、经由检测可以指示特定位置的NFC信标信号获得的位置等。
各种存储器(例如,存储器1704、主存储器1712、静态存储器1714和/或处理器1702的存储器)和/或存储单元1716可以存储实现本文中所描述的方法或功能中的任何一个或更多个或者由本文中所描述的方法或功能中的任何一个或更多个使用的一组或更多组指令和数据结构(例如,软件)。这些指令(例如,指令1708)在由处理器1702执行时使各种操作实现所公开的实施方式。
可以经由网络接口设备(例如,包括在通信部件1740中的网络接口部件)使用传输介质并且使用多个公知的传输协议中任何一个传输协议(例如,超文本传输协议(HTTP))通过网络1720来发送或接收指令1708。类似地,可以使用传输介质经由耦接1726(例如,对等耦接)将指令1708发送或接收至设备1722。
如本文所使用的,术语“机器存储介质”、“设备存储介质”和“计算机存储介质”意指相同的东西并且可以在本公开内容中互换使用。这些术语指存储可执行指令和/或数据的单个或多个存储设备和/或介质(例如,集中式或分布式数据库,和/或相关联的高速缓存和服务器)。因此,术语应被视为包括但不限于固态存储器以及光学和磁性介质,包括处理器内部或外部的存储器。机器存储介质、计算机存储介质和/或设备存储介质的具体示例包括:非易失性存储器,包括例如半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、现场可编程门阵列(FPGA)和闪存设备;磁盘,例如内部硬盘和可移除磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。术语“机器存储介质”、“计算机存储介质”和“设备存储介质”明确地排除了载波、调制数据信号和其他这样的介质,载波、调制数据信号和其他这样的介质中的至少一些被涵盖在下面讨论的术语“信号介质”中。
术语“传输介质”和“信号介质”意指相同的东西,并且可以在本公开内容中互换使用。术语“传输介质”和“信号介质”应当被视为包括能够存储、编码或承载供机器1400执行的指令1416的任何无形介质,并且包括数字通信信号或模拟通信信号或其他无形介质以促进这样的软件的通信。因此,术语“传输介质”和“信号介质”应当被视为包括任何形式的调制数据信号、载波等。术语“调制数据信号”意指其特性中的一个或更多个特性以将信息编码在该信号中的方式来设置或改变的信号。
术语“机器可读介质”、“计算机可读介质”和“设备可读介质”意指相同的东西并且可以在本公开内容中互换使用。这些术语被限定成包括机器存储介质和传输介质两者。因此,这些术语包括存储设备/介质和载波/调制数据信号两者。
尽管已经参考特定示例实施方式描述了实施方式,但是明显的是,在不脱离本公开内容的更广泛范围的情况下,可以对这些实施方式进行各种修改和改变。因此,说明书和附图应被认为是说明性的意义,而不是限制性的意义。形成本发明一部分的附图通过说明而非限制的方式示出了其中可以实践主题的具体实施方式。所示的实施方式被足够详细地描述,以使得本领域技术人员能够实践本文公开的教导。可以利用并由此得出其他实施方式,使得可以在不脱离本公开内容的范围的情况下进行结构和逻辑替换和改变。因此,具体实施方式不应当被理解为限制性意义,并且各种实施方式的范围仅由所附权利要求以及这些权利要求所赋予的等效内容的全部范围来限定。
本发明主题的这些实施方式在本文中可以单独和/或集体地通过术语“发明”来指代,这仅仅是为了方便,并且如果事实上公开了一个以上的发明或发明构思,则并不旨在自愿地将本申请的范围限制为任何单个发明或发明构思。因此,尽管本文已经示出和描述了具体实施方式,但是应当理解,计算以实现相同目的的任何布置都可以替代所示的具体实施方式。本公开内容旨在覆盖各种实施方式的任何和所有改编或变化。在回顾上述描述后,上述实施方式和本文未具体描述的其他实施方式的组合对于本领域技术人员来说将是明显的。
提供本公开内容的摘要以允许读者快速确定本技术公开内容的性质。以这样的理解提交摘要:即摘要将不用于解释或限制权利要求的范围或含义。此外,在前面的具体实施方式中,可以看出,出于简化本公开内容的目的,各种特征在单个实施方式中被组合在一起。本公开内容的该方法不应被解释为反映所要求保护的实施方式需要比在每个权利要求中明确叙述的特征更多的特征的意图。相反,如所附权利要求书所反映的,本发明主题在于少于单个公开实施方式的所有特征。因此,所述权利要求书在此被合并到具体实施方式中,其中每个权利要求独立作为单独的实施方式。
示例
示例1是一种用于视觉跟踪***中的选择性运动模糊减轻的方法,包括:访问由所述视觉跟踪***的光学传感器生成的第一图像;访问由所述视觉跟踪***的所述光学传感器生成的第二图像,所述第二图像在所述第一图像之后;确定所述第一图像的第一运动模糊级别;确定所述第二图像的第二运动模糊级别;识别所述第一图像与所述第二图像之间的尺度变化;基于所述第一运动模糊级别和所述尺度变化来确定用于所述第一图像的第一最优尺度级别;以及基于所述第二运动模糊级别和所述尺度变化来确定用于所述第二图像的第二最优尺度级别。
示例2包括示例1,还包括:使用多级别降尺度算法以所述第一最优尺度级别将所述第一图像降尺度来生成第一降尺度图像;以及使用所述多级别降尺度算法以所述第一最优尺度级别将所述第二图像降尺度来生成第二降尺度图像。
示例3包括示例2,还包括:在所述第一降尺度图像中识别第一特征;在所述第二降尺度图像中识别第二特征;以及将第一特征与第二特征进行匹配。
示例4包括示例1,其中,确定用于所述第一图像的第一最优尺度级别包括:基于所述第一运动模糊级别来计算第一匹配级别;将所述尺度变化应用于所述第一匹配级别以生成所述第一图像的缩放匹配级别;基于所述第一图像的缩放匹配级别与基于所述第二运动模糊级别的第二匹配级别之间的最大级别来识别选定的尺度级别;以及将所述选定的尺度级别应用于用于所述第一图像的第一最优尺度级别。
示例5包括示例1,其中,确定用于所述第二图像的第二最优尺度级别包括:基于所述第二运动模糊级别来计算第二匹配级别;基于所述第一图像的缩放匹配级别与基于所述第二运动模糊级别的所述第二匹配级别之间的最大级别来识别选定的尺度级别;以及将所述选定的尺度级别应用于用于所述第二图像的第二最优尺度级别。
示例6包括示例1,还包括:基于所述第一运动模糊级别来计算第一匹配级别;基于所述第二运动模糊级别来计算第二匹配级别;基于所述第一匹配级别和所述第二匹配级别中的最大值来确定基本匹配级别;以及基于所述尺度变化来调整所述基本匹配级别。
示例7包括示例1,其中,确定第一运动模糊级别包括:针对所述第一图像识别所述光学传感器的第一摄像装置操作参数;以及针对所述第一图像确定所述光学传感器的第一运动,其中,确定所述第二运动模糊级别包括:针对所述第二图像识别所述光学传感器的第二摄像装置操作参数;以及针对所述第二图像确定所述光学传感器的第二运动。
示例8包括示例7,其中,针对所述第一图像确定所述光学传感器的第一运动包括:针对所述第一图像从所述视觉跟踪***的惯性传感器检索的第一惯性传感器数据;以及基于所述第一惯性传感器数据来确定所述视觉跟踪***的第一角速度,其中,所述第一运动模糊级别基于所述视觉跟踪***的所述第一摄像装置操作参数和所述第一角速度,而不分析所述第一图像的内容,其中,针对所述第二图像确定所述光学传感器的第二运动包括:针对所述第二图像从所述视觉跟踪***的所述惯性传感器检索第二惯性传感器数据;以及基于所述第二惯性传感器数据来确定所述视觉跟踪***的第二角速度,其中,所述第二运动模糊级别基于所述视觉跟踪***的所述第二摄像装置操作参数和所述第二角速度,而不分析所述第二图像的内容。
示例9包括示例7,其中,针对所述第一图像确定所述光学传感器的第一运动包括:访问来自所述视觉跟踪***的VIO***的第一VIO数据,所述第一VIO数据包括所述光学传感器的第一估计角速度、所述光学传感器的第一估计线速度以及所述第一图像中特征点的位置,其中,所述第一运动模糊级别基于所述第一摄像装置操作参数和所述第一VIO数据,而不分析所述第一图像的内容,其中,所述第一图像的不同区域中的所述第一运动模糊基于所述光学传感器的所述第一估计角速度、所述光学传感器的所述第一估计线速度以及所述第一图像的对应不同区域中的所述特征点相对于所述光学传感器的3D位置,其中,针对所述第一图像确定所述光学传感器的第一运动包括:访问来自所述视觉跟踪***的所述VIO***的第二VIO数据,所述第二VIO数据包括所述光学传感器的第二估计角速度、所述光学传感器的第二估计线速度以及所述第二图像中特征点的位置,其中,所述第二运动模糊级别基于所述第二摄像装置操作参数和所述第二VIO数据,而不分析所述第二图像的内容,其中,所述第二图像的不同区域中的所述第二运动模糊基于所述光学传感器的所述第二估计角速度、所述光学传感器的所述第二估计线速度以及所述第二图像的对应不同区域中的所述特征点相对于所述光学传感器的3D位置。
示例10包括示例7,其中,所述第一源摄像装置操作参数或所述第二源摄像装置操作参数包括所述光学传感器的曝光时间、所述光学传感器的视野、所述光学传感器的ISO值和图像分辨率的组合,其中,所述第一图像包括源图像,其中,所述第二图像包括目标图像。
示例11是一种计算装置,包括:处理器;以及存储指令的存储器,所述指令在由所述处理器执行时将所述装置配置成:访问由视觉跟踪***的光学传感器生成的第一图像;访问由所述视觉跟踪***的所述光学传感器生成的第二图像,所述第二图像在所述第一图像之后;确定所述第一图像的第一运动模糊级别;确定所述第二图像的第二运动模糊级别;识别所述第一图像与所述第二图像之间的尺度变化;基于所述第一运动模糊级别和所述尺度变化来确定用于所述第一图像的第一最优尺度级别;以及基于所述第二运动模糊级别和所述尺度变化来确定用于所述第二图像的第二最优尺度级别。
示例12包括示例11,其中,所述指令还将所述装置配置成:使用多级别降尺度算法以所述第一最优尺度级别将所述第一图像降尺度来生成第一降尺度图像;以及使用所述多级别降尺度算法以所述第一最优尺度级别将所述第二图像降尺度来生成第二降尺度图像。
示例13包括示例12,其中,所述指令还将所述装置配置成:在所述第一降尺度图像中识别第一特征;在所述第二降尺度图像中识别第二特征;以及将所述第一特征与所述第二特征进行匹配。
示例14包括示例11,其中,确定用于所述第一图像的第一最优尺度级别包括:基于所述第一运动模糊级别来计算第一匹配级别;将所述尺度变化应用于所述第一匹配级别以生成所述第一图像的缩放匹配级别;基于所述第一图像的所述缩放匹配级别与基于所述第二运动模糊级别的第二匹配级别之间的最大级别来识别选定的尺度级别;以及将所述选定的尺度级别应用于用于所述第一图像的第一最优尺度级别。
示例15包括示例11,其中,确定用于所述第二图像的第二最优尺度级别包括:基于所述第二运动模糊级别来计算第二匹配级别;基于所述第一图像的缩放匹配级别与基于所述第二运动模糊级别的所述第二匹配级别之间的最大级别来识别选定的尺度级别;以及将所述选定的尺度级别应用于用于所述第二图像的第二最优尺度级别。
示例16包括示例11,其中,所述指令还将所述装置配置成:基于所述第一运动模糊级别来计算第一匹配级别;基于所述第二运动模糊级别来计算第二匹配级别;基于所述第一匹配级别和所述第二匹配级别中的最大值来确定基本匹配级别;以及基于所述尺度变化来调整所述基本匹配级别。
示例17包括示例11,其中,确定所述第一运动模糊级别包括:针对所述第一图像识别所述光学传感器的第一摄像装置操作参数;以及针对所述第一图像确定所述光学传感器的第一运动,其中,确定所述第二运动模糊级别包括:针对所述第二图像识别所述光学传感器的第二摄像装置操作参数;以及针对所述第二图像确定所述光学传感器的第二运动。
示例18包括示例17,其中,针对所述第一图像确定所述光学传感器的第一运动包括:针对所述第一图像从所述视觉跟踪***的惯性传感器检索第一惯性传感器数据;以及基于所述第一惯性传感器数据来确定所述视觉跟踪***的第一角速度,其中,所述第一运动模糊级别基于所述视觉跟踪***的所述第一摄像装置操作参数和所述第一角速度,而不分析所述第一图像的内容,其中,针对所述第二图像确定所述光学传感器的第二运动包括:针对所述第二图像从所述视觉跟踪***的所述惯性传感器检索第二惯性传感器数据;以及基于所述第二惯性传感器数据来确定所述视觉跟踪***的第二角速度,其中,所述第二运动模糊级别基于所述视觉跟踪***的所述第二摄像装置操作参数和所述第二角速度,而不分析所述第二图像的内容。
示例19包括示例17,其中,针对所述第一图像确定所述光学传感器的第一运动包括:访问来自所述视觉跟踪***的VIO***的第一VIO数据,所述第一VIO数据包括所述光学传感器的第一估计角速度、所述光学传感器的第一估计线速度以及所述第一图像中特征点的位置,其中,所述第一运动模糊级别基于所述第一摄像装置操作参数和所述第一VIO数据,而不分析所述第一图像的内容,其中,所述第一图像的不同区域中的所述第一运动模糊基于所述光学传感器的所述第一估计角速度、所述光学传感器的所述第一估计线速度以及所述第一图像的对应不同区域中的所述特征点相对于所述光学传感器的3D位置,其中,针对所述第一图像确定所述光学传感器的第一运动包括:访问来自所述视觉跟踪***的所述VIO***的第二VIO数据,所述第二VIO数据包括所述光学传感器的第二估计角速度、所述光学传感器的第二估计线速度以及所述第二图像中特征点的位置,其中,所述第二运动模糊级别基于所述第二摄像装置操作参数和所述第二VIO数据,而不分析所述第二图像的内容,其中,所述第二图像的不同区域中的所述第二运动模糊基于所述光学传感器的所述第二估计角速度、所述光学传感器的所述第二估计线速度以及所述第二图像的对应不同区域中的所述特征点相对于所述光学传感器的3D位置。
示例20是一种非暂态计算机可读存储介质,所述计算机可读存储介质包括指令,所述指令在由计算机执行时使所述计算机执行以下操作:访问由视觉跟踪***的光学传感器生成的第一图像;访问由所述视觉跟踪***的所述光学传感器生成的第二图像,所述第二图像在所述第一图像之后;确定所述第一图像的第一运动模糊级别;确定所述第二图像的第二运动模糊级别;识别所述第一图像与所述第二图像之间的尺度变化;基于所述第一运动模糊级别和所述尺度变化来确定用于所述第一图像的第一最优尺度级别;以及基于所述第二运动模糊级别和所述尺度变化来确定用于所述第二图像的第二最优图尺度级别。
Claims (20)
1.一种用于视觉跟踪***中的选择性运动模糊减轻的方法,包括:
访问由所述视觉跟踪***的光学传感器生成的第一图像;
访问由所述视觉跟踪***的所述光学传感器生成的第二图像,所述第二图像在所述第一图像之后;
确定所述第一图像的第一运动模糊级别;
确定所述第二图像的第二运动模糊级别;
识别所述第一图像与所述第二图像之间的尺度变化;
基于所述第一运动模糊级别和所述尺度变化来确定用于所述第一图像的第一最优尺度级别;以及
基于所述第二运动模糊级别和所述尺度变化来确定用于所述第二图像的第二最优尺度级别。
2.根据权利要求1所述的方法,还包括:
使用多级别降尺度算法以所述第一最优尺度级别将所述第一图像降尺度来生成第一降尺度图像;以及
使用所述多级别降尺度算法以所述第一最优尺度级别将所述第二图像降尺度来生成第二降尺度图像。
3.根据权利要求2所述的方法,还包括:
在所述第一降尺度图像中识别第一特征;
在所述第二降尺度图像中识别第二特征;以及
将所述第一特征与所述第二特征进行匹配。
4.根据权利要求1所述的方法,其中,确定用于所述第一图像的第一最优尺度级别包括:
基于所述第一运动模糊级别来计算第一匹配级别;
将所述尺度变化应用于所述第一匹配级别以生成所述第一图像的缩放匹配级别;
基于所述第一图像的所述缩放匹配级别与基于所述第二运动模糊级别的第二匹配级别之间的最大级别来识别选定的尺度级别;以及
将所述选定的尺度级别应用于用于所述第一图像的第一最优尺度级别。
5.根据权利要求1所述的方法,其中,确定用于所述第二图像的第二最优尺度级别包括:
基于所述第二运动模糊级别来计算第二匹配级别;
基于所述第一图像的缩放匹配级别与基于所述第二运动模糊级别的所述第二匹配级别之间的最大级别来识别选定的尺度级别;以及
将所述选定的尺度级别应用于用于所述第二图像的第二最优尺度级别。
6.根据权利要求1所述的方法,还包括:
基于所述第一运动模糊级别来计算第一匹配级别;
基于所述第二运动模糊级别来计算第二匹配级别;
基于所述第一匹配级别和所述第二匹配级别中的最大值来确定基本匹配级别;以及
基于所述尺度变化来调整所述基本匹配级别。
7.根据权利要求1所述的方法,其中,确定所述第一运动模糊级别包括:
针对所述第一图像识别所述光学传感器的第一摄像装置操作参数;以及
针对所述第一图像确定所述光学传感器的第一运动,
其中,确定所述第二运动模糊级别包括:
针对所述第二图像识别所述光学传感器的第二摄像装置操作参数;以及
针对所述第二图像确定所述光学传感器的第二运动。
8.根据权利要求7所述的方法,其中,针对所述第一图像确定所述光学传感器的第一运动包括:
针对所述第一图像从所述视觉跟踪***的惯性传感器检索第一惯性传感器数据;以及
基于所述第一惯性传感器数据来确定所述视觉跟踪***的第一角速度,
其中,所述第一运动模糊级别基于所述视觉跟踪***的所述第一摄像装置操作参数和所述第一角速度,而不分析所述第一图像的内容,
其中,针对所述第二图像确定所述光学传感器的第二运动包括:
针对所述第二图像从所述视觉跟踪***的所述惯性传感器检索第二惯性传感器数据;以及
基于所述第二惯性传感器数据来确定所述视觉跟踪***的第二角速度,
其中,所述第二运动模糊级别基于所述视觉跟踪***的所述第二摄像装置操作参数和所述第二角速度,而不分析所述第二图像的内容。
9.根据权利要求7所述的方法,其中,针对所述第一图像确定所述光学传感器的第一运动包括:
访问来自所述视觉跟踪***的VIO***的第一VIO数据,所述第一VIO数据包括所述光学传感器的第一估计角速度、所述光学传感器的第一估计线速度以及所述第一图像中特征点的位置,
其中,所述第一运动模糊级别基于所述第一摄像装置操作参数和所述第一VIO数据,而不分析所述第一图像的内容,
其中,所述第一图像的不同区域中的所述第一运动模糊基于所述光学传感器的所述第一估计角速度、所述光学传感器的所述第一估计线速度以及所述第一图像的对应不同区域中的所述特征点相对于所述光学传感器的3D位置,
其中,针对所述第一图像确定所述光学传感器的第一运动包括:
访问来自所述视觉跟踪***的所述VIO***的第二VIO数据,所述第二VIO数据包括所述光学传感器的第二估计角速度、所述光学传感器的第二估计线速度以及所述第二图像中特征点的位置,
其中,所述第二运动模糊级别基于所述第二摄像装置操作参数和所述第二VIO数据,而不分析所述第二图像的内容,
其中,所述第二图像的不同区域中的所述第二运动模糊基于所述光学传感器的所述第二估计角速度、所述光学传感器的所述第二估计线速度以及所述第二图像的对应不同区域中的所述特征点相对于所述光学传感器的3D位置。
10.根据权利要求7所述的方法,其中,所述第一源摄像装置操作参数或所述第二源摄像装置操作参数包括所述光学传感器的曝光时间、所述光学传感器的视野、所述光学传感器的ISO值和图像分辨率的组合,
其中,所述第一图像包括源图像,其中,所述第二图像包括目标图像。
11.一种计算装置,包括:
处理器;以及
存储指令的存储器,所述指令在由所述处理器执行时将所述装置配置成:
访问由视觉跟踪***的光学传感器生成的第一图像;
访问由所述视觉跟踪***的所述光学传感器生成的第二图像,所述第二图像在所述第一图像之后;
确定所述第一图像的第一运动模糊级别;
确定所述第二图像的第二运动模糊级别;
识别所述第一图像与所述第二图像之间的尺度变化;
基于所述第一运动模糊级别和所述尺度变化来确定用于所述第一图像的第一最优尺度级别;以及
基于所述第二运动模糊级别和所述尺度变化来确定用于所述第二图像的第二最优尺度级别。
12.根据权利要求11所述的计算装置,其中,所述指令还将所述装置配置成:
使用多级别降尺度算法以所述第一最优尺度级别将所述第一图像降尺度来生成第一降尺度图像;以及
使用所述多级别降尺度算法以所述第一最优尺度级别将所述第二图像降尺度来生成第二降尺度图像。
13.根据权利要求12所述的计算装置,其中,所述指令还将所述装置配置成:
识别所述第一降尺度图像中的第一特征;
识别所述第二降尺度图像中的第二特征;以及
将所述第一特征与所述第二特征进行匹配。
14.根据权利要求11所述的计算装置,其中,确定用于所述第一图像的第一最优尺度级别包括:
基于所述第一运动模糊级别来计算第一匹配级别;
将所述尺度变化应用于所述第一匹配级别以生成所述第一图像的缩放匹配级别;
基于所述第一图像的所述缩放匹配级别与基于所述第二运动模糊级别的第二匹配级别之间的最大级别来识别选定的尺度级别;以及
将所述选定的尺度级别应用于用于所述第一图像的第一最优尺度级别。
15.根据权利要求11所述的计算装置,其中,确定用于所述第二图像的第二最优尺度级别包括:
基于所述第二运动模糊级别来计算第二匹配级别;
基于所述第一图像的缩放匹配级别与基于所述第二运动模糊级别的所述第二匹配级别之间的最大级别来识别选定的尺度级别;以及
将所述选定的尺度级别应用于用于所述第二图像的第二最优尺度级别。
16.根据权利要求11所述的计算装置,其中,所述指令还将所述装置配置成:
基于所述第一运动模糊级别来计算第一匹配级别;
基于所述第二运动模糊级别来计算第二匹配级别;
基于所述第一匹配级别和所述第二匹配级别中的最大值来确定基本匹配级别;以及
基于所述尺度变化来调整所述基本匹配级别。
17.根据权利要求11所述的计算装置,其中,确定所述第一运动模糊级别包括:
针对所述第一图像识别所述光学传感器的第一摄像装置操作参数;以及
针对所述第一图像确定所述光学传感器的第一运动,
其中,确定所述第二运动模糊级别包括:
针对所述第二图像识别所述光学传感器的第二摄像装置操作参数;以及
针对所述第二图像确定所述光学传感器的第二运动。
18.根据权利要求17所述的计算装置,其中,针对所述第一图像确定所述光学传感器的第一运动包括:
针对所述第一图像从所述视觉跟踪***的惯性传感器检索第一惯性传感器数据;以及
基于所述第一惯性传感器数据来确定所述视觉跟踪***的第一角速度,
其中,所述第一运动模糊级别基于所述视觉跟踪***的所述第一摄像装置操作参数和所述第一角速度,而不分析所述第一图像的内容,
其中,针对所述第二图像确定所述光学传感器的第二运动包括:
针对所述第二图像从所述视觉跟踪***的所述惯性传感器检索第二惯性传感器数据;以及
基于所述第二惯性传感器数据来确定所述视觉跟踪***的第二角速度,
其中,所述第二运动模糊级别基于所述视觉跟踪***的所述第二摄像装置操作参数和所述第二角速度,而不分析所述第二图像的内容。
19.根据权利要求17所述的计算装置,其中,针对所述第一图像确定所述光学传感器的第一运动包括:
访问来自所述视觉跟踪***的VIO***的第一VIO数据,所述第一VIO数据包括所述光学传感器的第一估计角速度、所述光学传感器的第一估计线速度以及所述第一图像中特征点的位置,
其中,所述第一运动模糊级别基于所述第一摄像装置操作参数和所述第一VIO数据,而不分析所述第一图像的内容,
其中,所述第一图像的不同区域中的所述第一运动模糊基于所述光学传感器的所述第一估计角速度、所述光学传感器的所述第一估计线速度以及所述第一图像的对应不同区域中的所述特征点相对于所述光学传感器的3D位置,
其中,针对所述第一图像确定所述光学传感器的第一运动包括:
访问来自所述视觉跟踪***的所述VIO***的第二VIO数据,所述第二VIO数据包括所述光学传感器的第二估计角速度、所述光学传感器的第二估计线速度以及所述第二图像中特征点的位置,
其中,所述第二运动模糊级别基于所述第二摄像装置操作参数和所述第二VIO数据,而不分析所述第二图像的内容,
其中,所述第二图像的不同区域中的所述第二运动模糊基于所述光学传感器的所述第二估计角速度、所述光学传感器的所述第二估计线速度以及所述第二图像的对应不同区域中的所述特征点相对于所述光学传感器的3D位置。
20.一种非暂态计算机可读存储介质,所述计算机可读存储介质包括指令,所述指令在由计算机执行时使所述计算机执行以下操作:
访问由视觉跟踪***的光学传感器生成的第一图像;
访问由所述视觉跟踪***的所述光学传感器生成的第二图像,所述第二图像在所述第一图像之后;
确定所述第一图像的第一运动模糊级别;
确定所述第二图像的第二运动模糊级别;
识别所述第一图像与所述第二图像之间的尺度变化;
基于所述第一运动模糊级别和所述尺度变化来确定用于所述第一图像的第一最优尺度级别;以及
基于所述第二运动模糊级别和所述尺度变化来确定用于所述第二图像的第二最优尺度级别。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/190,101 | 2021-05-18 | ||
US17/521,109 US11683585B2 (en) | 2021-05-18 | 2021-11-08 | Direct scale level selection for multilevel feature tracking under motion blur |
US17/521,109 | 2021-11-08 | ||
PCT/US2022/072340 WO2022246383A1 (en) | 2021-05-18 | 2022-05-16 | Direct scale level selection for multilevel feature tracking |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117321635A true CN117321635A (zh) | 2023-12-29 |
Family
ID=89246731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280036061.6A Pending CN117321635A (zh) | 2021-05-18 | 2022-05-16 | 用于多级别特征跟踪的直接尺度级别选择 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117321635A (zh) |
-
2022
- 2022-05-16 CN CN202280036061.6A patent/CN117321635A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230300464A1 (en) | Direct scale level selection for multilevel feature tracking under motion blur | |
US20230388632A1 (en) | Dynamic adjustment of exposure and iso to limit motion blur | |
US11765457B2 (en) | Dynamic adjustment of exposure and iso to limit motion blur | |
US20220375041A1 (en) | Selective image pyramid computation for motion blur mitigation in visual-inertial tracking | |
EP4342170A1 (en) | Selective image pyramid computation for motion blur mitigation | |
US20240221222A1 (en) | Camera intrinsic re-calibration in mono visual tracking system | |
US11615506B2 (en) | Dynamic over-rendering in late-warping | |
US20240176428A1 (en) | Dynamic initialization of 3dof ar tracking system | |
US20220375110A1 (en) | Augmented reality guided depth estimation | |
US20240029197A1 (en) | Dynamic over-rendering in late-warping | |
US12014523B2 (en) | Intrinsic parameters estimation in visual tracking systems | |
US11683585B2 (en) | Direct scale level selection for multilevel feature tracking under motion blur | |
CN117321635A (zh) | 用于多级别特征跟踪的直接尺度级别选择 | |
CN117337575A (zh) | 用于运动模糊减轻的选择性图像金字塔计算 | |
US11941184B2 (en) | Dynamic initialization of 3DOF AR tracking system | |
CN117441343A (zh) | 曝光和iso的动态调整的相关应用 | |
US20230421717A1 (en) | Virtual selfie stick | |
CN117321546A (zh) | 增强现实引导的深度估计 | |
CN117321472A (zh) | 进行后期扭曲以最小化移动对象的延迟 | |
CN117425869A (zh) | 后期扭曲中的动态过度渲染 | |
CN117337422A (zh) | 三自由度增强现实跟踪***的动态初始化 | |
KR20240112293A (ko) | 모노 비주얼 추적 시스템에서의 카메라 고유 재교정 | |
WO2022245649A1 (en) | Augmented reality guided depth estimation | |
CN117425889A (zh) | 作为生物计量信号的弯曲估计 | |
CN117321634A (zh) | 立体深度弯曲校正 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |