CN111512574A - 用于校准增强现实设备的方法 - Google Patents
用于校准增强现实设备的方法 Download PDFInfo
- Publication number
- CN111512574A CN111512574A CN201880082118.XA CN201880082118A CN111512574A CN 111512574 A CN111512574 A CN 111512574A CN 201880082118 A CN201880082118 A CN 201880082118A CN 111512574 A CN111512574 A CN 111512574A
- Authority
- CN
- China
- Prior art keywords
- calibration
- sensor
- parameter
- calibrated
- rotation parameter
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 220
- 230000003190 augmentative effect Effects 0.000 title description 19
- 238000013519 translation Methods 0.000 claims abstract description 106
- 230000008569 process Effects 0.000 claims description 31
- 238000003860 storage Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 description 30
- 230000003287 optical effect Effects 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 8
- 230000003936 working memory Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000015654 memory Effects 0.000 description 7
- 238000012937 correction Methods 0.000 description 6
- 210000003128 head Anatomy 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000001131 transforming effect Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000256837 Apidae Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 230000004438 eyesight Effects 0.000 description 1
- 230000020169 heat generation Effects 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 210000000653 nervous system Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000005043 peripheral vision Effects 0.000 description 1
- 238000000053 physical method Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000016776 visual perception Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/003—Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/147—Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
- G06T7/85—Stereo camera calibration
-
- 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
-
- 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
-
- 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/271—Image signal generators wherein the generated image signals comprise depth maps or disparity maps
-
- 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/10016—Video; Image sequence
- G06T2207/10021—Stereoscopic video; Stereoscopic image sequence
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/06—Adjustment of display parameters
- G09G2320/0693—Calibration of display systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Image Analysis (AREA)
Abstract
一种用于校准具有第一传感器和第二传感器的设备的方法。该方法包括使用第一传感器和第二传感器捕获传感器数据。该设备维持包括具有平移参数和旋转参数以对第一传感器和第二传感器之间的空间关系进行建模的校准简档。该方法还包括确定在第一时间与校准简档相关联的第一校准级别。该方法还包括基于第一校准级别确定执行校准过程。该方法进一步包括通过以下操作来在第一时间执行校准过程:生成校准后平移参数和校准后旋转参数中的一者或两者;以及用校准后平移参数和校准后旋转参数中的一者或两者替换平移参数和旋转参数中的一者或两者。
Description
相关申请的交叉引用
本申请主张与2017年12月21日提交的名称为“METHOD FOR CALIBRATING ANAUGMENTED REALITY DEVICE(用于校准增强现实设备的方法)”的,序列号为62/609,242的,美国临时专利申请的优先权益,如同本文全面阐述的,该申请的全部公开内容为了所有目的在此通过引用并入。
背景技术
现代计算和显示技术促进了用于所谓的“虚拟现实”或“增强现实”体验的***的开发,其中,数字再现的图像或其一部分以看起来真实或可以被感知为真实的方式呈现给用户。呈现数字或虚拟图像信息而对其它实际的真实世界视觉输入不透明,增强现实或“AR”场景通常涉及呈现数字或虚拟图像信息作为对用户周围实际世界的可视化的增强。
尽管在这些显示技术方面已经取得了进步,但是本领域需要与增强现实***,尤其是显示***相关的改进方法、***和设备。
发明内容
本公开一般地涉及与增强现实(AR)设备的校准相关的方法和***。更具体地,本公开的实施例提供了通过调节校准简档的一个或多个参数,用于在AR设备通电和使用时校准AR设备的方法和***。尽管参考AR设备描述了本发明,但是本公开适用于计算机视觉和图像显示***中的各种应用。
根据本发明的一方面,提供了一种用于校准具有第一传感器和第二传感器的设备的方法。所述方法包括使用所述第一传感器和所述第二传感器捕获传感器数据。在一些实施例中,所述设备维持对所述第一传感器和所述第二传感器之间的空间关系进行建模的校准简档。在一些实施例中,所述校准简档包括平移参数和旋转参数。所述方法还可以包括确定在第一时间与所述校准简档相关联的校准级别。所述方法可以进一步包括基于所述校准级别确定是否执行校准过程。所述方法可以进一步包括通过以下操作来在所述第一时间执行所述校准过程:生成校准后平移参数和校准后旋转参数中的一者或两者;以及用所述校准后平移参数和所述校准后旋转参数中的一者或两者替换所述平移参数和所述旋转参数中的一者或两者。
在一些实施例中,在所述第一时间执行所述校准过程包括仅用所述校准后旋转参数替换所述旋转参数。在一些实施例中,在所述第一时间执行所述校准过程包括生成所述校准后平移参数和所述校准后旋转参数两者;以及用所述校准后平移参数和所述校准后旋转参数替换所述平移参数和所述旋转参数两者。在一些实施例中,所述方法进一步包括确定在第二时间与所述校准简档相关联的第二校准级别;基于所述第二校准级别确定执行第二校准过程;以及通过以下操作来在所述第二时间执行所述第二校准过程:生成第二校准后平移参数和第二校准后旋转参数;以及用所述第二校准后平移参数和所述第二校准后旋转参数替换所述平移参数和所述旋转参数。在一些实施例中,所述校准级别是第一校准级别,所述校准过程是第一校准过程,所述旋转参数是第一校准后旋转参数。
在一些实施例中,所述传感器数据包括使用所述第一传感器捕获的一个或多个第一图像;以及使用所述第二传感器捕获的一个或多个第二图像。在一些实施例中,使用所述传感器数据而被生成所述校准后平移参数和所述校准后旋转参数中的一者或两者。在一些实施例中,基于所述传感器数据确定所述校准级别。在一些实施例中,所述方法进一步包括使用与所述第一传感器和所述第二传感器分离的附加传感器来捕获附加传感器数据。在一些实施例中,基于所述附加传感器数据确定所述校准级别。在一些实施例中,基于所述第一校准级别确定执行所述第一校准过程包括确定所述第一校准级别大于校准阈值,以及基于所述第二校准级别确定执行所述第二校准过程包括确定所述第二校准级别小于所述校准阈值。
根据本发明的第二方面,提供了一种设备。所述设备可以包括第一传感器和第二传感器,其被配置为捕获传感器数据。所述设备还可以包括存储设备,其被配置为存储对所述第一传感器和所述第二传感器之间的空间关系进行建模的校准简档,所述校准简档包括平移参数和旋转参数。所述设备可以进一步包括处理器,其被耦接到所述第一传感器、所述第二传感器和所述存储设备。在一些实施例中,所述处理器被配置为执行包括以下各项的操作:确定在第一时间与所述校准简档相关联的校准级别。所述操作还可以包括基于所述校准级别确定执行校准过程。所述操作可以进一步包括通过以下操作在所述第一时间执行所述校准过程:生成校准后平移参数和校准后旋转参数中的一者或两者;以及用所述校准后平移参数和所述校准后旋转参数中的一者或两者替换所述平移参数和所述旋转参数中的一者或两者。
在一些实施例中,在所述第一时间执行所述校准过程包括仅用所述校准后旋转参数替换所述旋转参数。在一些实施例中,在所述第一时间执行所述校准过程包括生成所述校准后平移参数和所述校准后旋转参数两者;以及用所述校准后平移参数和所述校准后旋转参数替换所述平移参数和所述旋转参数两者。在一些实施例中,所述操作进一步包括确定在第二时间与所述校准简档相关联的第二校准级别;基于所述第二校准级别确定执行第二校准过程;以及通过以下操作来在所述第二时间执行所述第二校准过程:生成第二校准后平移参数和第二校准后旋转参数;以及用所述第二校准后平移参数和所述第二校准后旋转参数替换所述平移参数和所述旋转参数。在一些实施例中,所述校准级别是第一校准级别,所述校准过程是第一校准过程,所述旋转参数是第一校准后旋转参数。
在一些实施例中,所述传感器数据包括使用所述第一传感器捕获的一个或多个第一图像;以及使用所述第二传感器捕获的一个或多个第二图像。在一些实施例中,使用所述传感器数据生成所述校准后平移参数和所述校准后旋转参数中的一者或两者。在一些实施例中,基于所述传感器数据确定所述校准级别。在一些实施例中,所述设备进一步包括附加传感器,其被配置为捕获附加传感器数据。在一些实施例中,所述附加传感器与所述第一传感器和所述第二传感器分离。在一些实施例中,基于所述附加传感器数据确定所述校准级别。在一些实施例中,基于所述第一校准级别确定执行所述第一校准过程包括确定所述第一校准级别大于校准阈值;以及基于所述第二校准级别确定执行所述第二校准过程包括确定所述第二校准级别小于所述校准阈值。
根据本发明的第三方面,提供了一种用于校准具有第一传感器和第二传感器的设备的非暂时性计算机可读介质。所述非暂时性计算机可读介质可以包括指令,当所述指令在被处理器执行时使所述处理器执行操作。所述操作可以包括根据本发明的第一方面描述的方法。
根据本发明的第四方面,提供了一种用于校准增强现实设备的方法。该方法可以包括访问包括至少一个平移参数和至少一个旋转参数的校准简档。该方法还可以包括使用增强现实设备的第一相机捕获来自第一视野的第一相机的一个或多个图像。该方法可以进一步包括使用增强现实设备的第二相机捕获来自第二视野的第二相机的一个或多个图像。在一些实施例中,第二视野至少部分地与第一视野重叠。该方法可以进一步包括将来自第一相机的一个或多个图像中的至少一者与来自第二相机的一个或多个图像中的至少一者进行比较。该方法可以进一步包括基于该比较确定第一相机的第一位置相对于第二相机的第二位置之间的变形量。该方法可以进一步包括确定变形量是否大于变形阈值。该方法可以进一步包括:响应于确定变形量大于变形阈值:识别存在于来自第一相机的一个或多个图像和来自第二相机的一个或多个图像中的多个匹配特征;将来自第一相机的一个或多个图像和来自第二相机的一个或多个图像划分为多个箱(bin);对于多个箱中的每个箱,确定位于多个箱中的每个箱内的多个匹配特征的数量;对于多个箱中的每个箱,确定上述数量大于特征阈值;通过最小化作为第一校准后旋转参数的函数的第一误差等式来执行第一校准过程,以生成第一校准后旋转参数;以及用第一校准后旋转参数替换校准简档中的至少一个旋转参数。
在一些实施例中,该方法进一步包括确定变形量是否小于变形阈值,以及响应于确定变形量小于变形阈值:使用包括第一相机和第二相机的增强现实设备的多个相机来捕获多个映射点;生成稀疏图,该稀疏图包括从第一相机和第二相机的多个相机姿势位置看到的映射点组;对准稀疏图的该映射点组;基于稀疏图确定是否满足在线校准触发器;通过最小化作为第二校准后平移参数和第二校准后旋转参数的函数的第二误差等式来执行第二校准过程,以生成第二校准后平移参数和第二校准后旋转参数;以及用第二校准后旋转参数替换交转简档中的至少一个旋转参数,并用第二校准后平移参数替换校准简档中的至少一个平移参数。在一些实施例中,确定变形量是否大于变形阈值发生在第一时间,并且确定变形量是否小于变形阈值发生在第二时间。在一些实施例中,第一时间在第二时间之前。在一些实施例中,第二时间在第一时间之前。在一些实施例中,第一时间与第二时间同时。在一些实施例中,第一时间与第二时间并发。
根据本发明的第五方面,提供了一种具有包括平移参数和旋转参数的校准简档的增强现实设备。该增强现实设备可以包括被配置为捕获一个或多个第一图像的第一相机。该增强现实设备还可以包括被配置为捕获一个或多个第二图像的第二相机。该增强现实设备可以进一步包括被耦接到第一相机和第二相机的处理器。在一些实施例中,该处理器被配置为执行包括以下各项的操作:基于第一相机相对于第二相机的变形量确定增强现实设备在第一时间发生变形,并且响应于确定增强现实设备在第一时间发生变形:执行第一校准过程以生成第一校准后旋转参数,以及用第一校准后旋转参数替换校准简档中的旋转参数。
通过本发明实现了多种优于常规技术的益处。例如,常规技术可能需要用户反复地将AR设备带回工厂进行重新校准。工厂校准可以包括使用精密仪器对设备执行物理测量,对于AR设备的用户而言,这样做既费时又昂贵。相反,本发明允许在AR设备通电和使用时进行校准,从而响应于基于设备的特定用途施加到该设备上的特定负荷而提供实时校准。例如,当在较高温度下使用AR设备时,热量可能导致该设备部分地翘曲或膨胀,从而导致任何工厂校准对于当前使用而言都不准确。此外,由于根据本发明的校准可以基于捕获的相机图像,因此,如果AR设备的变形是由于为至少部分地基于所捕获的相机图像而生成的虚拟图像提供较佳的对准而导致的,则与工厂校准相比这可以提供更好的整体性能。本文提出的校准方法的有益之处还在于,当AR设备发生变形超过某个阈值时,仅对校准简档执行旋转校正。在这样的高变形情况下,将发现平移校正非常不稳定,并且可能导致AR设备性能下降。因此,该校准方法提供了类似于“路由”的功能,其中基于AR设备的变形量选择两个不同的处理路径之一。本公开的其它益处对于本领域技术人员将是显而易见的。
附图说明
图1是示出根据本文描述的实施例的通过可穿戴AR设备观看的增强现实(AR)场景的图。
图2是示出根据本发明的一些实施例的可穿戴AR设备的框图。
图3示出了根据本发明的一些实施例的AR的校准模型。
图4A、图4B和图4C示出了根据本发明的一些实施例的用于确定与校准简档相关联的校准级别的各个步骤。
图5A、图5B和图5C示出了根据本发明的一些实施例的用于确定与校准简档相关联的校准级别的各个步骤。
图6示出了根据本发明的一些实施例的基于两个图像变形量的示例计算。
图7示出了根据本发明的一些实施例的基于两个图像变形量的示例计算。
图8示出了根据本发明的一些实施例的用于校准AR设备的方法。
图9示出了根据本发明的一些实施例的用于校准AR设备的方法。
图10示出了根据本发明的一些实施例的用于校准AR设备的方法。
图11示出了根据本发明的一些实施例的用于校准AR设备的方法。
图12示出了根据本发明的一些实施例的用于检测成对图像之间的匹配特征的各个步骤。
图13示出了根据本发明的一些实施例的用于将成对图像划分为箱以及用于确定位于箱中的每一者中的匹配特征的数量的各个步骤。
图14A和图14B示出了根据本发明的一些实施例的用于在三维空间中将图像划分为多个箱的各个步骤。
图15示出了根据本发明的一些实施例的用于执行束调整的各个步骤。
图16示出了根据本发明的一些实施例的简化的计算机***。
具体实施方式
尽管光学设备,尤其是具有头戴式显示器的光学设备,在工厂里使用高精密仪器进行了校准,但是在使用期间,此类设备可能因发热、使用及各种形式的磨损而迅速变形,从而导致工厂校准变得不准确。一种可能的解决方案是,用户反复地将光学设备带回工厂进行重新校准。为了避免这种解决方案的奇高成本,本文描述的实施例允许在设备使用时对其进行准确、鲁棒的运行时校准,这样便无需返回工厂进行重新校准。实施例着眼于设备的当前校准级别,以确定执行两类校准过程中的哪一种。当设备明显不准时,执行仅限于旋转校正的第一校准过程,在轻微失准的情况下,执行包括旋转校正和平移校正的第二校准过程。本文描述的实施例不仅对于光学设备有用,而且对于具有空间关系通过平移分量和旋转分量建模的两个传感器的任何设备都有用。
图1是示出根据本文描述的实施例的通过可穿戴AR设备观看的增强现实(AR)场景的图。参考图1,该图示出了AR场景100,其中AR技术的用户看到以人、树木、背景中的建筑物和混凝土平台120为特征的真实世界公园状设置106。除了这些项目之外,AR技术的用户还感知到他“看到”一个站在真实世界平台120上的机器人雕像110,以及一个卡通式的化身角色102飞过,这似乎是一只拟人化的大黄蜂,即使这些元素(角色102和雕像110)在真实世界中不存在。由于人类视觉感知和神经***极为复杂,因此产生便利在其它虚拟或真实世界图像元素当中舒适、感觉自然、丰富地呈现虚拟图像元素的虚拟技术(VR)或AR技术极具挑战性。
图2示出了根据本发明的一些实施例的可穿戴AR设备200的示意图。AR设备200可以包括作为左光学堆叠的一部分的左目镜202A和作为右光学堆叠的一部分的右目镜202B。在一些实施例中,AR设备200包括一个或多个传感器,其包括但不限于:直接附接到左目镜202A或在其附近的左前向世界传感器206A、直接附接到右目镜202B或在其附近的右前向世界传感器206B、直接附接到左目镜202A或在其附近的左侧向世界传感器206C,以及直接附接到右目镜202B或在附近的右侧向世界传感器206D。传感器206中的一者或多者的位置可以与所示的实施例不同,并且可以包括各种向后、向前、向上、向下、向内和/或向外的配置。传感器206A、206B、206C、206D可以被配置为分别生成、检测和/或捕获传感器数据220A、220B、220C、220D,这些传感器数据可以是与AR设备200周围环境的物理特性(诸如运动、光、温度、声音、湿度、振动、压力等)相对应的电子数据。
在一些实施例中,传感器206中的一者或多者可以是相机,并且传感器数据220中的一者或多者可以是相机图像。例如,传感器数据220可以包括单个图像、成对的图像、包括图像流的视频、包括成对图像流的视频等。在一些实施例中,传感器206中的一者或多者可以是深度传感器,并且传感器数据220中的一者或多者可以是深度图像/地图。例如,传感器206之一可以包括飞行时间成像***,该***被配置为发射光脉冲以照射目标对象并基于接收到的光信号确定到目标对象的距离。此类***的一个示例参考2017年9月29日提交的题为“REAL TIME CALIBRATION FOR TIME-OF-FLIGHT DEPTH MEASUREMENT(用于飞行时间深度测量的实际时间校准)”的,序列号为15/721,640的美国专利申请进行了描述,如同本文全面阐述的,该申请的全部公开内容为了所有目的在此通过引用并入。传感器206的其它示例可以包括任何类型的运动传感器、深度传感器、光传感器、机械传感器、温度传感器、声音传感器、湿度传感器、振动传感器、压力传感器等。
AR设备200可以包括与传感器206分离的附加传感器207。附加传感器207可以被配置为生成、检测和/或捕获附加传感器数据221。附加传感器207可以是上面参考传感器206描述的任何类型的传感器,并且附加传感器数据221可以是上面参考传感器数据220描述的任何类型的传感器数据。在一些实施例中,附加传感器数据221用于确定与传感器206相关联(即与校准简档254相关联)的校准级别254,如下面进一步详细描述的。在一个示例中,附加传感器207是位于AR设备200的一部分上方(例如,在传感器206中的两者之间延伸)的应变仪,以确定对AR设备200的应变。在另一示例中,附加传感器207是沿着AR设备200的框架(例如,在目镜202之间的中心点处)定位的机械传感器,用于测量AR设备200的框架的一部分的弯曲、斜移(angle)、扭曲等。附加传感器207的其他示例在2018年7月13日提交的题为“SYSTEMS AND METHODS FOR DISPLAY BINOCULAR DEFORMATION COMPENSATION(用于显示双目变形补偿的***和方法)”的,序列号为62/698,015的美国临时专利中提供,如同本文全面阐述的,该申请的全部公开内容为了所有目的在此通过引用并入。
在一些实施例中,AR设备200包括一个或多个图像投影设备,诸如光学链接到左目镜202A的左投影仪214A和光学链接到右目镜202B的右投影仪214B。投影仪214可以以使得用户将虚拟内容感知为位于特定距离处的方式将与虚拟内容相关联的光注入目镜202的一个或多个波导中。目镜202A、202B可以包括透明或半透明的波导,这些波导被配置为分别引导和耦出从投影仪214A、214B接收的光。在操作期间,处理模块250可以使左投影仪214A将左虚拟图像光222A输出到左目镜202A上,并且可以使右投影仪214B将右虚拟图像光222B输出到右目镜202B上。在一些实施例中,目镜202中的每一者可以包括与不同颜色和/或不同深度平面相对应的多个波导。
AR设备200的一些或全部部件可以被头戴,以使得投影图像可以被用户观看。在一个特定实施方式中,图2所示的AR设备200的全部部件被安装到用户可穿戴的单个设备(例,如单个耳机)上。在另一实施方式中,处理模块250的一个或多个部件通过一个或多个有线和/或无线连接与AR设备200的其它部件在物理上分离并且通信耦接。例如,处理模块250可以包括在AR设备200的头戴部分上的本地模块,以及与该本地模块在物理上分离并且在通信链接的远程模块。远程模块可以以各种配置安装,例如固定地附接到框架,固定地附接到由用户穿戴的头盔或帽子,嵌入耳机,或以其它方式可拆除地附接到用户(例如,以背包式配置、束带耦接式配置等)。
处理模块250可以包括处理器252和相关的数字存储器,诸如非易失性存储器(例如闪存),这两者可用于辅助数据,诸如传感器数据220,的处理、缓存和存储。例如,处理模块250可以从左前向相机(即传感器206A)接收一个或多个左前图像(即传感器数据220A);从右前向世界相机(即传感器206B)接收一个或多个右前图像(即传感器数据220B);从左侧向世界相机(即传感器206C)接收一个或多个左图像(即传感器数据220C);从右侧向世界相机(即传感器206D)接收一个或多个右图像(即传感器数据220D)。传感器数据220可以在AR设备200通电时定期地生成并被发送到处理模块250,或者可以响应于由处理模块250发送到相机中的一者或多者的指令而生成。作为另一示例,处理模块250可以从环境光传感器(即传感器206)接收环境光信息(即传感器数据220)。
当被实现为相机时,传感器206A、206B可以被定位为分别捕获与用户的左眼和右眼的视野基本重叠的图像。因此,传感器206的放置可以在用户的眼睛附近,但不能近得遮挡用户的视野。替代地或附加地,传感器206A、206B可以被定位成分别与虚拟图像光222A、222B的耦入位置基本对准。当被实现为相机时,传感器206C、206D可以被定位成捕获用户侧面的图像,例如在用户的周边视觉中或在用户的周边视觉之外。使用传感器206C、206D捕获的图像不必与使用传感器206A、206B捕获的图像重叠。
在AR设备200的操作期间,处理模块250可以使用来自校准简档254的一个或多个参数来解释传感器206之间的间隔和取向差异,从而可以正确地分析传感器数据220。当生成虚拟图像光222以解释目镜202之间的间隔和取向差异时,可以另外使用校准简档254,以使得用户可以舒适地且以适当的对准来观看虚拟图像元素。为了实现此目的,处理器252可以重复访问校准简档254以确保所使用的参数反映可用的最新的和最准确的参数。在一些情况下,在执行校准过程之后,处理器252可以立即从校准简档254检索参数。在一个特定实施方式中,校准简档254存储在非易失性存储器中,以使得处理器252可以在AR设备200通电时检索最近使用的参数。替代地,当AR设备200不出现例如因运行板载电子部件导致设备热膨胀而产生的严重变形,则需要在启动AR设备200时访问所存储的工厂校准。
在一些实施例中,处理器252维持校准简档254以对传感器206中的第一传感器和第二传感器(例如传感器206A、206B)之间的空间关系进行建模。根据本发明的一些实施例,校准简档254包括与第一传感器和第二传感器之间的相对距离相对应的平移参数T,以及与第一传感器和第二传感器之间的相对角度取向的旋转参数R。平移参数T和旋转参数R中的每一者可具有广泛的数据类型。例如,平移参数T可以是单个量(例如0.1米)、一维矩阵(例如[0.1;0;0]米)、多维矩阵(例如[[0.1;0;0][0;0;0][0;0;0]]米)、数组、向量或者单个或多个量的任何其它可能的表示。类似地,旋转参数R可以是单个量(例如0.5度)、一维矩阵(例如[0.5;0;0]度)、多维矩阵(例如[[0.5;0;0]][0;0;0][0;0;0]]度)、数组、向量或者单个或多个量的任何其它可能的表示。
在理想状况下,平移参数T和旋转参数R在制造AR设备200之后立即在工厂中进行校准,并在设备的整个使用寿命期间维持第一传感器和第二传感器之间空间关系的准确指示。在实际状况下,AR设备200因发热、使用和各种形式的磨损而变形,从而导致平移参数T和旋转参数R的工厂校准值变得不准确。一种可能的解决方案是,用户反复地将AR设备200带回工厂进行重新校准。替代地,可以采用运行时校准方法来在AR设备200通电并由用户使用时校准平移参数T和旋转参数R。
在一些情况下,定期地确定与校准简档254相关联的校准级别。基于校准级别,处理模块250可以是若干类型的校准之一发生。例如,当校准级别低于第一校准阈值时,处理模块250可以使第一校准过程被执行,并且当校准级别高于第一校准阈值时,处理模块250可以使第二校准过程被执行。在一些情况下,当校准级别高于第一校准阈值和第二校准阈值,指示校准简档254是准确的时,两种校准过程都可以不执行。如本文所使用的,术语“校准级别”可以与在对第一传感器和第二传感器(例如传感器206A、206B)之间的实际空间关系进行建模(model)时的校准简档254的准确性等级相对应。因此,较高的校准级别可以与实际空间关系的更精确的建模相对应,而较低的校准级别可以与实际空间关系的较不精确的建模相对应。结合AR设备200的校准监视校准级别的过程在下面进一步地详细描述。
图3示出了根据本发明的一些实施例的AR设备200的校准模型300。在校准模型300中,传感器206中的每一者可以使用针孔相机模型表示,占用一个点的位置,其中传感器206C从传感器206A偏移已知的平移和旋转(通过变换[TL|RL]建模),并且传感器206D从传感器传感器206B偏移已知的平移和旋转(通过变换[TR|RR]建模)。传感器206A、206B之间的中心点302用于跟踪环境中AR设备200相对于世界原点的位置,并且还用作平移和旋转调整的基线。在一些实施例中,传感器206A、206B中的每一者和中心点302之间的相对距离可以等于平移参数T,其中,平移参数T表示与三维(3D)向量相对应的3×1矩阵(例如[0.1 0.20.1]米)。在一些实施例中,传感器206A、206B中的每一者和中心点302之间的相对角取向可以等于旋转参数R,其中旋转参数R表示3×3矩阵(在一些实施例中称为旋转向量)。因此,传感器206B和中心点302之间的变换可以通过变换[T|R]来建模,并且传感器206A和中心点302之间的变换可以通过变换[T|R]-1来建模。
图4A、图4B和图4C示出了根据本发明的一些实施例的用于确定与校准简档254相关联的校准级别的各个步骤。在一些实施例中,确定与校准简档254相关联的校准级别包括确定AR设备200的变形量D,该变形量D影响左前向世界传感器206A相对于右前向世界传感器206B的位置和/或取向。变形量D可用作校准级别,并且可以与本文描述的校准级别成反比。例如,确定变形量D是否大于变形阈值可以等同于确定校准级别是否小于校准阈值。类似地,确定变形量D是否小于变形阈值可以等同于确定校准级别是否大于校准阈值。
参考图4A、图4B和图4C描述的步骤可以按帧执行,或者可以每隔N个帧执行一次。这些步骤可以使用对极几何形状,这可能需要传感器206A、206B中的每一者可以观察到成对的相应的“特征”或“兴趣点”。变形量D可以在执行参考图8、图9、图10和图11描述的方法800、900、1000、1100之前或期间被确定。
参考图4A,可以将传感器206A在时间t1捕获的左图像402与传感器206B在时间t1捕获的右图像404进行比较,以识别出现在这两个图像中的至少一个特征的全部或部分(例如使用一种或多种特征匹配技术)。在确定两个图像402、404均包括特征420(五角星)之后,基于左图像402生成对极线422,并将其投射到右图像404上。可以基于出现在左图像402中的特征420的竖直/水平定位和/或取向来生成对极线422,并且可以使用最新版本的校准简档254将其投射到右图像404上。对极线422表示在传感器206A、206B完美对准的情况下,从传感器20B的视角来看预期具有特征420的线。特征420的位置偏离对极线422指示传感器206A、206B之间的校准误差,并且偏离的大小对应于或多或少的误差。
在一些实施例中,在图像402、404的每一者中的特征420内识别第一点405和第二点407,以便于确定特征420的竖直/水平定位和/或取向。在图4A所示的示例中,分析左图像402以识别沿着特征420的左上点的第一点405和沿着特征420的右上点的第二点407。接下来,在左图像402中形成第一点405和第二点407之间的相交线,并且使用校准简档254将相交线从左图像402变换到右图像404,以将对极线422投射到右图像404上。一旦将对极线422投射到右图像404上,便将右图像404内的第一点405和第二点407与对极线422进行比较。在将右图像404中的特征420(即点405和407)与对极线422进行比较之后,可以基于特征420和对极线422之间的平移偏移和取向偏移来计算变形量D(即校准级别)。由于图4A所示的示例中的特征420与对极线422完美对准,因此,确定变形量D低(例如等于0)。可以分析附加特征以更高准确度确定变形量D。在一些实施例中,变形量D以像素表示,并且在一些实施例中,其可以等于分离特征420和对极线422的像素数量。在一些实施例中,变形量D被称为重投影误差。
参考图4B,可以将传感器206A在时间t2捕获的左图像406与传感器206B在时间t2捕获的右图像408进行比较,以识别出现在这两个图像中的特征420。分析图像406、408以识别图像406、408的每一者中的特征420内的点405、407。接下来,在左图像406中形成点405、407之间的相交线,并且使用最新版本的校准简档254将相交线从左图像406变换到右图像408,以将对极线422投射到右图像408上。然后将右图像408内的点405、407与对极线422进行比较,以确定变形量D。由于特征420未与对极线422对准(如点405和407与对极线422之间的未对准所示,平移偏移和取向偏移明显),因此确定变形量D高于图4A所示的示例(例如等于26.3)。
参考图4C,可以将传感器206A在时间t3捕获的左图像410与传感器206B在时间t3捕获的右图像412进行比较,以识别出现在这两个图像中的特征420。分析图像410、412以识别图像410、412的每一者中的特征420内的点405、407。接下来,在左图像410中形成点405、407之间的相交线,并且使用最新版本的校准简档254将相交线从左图像410变换到右图像412,以将对极线422投射到右图像412上。然后将右图像412内的点405、407与对极线422进行比较,以确定变形量D。由于特征420相对于对极线422明显偏移(如点405和407与对极线422之间的未对准所示,平移偏移和取向偏移明显),因此确定变形量D高于图4A和图4B所示的示例(例如等于84.1)。
图5A、图5B和图5C示出了根据本发明的一些实施例的用于确定与校准简档254相关联的校准级别的各个步骤。图5A、图5B和图5C所示的示例分别与图4A、图4B和图4C所示的示例相对应,并且示出了将右图像投射到左图像上以计算相同的变形量D(即校准级别)的替代方法。参考图5A、图5B和图5C描述的步骤可以按帧执行,或者每隔N个帧执行一次。
参考图5A,可以将传感器206A在时间t1捕获的左图像502与传感器206B在时间t1捕获的右图像504进行比较,以识别出现在这两个图像中的特征520。分析图像502、504以识别图像502、504的每一者中的特征520内的点505、507。接下来,在右图像504中形成点505、507之间的相交线,并且使用最新版本的校准简档254将相交线从右图像504变换到左图像502,以将对极线522投射到左图像502上。然后将左图像502内的点505、507与对极线522进行比较,以确定变形量D。由于特征520在图5A所示的示例中与对极线522完美对准,因此确定变形量D低(例如等于0)。
参考图5B,可以将传感器206A在时间t2捕获的左图像506与传感器206B在时间t2捕获的右图像508进行比较,以识别出现在这两个图像中的特征520。分析图像506、508以识别图像506、508的每一者中的特征520内的点505、507。接下来,在右图像508中形成点505、507之间的相交线,并且使用最新版本的校准简档254将相交线从右图像508变换到左图像506,以将对极线522投射到左图像506上。然后将左图像506内的点505、507与对极线522进行比较,以确定变形量D。由于特征520未与对极线522对准(如点505和507与对极线522之间的未对准所示,平移偏移和取向偏移明显),因此确定变形量D高于图5A所示的示例(例如等于26.3)。
参考图5C,可以将传感器206A在时间t3捕获的左图像510与传感器206B在时间t3捕获的右图像512进行比较,以识别出现在这两个图像中的特征520。分析图像510、512以识别图像510、512的每一者中的特征520内的点505、507。接下来,在右图像512中形成点505、507之间的相交线,并且使用最新版本的校准简档254将相交线从右图像512变换到左图像510,以将对极线522投射到左图像510上。然后将左图像510内的点505、507与对极线522进行比较,以确定变形量D。由于特征520相对于对极线522明显偏移(如点505和507与对极线522之间的未对准所示,平移偏移和取向偏移明显),因此确定变形量D高于图5A和图5B所示的示例(例如等于84.1)。
图6示出了根据本发明的一些实施例的基于具有在其中出现的共同特征的两个图像来变形量D(即校准级别)的示例计算。首先,在第一图像602和第二图像(未示出)两者中识别具有点605、607的特征620。第一图像602可以表示左图像或右图像等。点605、607之间的相交线形成在第二图像中,并且使用最新版本的校准简档254将相交线从第二图像变换到第一图像602,以将对极线622投射到第一图像602上(如参考图4A、图4B、图4C、图5A、图5B和图5C所示)。然后将第一图像602内的点605、607与对极线622进行比较以确定变形量D。
在一些实施例中,第一偏移650被计算为点605和对极线622之间的竖直距离,和/或第二偏移652被计算为点607和对极线622之间的竖直距离。变形量D的计算值可以等于以下项或与其相关(例如,作为其缩放版值):第一偏移650、第二偏移652、第一偏移650和第二偏移652之间的平均偏移654、第一偏移650和第二偏移652的最小值或最大值、第一偏移650和第二偏移652之间的比率(例如,第一偏移650除以第二偏移652,第二偏移652除以第一偏移650等)、第一偏移650和第二偏移652之差(例如,第二偏移652减去第一偏移650,或第一偏移650减去第二偏移652等)等。
图7示出了根据本发明的一些实施例的基于具有在其中出现的共同特征的两个图像变形量D(即校准级别)的示例计算。首先,在第一图像702和第二图像(未示出)两者中识别具有点705、707的特征720。第一图像702可以表示左图像或右图像等。点705、707之间的相交线在第二图像中形成,并且使用最新的校准简档254将相交线从第二图像变换到第一图像702,以将对极线722投射到第一图像702上(如参考图4A、图4B、图4C、图5A、图5B和图5C所示)。然后将第一图像702内的点705、707与对极线722进行比较以确定变形量D。
在一些实施例中,在第一图像702中形成与点705、707的相交线756,并且计算线756和对极线722之间的角度758。替代地或附加地,可以通过确定点705、707和对极线722之间的竖直偏移(类似于参考图6描述的第一偏移650和第二偏移652)以及点705、707之间的水平偏移,并且使用三角函数求解角度758来计算角度758。变形量D的计算值可以等于以下项或与其相关(例如,作为其缩放值):角度758、角度758的正弦(函数)、角度758的正切(函数)、角度758的倒数等。
在一些实施例中,参考图6计算的变形量是平移变形量DT,并且参考图7计算的变形量是旋转变形量DR。在一些实施例中,变形量D的计算值可以等于以下项或与其相关(例如,作为其缩放值):平移变形量DT和旋转变形量DR之和、平移变形量DT和旋转变形量DR之间的平均值、平移变形量DT和旋转变形量DR的最小值或最大值、平移变形量DT和旋转变形量DR之间的比率(例如,平移变形量DT除以旋转变形量DR,旋转变形量DR除以平移变形量DT等)、平移变形量DT与旋转变形量DR之差(例如,旋转变形量DR减去平移变形量DT,或平移变形量DT减去旋转变形量DR等)等。
图8示出了根据本发明的一些实施例的用于校准AR设备200的方法800。方法800的执行可以包括执行比图8所示更多或更少的步骤,方法800的步骤不需要以所示顺序执行。尽管参考校准AR设备描述了方法800,但是该方法可用于校准包含空间关系通过具有平移参数和旋转参数的校准简档建模的两个传感器的任何设备。
在一些实施例中,方法800开始于框802,在此,传感器数据220由传感器206捕获。在一些实施例中,传感器数据220可以由传感器206中的第一传感器和第二传感器捕获。例如,传感器数据220可以包括由第一传感器捕获的一个或多个第一图像和由第二传感器捕获的一个或多个第二图像。在一些实施例中,第一图像和第二图像两者均是相机图像。在一些实施例中,第一图像和第二图像两者均是深度图像(即深度图)。在一些实施例中,第一图像是相机图像,第二图像是深度图像。在一些实施例中,第一图像是深度图像,第二图像是相机图像。在由传感器206捕获传感器数据220之后,传感器数据220可以被发送到处理模块250。
在框804处,确定与校准简档254相关联的校准级别。在一些实施例中,例如通过分析一个或多个第一图像和一个或多个第二图像中的一者或两者,基于传感器数据220确定校准级别。例如,可以将一个或多个第一图像与一个或多个第二图像进行比较,并且可以基于该比较确定校准级别。作为另一示例,可以基于该比较确定第一传感器相对于第二传感器的变形量D,变形量D可用作校准级别(较高的变形量对应于较低的可靠性级别)。在一些实施例中,通过执行参考图4A、图4B和图4C和/或图5A、图5B和图5C描述的步骤来确定校准级别。在一些实施例中,框804由处理模块250执行。
在一些实施例中,确定校准级别包括确定与AR设备200相关联的头部姿势算法当前是否可用和/或当前是否正在生成准确数据。在一些实施例中,头部姿势算法可用于根据由传感器206捕获的传感器数据220生成映射点(3D点)。例如,头部姿势算法可以接收成对的图像并通过处理该成对的图像来生成映射点。如果AR设备200变形太多,则头部姿势算法既不能收敛,也不能生成准确的映射点。无论哪种情况,头部姿势算法都被认为“不可用”。在一些实施例中,校准级别可通过具有以下值来与头部姿势算法是否可用相关联:例如在可用时具有第一值(例如1),而在不可用时具有第二值(例如0),或者在一些实施例中,具有上述两个值之间的值来指示可用性级别(例如0.5)。
在框806处,基于校准级别确定是执行第一校准过程、第二校准过程还是都不执行。例如,校准级别可以具有与一个或多个校准阈值比较的单个值。在一些情况下,可以将校准级别归一化以具有介于0和1之间的值。在一个示例中,可以将校准级别与第一校准阈值807-1进行比较,以确定执行第一校准过程还是第二校准过程。可以在校准级别高于第一校准阈值807-1时确定执行第一校准过程,并且在校准级别低于第一校准阈值807-1时确定执行第二校准过程,反之亦然。在一些实施例中,可以在校准级别高于第二校准阈值807-2时确定不执行校准过程,其中第二校准阈值807-2可以高于第一校准阈值807-1。替代地或附加地,可以确定校准级别是否在值的范围内,校准级别是否包括在值的列表中,校准级别是否比先前确定的校准级别大或小某个阈值量,校准级别是否在特定时间量(例如250毫秒)内小于阈值等。在一些实施例中,框806由处理模块250执行。
在变形量D用作校准级别的另一示例中,可以将变形量D与第一变形阈值进行比较,以确定执行第一校准过程还是第二校准过程。可以在变形量D低于第一变形阈值时确定执行第一校准过程,并且在变形量D高于第一变形阈值时确定执行第二校准过程,反之亦然。在一些实施例中,可以在变形量D低于第二变形阈值时确定不执行校准过程,其中,第二变形阈值可以低于第一变形阈值。替代地或附加地,可以确定变形量D是否在值的范围内,变形量D是否包括在值的列表中,变形量D是否比先前确定的变形量D大或小某个阈值量,变形量D是否在特定时间量(例如250毫秒)内大于阈值等。
如果在框806处确定执行第一校准过程,例如,校准级别小于第一校准阈值807-1,则方法800进行到框808。在框808处,执行第一校准过程,其中,包括校准旋转参数R而不修改平移参数T,即仅校准旋转参数R。执行第一校准过程可以包括生成用于替换和/或更新旋转参数R的校准后旋转参数R'。在一些实施例中,使用传感器数据220来执行第一校准过程。第一校准过程可以包括最小化误差等式,其中,平移参数T保持恒定(保持为其最新值),旋转参数R在可能值范围内变化(例如波动)。将针对其最小化误差等式的旋转参数R的值被设定为校准后旋转参数R'。在一些实施例中,框808由处理模块250执行。
如果在框806处确定执行第二校准过程,例如,校准级别大于第一校准阈值807-1(但小于第二校准阈值807-2),则方法800进行到框810。在框810处,执行第二校准过程,其中,包括校准平移参数T和旋转参数R两者,这可以包括生成用于分别替换和/或更新平移参数T和旋转参数R的校准后平移参数T'和校准后旋转参数R'。第二校准过程可以包括最小化误差等式,其中,平移参数T和旋转参数R都两者可能值范围内变化。将针对其最小化误差等式的平移参数T和旋转参数R的值分别被设定为校准后平移参数T’和校准后旋转参数R’。在一些实施例中,框810由处理模块250执行。
图9示出了根据本发明的一些实施例的用于校准AR设备200的方法900。方法900的执行可以包括执行比图9所示更多或更少的步骤,并且方法900的步骤不需要以所示顺序执行。方法900的一个或多个步骤可以与方法800的一个或多个步骤相对应。尽管参考校准AR设备描述了方法900,但是该方法可用于校准包含空间关系通过具有平移参数和旋转参数的校准简档建模的两个传感器的任何设备。
在一些实施例中,方法900开始于框902,在此,传感器数据220(即第一传感器数据)由传感器206捕获。框902可以包括参考框802描述的一个或多个步骤。
在框903处,附加传感器数据221(即第二传感器数据)由附加传感器207捕获。附加传感器207可以是与传感器206分离的传感器。在一个示例中,附加传感器207是位于AR设备200的一部分上方的应变仪(例如,在传感器206中的两者之间延伸),用于确定对AR设备200的应变。
在框904处,基于附加传感器数据221(即第二传感器数据)确定与校准简档254相关联的校准级别。在一些实施例中,通过分析附加传感器数据221的一个或多个图像来确定校准级别。框904可以包括参考框804描述的一个或多个步骤。在一些实施例中,框904由处理模块250执行。
在框906处,基于校准级别确定执行第一校准过程、第二校准过程还是都不执行。框906可以包括参考框806描述的一个或多个步骤。在一些实施例中,框906由处理模块250执行。
如果在框906处确定执行第一校准过程,则方法900进行到框908。在框908处,执行第一校准过程,其中,包括使用传感器数据220(即第一传感器数据)来校准旋转参数R而不修改平移参数T。框908可以包括参考框808描述的一个或多个步骤。在一些实施例中,框908由处理模块250执行。
如果在框906处确定执行第二校准过程,则方法900进行到框910。在框910处,执行第二校准过程,其中,包括使用传感器数据220(即第一传感器数据)对平移参数T和旋转参数R两者进行校准。框910可以包括参考框810描述的一个或多个步骤。在一些实施例中,框910由处理模块250执行。
图10示出了根据本发明的一些实施例的用于校准AR设备200的方法1000。方法1000的执行可以包括执行比图10所示更多或更少的步骤,方法1000的步骤不需要以所示顺序执行。方法1000的一个或多个步骤可以与方法800、900的一个或多个步骤相对应。例如,方法1000可以包括对极校准1050,其可以与参考框808描述的一个或多个步骤相对应,以及包括在线校准1052,其可以与参考框810描述的一个或多个步骤相对应。尽管参考校准AR设备描述了方法1000,但是该方法可用于校准包含空间关系通过具有平移参数和旋转参数的校准简档建模的两个传感器的任何设备。
在一些实施例中,方法1000开始于框1002,在此,传感器数据220由传感器206捕获。框1002可以包括参考框802描述的一个或多个步骤。
在框1004处,确定与校准简档254相关联的校准级别。框1004可以包括参考框804、904描述的一个或多个步骤。在一些实施例中,框1004由处理模块250执行。
在框1006处,基于校准级别确定执行第一校准过程、第二校准过程还是都不执行。框1006可以包括参考框806描述的一个或多个步骤。在一些实施例中,框1006由处理模块250执行。
如果在框1006处确定执行第一校准过程,则方法1000进行到框1008。在框1008处,通过使旋转参数R在可能值范围内变化(例如波动),同时使平移参数T保持恒定(保持为校准简档254中的其最新值)来最小化第一等式EQ1。尽管各种误差等式可用于第一等式EQ.1,但在一些实施方式中,可以使用桑普森(Sampson)误差的变体,如下所示:
其中,(·)k表示向量中的第k个分量,E=[T]x·R是本质矩阵,x和x'是归一化图像坐标中来自左图像和右图像的对应特征。在EQ.1中使用这种桑普森误差变体的优点包括:(1)使用的特征坐标处于归一化图像坐标中;(2)本质矩阵E的计算效率高于基本矩阵;以及(3)假定相机的内参不变。在一个特定实施方式中,本质矩阵E是3×3矩阵。一旦EQ.1被最小化,则设定针对其最小化等式的旋转参数R的值,并将该值作为校准后旋转参数R'输出。
如果在框1006处确定执行第二校准过程,则方法1000进行到框1010,在此,执行在线校准1052。在线校准1052旨在相对于传感器(例如相机)的旋转和平移最小化观察到的图像点和预测的图像点之间的重投影误差。在框1010处,通过使平移参数T和旋转参数R在可能值范围内变化(例如波动)来最小化第二方程式EQ2。尽管各种误差等式可用于第二等式EQ.2,但在一些实施方式中,可以使用以下误差等式:
其中,i是点的索引,j是关键帧上装置(rig)位置的索引,k是相机的索引,是相机的集合,是从装置到传感器k(例如相机k)的外参变换,是装置j中的传感器k的投影函数,是传感器k中的3D点pi的测量值,P是计算两点之间的重投影误差向量的函数,Vij是基于通过位于关键帧位置j处的传感器k对点i的可见性的0或1值(如果可见,则等于1;如果不可见,则等于0)。投影函数取决于平移参数T和旋转参数R,因为从装置中心点到每个传感器的变换与每个传感器的T和R相关。一旦EQ.2被最小化,则设定针对其最小化方程式的平移参数T和旋转参数R的值,并将这些值分别作为校准后平移参数T'和校准后旋转参数R'输出。图15示出了从装置到相机的外参变换的附加说明。
在框1012处,使用校准后平移参数T'和校准后旋转参数R'中的一者或两者来分别替换和/或更新平移参数T和旋转参数R。如果执行对极校准1050,则替换和/或更新旋转参数R。如果执行在线校准1052,则替换和/或更新平移参数T和旋转参数R两者。在执行框1012之后,方法1000进行到框1002,重复所描述的步骤。
图11示出了根据本发明的一些实施例的用于校准AR设备200的方法1100。方法1100的执行可以包括执行比图11所示更多或更少的步骤,方法1100的步骤不需要以所示顺序执行。方法1100的一个或多个步骤可以与方法800、900、1000的一个或多个步骤相对应。例如,方法1100可以包括对极校准1150,其可以与参考框808和1008描述的一个或多个步骤相对应,以及包括在线校准路径1152,其可以与参考框810和1010描述的一个或多个步骤相对应。尽管方法1100是参考校准AR设备进行描述的,但是该方法可用于校准包含空间关系通过具有平移参数和旋转参数的校准简档建模的两个传感器的任何设备。
在一些实施例中,方法1100开始于框1102,在此,传感器数据220由传感器206捕获。框1102可以包括参考框802描述的一个或多个步骤。
在框1104处,确定传感器数据220的校准级别。框1104可以包括参考框804、904描述的一个或多个步骤。在一些实施例中,框1104由处理模块250执行。
在框1106处,基于校准级别确定执行第一校准过程、第二校准过程还是都不执行。框1106可以包括参考框806描述的一个或多个步骤。在一些实施例中,框1106由处理模块250执行。
如果在框1106确定执行第一校准过程,则方法1100进行到框1108。在框1108处,对由传感器206A、206B捕获的成对的图像执行图像分析和特征检测。在一些实施例中,检测成对的图像之间的匹配特征,或者在其它实施例中,在执行框1108期间或之前从外部源接收匹配特征。在获得匹配特征和成对图像之后,将成对图像中的每一者划分为多个箱,并且确定位于每个箱中的匹配特征的数量。在各种实施例中,成对图像中的每一者被划分为相同数目的箱,不同数目的箱或覆盖成对图像中的每一者的不同区域的箱。在一个特定实施例中,可通过覆盖在图像上的3×3网格来定义箱。在确定每个箱的匹配特征的数量之后,输出这些数量,并且方法1100进行到框1110。
在框1110处,确定位于箱中的每一者的匹配特征的数量是否满足一个或多个特征阈值。例如,可以确定匹配特征的数量中的每一者是否大于特征阈值,例如1、10、100、1,000等。在一些实施例中,可以按箱执行该查询,以使得当匹配特征的数量中的每一者大于特征阈值时,方法1100仅进行到框1112。在其它实施例中,当大多数或某一必要百分比的箱包括的匹配特征的数量大于特征阈值时,方法1100可以进行到框1112。在一些实施例中,还可以确定匹配特征的数量中的每一者是否小于第二特征阈值,例如1,000、10,000等。该步骤可以确定匹配的特征是否均匀地遍及成对的图像分布。如果确定匹配特征的数量中的每一者大于第一特征阈值并且小于第二特征阈值,则方法1100可以进行到框1112。否则,方法1100返回到框1108,其中分析第二成对的图像组,例如,对应于下一帧的成对的图像。
在框1112处,使用成对的图像和/或匹配特征来执行参考框1008描述的步骤。一旦EQ.1被最小化,便设定针对其最小化等式的旋转参数R的值,并将该值作为校准后旋转参数R'输出。
返回到框1106,如果在框1106处确定执行第二校准过程,则方法1100进行到在线校准路径1152。在线校准路径1152可以包括多个模块,例如环境协调模块1111和在线校准模块1113。环境协调模块1111可以包括确保由AR设备200在预定时间段内收集的3D点云数据对准的步骤。在框1114处,通过在每次出现关键帧时优化稀疏图(AR设备200的映射点组和关键帧位置)来执行束调整。因此,在执行框1114处的任何剩余步骤之前,可以首先确定是否出现关键帧。在AR设备200的操作期间,当基于传感器数据220确定存在足够新的信息,这与确定AR设备200已经平移大于平移阈值并且已经旋转大于旋转阈值相对应(中心点302被用作AR设备200的位置),以保证稳定优化时,关键帧出现。作为示例,平移阈值可以是10cm,旋转阈值可以是10度。
稀疏图可以包括从传感器206收集的映射点。传感器206可以沿着视野中的不同特征捕获映射点,并且在捕获映射点时,每个映射点与AR设备200的已知位置(使用中心点302)相关联。这为收集的映射点提供了上下文,以使得可以准确地重建和正确解释环境的3D模型。当执行束调整时,通过使用最小化点间对准误差的算法对准稀疏图中包含的映射点来优化稀疏图。在稀疏图被优化之后,方法1100进行到在线校准模块1113。
在线校准模块1113可以包括几个子过程或步骤。在框1116处,确定是否已经满足在线校准触发器。在线校准触发器可以包括一个或多个条件,例如但不限于:是否出现关键帧,是否出现连续关键帧,束调整是否成功,连续束调整是否成功,AR设备200的关键帧姿势之间的最大距离的平移量是否大于阈值基线(例如1.5米),AR设备200的关键帧姿势之间的最大旋转量是否大于阈值角度(例如90度),检测到的特征是否均匀地遍及视野分布,检测到的特征是否在z维(对应于深度)中均匀地分布等。如果不满足在线校准触发器中包括的一个或多个条件,则方法1100返回到框1102。如果满足条件,则方法1100进行到框1118。
在框1118处,使用优化后稀疏图来执行参考框1010描述的步骤。在一些实施例中,框1118的执行可以使用比用于束调整的数据集更大的数据集。例如,束调整可以使用通过最近10个关键帧和相机姿势位置观察到的最近10个映射点集合来优化稀疏图,而框1118可以使用最近100个映射点集合和相机姿势位置。一旦EQ.2被最小化,则设定针对其最小化方程式的平移参数T和旋转参数R的值,并将这些值分别作为校准后平移参数T'和校准后旋转参数R'输出。
在框1120处,将校准后平移参数T’和校准后旋转参数R’与预选的验收标准进行比较。在一些实施例中,验收标准可以要求校准后平移参数T’和校准后旋转参数R’分别充分地不同于平移参数T和旋转参数R。在一些实施例中,可以将差值T’-T和R’-R与阈值进行比较。如果确定满足验收标准,则方法1100可以进行到框1122。
在框1122处,使用校准后平移参数T’和校准后旋转参数R’中的一者或两者来分别替换和/或更新平移参数T和旋转参数R。如果执行对极校准1150,则替换和/或更新旋转参数R。如果执行在线校准路径1152,则替换和/或更新平移参数T和旋转参数R两者。在执行框1122之后,方法1100返回到框1102,重复所描述的步骤。
在一些实施例中,方法1100的执行可以包括仅执行对极校准1150(即第一校准过程)或仅执行在线校准路径1152(即第二校准过程)。在一些实施例中,在线校准路径1152在第一时间(即t1)执行,而对极校准1150在第二时间(即t2)执行。相反,在一些实施例中,对极校准1150在第一时间(即t1)执行,而在线校准路径1152在第二时间(即t2)执行。在一些实施例中,在线校准路径1152连续两次执行(即在时间t1和t2),而不执行对极校准1150。类似地,在一些实施例中,对极校准1150连续执行两次(即在时间t1和t2),而不执行在线校准路径1152。如本文所述,第一时间(即t1)可以在第二时间(即t2)之前或之后。
本领域技术人员将理解,AR设备200可以以许多方式使用校准后平移参数T’和校准后旋转参数R’。在一个实施例中,T’和R’可用作物理调整一个或多个传感器(例如传感器206)的位置和/或取向的基础。通过控制至少一个传感器相对于AR设备200上的其它部件和/或其它传感器的位置和/或取向,调整一个或多个传感器的位置和/或取向可以提高AR设备200的整体性能。
再次参考图3,可以相对于中心点302确定校准后平移参数T’和校准后旋转参数R’。但是,可以相对于***的任何其它部分进行校准。例如,在一些实施例中,选择单个传感器作为参考传感器,所有校准校正都以该参考传感器为基础,以使得不调整与参考传感器有关的参数,而是相对于参考传感器调整所有其它传感器的参数。AR设备200上的其它重要点也可用作根据其计算校准参数的参考点。
图12示出了根据本发明的一些实施例的用于检测左图像1204和右图像1206(即成对图像)之间的一个或多个匹配特征1202的各个步骤。例如,图12可以示出与参考图11描述的框1108相结合的一个或多个步骤。左图像1204中的每个检测到的匹配特征映射到右图像1206中的检测到的匹配特征,反之亦然。可以基于角点检测技术或各种常规图像处理技术中的任一技术来检测匹配特征。
图13示出了根据本发明的一些实施例的用于将左图像1304和右图像1306划分为多个箱1308以及用于确定位于箱1308中的每一者中的匹配特征1302的数量的各个步骤。例如,图13可以示出与参考图11描述的框1108和1110相结合的一个或多个步骤。左图像1304和右图像1306可以是相机图像、深度图像等。在图13所示的特定实施方式中,左图像1304和右图像1306中的每一者被划分为采取3×3布置的9个箱。在其它实施例中,不同数量的箱和箱的不同布置是可能的。例如,左图像1304和右图像1306中的每一者可被划分为具有各种形状(例如矩形、三角形、圆形等)的任意数量的箱(例如4、16、25、36等)。箱可以是重叠的或不重叠的,并且左图像1304和右图像1306的箱的布置不需要相同。例如,左图像1304可被划分为采取2×2布置的4个箱,右图像1306可被划分为采取2×3布置的6个箱。
可以定义一个或多个特征阈值,其要求一定数量的匹配特征存在于每个箱和/或箱组中。例如,特征阈值可要求箱1308中每一者包括5个或更多个匹配特征1302。在所示实施例中,每个箱中的匹配特征的数量在位于箱编号右侧的括号中指示。由于箱1308中的广安箱不能满足特征阈值(例如各自具有少于5个匹配特征的箱4、7、8、9、12、14、15、17和18),因此不满足特征阈值。因此,当前图像对(图像1304和1306)可能被选择性地丢弃,而来自该图像对的对应特征可以被保留。当以相同方式检索和分析后续图像对时,特征会累积,直到满足特征阈值中的每一者为止。作为另一示例,特征阈值可要求由采取2×2布置的4个邻近箱构成的每个组包括10个或更多个匹配特征。因为箱14、15、17和18构成的组仅包含5个匹配的特征,所以不满足特征阈值。
图14A和图14B示出了根据本发明的一些实施例的用于在三维空间中将左图像1404和右图像1406划分为多个箱1408以及用于确定位于箱1408中的每一者中的匹配特征1402的数量的各个步骤。例如,图14A和图14B可以示出与参考图11描述的框1108和1110相结合的一个或多个步骤。左图像1404和右图像1406可以是相机图像、深度图像等。左图像1404和右图像1406中的每一者被划分为采取3×3×3布置的27个箱。在其它实施例中,不同数量、布置和形状的箱是可能的。箱可以是重叠的或不重叠的,并且左图像1404和右图像1406的箱的布置不需要相同。
参考图14A,针对多组箱定义了特征阈值,每组中包括的箱形成在三个维度中的两个维度内延伸的平面。例如,特征阈值要求在近场、中场和远场(相对于Z维)中形成平面的多组箱各自包括5个或更多个匹配特征1402。特征阈值还要求相对于X维形成平面的箱组各自包括8个或更多个匹配特征,相对于Y维形成平面的箱组分别包括7个或更多个匹配特征。图14B示出了要求每个单独的箱包括2个或更多个匹配特征的附加特征阈值。因此,可以针对单独的箱和/或箱组定义特征阈值,以确保匹配特征1402的适当空间分布。
图15示出了根据本发明的一些实施例的用于执行束调整的各个步骤。图15示出了通过各种相机姿势1504观察到的映射点1502。传感器206A、206B(在一些实施例中为传感器206C、206D)沿着视野中的不同特征捕获映射点1502,并且在捕获地图点时,映射点1502中的每一者与AR设备200的已知位置(中心点302)相关联。共同地,从相机姿势1504看到的地图点1502共同构成稀疏图。通过使用最小化计算的投影和观察到的特征之间的对准误差的算法将计算的包含在稀疏图中的映射点的投影与对应观察到的映射点的特征对准来优化稀疏图。
尽管参考AR设备200和模型300给出了上述描述,但是其它***配置也可以受益于所述的校准方法。例如,可以使用所述模型来校准包含具有至少部分重叠的视野的两个传感器的任何设备。这两个传感器可以位于设备的同一侧或不同侧。两个传感器可以在x、y和z维中的任一者内或在它们的组合中彼此错位。可以将附加传感器添加到***并可以使用所公开的方法对其进行校准。附加传感器不必与前两个传感器具有重叠的视野。应当理解,可以将两个、三个、四个或更多个附加传感器添加到***并可以使用所描述的方法对其进行校准。
图16示出了根据本发明的实施例的简化的计算机***1600。图16所示的计算机***1600可以被集成到诸如本文所述的AR设备200之类的设备内。图16提供了可以执行由各种实施例提供的方法的部分或全部步骤的计算机***1600的一个实施例的示意图。需要指出,图16仅意在提供各种部件的一般性图示,可以适当地利用其中的任一部件或全部部件。因此,图16广泛地示出了如何以相对分离或相对更集成的方式来实现各个***元件。
示出了计算机***1600,其包括可以经由总线1605电耦接或者可以适当地以其它方式通信的硬件元素。硬件元素可以包括一个或多个处理器1610、一个或多个输入设备1615和一个或多个输出设备1520。该处理器1610包括但不限于一个或多个通用处理器和/或一个或多个专用处理器,诸如数字信号处理芯片、图形加速处理器和/或类似物。该输入设备1615可以包括但不限于鼠标、键盘、相机和/或类似物。该输出设备1520可以包括但不限于显示设备、打印机和/或类似物。
计算机***1600可以进一步包括一个或多个非暂时性存储设备1625和/或与之通信,所述存储设备可以包括但不限于本地和/或网络可访问的存储,和/或可以包括但不限于磁盘驱动器、驱动器阵列、光存储设备、固态存储设备,诸如随机存取存储器(“RAM”)和/或只读存储器(“ROM”),它们可进行编程、可进行闪存更新和/或进行类似的操作。这样的存储设备可被配置为实现任何适当的数据存储,其中包括但不限于各种文件***、数据库结构和/或类似物。
计算机***1600还可以包括通信子***1630,所述通信子***可以包括但不限于调制解调器、网卡(无线或有线)、红外通信设备、无线通信设备和/或芯片组,诸如BluetoothTM设备、802.11设备、WiFi设备、WiMax设备、蜂窝通信设施等和/或类似物。通信子***1630可以包括一个或多个输入和/或输出通信接口,以允许与诸如以下举例描述的网络之类的网络、其它计算机***、电视和/或本文所述的任何其它设备交换数据。取决于期望的功能性和/或其它实现方式,便携式电子设备或类似设备可以经由通信子***1630来传输图像和/或其它信息。在其它实施例中,便携式电子设备(例如,第一电子设备)可以被集成到计算机***1600中,例如作为输入设备1615的电子设备。在一些实施例中,计算机***1600将进一步包括工作存储器1635,所述工作存储器可以包括如以上描述的RAM或ROM设备。
计算机***1600还可以包括被示为当前位于工作存储器1635内的软件元素,其中包括操作***1640、设备驱动程序、可执行库和/或其它代码,诸如一个或多个应用程序1645,该应用程序可以包括由各种实施例提供的计算机程序和/或可以被设计为实现由其它实施例提供的方法和/或配置由其它实施例提供的***,如本文所述。仅通过举例,关于上述方法描述的一个或多个过程,诸如关于图16描述的一个或多个过程,可以被实现为可由计算机和/或计算机内的处理器执行的代码和/或指令,因此,在一方面,这样的代码和/或指令可用于配置和/或适配通用计算机或其它设备以执行根据所述的方法的一个或多个操作。
这些指令集和/或代码可以被存储在非暂时性计算机可读存储介质上,诸如上述一个或多个存储设备1625。在某些情况下,存储介质可以被集成到计算机***(诸如计算机***1600)中。在其它实施例中,存储介质可以与计算机***分开,例如可移动介质(诸如光盘)和/或通过安装包提供,以便可以使用存储介质,通过上面存储的指令/代码对通用计算机进行编程、配置和/或适配。这些指令可以采取能够由计算机***1600执行的可执行代码的形式和/或可以采取源代码和/或可安装代码的形式,当例如使用任何多样的通用编译器、安装程序、压缩/解压缩实用程序等在计算机***1600上编译和/或安装时,所述源代码和/或可安装代码然后采取可执行代码的形式。
对于本领域技术人员显而易见的是,可以根据特定要求进行实质性的变化。例如,也可以使用定制的硬件,和/或可以通过硬件和/或包括便携式软件(诸如小程序等)的软件实现特定元素。此外,可以采用到诸如网络输入/输出设备之类的其它计算设备的连接。
如上所述,在一方面,一些实施例可以采用诸如计算机***1600之类的计算机***来执行根据本技术的各种实施例的方法。根据一组实施例,这些方法的部分或全部过程由计算机***1600响应于处理器1610执行一个或多个指令的一个或多个序列来执行,所述一个或多个指令可以被集成到操作***1640和/或集成到包含在工作存储器1635中的其它代码(诸如应用程序1645)中。这些指令可以从另一计算机可读介质(诸如一个或多个存储设备1625)读入工作存储器1635。仅通过举例,包含在工作存储器1635中的指令序列的执行可以使一个或多个处理器1610执行本文所述的方法的一个或多个过程。附加地或替代地,本文所述的方法的一部分可以通过专用硬件来执行。
如本文所用,术语“机器可读介质”和“计算机可读介质”是指参与提供使机器以特定方式执行操作的数据的任何介质。在使用计算机***1600实现的实施例中,各种计算机可读介质可涉及向一个或多个处理器1610提供要执行的指令/代码和/或可用于存储和/或承载这样的指令/代码。在许多实施方式中,计算机可读介质是物理和/或有形存储介质。这样的介质可以采取非易失性介质或易失性介质的形式。非易失性介质例如包括光盘和/或磁盘,诸如一个或多个存储设备1625。易失性介质包括但不限于动态存储器,例如工作存储器1635。
物理和/或有形计算机可读介质的常见形式例如包括软盘、柔性盘、硬盘、磁带或任何其它磁介质、CD-ROM、任何其它光介质、打孔卡、纸带、具有孔模式的任何其它物理介质、RAM、PROM、EPROM、FLASH-EPROM、任何其它存储芯片或盒式磁带、或计算机可以从中读取指令和/或代码的任何其它介质。
各种形式的计算机可读介质可涉及将一个或多个指令的一个或多个序列传送给一个或多个处理器1610以供执行。仅通过举例,指令可以最初承载在远程计算机的磁盘和/或光盘上。远程计算机可以将指令加载到其动态存储器中,并通过传输介质将指令作为信号发送,以由计算机***1600接收和/或执行。
通信子***1630和/或其部件通常接收信号,然后总线1605可以将信号和/或信号所携带的数据、指令等传输到工作存储器1635,一个或多个处理器1610从该工作存储器中检索并执行指令。由工作存储器1635接收的指令可以选择性地在由一个或多个处理器1610执行之前或之后存储在非暂时性存储设备1625上。
以上讨论的方法、***和设备是示例。各种配置可以适当地省略、替代或添加各种过程或部件。例如,在替代配置中,可以以不同于所描述的顺序来执行该方法,和/或可以添加、省略和/或组合各个阶段。而且,关于某些配置描述的特征可以通过各种其它配置进行组合。可以以类似方式组合配置的不同方面和元素。此外,技术在发展,因此,许多元素是示例,并不限制本公开或权利要求的范围。
说明书中给出了具体细节以提供对包括各种实施方式的示例性配置的透彻理解。然而,可以实践配置而无需这些具体细节。例如,已经示出了公知的电路、过程、算法、结构和技术,其中没有不必要的细节以避免使配置模糊。本说明书仅提供示例配置,并且不限制权利要求的范围、适用性或配置。而是,先前对配置的描述将向本领域技术人员提供了用于实现所述技术的使能描述。在不脱离本公开的精神或范围的情况下,可以对元素的功能和布置进行各种改变。
另外,可以将配置描述为过程,该过程被示出为示意性流程图或框图。尽管可以将操作描述为顺序过程,但是操作中的许多可以并行地或同时执行。另外,可以重新排列操作的顺序。过程可以具有图中未包括的额外步骤。此外,方法的示例可以由硬件、软件、固件、中间件、微代码、硬件描述语言或其任意组合来实现。当以软件、固件、中间件或微代码实现时,用于执行必要任务的程序代码或代码段可以被存储在诸如存储介质之类的非暂时性计算机可读介质中。处理器可以执行所述任务。
已经描述了若干示例配置,在不脱离本公开的精神的情况下,可以使用各种修改、替代构造和等同物。例如,以上元素可以是较大***的部件,其中,其它规则可以占优或以其它方式修改技术的应用。另外,在考虑以上要素之前、期间或之后可以采取许多步骤。因此,以上描述不限制权利要求的范围。
如本文和所附权利要求书中所用的,“一”、“一个”和“该”包括复数引用,除非上下文另外明确指出。因此,例如,对“一个用户”的引用包括多个这样的用户,而对“该处理器”的引用包括对一个或多个处理器及其本领域技术人员已知的等同物的引用等等。
此外,当在本说明书和以下权利要求书中使用时,单词“包括”、“包含”和“含有”旨在指定存在所声明的特征、整数、部件或步骤,但是它们并不排除一个或多个其它特征、整数、部件、步骤、动作或组的存在或添加。
还应理解,本文所述的示例和实施例仅用于说明性目的,并且其各种修改或改变将被建议给本领域技术人员,并且将被包括在本申请的精神和范围以及所附权利要求的范围内。
Claims (20)
1.一种用于校准具有第一传感器和第二传感器的设备的方法,所述方法包括:
使用所述第一传感器和所述第二传感器捕获传感器数据,其中,所述设备维持对所述第一传感器和所述第二传感器之间的空间关系进行建模的校准简档,所述校准简档包括平移参数和旋转参数;
确定在第一时间与所述校准简档相关联的校准级别;
基于所述校准级别确定执行校准过程;以及
通过以下操作来在所述第一时间执行所述校准过程:
生成校准后平移参数和校准后旋转参数中的一者或两者;以及
用所述校准后平移参数和所述校准后旋转参数中的一者或两者替换所述平移参数和所述旋转参数中的一者或两者。
2.根据权利要求1所述的方法,其中,在所述第一时间执行所述校准过程包括:
仅用所述校准后旋转参数替换所述旋转参数。
3.根据权利要求2所述的方法,进一步包括:
确定在第二时间与所述校准简档相关联的第二校准级别;
基于所述第二校准级别确定执行第二校准过程;以及
通过以下操作来在所述第二时间执行所述第二校准过程:
生成第二校准后平移参数和第二校准后旋转参数;以及
用所述第二校准后平移参数和所述第二校准后旋转参数替换所述平移参数和所述旋转参数;
其中,所述校准级别是第一校准级别,所述校准过程是第一校准过程,所述旋转参数是第一校准后旋转参数。
4.根据权利要求3所述的方法,其中:
基于所述第一校准级别确定执行所述第一校准过程包括确定所述第一校准级别大于校准阈值;以及
基于所述第二校准级别确定执行所述第二校准过程包括确定所述第二校准级别小于所述校准阈值。
5.根据权利要求1所述的方法,其中,在所述第一时间执行所述校准过程包括:
生成所述校准后平移参数和所述校准后旋转参数两者;以及
用所述校准后平移参数和所述校准后旋转参数替换所述平移参数和所述旋转参数两者。
6.根据权利要求1所述的方法,其中,所述传感器数据包括:
使用所述第一传感器捕获的一个或多个第一图像;以及
使用所述第二传感器捕获的一个或多个第二图像。
7.根据权利要求1所述的方法,其中,使用所述传感器数据生成所述校准后平移参数和所述校准后旋转参数中的一者或两者。
8.根据权利要求1所述的方法,其中,基于所述传感器数据确定所述校准级别。
9.根据权利要求1所述的方法,进一步包括:
使用与所述第一传感器和所述第二传感器分离的附加传感器来捕获附加传感器数据,其中,基于所述附加传感器数据确定所述校准级别。
10.一种设备,包括:
第一传感器和第二传感器,其被配置为捕获传感器数据;
存储设备,其被配置为存储对所述第一传感器和所述第二传感器之间的空间关系进行建模的校准简档,所述校准简档包括平移参数和旋转参数;
处理器,其被耦接到所述第一传感器、所述第二传感器和所述存储设备,其中,所述处理器被配置为执行包括以下各项的操作:
确定在第一时间与所述校准简档相关联的校准级别;
基于所述校准级别确定执行校准过程;以及
通过以下操作来在所述第一时间执行所述校准过程:
生成校准后平移参数和校准后旋转参数中的一者或两者;以及
用所述校准后平移参数和所述校准后旋转参数中的一者或两者替换所述平移参数和所述旋转参数中的一者或两者。
11.根据权利要求10所述的设备,其中,在所述第一时间执行所述校准过程包括:
仅用所述校准后旋转参数替换所述旋转参数。
12.根据权利要求11所述的设备,其中,所述操作进一步包括:
确定在第二时间与所述校准简档相关联的第二校准级别;
基于所述第二校准级别确定执行第二校准过程;以及
通过以下操作来在所述第二时间执行所述第二校准过程:
生成第二校准后平移参数和第二校准后旋转参数;以及
用所述第二校准后平移参数和所述第二校准后旋转参数替换所述平移参数和所述旋转参数;
其中,所述校准级别是第一校准级别,所述校准过程是第一校准过程,并且所述旋转参数是第一校准后旋转参数。
13.根据权利要求12所述的设备,其中:
基于所述第一校准级别确定执行所述第一校准过程包括确定所述第一校准级别大于校准阈值;以及
基于所述第二校准级别确定执行所述第二校准过程包括确定所述第二校准级别小于所述校准阈值。
14.根据权利要求10所述的设备,其中,在所述第一时间执行所述校准过程包括:
生成所述校准后平移参数和所述校准后旋转参数两者;以及
用所述校准后平移参数和所述校准后旋转参数替换所述平移参数和所述旋转参数两者。
15.根据权利要求10所述的设备,其中,所述传感器数据包括:
使用所述第一传感器捕获的一个或多个第一图像;以及
使用所述第二传感器捕获的一个或多个第二图像。
16.根据权利要求10所述的设备,其中,使用所述传感器数据生成所述校准后平移参数和所述校准后旋转参数中的一者或两者。
17.根据权利要求10所述的设备,其中,基于所述传感器数据确定所述校准级别。
18.根据权利要求10所述的设备,进一步包括:
附加传感器,其被配置为捕获附加传感器数据,其中,所述附加传感器与所述第一传感器和所述第二传感器分离,其中,基于所述附加传感器数据确定所述校准级别。
19.一种用于校准具有第一传感器和第二传感器的设备的非暂时性计算机可读介质,所述非暂时性计算机可读介质包括指令,所述指令在被处理器执行时使所述处理器执行包括以下各项的操作:
使用所述第一传感器和所述第二传感器捕获传感器数据,其中,所述设备维持对所述第一传感器和所述第二传感器之间的空间关系进行建模的校准简档,所述校准简档包括平移参数和旋转参数;
确定在第一时间与所述校准简档相关联的校准级别;
基于所述校准级别确定执行校准过程;以及
通过以下操作来在所述第一时间执行所述校准过程:
生成校准后平移参数和校准后旋转参数中的一者或两者;以及
用所述校准后平移参数和所述校准后旋转参数中的一者或两者替换所述平移参数和所述旋转参数中的一者或两者。
20.根据权利要求19所述的非暂时性计算机可读介质,其中,在所述第一时间执行所述校准过程包括:
仅用所述校准后旋转参数替换所述旋转参数。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762609242P | 2017-12-21 | 2017-12-21 | |
US62/609,242 | 2017-12-21 | ||
PCT/US2018/067214 WO2019126714A1 (en) | 2017-12-21 | 2018-12-21 | Method for calibrating an augmented reality device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111512574A true CN111512574A (zh) | 2020-08-07 |
CN111512574B CN111512574B (zh) | 2023-04-11 |
Family
ID=66951379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880082118.XA Active CN111512574B (zh) | 2017-12-21 | 2018-12-21 | 用于校准增强现实设备的方法 |
Country Status (9)
Country | Link |
---|---|
US (2) | US10854165B2 (zh) |
EP (1) | EP3729693B1 (zh) |
JP (1) | JP7046189B2 (zh) |
KR (1) | KR102627352B1 (zh) |
CN (1) | CN111512574B (zh) |
AU (1) | AU2018389234B2 (zh) |
CA (1) | CA3083350A1 (zh) |
IL (1) | IL275383B1 (zh) |
WO (1) | WO2019126714A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11244649B2 (en) | 2017-12-21 | 2022-02-08 | Magic Leap, Inc. | Calibration of augmented reality device |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10552497B2 (en) | 2016-08-16 | 2020-02-04 | International Business Machines Corporation | Unbiasing search results |
US20190057180A1 (en) * | 2017-08-18 | 2019-02-21 | International Business Machines Corporation | System and method for design optimization using augmented reality |
JP7408621B2 (ja) | 2018-07-13 | 2024-01-05 | マジック リープ, インコーポレイテッド | ディスプレイの両眼変形補償のためのシステムおよび方法 |
CN113196139B (zh) | 2018-12-20 | 2023-08-11 | 美国斯耐普公司 | 用于生成立体图像的具有双摄像头的柔性眼戴设备 |
US10827116B1 (en) * | 2019-08-26 | 2020-11-03 | Juan Ramon Terven | Self calibration system for moving cameras |
US11846782B1 (en) * | 2020-04-13 | 2023-12-19 | Apple Inc. | Electronic devices with deformation sensors |
EP3901913A1 (en) * | 2020-04-22 | 2021-10-27 | Continental Automotive GmbH | Single camera calibration |
US11391596B2 (en) * | 2020-04-28 | 2022-07-19 | Vgis Inc. | System and method for converging mediated reality positioning data and geographic positioning data |
WO2022066486A1 (en) * | 2020-09-23 | 2022-03-31 | Magic Leap, Inc. | Joint camera and inertial measurement unit calibration |
WO2022119759A1 (en) * | 2020-12-04 | 2022-06-09 | Magic Leap, Inc. | Miscalibration detection for virtual reality and augmented reality systems |
CN114765667A (zh) * | 2021-01-13 | 2022-07-19 | 安霸国际有限合伙企业 | 用于多视图拼接的固定图案校准 |
KR102603467B1 (ko) * | 2021-07-12 | 2023-11-17 | 클레이웍스 주식회사 | 디지털 트윈 연동 증강현실 카메라를 통한 공간 형성 및 측위 오차 보정 시스템 및 그 방법 |
US11887513B2 (en) | 2022-02-02 | 2024-01-30 | Google Llc | Case for smartglasses with calibration capabilities |
WO2023150614A1 (en) * | 2022-02-02 | 2023-08-10 | Google Llc | Case for smartglasses with calibration capabilities |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160012643A1 (en) * | 2014-07-10 | 2016-01-14 | Seiko Epson Corporation | HMD Calibration with Direct Geometric Modeling |
US20160171675A1 (en) * | 2014-12-11 | 2016-06-16 | Htc Corporation | Head-mounted display apparatus and calibration method thereof |
US20170292828A1 (en) * | 2014-09-10 | 2017-10-12 | Faro Technologies, Inc. | Method for optically measuring three-dimensional coordinates and calibration of a three-dimensional measuring device |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000182026A (ja) | 1998-12-14 | 2000-06-30 | Ricoh Co Ltd | 画像処理装置、画像処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP4807194B2 (ja) | 2006-09-06 | 2011-11-02 | カシオ計算機株式会社 | 画像処理装置及びプログラム |
EP2154650A1 (en) | 2008-08-12 | 2010-02-17 | IEE INTERNATIONAL ELECTRONICS & ENGINEERING S.A. | 3D time-of-flight camera system and position/orientation calibration method therefor |
US10084960B2 (en) * | 2014-10-10 | 2018-09-25 | Iec Infrared Systems, Llc | Panoramic view imaging system with drone integration |
US9852546B2 (en) * | 2015-01-28 | 2017-12-26 | CCP hf. | Method and system for receiving gesture input via virtual control objects |
US10187629B2 (en) * | 2016-04-06 | 2019-01-22 | Facebook, Inc. | Camera calibration system |
US10762651B2 (en) | 2016-09-30 | 2020-09-01 | Magic Leap, Inc. | Real time calibration for time-of-flight depth measurement |
US10854165B2 (en) | 2017-12-21 | 2020-12-01 | Magic Leap, Inc. | Method for calibrating an augmented reality device |
-
2018
- 2018-12-21 US US16/230,169 patent/US10854165B2/en active Active
- 2018-12-21 IL IL275383A patent/IL275383B1/en unknown
- 2018-12-21 JP JP2020533578A patent/JP7046189B2/ja active Active
- 2018-12-21 AU AU2018389234A patent/AU2018389234B2/en active Active
- 2018-12-21 CN CN201880082118.XA patent/CN111512574B/zh active Active
- 2018-12-21 EP EP18891339.6A patent/EP3729693B1/en active Active
- 2018-12-21 WO PCT/US2018/067214 patent/WO2019126714A1/en unknown
- 2018-12-21 KR KR1020207019785A patent/KR102627352B1/ko active IP Right Grant
- 2018-12-21 CA CA3083350A patent/CA3083350A1/en active Pending
-
2020
- 2020-11-03 US US17/088,498 patent/US11244649B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160012643A1 (en) * | 2014-07-10 | 2016-01-14 | Seiko Epson Corporation | HMD Calibration with Direct Geometric Modeling |
US20170292828A1 (en) * | 2014-09-10 | 2017-10-12 | Faro Technologies, Inc. | Method for optically measuring three-dimensional coordinates and calibration of a three-dimensional measuring device |
US20160171675A1 (en) * | 2014-12-11 | 2016-06-16 | Htc Corporation | Head-mounted display apparatus and calibration method thereof |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11244649B2 (en) | 2017-12-21 | 2022-02-08 | Magic Leap, Inc. | Calibration of augmented reality device |
Also Published As
Publication number | Publication date |
---|---|
CA3083350A1 (en) | 2019-06-27 |
AU2018389234B2 (en) | 2023-06-01 |
WO2019126714A1 (en) | 2019-06-27 |
KR102627352B1 (ko) | 2024-01-18 |
US10854165B2 (en) | 2020-12-01 |
KR20200100102A (ko) | 2020-08-25 |
EP3729693A1 (en) | 2020-10-28 |
US11244649B2 (en) | 2022-02-08 |
AU2018389234A1 (en) | 2020-06-04 |
CN111512574B (zh) | 2023-04-11 |
JP2021507393A (ja) | 2021-02-22 |
US20190197982A1 (en) | 2019-06-27 |
US20210118401A1 (en) | 2021-04-22 |
JP7046189B2 (ja) | 2022-04-01 |
IL275383B1 (en) | 2024-04-01 |
EP3729693B1 (en) | 2023-09-06 |
EP3729693A4 (en) | 2021-01-20 |
IL275383A (en) | 2020-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111512574B (zh) | 用于校准增强现实设备的方法 | |
US10970425B2 (en) | Object detection and tracking | |
US11301199B2 (en) | Multi-viewpoint switched shooting system and method | |
KR101761751B1 (ko) | 직접적인 기하학적 모델링이 행해지는 hmd 보정 | |
US10621751B2 (en) | Information processing device and computer program | |
US10269139B2 (en) | Computer program, head-mounted display device, and calibration method | |
US10504243B2 (en) | Calibration system for a head-mounted display tracking system | |
JP6008397B2 (ja) | 光学式シースルー型hmdを用いたarシステム | |
CN110969706B (zh) | 增强现实设备及其图像处理方法、***以及存储介质 | |
JP2014106642A (ja) | 光学式シースルー型hmdを用いたarシステム | |
KR20150081975A (ko) | 하이브리드 센서를 이용한 착용형 디스플레이 장치의 자세 예측 장치 | |
US11854227B2 (en) | Depth-from-stereo bending correction using visual inertial odometry features | |
US20240242327A1 (en) | Frame Selection for Image Matching in Rapid Target Acquisition | |
JP2024503247A (ja) | 仮想または拡張現実システムのための較正 | |
CN118055324A (zh) | 桌面ar定位***、方法、装置、设备及存储介质 | |
JP2024034143A (ja) | 情報処理装置および情報処理方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |