CN117441343A - 曝光和iso的动态调整的相关应用 - Google Patents
曝光和iso的动态调整的相关应用 Download PDFInfo
- Publication number
- CN117441343A CN117441343A CN202280036124.8A CN202280036124A CN117441343A CN 117441343 A CN117441343 A CN 117441343A CN 202280036124 A CN202280036124 A CN 202280036124A CN 117441343 A CN117441343 A CN 117441343A
- Authority
- CN
- China
- Prior art keywords
- image
- optical sensor
- motion blur
- tracking system
- motion
- 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 185
- 230000003287 optical effect Effects 0.000 claims abstract description 166
- 230000000007 visual effect Effects 0.000 claims abstract description 53
- 238000000034 method Methods 0.000 claims abstract description 46
- 230000000670 limiting effect Effects 0.000 claims abstract description 14
- 230000015654 memory Effects 0.000 claims description 40
- 230000004044 response Effects 0.000 claims description 18
- 238000003384 imaging method Methods 0.000 claims description 17
- 230000003247 decreasing effect Effects 0.000 claims description 7
- 230000002829 reductive effect Effects 0.000 claims description 4
- 238000005070 sampling Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 35
- 210000003128 head Anatomy 0.000 description 33
- 230000009467 reduction Effects 0.000 description 23
- 230000006870 function Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 8
- 230000007423 decrease Effects 0.000 description 8
- 230000001133 acceleration Effects 0.000 description 6
- 239000008186 active pharmaceutical agent Substances 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000003068 static 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
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing 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
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 230000005693 optoelectronics Effects 0.000 description 2
- 230000004266 retinal recognition Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012546 transfer Methods 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
- 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
- 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
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000004807 localization 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
- 238000009877 rendering Methods 0.000 description 1
- 230000008261 resistance mechanism Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 210000004243 sweat Anatomy 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000001931 thermography Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Landscapes
- Studio Devices (AREA)
Abstract
描述了一种用于限制视觉跟踪系统中的运动模糊的方法。在一个方面,该方法包括访问由视觉跟踪系统的光学传感器生成的第一图像,识别针对第一图像的光学传感器的摄像装置操作参数,确定针对第一图像的光学传感器的运动,基于光学传感器的摄像装置操作参数和光学传感器的运动来确定第一图像的运动模糊水平,以及基于运动模糊水平来调整光学传感器的摄像装置操作参数。
Description
相关申请
本申请是于2021年11月9日提交的美国专利申请序列第17/522,642号的继续申请,该美国专利申请要求于2021年5月18日提交的美国临时专利申请序列第63/190,106号的优先权权益,这些申请通过引用整体并入本文。
技术领域
本文公开的主题总体上涉及视觉跟踪系统。具体地,本公开内容涉及用于限制视觉跟踪系统中的运动模糊的系统和方法。
背景技术
增强现实(AR)设备使用户能够观察场景,同时看到可以与设备的视野中的项目、图像、对象或环境对准的相关虚拟内容。虚拟现实(VR)设备提供了比AR设备更沉浸式的体验。VR设备使用基于VR设备的定位和取向而显示的虚拟内容遮挡用户的视野。
AR和VR设备二者都依赖于运动跟踪系统,运动跟踪系统跟踪设备的姿势(例如,取向、定位(position)、位置(location))。运动跟踪系统(也称为视觉跟踪系统)使用由AR/VR设备的光学传感器捕获的图像来跟踪其姿势。然而,当AR/VR设备快速移动时,图像可能会变得模糊。这样,高运动模糊导致跟踪性能下降。替选地,高运动模糊导致更高的计算操作,以在高动态下保持足够的跟踪准确度和图像质量。
附图说明
为了容地易识别对任何特定元件或动作的讨论,附图标记中的一个或更多个最高位数字指代该元件被首次引入时所在的图号。
图1是示出根据一个示例实施方式的用于操作AR/VR显示设备的环境的框图。
图2是示出根据一个示例实施方式的AR/VR显示设备的框图。
图3是示出根据一个示例实施方式的视觉跟踪系统的框图。
图4是示出根据一个示例实施方式的模糊减少模块的框图。
图5是示出根据一个示例实施方式的用于限制运动模糊的过程的框图。
图6是示出根据一个示例实施方式的用于限制运动模糊的方法的流程图。
图7是示出根据另一示例实施方式的用于限制运动模糊的方法的流程图。
图8是示出根据示例实施方式的可以在其中实现本公开内容的软件架构的框图。
图9是根据一个示例实施方式的呈计算机系统形式的机器的图解表示,在该机器内,可以执行指令集合以使机器执行本文讨论的方法中的任何一种或更多种。
图10示出了根据一个示例实施方式的可以在其中实现头部可穿戴装置的网络环境。
具体实施方式
下面的描述描述了示出本主题的示例实施方式的系统、方法、技术、指令序列和计算机程序产品。在以下描述中,出于说明的目的,阐述了许多具体细节以提供对本主题的各种实施方式的理解。然而,对于本领域技术人员而言明显的是,可以在没有这些具体细节中的一些或其他细节的情况下实践本主题的实施方式。示例仅代表可能的变型。除非另有明确说明,否则结构(例如,结构部件,诸如模块)是可选的,并且可以被组合或细分,并且操作(例如,在过程、算法或其他功能中)可以在顺序上变化或者被组合或细分。
本文使用的术语“增强现实”(AR)是指现实世界环境的交互式体验,其中存在于现实世界中的物理对象通过计算机生成的数字内容(也称为虚拟内容或合成内容)增强(“augmented”或“enhanced”)。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显示设备的姿势的位置处。因此,基于设备的最新姿势来刷新虚拟内容。显示设备处的视觉跟踪系统确定显示设备的姿势。视觉跟踪系统的示例包括视觉惯性跟踪系统(也称为视觉里程计系统),其依赖于从多个传感器(例如,光学传感器、惯性传感器)获取的数据。
当摄像装置快速移动(例如,快速旋转)时,由视觉跟踪系统捕获的图像可能会模糊。图像中的运动模糊可能会导致(视觉跟踪系统的)跟踪性能下降。替选地,运动模糊还可能导致视觉跟踪系统更高的计算操作,以便在高动态下保持足够的跟踪精度和图像质量。特别地,具有固定的曝光时间和/或ISO值的摄像装置不会限制或减少运动模糊。
本申请描述了一种用于在显示设备的视觉跟踪系统快速转动或移动时限制图像模糊的方法。限制图像模糊能够实现更好的跟踪结果。在一个示例中,视觉跟踪系统的模糊减少模块基于摄像装置/视觉跟踪系统的当前运动速率来动态地调整视觉跟踪系统的一个或更多个摄像装置的曝光时间和ISO。这种动态设置使得跟踪期间的模糊最小化,同时在图像捕获期间仍然保持高图像质量。在一个示例实施方式中,模糊减少模块实时采样角/线加速度并且调整摄像装置的曝光和ISO以实现允许的运动模糊,同时保持整体亮度恒定。例如,模糊减少模块针对静止情况增加曝光时间并降低ISO,针对动态情况减少曝光并提高ISO。
模糊减少模块基于摄像装置的角/线速度来估计运动模糊水平。在一个示例中,基于来自视觉跟踪系统的IMU或显示设备的IMU的惯性传感器数据来确定角速度。在另一示例中,基于利用视觉跟踪系统的VIO跟踪3D点来确定角/线速度。
在一个示例实施方式中,用于限制视觉跟踪系统中的运动模糊的方法包括:访问由视觉跟踪系统的光学传感器生成的第一图像,识别针对第一图像的光学传感器的摄像装置操作参数,确定针对第一图像的光学传感器的运动,基于光学传感器的摄像装置操作参数和光学传感器的运动来确定第一图像的运动模糊水平,以及基于运动模糊水平来调整光学传感器的摄像装置操作参数。
因此,本文描述的一个或更多个方法利于解决以下技术问题:限制用于对设备进行跟踪的图像中的运动模糊。当前描述的方法通过以最小功耗限制运动模糊,提供了对计算机功能操作的改进。因此,本文描述的一个或更多个方法可以避免对某些工作量或计算资源的需求。这样的计算资源的示例包括处理器周期、网络流量、存储器使用、数据存储容量、功耗、网络带宽和冷却容量。
图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应用,其基于使用AR/VR显示设备106的摄像装置检测到的图像来生成虚拟内容。例如,用户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、蓝牙、Wifi)、音频传感器(例如,麦克风)、热传感器、压力传感器(例如,气压计)或其任何合适的组合。注意,本文描述的传感器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包括本地渲染引擎,该本地渲染引擎生成对覆加(例如,叠加在之上或者以其他方式与之协同显示)在由姿势估计模块308捕获的物理对象104的图像上的虚拟内容的可视化。可以通过调整物理对象104相对于姿势估计模块308的定位(例如,其物理位置、取向或两者)来操纵虚拟内容的可视化。类似地,可以通过调整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的视场、光学传感器212的ISO值以及光学传感器212的图像分辨率。
在一个示例实施方式中,模糊减少模块306基于来自惯性传感器210的IMU传感器数据来确定光学传感器212的角速度。模糊减少模块306在不执行对图像中的像素的任何分析的情况下基于角速度和摄像装置操作参数来估计运动模糊水平。
在另一示例实施方式中,模糊减少模块306基于来自视觉跟踪系统108的当前速度估计,结合当前图像中的当前跟踪点的3D位置来考虑光学传感器212的角速度和线速度两者。例如,模糊减少模块306基于当前图像中对象(距光学传感器212)的距离来确定光学传感器212的线速度以及线速度对当前图像的不同区域的影响(例如,如由特征点的3D位置确定的)。这样,更靠近光学传感器212的对象比更远离光学传感器212的对象显得更模糊(当光学传感器212正在移动时)。
模糊减少模块306基于估计的运动模糊来调整光学传感器212的摄像装置设置。在一个示例中,模糊减少模块306基于估计的或预测的运动模糊来调整光学传感器212的曝光时间和ISO。在另一示例中,模糊减少模块306在不分析图像的内容(例如,像素)的情况下确定运动模糊水平。
姿势估计模块308确定AR/VR显示设备106相对于参照系(例如,真实世界环境110)的姿势(例如,位置、定位、取向)。在一个示例实施方式中,姿势估计模块308包括VIO系统,该VIO系统基于以下来估计AR/VR显示设备106的姿势:来自使用光学传感器212捕获的当前图像的特征点的3D图;以及使用惯性传感器210捕获的惯性传感器数据。
在一个示例实施方式中,姿势估计模块308计算AR/VR显示设备106的定位和取向。AR/VR显示设备106包括安装在刚性平台(AR/VR显示设备106的框架)上的一个或更多个光学传感器212与一个或更多个惯性传感器210。光学传感器212可以安装成非交叠(分布式孔径)或交叠(立体或更多)视场。
在一些示例实施方式中,姿势估计模块308包括对来自惯性传感器210的惯性信息和来自姿势估计模块308的图像信息进行组合的算法,姿势估计模块308耦接至刚性平台(例如,AR/VR显示设备106)或装备(rig)。在一个实施方式中,装备可以由安装在刚性平台上的多个摄像装置与惯性导航单元(例如,惯性传感器210)组成。因此,成套设备可以具有至少一个惯性导航单元和至少一个摄像装置。
图4是示出根据一个示例实施方式的模糊减少模块306的框图。模糊减少模块306包括运动模糊估计引擎402和摄像装置参数调整引擎404。
运动模糊估计引擎402从光学传感器模块304中检索光学传感器212的摄像装置操作参数。例如,摄像装置操作参数包括光学传感器212在当前图像的捕获/曝光时间期间的设置。
在一个示例实施方式中,运动模糊估计引擎402基于来自惯性传感器210的IMU传感器数据来确定光学传感器212的角速度。运动模糊估计引擎402基于角速度和摄像装置操作参数来估计运动模糊水平,而不执行对图像中的像素的任何分析。
在一个示例中,运动模糊估计引擎402基于在当前图像的曝光时间期间的惯性传感器数据对视觉跟踪系统108的角速度进行采样。运动模糊估计引擎402基于视觉跟踪系统108的采样角速度和摄像装置操作参数来确定当前图像中的运动模糊水平。在另一示例中,运动模糊估计引擎402基于在当前图像的曝光时间期间的惯性传感器数据来识别视觉跟踪系统108的最大角速度。运动模糊估计引擎402基于视觉跟踪系统108的最大角速度和摄像装置操作参数来估计当前图像中的运动模糊水平。
在另一示例实施方式中,运动模糊估计引擎402基于来自视觉跟踪系统108的当前速度估计,结合当前图像中的当前跟踪点的3D位置来考虑光学传感器212的角速度和线速度两者。例如,运动模糊估计引擎402基于当前图像中的对象(距光学传感器212)的距离来确定光学传感器212的线速度以及线速度对当前图像的不同区域的影响(例如,如由特征点的3D位置确定的)。这样,更靠近光学传感器212的对象比更远离光学传感器212的对象显得更模糊(当光学传感器212正在移动时)。
在另一示例实施方式中,运动模糊估计引擎402确定角速度/线速度是否超过预设阈值。例如,运动模糊估计引擎402确定视觉跟踪系统108正在快速旋转,因为角速度超过角速度阈值。在这种情况下,运动模糊估计引擎402向摄像装置参数调整引擎404通知所述快速旋转。类似地,在另一示例中,运动模糊估计引擎402确定视觉跟踪系统108正在快速移动,因为线速度超过线速度阈值。运动模糊估计引擎402向摄像装置参数调整引擎404通知所述快速旋转/运动。
运动模糊估计引擎402基于光学传感器212的角速度来估计运动模糊水平。例如,当角速度在a s-1与b s-1之间时,运动模糊水平为1;当角速度在b s-1与c s-1之间时,运动模糊水平为2;当角速度超过c s-1时,运动模糊水平为3。
类似地,运动模糊估计引擎402基于光学传感器212的线速度来估计运动模糊水平。例如,当线速度在a m/s与b m/s之间时,运动模糊水平为1;当线速度在b m/s与c m/s之间时,运动模糊水平为2;当线速度超过c m/s时,运动模糊水平为3。
在另一示例中,运动模糊估计引擎402确定当前图像的运动模糊水平是否超过预设运动模糊水平。例如,运动模糊估计引擎402确定视觉跟踪系统108正在快速旋转,因为运动模糊水平为3或更高。在这种情况下,运动模糊估计引擎402向摄像装置参数调整引擎404通知所述高运动模糊水平。
摄像装置参数调整引擎404基于相对于预设阈值的角/线速度或者基于估计的运动模糊水平来调整摄像装置的曝光时间和ISO值。例如,当模糊减少模块306估计运动模糊水平为3或3之上时,摄像装置参数调整引擎404减少光学传感器212的曝光时间并增大ISO值。在另一示例中,摄像装置参数调整引擎404基于运动模糊水平来调整曝光时间的变化幅度和ISO值的变化幅度。因此,更高的运动模糊水平使得曝光时间减少的幅度更大,并且在运动模糊水平更高的情况下使得ISO值增大的幅度更大。
类似地,当模糊减少模块306估计运动模糊水平为2或2之下时,摄像装置参数调整引擎404增加光学传感器212的曝光时间并降低ISO值。在另一示例实施方式中,摄像装置参数调整引擎404可以独立于ISO值的幅度值的改变来调整曝光时间的幅度值的改变。例如,摄像装置参数调整引擎404相对于ISO值的增大将曝光时间降低更高的幅度。
在一个示例实施方式中,摄像装置参数调整引擎404检测到增大的ISO值超过预定义的最大ISO值。作为响应,摄像装置参数调整引擎404将增加的ISO值调整为预定义的最大ISO值。
在另一示例实施方式中,摄像装置参数调整引擎404检测到当前图像的运动模糊水平在运动模糊阈值内。作为响应,摄像装置参数调整引擎404增加光学传感器212的曝光时间并降低光学传感器212的ISO值。
摄像装置参数调整引擎404将调整的摄像装置操作参数传送至光学传感器模块304。例如,摄像装置参数调整引擎404改变光学传感器模块304的曝光时间和ISO值。在其他示例实施方式中,摄像装置参数调整引擎404调整光学传感器212的其他设置(例如,分辨率、视场)。
图5是示出根据一个示例实施方式的示例过程的框图。视觉跟踪系统108接收来自传感器202的传感器数据以确定AR/VR显示设备106的姿势。模糊减少模块306基于传感器数据(例如,来自IMU的角速度、来自姿势估计模块308的线速度)来估计模糊运动水平。模糊减少模块306基于估计的模糊运动水平来调整光学传感器212的摄像装置操作参数(例如,曝光时间、ISO值)。姿势估计模块308识别视觉跟踪系统108的姿势并将姿势数据提供至AR/VR应用214。
AR/VR应用214从存储设备208中检索虚拟内容216并且使虚拟内容216基于AR/VR显示设备106的姿势被显示在(显示器204中)的位置处。
图6是示出根据一个示例实施方式的用于限制运动模糊的方法600的流程图。方法600中的操作可以由视觉跟踪系统108使用上面关于图4描述的部件(例如,模块、引擎)来执行。因此,参照模糊减少模块306以示例的方式描述了方法600。然而,应当理解的是,方法600的至少一些操作可以被部署在各种其他硬件配置上或者由驻留在其他地方的类似部件执行。
在框602中,姿势估计模块308基于当前图像(来自光学传感器212)来确定视觉跟踪系统108的姿势并且跟踪特征。在框604中,运动模糊估计引擎402确定当前图像的曝光时间期间的角速度。在框606中,运动模糊估计引擎402基于角速度来估计运动模糊水平。在判定框608中,运动模糊估计引擎402确定运动模糊水平是否超过预设运动模糊阈值。在框610中,摄像装置参数调整引擎404调整光学传感器212的摄像装置操作参数。在框612中,摄像装置参数调整引擎404保持当前摄像装置操作参数。
要注意的是,其他实施方式可以使用不同的排序、额外的或更少的操作以及不同的命名法或术语来完成类似的功能。在一些实施方式中,各种操作可以以同步或异步的方式与其他操作并行执行。本文中描述的操作被选择来以简化的形式说明一些操作原理。
图7是示出根据另一示例实施方式的用于限制运动模糊的方法700的流程图。方法700中的操作可以由模糊减少模块306使用上面关于图4描述的部件(例如,模块、引擎)来执行。因此,参照模糊减少模块306以示例的方式描述了方法700。然而,应当理解的是,方法700的至少一些操作可以被部署在各种其他硬件配置上或者由驻留在其他地方的类似部件执行。
在框702中,运动模糊估计引擎402检索IMU数据和VIO数据。在框704中,运动模糊估计引擎402基于IMU数据和/或VIO数据来估计运动模糊水平。在框706中,姿势估计模块308基于当前图像(由光学传感器212生成)来确定光学传感器212的姿势。在判定框708中,运动模糊估计引擎402确定运动模糊水平是否超过运动模糊阈值。在框710中,响应于确定运动模糊水平超过运动模糊阈值,摄像装置参数调整引擎404减少曝光时间并且增大ISO值。在框712中,姿势估计模块308基于减少的曝光时间和增大的ISO值来检索新图像。在框714中,姿势估计模块308确定光学传感器212的姿势并且在新图像中跟踪特征。在框716中,响应于确定运动模糊水平低于运动模糊阈值,摄像装置参数调整引擎404增加曝光时间并降低ISO值。在框718中,姿势估计模块308基于增加的曝光时间和降低的ISO值来检索新图像。在框720中,姿势估计模块308确定光学传感器212的姿势并且在新图像中跟踪特征。
图8是示出软件架构804的框图800,该软件架构804可以安装在本文中描述的设备中的任何一个或更多个上。软件架构804由诸如机器802的硬件支持,机器802包括处理器820、存储器826和I/O部件838。在该示例中,软件架构804可以被概念化为层的堆栈,在该层的堆栈中,每个层提供特定的功能。软件架构804包括诸如操作系统812、库810、框架808和应用806的层。在操作上,应用806通过软件堆栈来激活API调用850并且响应于API调用850来接收消息852。
操作系统812管理硬件资源并且提供公共服务。操作系统812包括例如核814、服务816和驱动器822。核814充当硬件层与其他软件层之间的抽象层。例如,核814提供存储器管理、处理器管理(例如,调度)、部件管理、联网和安全设置以及其他功能。服务816可以为其他软件层提供其他公共服务。驱动器822负责控制底层硬件或与底层硬件接口。例如,驱动器822可以包括显示驱动器、摄像装置驱动器、或/>低功耗驱动器、闪存驱动器、串行通信驱动器(例如,通用串行总线(USB)驱动器)、驱动器、音频驱动器、电源管理驱动器等。
库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库(例如,提供网页浏览功能的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(例如,由特定平台的供应商以外的实体使用ANDROIDTM或IOSTM软件开发工具包(SDK)开发的应用)可以是在诸如IOSTM、ANDROIDTM、Phone的移动操作系统或其他移动操作系统上运行的移动软件。在该示例中,第三方应用840可以激活由操作系统812提供的API调用850以有助于本文中描述的功能。
图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,所述主存储器1212、静态存储器1214和存储单元1216均可由处理器902经由总线944访问。主存储器904、静态存储器914和存储单元916存储实现本文所述的方法或功能中的任何一种或更多种的指令908。指令908在其被机器900执行期间还可以完全地或部分地驻留在主存储器912内、在静态存储器914内、在存储单元916内的机器可读介质918内、在处理器902中的至少一个处理器内(例如,在处理器的高速缓存存储器内)、或者在其任何合适的组合内。
I/O部件942可以包括接收输入、提供输出、产生输出、传送信息、交换信息、捕获测量等的各种各样的部件。包括在特定机器中的具体I/O部件942将取决于机器的类型。例如,诸如移动电话的便携式机器可以包括触摸输入设备或其他这样的输入机构,而无头服务器机器可能不包括这样的触摸输入设备。应当理解,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,通信部件940可操作成分别经由耦接924和耦接926将机器900耦接至网络920或设备922。例如,通信部件940可以包括与网络920对接的网络接口部件或其他合适的设备。在另外的示例中,通信部件940可以包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(NFC)部件、部件(例如,/>低功耗)、/>部件以及经由其他模态提供通信的其他通信部件。设备922可以是另一机器或各种各样的外围设备中的任何外围设备(例如,经由USB耦接的外围设备)。
此外,通信部件940可以检测标识符或者包括可操作成检测标识符的部件。例如,通信部件940可以包括射频识别(RFID)标签阅读器部件、NFC智能标签检测部件、光学阅读器部件(例如,用于检测诸如通用产品代码(UPC)条形码的一维条形码、诸如快速响应(QR)码、Aztec码、数据矩阵、数据符号(Dataglyph)、最大码(MaxiCode)、PDF417、超码(UltraCode)、UCC RSS-2D条形码的多维条形码和其他光学码的光学传感器)或声学检测部件(例如,用于识别标记的音频信号的麦克风)。另外,可以经由通信部件940得出各种信息,例如经由因特网协议(IP)地理定位的位置、经由信号三角测量的位置、经由检测可以指示特定位置的NFC信标信号的位置等。
各种存储器(例如,存储器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-4Part 10)、HEVC、Theora、Dirac、RealVideo RV40、VP8、VP9等)格式化的视频数据,以及静止图像数据可以根据压缩格式(诸如便携式网络组(PNG)、联合摄影专家组(JPEG)、标签图像文件格式(TIFF)或可交换图像文件格式(Exif)等)而被格式化。
如上所述,头部可穿戴装置1002包括框架和从框架的横向侧延伸的柄(或镜腿)。头部可穿戴装置1002还包括用户输入设备1006(例如,触摸传感器或按压按钮),该用户输入设备1006包括头部可穿戴装置1002上的输入表面。用户输入设备1006(例如,触摸传感器或按压按钮)用于从用户接收操纵所呈现的图像的图形用户界面的输入选择。
图10中所示的用于头部可穿戴装置1002的部件位于边框或镜腿中的一个或更多个电路板(例如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可以包括短距离收发器(蓝牙TM)和无线广域网、局域网或广域网收发器(例如,蜂窝或WIFI)。客户端设备1038(包括经由通信1034和通信1036进行通信的收发器)可以使用头部可穿戴装置1002的架构的细节来实现,网络1040的其他元件也可以如此。
存储器1022包括能够存储各种数据和应用的任何存储设备,此外还包括由左和右、红外摄像装置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或蓝牙TM收发器、海拔传感器部件(例如,检测气压的高度计或气压计,根据气压可以得到海拔)、取向传感器部件(例如,磁力计)等。这样的定位系统坐标还可以经由低功率无线电路1030或高速无线电路1024通过通信1036从客户端设备1038接收。
在使用类似于“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包括示例2,还包括:基于在第一图像的曝光时间期间的惯性传感器数据对视觉跟踪系统的角速度进行采样,其中基于视觉跟踪系统的采样的角速度和摄像装置操作参数来确定第一图像中的运动模糊水平。
示例5包括示例2,还包括:基于在第一图像的曝光时间期间的惯性传感器数据来识别视觉跟踪系统的最大角速度,其中基于视觉跟踪系统的最大角速度和摄像装置操作参数来确定第一图像中的运动模糊水平。
示例6包括示例1,其中摄像装置操作参数包括光学传感器的曝光时间、光学传感器的视场、光学传感器的ISO值和图像分辨率的组合。
示例7包括示例6,还包括:检测第一图像的运动模糊水平超过运动模糊阈值;并且响应于检测到第一图像的运动模糊水平超过运动模糊阈值,减少光学传感器的曝光时间并增大光学传感器的ISO值。
示例8包括示例7,还包括:检测增大的ISO值超过预定义最大ISO值;并且响应于检测到增大的ISO值超过预定义最大ISO值,将增大的ISO值调整为预定义最大ISO值。
示例9包括示例6,还包括:检测第一图像的运动模糊水平在运动模糊阈值内;并且响应于检测到第一图像的运动模糊水平在运动模糊阈值内,增加光学传感器的曝光时间并且降低光学传感器的ISO值。
示例10包括示例1,还包括:访问由用调整的摄像装置操作参数操作的光学传感器生成的第二图像;并且在第二图像中识别特征。
示例11是计算装置,包括:处理器;以及存储器,该存储器存储指令,指令当由处理器执行时,将装置配置成执行操作,操作包括:访问由视觉跟踪系统的光学传感器生成的第一图像;识别针对第一图像的光学传感器的摄像装置操作参数;针对第一图像确定光学传感器的运动;基于光学传感器的摄像装置操作参数和光学传感器的运动来确定第一图像的运动模糊水平;以及根据运动模糊水平调整光学传感器的摄像装置操作参数。
示例12包括示例11,其中确定光学传感器的运动包括:检索来自视觉跟踪系统的惯性传感器的惯性传感器数据,惯性传感器数据对应于第一图像;以及基于惯性传感器数据确定视觉跟踪系统的角速度,其中运动模糊水平还基于视觉跟踪系统的角速度,而不分析第一图像的内容。
示例13包括示例11,其中确定光学传感器的运动包括:访问来自视觉跟踪系统的VIO系统的VIO数据,VIO数据包括光学传感器的估计角速度、光学传感器的估计线速度,以及第一图像中特征点的位置,其中运动模糊水平基于摄像装置操作参数和VIO数据,而不分析第一图像的内容,其中第一图像的不同区域的运动模糊基于光学传感器的估计角速度、光学传感器的估计线速度,以及第一图像的相应的不同区域中的3D特征点相对于光学传感器的位置。
示例14包括示例12,其中指令还将装置配置成:基于在第一图像的曝光时间期间的惯性传感器数据对视觉跟踪系统的角速度进行采样,其中基于视觉跟踪系统的采样的角速度和摄像装置操作参数来确定第一图像中的运动模糊水平。
示例15包括示例12,其中指令还将装置配置成:基于在第一图像的曝光时间期间的惯性传感器数据来识别视觉跟踪系统的最大角速度,其中基于视觉跟踪系统的最大角速度和摄像装置操作参数来确定第一图像中的运动模糊水平。
示例16包括示例11,其中摄像装置操作参数包括光学传感器的曝光时间、光学传感器的视场、光学传感器的ISO值和图像分辨率的组合。
示例17包括示例16,其中指令还将装置配置成:检测第一图像的运动模糊水平超过运动模糊阈值;以及响应于检测到第一图像的运动模糊水平超过运动模糊阈值,减少光学传感器的曝光时间并增大光学传感器的ISO值。
示例18包括示例17,其中指令还将装置配置成:检测增大的ISO值超过预定义最大ISO值;以及响应于检测到增加的ISO值超过预定义最大ISO值,将增大的ISO值调整为预定义最大ISO值。
示例19包括示例16,其中指令还将装置配置成:检测第一图像的运动模糊水平在运动模糊阈值内;以及响应于检测到第一图像的运动模糊水平在运动模糊阈值内,增加光学传感器的曝光时间并降低光学传感器的ISO值。
示例20是非暂态计算机可读存储介质,该计算机可读存储介质包括指令,当指令由计算机执行时使计算机执行以下操作,包括:访问由视觉跟踪系统的光学传感器生成的第一图像;识别针对第一图像的光学传感器的摄像装置操作参数;确定针对第一图像的光学传感器的运动;基于光学传感器的摄像装置操作参数和光学传感器的运动来确定第一图像的运动模糊水平;以及根据运动模糊水平来调整光学传感器的摄像装置操作参数。
Claims (20)
1.一种用于限制视觉跟踪系统中的运动模糊的方法,包括:
访问由所述视觉跟踪系统的光学传感器生成的第一图像;
识别针对所述第一图像的所述光学传感器的摄像装置操作参数;
确定针对所述第一图像的所述光学传感器的运动;
基于所述光学传感器的所述摄像装置操作参数和所述光学传感器的所述运动,来确定所述第一图像的运动模糊水平;以及
基于所述运动模糊水平来调整所述光学传感器的所述摄像装置操作参数。
2.根据权利要求1所述的方法,其中,确定所述光学传感器的运动包括:
检索来自所述视觉跟踪系统的惯性传感器的惯性传感器数据,所述惯性传感器数据对应于所述第一图像;以及
基于所述惯性传感器数据来确定所述视觉跟踪系统的角速度,
其中,所述运动模糊水平还基于所述视觉跟踪系统的所述角速度,而不分析所述第一图像的内容。
3.根据权利要求1所述的方法,其中,确定所述光学传感器的运动包括:
访问来自所述视觉跟踪系统的VIO系统的VIO数据,所述VIO数据包括所述光学传感器的估计角速度、所述光学传感器的估计线速度以及所述第一图像中的特征点的位置,
其中,所述运动模糊水平基于所述摄像装置操作参数和所述VIO数据,而不分析所述第一图像的内容,
其中,所述第一图像的不同区域中的所述运动模糊基于所述光学传感器的所述估计角速度、所述光学传感器的所述估计线速度以及所述第一图像的相应的不同区域中的3D特征点相对于所述光学传感器的位置。
4.根据权利要求2所述的方法,还包括:
基于在所述第一图像的曝光时间期间的所述惯性传感器数据对所述视觉跟踪系统的所述角速度进行采样,
其中,基于所述视觉跟踪系统的所采样的角速度和所述摄像装置操作参数来确定所述第一图像中的运动模糊水平。
5.根据权利要求2所述的方法,还包括:
基于在所述第一图像的曝光时间期间的所述惯性传感器数据来识别所述视觉跟踪系统的最大角速度,
其中,基于所述视觉跟踪系统的所述最大角速度和所述摄像装置操作参数来确定所述第一图像中的运动模糊水平。
6.根据权利要求1所述的方法,其中,所述摄像装置操作参数包括所述光学传感器的曝光时间、所述光学传感器的视场、所述光学传感器的ISO值和图像分辨率的组合。
7.根据权利要求6所述的方法,还包括:
检测所述第一图像的运动模糊水平超过运动模糊阈值;以及
响应于检测到所述第一图像的运动模糊水平超过所述运动模糊阈值,减少所述光学传感器的曝光时间并且增大所述光学传感器的ISO值。
8.根据权利要求7所述的方法,还包括:
检测增大的ISO值超过预定义最大ISO值;以及
响应于检测到增大的ISO值超过所述预定义最大ISO值,将增大的ISO值调整为所述预定义最大ISO值。
9.根据权利要求6所述的方法,还包括:
检测所述第一图像的运动模糊水平在运动模糊阈值内;以及
响应于检测到所述第一图像的运动模糊水平在所述运动模糊阈值内,增加所述光学传感器的曝光时间并且降低所述光学传感器的所述ISO值。
10.根据权利要求1所述的方法,还包括:
访问由以所调整的摄像装置操作参数操作的所述光学传感器生成的第二图像;以及
在所述第二图像中识别特征。
11.一种计算装置,包括:
处理器;以及
存储器,所述存储器存储指令,所述指令当由所述处理器执行时将所述装置配置成执行操作,所述操作包括:
访问由视觉跟踪系统的光学传感器生成的第一图像;
识别针对所述第一图像的所述光学传感器的摄像装置操作参数;
确定针对所述第一图像的所述光学传感器的运动;
基于所述光学传感器的所述摄像装置操作参数和所述光学传感器的所述运动,来确定所述第一图像的运动模糊水平;以及
基于所述运动模糊水平来调整所述光学传感器的所述摄像装置操作参数。
12.根据权利要求11所述的计算装置,其中,确定所述光学传感器的运动包括:
检索来自所述视觉跟踪系统的所述惯性传感器的惯性传感器数据,所述惯性传感器数据对应于所述第一图像;以及
基于所述惯性传感器数据来确定所述视觉跟踪系统的角速度,
其中,所述运动模糊水平还基于所述视觉跟踪系统的所述角速度,而不分析所述第一图像的内容。
13.根据权利要求11所述的计算装置,其中,确定所述光学传感器的运动包括:
访问来自所述视觉跟踪系统的VIO系统的VIO数据,所述VIO数据包括所述光学传感器的估计角速度、所述光学传感器的估计线速度以及所述第一图像中的特征点的位置,
其中,所述运动模糊水平基于所述摄像装置操作参数和所述VIO数据,而不分析所述第一图像的内容,
其中,所述第一图像的不同区域中的所述运动模糊基于所述光学传感器的所述估计角速度、所述光学传感器的所述估计线速度以及所述第一图像的相应的不同区域中的所述3D特征点相对于所述光学传感器的位置。
14.根据权利要求12所述的计算装置,其中,所述指令还将所述装置配置成:
基于在所述第一图像的曝光时间期间的所述惯性传感器数据对所述视觉跟踪系统的所述角速度进行采样,
其中,基于所述视觉跟踪系统的所采样的角速度和所述摄像装置操作参数来确定所述第一图像中的运动模糊水平。
15.根据权利要求12所述的计算装置,其中,所述指令还将所述装置配置成:
基于在所述第一图像的曝光时间期间的所述惯性传感器数据来识别所述视觉跟踪系统的最大角速度,
其中,基于所述视觉跟踪系统的所述最大角速度和所述摄像装置操作参数来确定所述第一图像中的运动模糊水平。
16.根据权利要求11所述的计算装置,其中,所述摄像装置操作参数包括所述光学传感器的曝光时间、所述光学传感器的视场、所述光学传感器的ISO值和图像分辨率的组合。
17.根据权利要求16所述的计算装置,其中,所述指令还将所述装置配置成:
检测所述第一图像的运动模糊水平超过运动模糊阈值;以及
响应于检测到所述第一图像的运动模糊水平超过所述运动模糊阈值,减少所述光学传感器的所述曝光时间并且增大所述光学传感器的所述ISO值。
18.根据权利要求17所述的计算装置,其中,所述指令还将所述装置配置成:
检测增大的ISO值超过预定义最大ISO值;以及
响应于检测到增大的ISO值超过所述预定义最大ISO值,将增大的ISO值调整为所述预定义最大ISO值。
19.根据权利要求16所述的计算装置,其中,所述指令还将所述装置配置成:
检测所述第一图像的运动模糊水平在运动模糊阈值内;以及
响应于检测到所述第一图像的运动模糊水平在所述运动模糊阈值内,增加所述光学传感器的所述曝光时间并且降低所述光学传感器的所述ISO值。
20.一种非暂态计算机可读存储介质,所述计算机可读存储介质包括指令,所述指令在由计算机执行时使所述计算机执行操作,所述操作包括:
访问由视觉跟踪系统的光学传感器生成的第一图像;
识别针对所述第一图像的所述光学传感器的摄像装置操作参数;
确定针对所述第一图像的所述光学传感器的运动;
基于所述光学传感器的所述摄像装置操作参数和所述光学传感器的所述运动来确定所述第一图像的运动模糊水平;以及
基于所述运动模糊水平来调整所述光学传感器的所述摄像装置操作参数。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/190,106 | 2021-05-18 | ||
US17/522,642 | 2021-11-09 | ||
US17/522,642 US11765457B2 (en) | 2021-05-18 | 2021-11-09 | Dynamic adjustment of exposure and iso to limit motion blur |
PCT/US2022/029182 WO2022245648A1 (en) | 2021-05-18 | 2022-05-13 | Dynamic adjustment of exposure and iso related application |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117441343A true CN117441343A (zh) | 2024-01-23 |
Family
ID=89548437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280036124.8A Pending CN117441343A (zh) | 2021-05-18 | 2022-05-13 | 曝光和iso的动态调整的相关应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117441343A (zh) |
-
2022
- 2022-05-13 CN CN202280036124.8A patent/CN117441343A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230388632A1 (en) | Dynamic adjustment of exposure and iso to limit motion blur | |
US20230300464A1 (en) | Direct scale level selection for multilevel feature tracking under motion blur | |
US20220375041A1 (en) | Selective image pyramid computation for motion blur mitigation in visual-inertial tracking | |
WO2022245821A1 (en) | Selective image pyramid computation for motion blur mitigation | |
US20240176428A1 (en) | Dynamic initialization of 3dof ar tracking system | |
US11880958B2 (en) | Dynamic over-rendering in late-warping | |
US11765457B2 (en) | Dynamic adjustment of exposure and iso to limit motion blur | |
US11683585B2 (en) | Direct scale level selection for multilevel feature tracking under motion blur | |
WO2022246388A1 (en) | Intrinsic parameters estimation in visual tracking systems | |
CN117321543A (zh) | 减少增强现实体验的启动时间 | |
CN117441343A (zh) | 曝光和iso的动态调整的相关应用 | |
US11983897B2 (en) | Camera intrinsic re-calibration in mono visual tracking system | |
US12014523B2 (en) | Intrinsic parameters estimation in visual tracking systems | |
US11941184B2 (en) | Dynamic initialization of 3DOF AR tracking system | |
US11688101B2 (en) | Intrinsic parameters estimation in visual tracking systems | |
CN117337575A (zh) | 用于运动模糊减轻的选择性图像金字塔计算 | |
US20230401796A1 (en) | Fast ar device pairing using depth predictions | |
CN117321635A (zh) | 用于多级别特征跟踪的直接尺度级别选择 | |
CN117425869A (zh) | 后期扭曲中的动态过度渲染 | |
CN117337422A (zh) | 三自由度增强现实跟踪系统的动态初始化 | |
CN117321546A (zh) | 增强现实引导的深度估计 | |
CN117321472A (zh) | 进行后期扭曲以最小化移动对象的延迟 | |
WO2023239776A1 (en) | Fast ar device pairing using depth predictions | |
WO2022245649A1 (en) | Augmented reality guided depth estimation | |
KR20240008370A (ko) | 움직이는 객체들의 레이턴시를 최소화하기 위한 늦은 워핑 |
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 |