CN117461309A - 对于计算机立体视觉的未对准观察点缓解 - Google Patents
对于计算机立体视觉的未对准观察点缓解 Download PDFInfo
- Publication number
- CN117461309A CN117461309A CN202280035582.XA CN202280035582A CN117461309A CN 117461309 A CN117461309 A CN 117461309A CN 202280035582 A CN202280035582 A CN 202280035582A CN 117461309 A CN117461309 A CN 117461309A
- Authority
- CN
- China
- Prior art keywords
- optical sensor
- image
- change
- feature
- expected
- 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
- 230000000116 mitigating effect Effects 0.000 title abstract description 51
- 230000003287 optical effect Effects 0.000 claims abstract description 162
- 238000000034 method Methods 0.000 claims abstract description 38
- 230000008859 change Effects 0.000 claims description 83
- 230000003190 augmentative effect Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 38
- 238000012545 processing Methods 0.000 description 25
- 230000006870 function Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000005540 biological transmission 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
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 238000005452 bending Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000005096 rolling process Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000000356 contaminant Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 1
- 229910000078 germane Inorganic materials 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008261 resistance mechanism Effects 0.000 description 1
- 230000004266 retinal recognition Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/128—Adjusting depth or disparity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/246—Calibration of cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/239—Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20228—Disparity calculation for image-based rendering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N2013/0074—Stereoscopic image analysis
- H04N2013/0081—Depth or disparity estimation from stereoscopic image signals
Abstract
公开了用于对于计算机立体视觉的未对准观察点缓解的系统、方法以及非暂态计算机可读介质。未对准观察点缓解系统确定光学传感器的观察点是否与预期观察点未对准,如果未对准,基于由两个光学传感器中捕获的图像中识别的匹配特征的位置来确定调整变量以缓解该未对准。
Description
相关申请
本申请要求2021年5月18日提交的美国临时专利申请序列第63/190,152号的优先权的权益。
技术领域
本主题的实施方式总体涉及计算机立体视觉,并且更具体地,涉及对于计算机立体视觉的未对准观察点缓解。
背景技术
增强现实(Augmented-Reality,AR)是对虚拟环境的修改。例如,在虚拟现实(Virtual Reality,VR)中,用户完全沉浸在虚拟世界中,而在增强现实(AR)中,用户沉浸在虚拟对象与现实世界结合或叠加的世界中。AR系统旨在生成和呈现与现实世界的环境以及彼此之间进行逼真的交互的虚拟对象。AR应用的示例包括单个玩家或多个玩家的视频游戏、即时通讯系统等。
附图说明
在附图(其不一定按比例绘制)中,相同的附图标记可以在不同的视图中描述类似的部件。具有不同字母后缀的相同附图标记可以表示类似部件的不同实例。在附图的各个图中以示例而非限制的方式示出了一些实施方式,在附图中:
图1示出了根据一些示例实施方式的用于提供对于计算机立体视觉的未对准观察点缓解的系统的框图。
图2是根据一些示例实施方式的未对准观察点缓解的框图。
图3是根据一些示例实施方式的用于对于计算机立体视觉的未对准观察点缓解的方法的流程图。
图4是示出根据一些示例实施方式的能够从机器可读介质(例如,机器可读存储介质)读取指令并且执行本文中讨论的方法中的任何一种或更多种方法的机器的部件的框图。
图5是示出根据一些示例实施方式的能够从机器可读介质(例如,机器可读存储介质)读取指令并且执行本文中讨论的方法中的任何一种或更多种方法的机器的部件的框图。
具体实施方式
在以下描述中,出于说明的目的,阐述了各种细节以便提供对一些示例实施方式的透彻理解。然而,对于本领域技术人员将明显的是,可以在没有这些具体细节的情况下或者在具有微小改变的情况下实践本主题。
在说明书中对“一个实施方式”或“实施方式”的引用意指结合该实施方式描述的特定特征、结构,或特性被包括在本主题的至少一个实施方式中。因此,在整个说明书的各个地方出现的短语“在一个实施方式中”或“在实施方式中”的出现不一定都指代同一实施方式。
出于说明的目的,阐述了具体配置和细节以提供对本主题的透彻理解。然而,对于本领域普通技术人员将明显的是,可以在没有本文呈现的具体细节的情况下或者以如本文中所描述的各种组合的方式来实践所描述的主题的实施方式。此外,可以省略或简化公知的特征以免使所描述的实施方式模糊。在整个说明书中可以给出各种示例。这些示例仅是对特定实施方式的描述。权利要求的范围或含义不限于所给出的示例。
本文中使用术语“增强现实”(AR)以指代现实世界环境中的交互体验,其中存在于现实世界中的物理对象被计算机生成的数字内容(也称为虚拟内容或合成内容)“增强”或加强。AR也可以指能够将现实和虚拟世界、实时交互以及虚拟和现实对象的三维配准结合的系统。AR系统的用户感知好似与现实世界中的物理对象附接或互连的虚拟内容。
所公开的是用于对于计算机立体视觉的未对准观察点缓解的系统、方法和非暂态计算机可读介质。计算机立体视觉允许从数字图像中提取三维信息。两个彼此水平移位的摄像装置被使用以捕获从两个不同观察点描绘场景的两个不同视图的图像。通过比较两个图像中对象的相对位置来确定图像中捕获的对象的相对深度。例如,可以使用摄像装置的已知距离和观察点以及对象的相对位置来估计对象的深度。
计算机立体视觉(立体视觉)越来越多地与AR相关地被使用。例如,AR装置配有两个摄像装置,用于使用立体视觉估计现实世界对象的深度。确定的深度用于呈现与真实世界对象相关的虚拟AR内容。在使用与AR有关的立体视觉时会出现的一个问题是保持摄像装置的定位。例如,AR装置可以设计成头戴式,类似于围绕用户脸部适配的眼镜。这些类型的头戴式AR装置优选地是轻薄的,以便于用户佩戴,然而可能会导致摄像装置的未对准。例如,当一些用户佩戴AR装置时,AR装置可能会被拉伸,从而导致用于立体视觉的摄像装置的取向发生变化,从而导致不准确的深度数据。
AR装置中用于立体视觉的光学传感器(例如,摄像装置)可能会因AR装置的弯曲和/或其他物理操作而变得未对准。因此,光学传感器的观察点可能相对于用于计算深度数据的预期观察点变化。因此,AR装置计算的深度数据可能不准确,并且基于深度数据呈现的虚拟AR内容可能看上去在不正确的位置处。为了减轻这一问题,未对准观察点缓解系统确定光学传感器的观察点是否与预期观察点未对准,如果未对准,则确定调整变量以缓解未对准。
未对准观察点缓解系统基于由两个光学传感器捕获的图像中识别的匹配特征的位置来确定光学传感器的观察点是否未对准。例如,未对准观察点缓解系统访问光学传感器中的每一个捕获的一对对应图像,并且识别两个图像中的每一个中的相同特征。
未对准观察点缓解系统使用特征在一个图像中的实际位置和光学传感器的预期观察点来确定特征在另一个图像中的预期位置。然后,未对准观察点缓解系统确定特征在另一个图像中的预期位置与特征在另一个图像中的实际位置之间的变化。特征的预期位置和实际位置之间的变化的大小被用于确定光学传感器是否未对准。例如,未对准观察点缓解系统将变化与阈值变化进行比较。如果变化小于阈值变化,则未对准观察点缓解系统确定光学传感器已正确对准。替选地,如果变化达到或超过阈值变化,则未对准观察点缓解系统确定光学传感器未对准。
未对准观察点缓解系统基于特征在图像中的预期位置和实际位置之间的所确定的变化来缓解光学传感器的未对准。例如,未对准观察点缓解系统使用变化来计算调整变量,以将所确定的变化考虑在内。在随后计算深度数据时,未对准观察点缓解系统使用该调整变量以将光学传感器的未对准考虑在内。
AR装置可以包括惯性测量单元(Inertial Measurement Unit,IMU),以通过使用加速度计和陀螺仪的组合来测量和报告AR装置的力、角速度和取向。在一些示例实施方式中,与AR装置相关联的光学传感器可以执行图像捕获的滚动快门方法,在这种方法中,通过垂直、水平或旋转地跨场景快速扫描来生成图像,使得在不同时间处捕获图像的部分。
如果AR装置在滚动快门图像捕获期间改变位置,则光学传感器捕获到的每个观察结果将以略微不同的姿势被记录,从而导致失真的效果和图像。在某些实施方式中,未对准观察点缓解系统可以被配置成在图像捕获期间使用IMU生成的数据估计姿势。因此,本文所讨论的与减缓光学传感器对准的变化有关的方法同样可以应用于AR装置采用滚动快门图像捕获的实施方式中。
图1示出了根据一些示例实施方式的用于对于计算机立体视觉的未对准观察点缓解的AR装置100的框图。AR装置100提供了增强用户现实世界环境的功能。例如,AR装置100允许用户与虚拟内容一起观察用户物理环境中的现实世界对象,以增强用户的环境。虚拟内容可以为用户提供描述用户周围物理环境的数据,例如呈现描述附近商业、提供方向、显示天气信息等的数据。
虚拟内容可以基于物理对象在用户现实世界环境中的距离和取向被呈现给用户。例如,虚拟内容可以被呈现为看上去被叠加在与虚拟内容相关的现实世界对象上与虚拟内容相关的现实世界对象相邻。作为示例,描述商业的虚拟内容可以被呈现为看上去叠加在其描述的商业上或与其描述的商业相邻。作为另一个示例,提供至目的地的方向的虚拟内容可以被呈现为看上去与在用户到达目的地要遵循的路径(例如,街道、地面)叠加。
在一些实施方式中,AR装置100可以是与虚拟内容一起呈现用户物理环境的实时图像的移动装置,例如智能手机或平板电脑。替选地,AR装置100可以是允许在用户视线范围内呈现虚拟内容,从而允许用户同时观察虚拟内容和现实世界环境二者的可穿戴装置例如头盔或眼镜。
如图所示,AR装置100包括左光学传感器102、右光学传感器104和显示器106,左光学传感器102、右光学传感器104和显示器106经由通信链路110连接至AR处理系统108并被配置成与AR处理系统108通信。通信链路110可以是实体的或无线的。例如,通信链路110可以包括将左光学传感器102、右光学传感器104和显示器106连接至AR处理系统108的实体布线或线缆。替选地,通信链路110可以是通过使用无线通信协议如蓝牙而促成的无线链路。
左光学传感器102、右光学传感器104、显示器106以及AR系统108中的每一个可以包括能够与其他装置进行网络通信的一种或更多种装置。例如,每个装置可以包括图5中示出的机器500的特征、部件和外围装置中的一些或全部。
为了利于与其他装置的通信,每个装置包括通信接口,该通信接口被配置成从与该装置进行通信的另一装置接收诸如请求、数据等的通信并且将该通信传递至在该装置上运行的适当的模块或部件。通信接口还向与装置进行通信的另一装置发送通信。
左光学传感器102和右光学传感器104可以是能够捕获图像数据的任何类型的传感器。例如,左光学传感器102和右光学传感器104可以是配置成捕获图像和/或视频的摄像装置。左光学传感器102和右光学传感器104捕获的图像经由通信链路108被提供至AR处理系统108。
为了允许使用立体视觉,左光学传感器102和右光学传感器104彼此水平移位,以从两个不同的观察点捕获描绘现实世界环境的两个不同视图的交叠图像。AR装置100内的光学传感器102和104中的每一个的取向被校准以捕获具体观察点,以提供两个光学传感器102和104之间的已知图像转换。图像转换是将一个图像中像素的位置映射到相应图像中像素的相应位置的函数。
为了使图像转换能够适当地在图像之间映射像素的位置,光学传感器102和104被定位在彼此相距预定的距离处,并且被对准以捕获特定的观察点。每个光学传感器102、104的观察点指示光学传感器102、104所捕获的视场和焦点。光学传感器102、104之间的已知距离和每个光学传感器102、104的已知观察点可以被用于计算光学传感器102、104中的每一个所捕获的图像之间的转换。
显示器106可以是能够呈现虚拟内容的各种类型显示器中的任何一种。例如,显示器106可以是可以在其上将虚拟内容与用户物理环境的图像同时呈现的监视器或屏幕。替选地,显示器106可以是允许用户通过显示器106观察显示器106呈现的虚拟内容以及用户视线范围内呈现的现实世界对象的透明显示器。
AR处理系统108被配置成提供AR功能,以增强用户的现实世界环境。AR处理系统108使用由光学传感器102、104捕获的图像来识别和确定周围现实世界环境中物理对象的位置(如深度、方向)。AR处理系统108基于周围现实世界对象的物理位置生成虚拟内容并且使该虚拟内容在显示器106上呈现,以增强用户的现实世界环境。
AR处理系统108使用由光学传感器102、104捕获的图像来确定指示图像中描绘的物理对象相对于AR装置100的深度的深度数据。AR处理系统108可以使用立体视觉来确定深度数据。立体视觉允许从数字图像中提取三维信息。为了利用计算机立体视觉,两个光学传感器102和104彼此水平移位,并且用于捕获从两个不同的观察点描绘现实世界环境的两个不同视图的图像。通过比较两个图像中对象的相对位置来确定图像中捕获的对象的相对深度。例如,可以使用两个光学传感器102、104之间的已知距离和两个光学传感器102、104的已知观察点以及所捕获图像中对象的相对位置来估计对象距AR装置100的深度。
AR处理系统108使用对象的确定深度来生成虚拟内容。例如,可以使用对象的深度来确定虚拟内容的适当大小,以提供虚拟内容适当叠加在物理对象上的错觉。
如前所述,用于立体视觉的光学传感器102、104可能会由于AR装置100的弯曲和/或其他物理操作而未对准。例如,由于用户的头部尺寸不同,设计成作为眼镜佩戴的AR装置100在被用户佩戴时可能会略微弯曲。因此,光学传感器102、104的观察点可能会变得偏离AR处理系统108用来计算深度数据的预期观察点(例如,基于光学传感器102、104初始校准预期的观察点)。因此,AR处理系统108计算的深度数据可能不准确,导致显示器上呈现的虚拟内容看上去在不正确的位置处。为缓解这一问题,AR处理系统108包括未对准观察点缓解系统112,未对准观察点缓解系统112确定光学传感器102、104的观察点是否与预期观察点未对准,如果未对准,则确定调整变量以缓解未对准。
未对准观察点缓解系统112基于在由两个光学传感器102、104所捕获的图像中识别的匹配特征的位置来确定光学传感器102、104的观察点是否未对准。例如,未对准观察点缓解系统112访问左光学传感器102和右光学传感器104中的每一个捕获的一对对应图像。对应图像是由左光学传感器102和右光学传感器104同时或接近同时捕获的图像。例如,对应图像可以是具有匹配时间戳值的图像,或者具有在彼此阈值范围内的时间戳值的图像。
未对准观察点缓解系统112对对应图像进行分析,以识别两个图像中每一个的相同特征。然后,未对准观察点缓解系统112使用图像中的至少一个中的特征的实际位置(例如,特征的观察到的像素位置)和光学传感器102、104的预期观察点来计算另一个图像中的特征的预期位置(例如,特征的预测的像素位置)。特征的预期位置使用几何模型计算,该几何模型由几个相关参数如估计深度、摄像装置内参(intrinsics)和光学传感器102、104的预期观察点组成。然后,未对准观察点缓解系统112可以确定特征在另一个图像中的预期位置与特征在另一个图像中的实际位置之间的变化。
特征的预期位置和实际位置之间变化的大小被用于确定光学传感器102、104是否未对准。例如,未对准观察点缓解系统112将变化与阈值变化进行比较。如果变化小于阈值变化,则未对准观察点缓解系统112确定光学传感器已正确对准。替选地,如果变化达到或超过阈值变化,则未对准观察点缓解系统112确定光学传感器102、104未对准。
未对准观察点缓解系统112基于特征在图像中的预期位置和实际位置之间的所确定的变化,缓解所检测的光学传感器102、104的未对准。例如,未对准观察点缓解系统112使用变化来计算调整变量,以考虑确定的变化。例如,未对准观察点缓解系统112确定几何模型的哪些参数需要调整,以及使特征的预期位置与特征的实际位置匹配的调整的量。随后,使用由未对准观察点缓解系统112确定的调整变量来考虑光学传感器102和104的确定的未对准。例如,未对准观察点缓解系统112可以将调整变量提供至AR处理系统108,以供随后根据左光学传感器102和右光学传感器104捕获的图像计算深度数据时使用。
未对准观察点缓解系统112可以重复此过程,以进一步完善调整变量,以将光学传感器102、104的未对准和/或光学传感器102、104的对准变化考虑在内。例如,光学传感器102、104的对准可能会由于AR装置100被不同用户使用而发生变化。
图2是根据一些示例实施方式的未对准观察点缓解系统112的框图。为了避免不必要的细节模糊本发明主题,图2中省略了与传达对发明性主题的理解没有密切关系的各种功能部件(例如,模块)。然而,技术人员将容易认识到,未对准观察点缓解系统112可以支持各种附加功能部件,以促进本文未具体描述的附加功能。此外,图2中描绘的各种功能模块可以驻留在单个计算装置上,或者可以以各种布置(例如,在基于云的架构中使用的布置)跨若干计算装置分布。
如所示出的,未对准观察点缓解系统112包括图像访问部件202、特征识别部件204、预期位置确定部件206、变化确定部件208、未对准确定部件210以及调整变量确定部件212。
图像访问部件202访问由左光学传感器102和右光学传感器104捕获的对应图像。对应图像是由两个光学传感器102、104在大致相同的时间捕获的两个图像的对。光学传感器102和104捕获到的对应图像可以被用于使用计算机立体视觉确定深度数据。为了利用立体视觉,两个光学传感器102、104彼此水平移位,并且被用于捕获从两个不同观察点描绘现实世界环境的两个不同视图的图像。因此,由图像访问部件202访问的对应图像从捕获相应图像的光学传感器102、104的观察点描绘AR装置100的物理环境。例如,对应图像中由左光学传感器102捕获的图像从左光学传感器102的观察点描绘物理环境,并且由右光学传感器104捕获的图像从左光学传感器104的观察点描绘物理环境。
图像访问部件202可以直接或经由AR处理系统108访问来自左光学传感器102和右光学传感器104的对应图像。例如,左光学传感器102和右光学传感器104可以使用通信链路110直接向图像访问部件202提供图像。作为另一个示例,左光学传感器102和右光学传感器104可以将图像提供至AR处理系统108,然后AR处理系统108将图像提供至图像访问部件202,或将图像存储在存储器中,图像访问部件202可以从存储器中访问图像。图像访问部件202将访问的对应图像提供至未对准观察点缓解系统112的其他部件。
特征识别部件204识别一对对应图像中的匹配特征。特征是图像的可识别部分或部件。可以在图像中识别的特征包括边缘、角、兴趣点、圆球、脊等。两个图像中的匹配特征是在每个图像中被识别的确定是相同特征的特征。例如,匹配特征可以是在每个图像中被识别的确定是描绘图像中描绘的现实世界环境的相同部分的边缘或角。
特征识别部件204使用用于图像处理的各种已知特征检测技术或算法中的任何一种来识别特征。例如,特征识别部件204可以使用基于图像中的附近像素和/或图案的识别的对比度来识别特征的技术。
特征识别部件204可以识别每个图像中的多个特征,并且然后将每个图像的特征进行比较以识别两个图像中的匹配特征对。特征识别部件204可以首先识别两个图像中处于同一水平位置的特征。如前所述,左光学传感器102和右光学传感器104彼此水平移位。因此,匹配的特征应位于两个图像中相同或相似的水平位置处。然后,特征识别部件204可以比较两个图像中位于相同水平位置处的特征,以确定特征是否匹配。例如,特征识别部件204可以基于颜色、图案等分析描绘每个特征的像素,以确定两个特征是否匹配。
特征识别部件204将标识匹配特征的数据提供至未对准观察点缓解系统112的其他部件。例如,数据可以包括描述每个图像中特征相对位置的位置数据。这可以包括描述每个图像中描绘匹配特征的像素位置的坐标、标识捕获每个特征的光学传感器(例如左光学传感器102或右光学传感器104)的数据、特征被捕获的时间等。
预期位置确定部件206使用描述匹配特征的数据来确定在一个或两个图像中的特征的预期位置。特征的预期位置指示基于两个光学传感器102、104的预期观察点,特征应在图像中被描绘的位置。两个光学传感器102、104的预期观察点是光学传感器102、104被配置在AR装置100内而AR装置100没有任何弯曲和/或操作时的观察点。
预期位置确定部件206使用预期观察点和两个光学传感器102、104之间的已知距离以及特征在图像中的一个中的实际位置来确定特征在另一个图像中的预期位置。特征的实际位置指示在图像中特征被描绘的位置。例如,实际位置可以表示为描述图像中描绘特征的像素位置的坐标。预期位置确定部件206使用图像转换功能将特征在一个图像中的已知位置映射到特征在对应图像中的预期位置。
预期位置确定部件206可以确定特征对于两个图像中的一个图像或两个图像中的两个图像的预期位置。例如,预期位置确定部件206可以使用特征在一个图像中的实际位置来确定特征在另一个图像中的预期位置,或者替选地,使用特征在每个图像中的实际位置来确定特征在另一个图像中的预期位置。此外,预期位置确定部件206可基于在一对对应图像中识别的一个或更多个匹配特征对来执行此功能。
预期位置确定部件206可以将描述特征的确定的预期位置的数据提供至未对准观察点缓解系统112的其他部件。例如,数据可以包括描述图像中描绘特征的确定的预期位置的像素的位置的坐标。
变化确定部件208确定特征在图像中的实际位置与预期位置确定部件206所确定的特征在图像中的预期位置之间的变化。变化指示特征的实际位置与特征的预期位置之间的差异。例如,变化可以是以限定的测量单位如毫米、位数等测量的表示特征的实际位置与特征的预期位置之间的偏移的数值。变化还可以指示特征的实际位置与特征的预期位置之间的变化方向。例如,变化可以是指示特征的确定的位置在图像中特征预期位置的右侧的正值,也可以是指示特征的确定的位置在图像中特征预期位置的右侧的负值。
未对准确定部件210根据特征的实际位置与特征的预期位置之间的变化确定AR装置100的光学传感器102、104是否未对准。例如,未对准确定部件210将变化与阈值变化进行比较。如果变化达到或超过阈值,则未对准确定部件210确定光学传感器102、104未对准。替选地,如果变化小于阈值,则变化确定部件210确定光学传感器102、104正确对准(例如,没有未对准)。
调整变量确定部件212确定调整变量,以缓解检测到的光学传感器102、104的未对准。调整变量可以是在使用立体视觉计算深度数据时应用的一个或更多个值和/或对值的调整,以缓解所检测的光学传感器102的未对准。例如,AR处理系统基于光学传感器102、104中的未对准使用调整变量来计算准确的深度数据。调整变量确定部件212基于特征的实际位置与特征的预期位置之间的变化确定调整变量。
图3是根据一些示例实施方式的用于立体视觉的未对准观察点缓解的方法300的流程图。方法300可以在计算机可读指令中实施以供一个或更多个计算机处理器执行,使得方法300的操作可以由未对准观察点缓解系统112部分地或整体地执行;因此,下面参考未对准观察点缓解系统112以示例的方式对方法300进行描述。然而,应当理解,方法300的操作中的至少一些可以被部署在各种其他硬件和/或软件配置上,并且方法300不旨在限于未对准观察点缓解系统112。
在操作302处,特征识别部件204检测第一图像和第二图像中的特征。特征识别部件204识别一对对应图像中的匹配特征。特征是图像的可识别部分或部件。可以在图像中识别的特征的示例包括边缘、角、兴趣点、圆球、脊等。两个图像中的匹配特征是在每个图像中识别的被确定为相同特征的特征。例如,匹配特征可以是在每个图像中识别的被确定为描绘了图像中描绘的现实世界环境的相同部分的边缘或角。
特征识别部件204使用用于图像处理的各种已知特征检测技术或算法中的任何一种来识别特征。例如,特征识别部件204可以使用基于图像中的附近像素和/或图案的对比度来识别特征的技术。
特征识别部件204可以识别每个图像中的多个特征,并且然后将每个图像的特征进行比较以识别两个图像中的匹配特征对。特征识别部件204可以首先识别两个图像中处于同一水平位置的特征。如前所述,左光学传感器102和右光学传感器104彼此水平移位。因此,匹配的特征应位于两个图像中相同或相似的水平位置处。然后,特征识别部件204可以比较两个图像中位于相同水平位置处的特征,以确定特征是否匹配。例如,特征识别部件204可以基于颜色、图案等分析描绘每个特征的像素,以确定两个特征是否匹配。
特征识别部件204将标识匹配特征的数据提供至未对准观察点缓解系统112的其他部件。例如,数据可以包括描述每个图像中特征相对位置的位置数据。这可以包括描述每个图像中描绘匹配特征的像素位置的坐标、标识捕获每个特征的光学传感器(例如左光学传感器102或右光学传感器104)的数据、特征被捕获的时间等。
在操作304处,预期位置确定部件206基于特征在第一图像中的实际位置和用于捕获第一图像和第二图像的光学传感器的预期观察点,确定特征在第二图像中的预期位置。预期位置确定部件206使用描述匹配特征的数据来确定图像中的一个或两个中的特征的预期位置。特征的预期位置指示基于两个光学传感器102和104的预期观察点,在图像中特征应被描绘的位置。两个光学传感器102、104的预期观察点是光学传感器102、104被配置在AR装置100中而AR装置100没有任何弯曲和/或操作的观察点。
预期位置确定部件206使用预期观察点和两个光学传感器102、104之间的已知距离以及特征在图像中的一个中的实际位置来确定特征在另一个图像中的预期位置。特征的实际位置指示图像中特征被描绘的位置。例如,实际位置可以表示为描述图像中描绘特征的像素的位置的坐标。
预期位置确定部件206可以确定特征在两个图像中一个图像或两个图像中两个图像中的预期位置。例如,预期位置确定部件206可以使用特征在一个图像中的实际位置来确定特征在另一个图像中的预期位置,或者替选地,使用特征在每个图像中的实际位置来确定特征在另一个图像中的预期位置。此外,预期位置确定部件206可以基于在一对对应图像中识别的一个或更多个匹配特征对来执行此功能。
预期位置确定部件206可以将描述特征的确定的预期位置的数据提供至未对准观察点缓解系统112的其他部件。例如,数据可以包括描述图像中描述特征的确定的预期位置的像素的位置的坐标。
在操作306处,变化确定部件208确定特征在第二图像中的预期位置与特征在第二图像中的实际位置之间的变化。变化指示特征的实际位置与特征的预期位置之间的变化。例如,变化可以是以限定的测量单位如毫米、位数等测量的表示特征的实际位置与特征的预期位置之间的偏移的数值。变化还可以指示特征的实际位置与特征的预期位置之间的变化的方向。例如,变化可以是指示特征的确定的位置在图像中特征预期位置的右侧的正值,也可以是指示特征的确定的位置在图像中特征预期位置的右侧的负值。
在操作308处,调整变量确定部件212基于变化确定调整变量,以缓解光学传感器102、104的观察点的未对准。调整变量可以是在使用立体视觉计算深度数据时应用的一个或更多个值和/或对值的调整,以缓解所检测的光学传感器102的未对准。例如,AR处理系统基于光学传感器102、104的未对准使用调整变量来计算准确的深度数据。调整变量确定部件212基于特征的实际位置与特征的预期位置之间的变化确定调整变量。
软件架构
图4是示出示例软件架构406的框图,示例软件架构406可以与本文中描述的各种硬件架构结合使用。图4是软件架构406的非限制性示例并且应当理解,可以实现许多其他架构以促进本文中描述的功能。软件架构406可以在硬件例如图5中的机器500上执行,机器500除了别的以外还包括处理器504、存储器514和(输入/输出)I/O部件518等。代表性硬件层452被示出并且可以表示例如图5中的机器500。代表性硬件层452包括具有相关联的可执行指令404的处理单元454。可执行指令404表示软件架构406的可执行指令,包括本文中描述的方法、部件等的实现。硬件层452还包括存储器和/或存储模块456,存储器和/或存储模块456也具有可执行指令404。硬件层452还可以包括其他硬件458。
在图4的示例架构中,软件架构406可以被概念化为其中每个层提供特定功能的层的堆叠。例如,软件架构406可以包括诸如操作系统402、库420、框架/中间件418、应用416和表示层414的层。在操作上,层内的应用416和/或其他部件可以通过软件堆栈来激活应用编程接口(API)调用408以及响应于API调用408来接收响应例如消息412。所示出的层本质上是表示性的,并且并非所有软件架构都具有所有层。例如,一些移动操作系统或专用操作系统可能不提供框架/中间件418,而其他操作系统可能提供这样的层。其他软件架构可以包括附加层或不同层。
操作系统402可以管理硬件资源并提供公共服务。操作系统402可以包括例如核422、服务424和驱动器426。核422可以充当硬件层与其他软件层之间的抽象层。例如,核422可以负责存储器管理、处理器管理(例如,调度)、部件管理、联网、安全设置等。服务424可以向其他软件层提供其他公共服务。驱动器426负责控制底层硬件或与底层硬件对接。例如,取决于硬件配置,驱动器426包括显示驱动器、摄像装置驱动器、 驱动器、闪存驱动器、串行通信驱动器(例如,通用串行总线(USB)驱动器)、/>驱动器、音频驱动器、电源管理驱动器等。
库420提供由应用416和/或其他部件和/或层使用的公共基础设施。库420提供如下功能,该功能允许其他软件部件以比与底层操作系统402的功能(例如,核422、服务424,和/或驱动器426)直接接口的方式更容易的方式来执行任务。库420可以包括系统库444(例如,C标准库),系统库444可以提供函数例如存储器分配函数、串操纵函数、数学函数等。另外,库420可以包括API库446例如媒体库(例如,支持各种媒体格式例如MPEG4、H.264、MP3、AAC、AMR、JPG、PNG的呈现和操纵的库)、图形库(例如,可以用于在显示器上呈现2D和3D图形内容的OpenGL框架)、数据库库(例如,可以提供各种关系数据库功能的SQLite)、web库(例如,可以提供web浏览功能的WebKit)等。库420还可以包括各种其他库448,以向应用416和其他软件部件/模块提供许多其他API。
框架/中间件418(有时也称为中间件)提供可以由应用416和/或其他软件部件/模块使用的较高级别的公共基础设施。例如,框架/中间件418可以提供各种图形用户界面(GUI)功能、高级资源管理、高级位置服务等。框架/中间件418可以提供可以由应用416和/或其他软件部件/模块使用的广泛的其他API,其中一些API可以专用于特定的操作系统402或平台。
应用416包括内置应用438和/或第三方应用440。代表性内置应用438的示例可以包括但不限于:联系人应用、浏览器应用、书籍阅读器应用、位置应用、媒体应用、消息收发应用和/或游戏应用。第三方应用440可以包括由除特定平台的供应商之外的实体使用ANDROIDTM或IOSTM软件开发工具包(SDK)开发的应用,并且可以是在诸如IOSTM、ANDROIDTM、Phone的移动操作系统或其他移动操作系统上运行的移动软件。第三方应用440可以调用由移动操作系统(例如,操作系统402)提供的API调用408,以促进本文中描述的功能。
应用416可以使用内置操作系统功能(例如,核422、服务424和/或驱动器426)、库420以及框架/中间件418来创建UI以与系统的用户交互。可替选地或另外地,在一些系统中,可以通过表示层例如表示层414发生与用户的交互。在这些系统中,应用/部件“逻辑”可以与应用/部件的与用户交互的方面分开。
图5是示出根据一些示例实施方式的机器500的部件的框图,机器500能够从机器可读介质(例如,机器可读存储介质)中读取指令404并且执行本文中讨论的方法中的任何一种或更多种方法。具体地,图5示出了呈计算机系统的示例形式的机器500的图形表示,在机器500内可以执行用于使机器500执行本文中讨论的方法中的任何一种或更多种方法的指令510(例如,软件、程序、应用、小程序、app或其他可执行代码)。因此,可以使用指令510来实现本文中描述的模块或部件。指令510将通用的未经编程的机器500转换成被编程为以所描述的方式执行所描述和示出的功能的特定机器500。在替选实施方式中,机器500作为独立装置操作或者可以与其他机器耦接(例如,联网)。在联网部署中,机器500可以在服务器客户端网络环境中以服务器机器或客户端机器的身份(capacity)操作,或者在对等(或分布式)网络环境中作为对等机器操作。机器500可以包括但不限于服务器计算机、客户端计算机、PC、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动装置、可穿戴装置(例如,智能手表)、智能家居装置(例如,智能家用电器)、其他智能装置、web家用电器、网络路由器、网络交换机、网络桥接器或能够顺序地或其他方式执行指定要由机器500采取的动作的指令510的任何机器500。此外,虽然仅示出了单个机器500,但是术语“机器”还应被认为包括单独地或联合地执行指令510以执行本文中讨论的方法中的任何一种或更多种方法的机器的集合。
机器500可以包括可以被配置成例如经由总线502彼此通信的处理器504、存储器/存储装置506和I/O部件518。存储器/存储装置506可以包括存储器514例如主存储器或其他存储装置以及存储单元516,处理器504能够例如经由总线502访问存储器514和存储单元516两者。存储单元516和存储器514存储实现本文中描述的方法或功能中的任何一个或更多个方法或功能的指令510。指令510还可以在其被机器500执行期间完全地或部分地驻留在存储器514内、存储单元516内、处理器504中的至少一个处理器内(例如,处理器的高速缓冲存储器内)或其任何合适的组合内。因此,存储器514、存储单元516以及处理器504的存储器是机器可读介质的示例。
I/O部件518可以包括用于接收输入、提供输出、产生输出、传送信息、交换信息、捕获测量结果等的各种部件。包括在特定机器500中的具体I/O部件518将取决于机器的类型。例如,诸如移动电话的便携式机器将很可能包括触摸输入装置或其他这样的输入机构,而无头服务器机器将很可能不包括这样的触摸输入装置。将理解的是,I/O部件518可以包括图5中未示出的许多其他部件。仅出于简化以下讨论的目的,根据功能对I/O部件518进行分组并且分组决不是限制性的。在各种示例实施方式中,I/O部件518可以包括输出部件526和输入部件528。输出部件526可以包括视觉部件(例如,诸如等离子显示面板(PDP)的显示器、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT))、声学部件(例如,扬声器)、触觉部件(例如,振动马达、阻力机构)、其他信号发生器等。输入部件528可以包括字母数字输入部件(例如,被配置成接收字母数字输入的键盘、触摸屏;光电键盘(photo-optical keyboard)或其他字母数字输入部件)、基于点的输入部件(例如,鼠标、触摸板、跟踪球、操纵杆、运动传感器或其他指向仪器)、触觉输入部件(例如,物理按钮、提供触摸或触摸手势的位置和/或力的触摸屏或其他触觉输入部件)、音频输入部件(例如,麦克风)等。
在其他示例实施方式中,I/O部件518可以包括生物计量部件530、运动部件534、环境部件536或定位部件538以及各种其他部件。例如,生物计量部件530可以包括用于检测表达(例如,手表达、面部表达、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑电波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件534可以包括加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)等。环境部件536可以包括例如照明传感器部件(例如,光度计)、温度传感器部件(例如,检测环境温度的一个或更多个温度计)、湿度传感器部件、压力传感器部件(例如,气压计)、声音传感器部件(例如,检测背景噪声的一个或更多个麦克风)、接近度传感器部件(例如,检测附近对象的红外传感器)、气体传感器(例如,用于检测危险气体的浓度以确保安全或者用于测量大气中的污染物的气体检测传感器)或可以提供与周围物理环境相对应的指示、测量结果或信号的其他部件。定位部件538可以包括位置传感器部件(例如,GPS接收器部件)、海拔传感器部件(例如,检测可以根据其得到海拔的气压的高度计或气压计)、取向传感器部件(例如,磁力计)等。
可以使用各种技术来实现通信。I/O部件518可以包括通信部件540,通信部件540能够进行操作以分别经由耦接524和耦接522将机器500耦接至网络532或装置520。例如,通信部件540可以包括网络接口部件或其他合适的装置以与网络532接口。在其他示例中,通信部件540可以包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(NFC)部件、部件(例如,/>低能耗)、/>部件以及经由其他形式提供通信的其他通信部件。装置520可以是另一机器或各种外围装置中的任何外围装置(例如,经由USB耦接的外围装置)。
此外,通信部件540可以检测标识符或者可以包括可操作以检测标识符的部件。例如,通信部件540可以包括射频识别(RFID)标签阅读器部件、NFC智能标签检测部件、光学阅读器部件(例如,用于检测诸如通用产品码(UPC)条形码的一维条形码、诸如快速响应(QR)码的多维条形码、Aztec码、数据矩阵(Data Matrix)、数据符号(Dataglyph)、最大码(MaxiCode)、PDF417、超码(Ultra Code)、UCC RSS-2D条形码以及其他光学码的光学传感器)或声学检测部件(例如,用于识别经标记的音频信号的麦克风)。另外,可以经由通信部件540得到各种信息,例如,经由因特网协议(IP)地理位置得到位置、经由信号三角测量得到位置、经由检测可以指示特定位置的NFC信标信号得到位置等。
术语表
该上下文中的“载波信号”是指能够存储、编码或携载由机器500执行的指令510的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以促进这些指令510的通信。可以经由网络接口装置使用传输介质并且利用多个公知的传输协议中的任何一种传输协议来通过网络532发送或接收指令510。
该上下文中的“客户端装置”是指与通信网络532接口以从一个或更多个服务器系统或其他客户端装置获得资源的任何机器500。客户端装置可以是但不限于移动电话、台式计算机、膝上型计算机、PDA、智能电话、平板计算机、超级本、上网本、膝上型计算机、多处理器系统、基于微处理器或可编程的消费电子产品、游戏控制台、STB或用户可以用于访问网络532的任何其他通信装置。
该上下文中的“通信网络”是指网络532的一个或更多个部分,网络532可以是自组织网络、内联网、外联网、虚拟专用网络(VPN)、LAN、无线LAN(WLAN)、WAN、无线WAN(WWAN)、城域网(MAN)、因特网、因特网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、网络、其他类型的网络或者两个或更多个这样的网络的组合。例如,网络532或网络532的一部分可以包括无线网络或蜂窝网络,并且耦接可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或其他类型的蜂窝或无线耦接。在该示例中,耦接可以实现各种类型的数据传输技术中的任何一种,例如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线电业务(GPRS)技术、增强型数据速率GSM演进(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动电信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准设置组织定义的其他标准、其他远程协议或其他数据传输技术。
该上下文中的“机器可读介质”是指能够临时或永久地存储指令510和数据的部件、装置或其他有形介质,并且可以包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪速存储器、光学介质、磁介质、高速缓冲存储器、其他类型的存储装置(例如,可擦除可编程只读存储器(EEPROM))和/或其任何合适的组合。术语“机器可读介质”应当被认为包括能够存储指令510的单个介质或多个介质(例如,集中式或分布式数据库或者相关联的高速缓冲存储器和服务器)。术语“机器可读介质”还应被认为包括能够存储由机器500执行的指令510(例如,代码)的任何介质或多个介质的组合,使得指令510在由机器500的一个或更多个计算机处理器504执行时使机器500执行本文中所描述的方法中的任何一种或更多种方法。相应地,“机器可读介质”是指单个存储装置或装置,以及包括多个存储装置或装置的“基于云”的存储系统或存储网络。术语“机器可读介质”不包括信号本身。
该上下文中的“部件”是指具有由功能或子例程调用、分支点、API或者对特定处理或控制功能提供分区或模块化的其他技术定义的边界的装置、物理实体或逻辑。部件可以经由其接口与其他部件组合以执行机器处理。部件可以是被设计用于与其他部件一起使用的经封装的功能硬件单元并且可以是通常执行相关功能中的特定功能的程序的一部分。部件可以构成软件部件(例如,在机器可读介质上实现的代码)或硬件部件。“硬件部件”是能够执行某些操作的有形单元,并且可以以某种物理方式来配置或布置。在各种示例实施方式中,可以通过软件(例如,应用416或应用部分)将一个或更多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或更多个硬件部件(例如,处理器或处理器组504)配置为进行操作以执行如本文中所描述的某些操作的硬件部件。也可以机械地、电子地或其任何合适的组合来实现硬件部件。例如,硬件部件可以包括被永久地配置成执行某些操作的专用电路或逻辑。硬件部件可以是专用处理器,例如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件部件还可以包括通过软件临时配置成执行某些操作的可编程逻辑或电路。例如,硬件部件可以包括由通用处理器504或其他可编程处理器504执行的软件。一旦通过这样的软件进行配置,则硬件部件变成被唯一地定制成执行所配置的功能并且不再是通用处理器504的特定机器500(或机器500的特定部件)。将理解的是,可以出于成本和时间考虑来推动在专用且永久配置的电路中或在临时配置(例如,通过软件配置)的电路中机械地实现硬件部件的决策。相应地,短语“硬件部件”(或者“硬件实现的部件”)应当被理解成包含有形实体,即为被物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)成以某种方式操作或者执行本文中描述的某些操作的实体。考虑硬件部件被临时配置(例如,被编程)的实施方式,无需在任一时刻对硬件部件中的每个硬件部件进行配置或实例化。例如,在硬件部件包括通过软件配置而成为专用处理器的通用处理器504的情况下,可以在不同时间将通用处理器504配置成各自不同的专用处理器(例如,包括不同的硬件部件)。因此,软件对特定一个处理器或多个处理器504进行配置以例如在一个时刻构成特定硬件部件并且在不同时刻构成不同的硬件部件。硬件部件可以向其他硬件部件提供信息以及从其他硬件部件接收信息。因此,所描述的硬件部件可以被认为通信地耦接。在同时存在多个硬件部件的情况下,可以通过(例如,通过适当的电路和总线502)在两个或更多个硬件部件之间进行信号传输来实现通信。在在不同时间对多个硬件部件进行配置或实例化的实施方式中,可以例如通过将信息存储在多个硬件部件可以访问的存储器结构中以及在该存储器结构中检索信息来实现这样的硬件部件之间的通信。例如,一个硬件部件可以执行操作并且将该操作的输出存储在与其通信地耦接的存储器装置中。然后,其他硬件部件可以在随后的时间访问存储器装置以检索所存储的输出并对其进行处理。硬件部件还可以发起与输入装置或输出装置的通信,并且可以对资源进行操作(例如,信息的收集)。本文中描述的示例方法的各种操作可以至少部分地由被(例如,通过软件)临时配置或永久配置成执行相关操作的一个或更多个计算机处理器504执行。无论是临时配置还是永久配置,这样的处理器504可以构成进行操作以执行本文中描述的一个或更多个操作或功能的处理器实现的部件。如本文中所使用的,“处理器实现的部件”是指使用一个或更多个计算机处理器504实现的硬件部件。类似地,本文中描述的方法可以至少部分地由处理器实现,其中特定的一个处理器504或多个处理器504是硬件的示例。例如,方法的至少一些操作可以由一个或更多个计算机处理器504或者处理器实现的部件执行。此外,一个或更多个计算机处理器504还可以进行操作以支持“云计算”环境中的相关操作的执行或者作为“软件即服务”(SaaS)操作。例如,至少一些操作可以由一组计算机(作为包括处理器504的机器500的示例)执行,这些操作可由经由网络532(例如,因特网)并且经由一个或更多个适当的接口(例如,API)访问。某些操作的执行可以分布在处理器504之间,不仅可以驻留在单个机器500内,而且可以被部署在多个机器500上。在一些示例实施方式中,处理器504或处理器实现的部件可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器群内)。在其他示例实施方式中,处理器504或处理器实现的部件可以在多个地理位置上分布。
该上下文中的“处理器”是指根据控制信号(例如,“命令”、“操作码”、“机器码”等)操纵数据值并且产生被用于操作机器500的对应输出信号的任何电路或虚拟电路(通过在实际处理器504上执行的逻辑模拟的物理电路)。处理器504可以是例如中央处理单元(CPU)、简化指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、ASIC、射频集成电路(RFIC)或其任何组合。处理器504还可以是具有两个或更多个可以同时执行指令510的独立处理器504(有时称为“核”)的多核处理器。
Claims (20)
1.一种方法,包括:
检测第一图像和第二图像中的第一特征,所述第一图像由第一光学传感器捕获并且所述第二图像由第二光学传感器捕获;
基于所述第一图像和所述第一光学传感器和所述第二光学传感器的预期观察点来确定所述第一特征在所述第二图像中的预期位置;
确定所述第一特征在所述第二图像中的预期位置与所述第一特征在所述第二图像中的实际位置之间的变化;以及
基于所述变化调整所述第一光学传感器和所述第二光学传感器的所述预期观察点。
2.根据权利要求1所述的方法,其中,基于所述变化调整所述第一光学传感器和所述第二光学传感器的所述预期观察点还包括:
将所述变化与阈值变化进行比较;
确定所述变化达到或超过所述阈值变化;以及
响应于确定所述变化达到或超过所述阈值变化,调整所述第一光学传感器和所述第二光学传感器的所述预期观察点。
3.根据权利要求2所述的方法,其中,基于所述变化调整所述第一光学传感器和所述第二光学传感器的所述预期观察点还包括:
基于所述变化计算调整变量;以及
基于所述调整变量调整所述第一光学传感器和所述第二光学传感器的所述预期观察点。
4.根据权利要求1所述的方法,其中,所述第一光学传感器和所述第二光学传感器彼此水平移位。
5.根据权利要求1所述的方法,其中,检测所述第一图像和所述第二图像中的所述第一特征还包括:
识别所述第一图像的水平位置处的第一组特征和所述第二图像的所述水平位置处的第二组特征;
将所述第一组特征与所述第二组特征进行比较,产生比较结果;以及
基于所述比较结果确定所述第二图像中存在所述第一特征。
6.根据权利要求1所述的方法,其中,所述变化包括指示所述第一图像和所述第二图像中的所述第一特征的偏移的大小以及所述变化的方向的数值。
7.根据权利要求1所述的方法,其中,所述方法还包括:
基于调整所述第一光学传感器和所述第二光学传感器的所述预期观察点来使增强现实(AR)内容显示。
8.一种系统,包括:
一个或更多个计算机处理器;以及
存储指令的一种或更多种计算机可读介质,所述指令当被所述一个或更多个计算机处理器执行时使所述系统执行操作,所述操作包括:
检测第一图像和第二图像中的第一特征,所述第一图像由第一光学传感器捕获并且所述第二图像由第二光学传感器捕获;
基于所述第一图像和所述第一光学传感器和所述第二光学传感器的预期观察点来确定所述第一特征在所述第二图像中的预期位置;
确定所述第一特征在所述第二图像中的预期位置与所述第一特征在所述第二图像中的实际位置之间的变化;以及
基于所述变化调整所述第一光学传感器和所述第二光学传感器的所述预期观察点。
9.根据权利要求8所述的系统,其中,基于所述变化调整所述第一光学传感器和所述第二光学传感器的所述预期观察点还包括:
将所述变化与阈值变化进行比较;
确定所述变化达到或超过所述阈值变化;以及
响应于确定所述变化达到或超过所述阈值变化,调整所述第一光学传感器和所述第二光学传感器的所述预期观察点。
10.根据权利要求9所述的系统,其中,基于所述变化调整所述第一光学传感器和所述第二光学传感器的所述预期观察点还包括:
基于所述变化计算调整变量;以及
基于所述调整变量调整所述第一光学传感器和所述第二光学传感器的所述预期观察点。
11.根据权利要求8所述的系统,其中,所述第一光学传感器和所述第二光学传感器彼此水平移位。
12.根据权利要求8所述的系统,其中,检测所述第一图像和所述第二图像中的所述第一特征还包括:
识别所述第一图像的水平位置处的第一组特征和所述第二图像的水平位置处的第二组特征;
将所述第一组特征与所述第二组特征进行比较,产生比较结果;以及
基于所述比较结果确定所述第二图像中存在所述第一特征。
13.根据权利要求8所述的系统,其中,所述变化包括指示所述第一图像和所述第二图像中的所述第一特征的偏移的大小以及所述变化的方向的数值。
14.根据权利要求8所述的系统,其中,所述方法还包括:
基于调整所述第一光学传感器和所述第二光学传感器的所述预期观察点来使增强现实(AR)内容显示。
15.一种包括指令的非暂态机器可读存储介质,所述指令当被一个或更多个计算设备的一个或更多个处理器执行时使所述一个或更多个计算设备执行操作,所述操作包括:
检测第一图像和第二图像中的第一特征,所述第一图像由第一光学传感器捕获并且所述第二图像由第二光学传感器捕获;
基于所述第一图像和所述第一光学传感器和所述第二光学传感器的预期观察点来确定所述第一特征在所述第二图像中的预期位置;
确定所述第一特征在所述第二图像中的预期位置与所述第一特征在所述第二图像中的实际位置之间的变化;以及
基于所述变化调整所述第一光学传感器和所述第二光学传感器的所述预期观察点。
16.根据权利要求15所述的非暂态机器可读存储介质,其中,基于所述变化调整所述第一光学传感器和所述第二光学传感器的所述预期观察点还包括:
将所述变化与阈值变化进行比较;
确定所述变化达到或超过所述阈值变化;以及
响应于确定所述变化达到或超过所述阈值变化,调整所述第一光学传感器和所述第二光学传感器的所述预期观察点。
17.根据权利要求16所述的非暂态机器可读存储介质,其中,基于所述变化调整所述第一光学传感器和所述第二光学传感器的所述预期观察点还包括:
基于所述变化计算调整变量;以及
基于所述调整变量调整所述第一光学传感器和所述第二光学传感器的所述预期观察点。
18.根据权利要求15所述的非暂态机器可读存储介质,其中,所述第一光学传感器和所述第二光学传感器彼此水平移位。
19.根据权利要求15所述的非暂态机器可读存储介质,其中,检测所述第一图像和所述第二图像中的所述第一特征还包括:
识别所述第一图像的水平位置处的第一组特征和所述第二图像的水平位置处的第二组特征;
将所述第一组特征与所述第二组特征进行比较,产生比较结果;以及
基于所述比较结果确定所述第二图像中存在所述第一特征。
20.根据权利要求15所述的非暂态机器可读存储介质,其中,所述变化包括指示所述第一图像和所述第二图像中的所述第一特征的偏移的大小以及所述变化的方向的数值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163190152P | 2021-05-18 | 2021-05-18 | |
US63/190,152 | 2021-05-18 | ||
PCT/US2022/029837 WO2022245947A1 (en) | 2021-05-18 | 2022-05-18 | Misaligned vantage point mitigation for computer stereo vision |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117461309A true CN117461309A (zh) | 2024-01-26 |
Family
ID=82019272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280035582.XA Pending CN117461309A (zh) | 2021-05-18 | 2022-05-18 | 对于计算机立体视觉的未对准观察点缓解 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220377306A1 (zh) |
EP (1) | EP4342175A1 (zh) |
KR (1) | KR20240010486A (zh) |
CN (1) | CN117461309A (zh) |
WO (1) | WO2022245947A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11212509B2 (en) * | 2018-12-20 | 2021-12-28 | Snap Inc. | Flexible eyewear device with dual cameras for generating stereoscopic images |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10489912B1 (en) * | 2013-12-20 | 2019-11-26 | Amazon Technologies, Inc. | Automated rectification of stereo cameras |
KR102483838B1 (ko) * | 2015-04-19 | 2023-01-02 | 포토내이션 리미티드 | Vr/ar 응용에서 심도 증강을 위한 다중-기선 카메라 어레이 시스템 아키텍처 |
CN107274400B (zh) * | 2017-06-21 | 2021-02-12 | 歌尔光学科技有限公司 | 空间定位装置、定位处理方法及装置、虚拟现实系统 |
US10523912B2 (en) * | 2018-02-01 | 2019-12-31 | Microsoft Technology Licensing, Llc | Displaying modified stereo visual content |
US11386522B2 (en) * | 2019-08-07 | 2022-07-12 | Reification Inc. | Calibration of individual and arrayed cameras using images and video |
-
2022
- 2022-05-18 EP EP22729939.3A patent/EP4342175A1/en active Pending
- 2022-05-18 WO PCT/US2022/029837 patent/WO2022245947A1/en active Application Filing
- 2022-05-18 KR KR1020237043589A patent/KR20240010486A/ko unknown
- 2022-05-18 CN CN202280035582.XA patent/CN117461309A/zh active Pending
- 2022-05-18 US US17/747,564 patent/US20220377306A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220377306A1 (en) | 2022-11-24 |
WO2022245947A1 (en) | 2022-11-24 |
EP4342175A1 (en) | 2024-03-27 |
KR20240010486A (ko) | 2024-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11893689B2 (en) | Automated three dimensional model generation | |
US20180053352A1 (en) | Occluding augmented reality content or thermal imagery for simultaneous display | |
US20230388632A1 (en) | Dynamic adjustment of exposure and iso to limit motion blur | |
KR20240009993A (ko) | 멀티레벨 특징 추적을 위한 직접 스케일 레벨 선택 | |
US20220377306A1 (en) | Misaligned vantage point mitigation for computer stereo vision | |
US11722630B2 (en) | Varied depth determination using stereo vision and phase detection auto focus (PDAF) | |
US11765457B2 (en) | Dynamic adjustment of exposure and iso to limit motion blur | |
KR20240006669A (ko) | 늦은-워핑에서의 동적 오버-렌더링 | |
US11974060B2 (en) | Varied depth determination using stereo vision and phase detection auto focus (PDAF) | |
US11961251B2 (en) | Continuous surface and depth estimation | |
US20230154044A1 (en) | Camera intrinsic re-calibration in mono visual tracking system | |
US11295172B1 (en) | Object detection in non-perspective images | |
US20220374505A1 (en) | Bending estimation as a biometric signal | |
CN117425869A (zh) | 后期扭曲中的动态过度渲染 | |
CN117441343A (zh) | 曝光和iso的动态调整的相关应用 | |
WO2022246382A1 (en) | Bending estimation as a biometric signal | |
CN117337575A (zh) | 用于运动模糊减轻的选择性图像金字塔计算 | |
CN117501208A (zh) | 利用步态印迹模仿的ar数据模拟 | |
CN117321472A (zh) | 进行后期扭曲以最小化移动对象的延迟 | |
CN117356089A (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 |