微软专利提出用六自由度姿态信息对齐两个摄像头的图像
利用六自由度姿态信息来对齐两个摄像头的图像
(映维网Nweon 2023年01月19日)如果大家有关注微软的专利探索,这家公司曾提出一种集成式摄像头/系统摄像头+分离式摄像头/外部摄像头的系统理念。其中,集成式摄像头/系统摄像头是指物理集成到头显的摄像;分离式摄像头/外部摄像头则是指与头显分离式摄像头。
例如在一个的场景中,可以将分离式摄像头捆绑或以其他方式放置在用户的胸部。在另一个场景中,分离式摄像头可以不放置在用户的身体上,而是由用户握持或者安装在自拍杆或另一种类型的延长杆上。
集成式摄像头+分离式摄像头的设置可以提升头显的扫描范围和质量,优化全息图的放置和生成。但显然,对于这种图像合并和叠加,系统需要对齐两个摄像头的内容,并实现快速目标捕获。
在名为“Using 6dof pose information to align images from separated cameras”的专利申请中,微软就提出了利用六自由度姿态信息来对齐两个摄像头的图像。
图4A和图4B示出了示例方法400的流程图。其中,示例方法400用于将由物理安装到头显的集成摄像头生成的图像与分离式摄像头生成的图像对齐和稳定。
最初,方法400包括生成头显和分离式摄像头都在其中操作的环境的三维(3D)特征图的动作(动作405)。
图5示出了一个示例环境500。在所述示例场景中,头显505正在使用其摄像头执行环境500的扫描,如扫描510、扫描515和扫描520所示。作为示例,头显 505可以利用追踪摄像头来执行扫描。
作为执行扫描的结果,头显505能够生成环境500的3D特征图,如图6所示。具体地,图6示出了3D特征图600,其表示在图4A的动作405中提到的3D特征图。图6中所示的每个黑圆圈表示特征点,例如特征点605、特征点610和特征点615。
通常,“特征点”是指对象或图像中包含的离散且可识别的点。特征点的示例包括与环境的其他区域形成鲜明对比的角、边或其他几何轮廓。
图6中所示的黑圈对应于墙壁相交的角落和形成桌子角落的角落,并且认为是特征点。识别特征点可以使用任何类型的图像分析、图像分割或甚至机器学习(ML)来执行。可以使用任何类型的ML算法、模型或机器学习来识别特征点。
在一般意义上,3D特征图600是一组已随时间获取的融合稀疏深度图的汇编。深度图识别3D深度信息以及特征点。深度图的收集或融合构成3D特征图600。
返回图4A,在已经生成3D特征图之后,方法400随后包括与分离式摄像头共享3D特征图的动作(动作410)。图7表示所述方法动作410。
具体地,图7示出了头显700和分离式摄像头705。宽带无线电连接710存在于头显700和分离式摄像头705之间,从而使得信息能够在头显700与分离式摄像头706之间快速地来回传输。宽带无线电连接710是具有高带宽可用性的高速连接。
如方法动作410中所述,头显700能够使用宽带无线电连接710将表示图6的3D特征图600的3D特征地图715发送到分离式摄像头705。在这方面,分离式摄像头705从头显 700接收3D特征图715。也就是说,可以通过经由宽带无线电连接710将3D特征图发送到分离式摄像头来执行与分离式摄像头共享3D特征图的过程。
在头显与分离式摄像头共享3D特征图之前、期间或甚至可能之后,集成摄像头和分离式摄像头都生成环境的图像,如图8所示。具体地,图8示出了环境800、集成摄像头805和分离摄像头810。
图8示出了集成摄像头805如何具有FOV815并执行图像捕获以生成第一图像820。类似地,分离式摄像头810具有FOV 825,并且正在执行图像捕获以生成第二图像830。摄像头的FOV通常指摄像头可观察到的区域。这里,FOV 815的大小不同于FOV 825的大小。在其他实施例中,FOV可以相同。
两个图像捕获过程可以彼此同时执行,或者可替换地,可以没有时间相关性。在一个实施例中,集成摄像头的图像捕获过程可以与分离摄像头的图像捕捉过程在时间上至少部分重叠,而在其他情况下,在时间上可以没有重叠。无论如何,集成摄像头805生成第一图像820,分离摄像头810生成第二图像830。值得注意的是,两个摄像头的FOV的至少一部分重叠,使得第二图像830的至少一个部分与第一图像820的至少一一部分重叠。
作为附加说明,图8中所示的虚线圆对应于分离式摄像头的FOV 825,圆角虚线矩形对应于集成的摄像头的视界815。
返回图4A,方法400包括使用3D特征图基于由集成摄像头生成的第一图像来重新定位集成摄像头的位置框架的动作(动作415),从而确定集成摄像头的六自由度姿态。动作415可以在动作410之前、期间或甚至之后执行(即共享3D特征图的动作)。
另外,方法400包括致使分离式摄像头使用3D特征图基于由分离式摄像头生成的第二图像,以重新定位分离式摄像头的位置帧的动作(动作420),从而确定分离式摄像头六自由度姿态。
方法动作420在动作410之后执行,但动作420可以在动作415之前、期间或甚至之后执行。
通常,重新定位是指确定摄像头相对于环境的六自由度姿态的过程,以令摄像头能够依赖于用于所述环境的基线坐标系。在分离式和集成式摄像头的情况下,分离式摄像头能够从头显接收3D特征图。
基于分离式摄像头的图像,分离式摄像头可以识别第二图像内的特征点,并将特征点与3D特征图中识别的特征点相关联。一旦识别了相关性,分离式摄像头就可以获得或生成对场景或环境几何体的理解。分离式摄像头然后确定或计算几何变换(例如旋转变换),以确定分离式摄像头相对于检测到的特征点的物理位置。
换言之,重新定位是指匹配3D特征图和图像之间的特征点,然后计算几何平移或变换以基于3D特征图与当前图像确定该摄像头相对于环境的物理位置的过程。执行重新定位使分离式摄像头和集成的摄像头都依赖于同一坐标系。图9示出了由集成摄像头和分离摄像头两者执行的重新定位过程。
具体地,图9示出了3D特征图900和图像帧905。3D特征图900代表图6的3D特征图600和迄今为止讨论的其他3D特征图。如果集成摄像头正在执行重新定位过程,则图像帧905对应于来自图8的第一图像820。另一方面,如果分离式摄像头正在执行重新定位处理,则图像帧905对应于第二图像830。。
3D特征图900和图像帧905作为输入被馈送到重新定位910操作中。重新定位910操作基于在图像帧905中检测到的特征点与3D特征图900中包括的特征点之间的对应关系来重新定位摄像头(例如,集成摄像头或分离摄像头)的位置框架915。同时定位和映射(SLAM)技术可用于在同一物理空间内重新定位摄像头系统。SLAM技术使用摄像头的图像制作地图,并作为物理系统的参考框架。
专利描述的实施例可以配置为使用SLAM来相对于集成摄像头重新定位远程摄像头(即分离式摄像头)的位置。通过使用来自远程摄像头系统和头显系统的SLAM,实施例能够确定两个摄像头系统的相对和绝对位置。因此,重新定位910操作的结果是摄像头的六自由度姿态925。
通过确定六自由度姿态925,实施例使得两个摄像头系统能够使用相同的坐标系930有效地操作。通过六自由度姿态925,这意味着实施例能够确定摄像头在环境中的角度放置。
因此,实施例能够使用3D特征图将集成摄像头的位置框架重新定位到头显物理空间中。这一重新定位过程通过识别第一图像中的特征点和3D特征图中的特征来执行。实施例然后尝试在这两组特征点之间进行相关性或匹配。一旦进行了足够数量的匹配,则实施例能够使用所述信息来确定集成摄像头的六自由度姿态。
类似地,分离式摄像头能够使用3D特征图将其位置框架重新定位到头显空间中。所述重新定位过程以相同的方式执行。即分离式摄像头识别第二图像中的特征点和3D特征地图中的特征。
然后,分离式摄像头尝试在这两组特征点之间进行关联或匹配。因为分离式摄像头的FOV至少部分地与集成的摄像头的FOV重叠,所以第二图像应该包括与第一图像中包括的特征点相同的至少几个特征点。
因此,分离式摄像头能够识别特征点之间的匹配,从而使其能够确定六自由度姿态。在这方面,分离式摄像头能够至少部分地基于集成摄像头用于确定其六自由度姿态的相同识别特征点来确定其六自由度姿态。作为使分离式摄像头使用3D特征图来重新定位分离式摄像头的位置框架的结果,分离式摄像头将能够使用与集成摄像头相同的坐标系。
换言之,分离式摄像头和集成的摄像头计算旋转基础矩阵。其中,旋转基础矩阵详细描述了各个图像中体现的视角相对于环境和相对于彼此的角度和平移差异。在这方面,旋转基础矩阵提供平移或角运动的映射,以将图像中检测到的特征点映射到3D特征图中包括的特征点。
所述映射使得系统能够确定需要哪些平移和角度平移来从第一图像的透视转换到第二图像的透视,反之亦然。令分离式摄像头和集成摄像头使用3D特征图来重新定位它们的位置帧的过程可以包括执行SLAM操作,以确定分离式摄像头与集成摄像头之间的相对位置。
返回到图4A,方法400然后包括动作(动作425),其中头显从分离式摄像头接收(i)环境的第二图像和(ii)分离式摄像头的六自由度姿态。因此,头显现在包括详细描述分离摄像头的六自由度姿态、分离摄像头的图像(即第二图像)、集成摄像头的六自由度姿态和集成摄像头的图像的数据(即第一图像)。图10说明了方法动作425。
图10示出了头显 1000和分离式摄像头1005。如图7中所述,在头显1000和分离式摄像头1005之间存在宽带无线电连接1010。在这种情况下,分离式摄像头1005向头显1000发送六自由度姿态1015和第二图像1020。
返回图4B,方法400包括可选的动作440,对重叠图像执行视差校正以修改重叠图像的透视以对应于新的透视。
图16示出了重叠图像1600,其可以是来自图15的重叠图像1510,并且可以是方法400中讨论的重叠图像。这里,重叠图像1600示出为具有原始透视1605。根据所公开的原理,实施例能够执行视差校正1610,以将重叠图像1600的原始透视1605转换为新透视。应当注意,从分离式摄像头图像中获取的像素随后经历两个单独的再投影操作,一个涉及修改分离式摄像头的透视以与集成摄像头的透视一致,另一个涉及改变重叠图像的透视以使其与用户瞳孔的透视一致。
执行视差校正1610涉及使用深度图以便将图像内容重新投影到新的视角。深度图可以与前面提到的深度图相同或不同。
视差校正1610被示出为包括多个不同操作中的任意一个或多个。例如,视差校正1610可以包括失真校正1615、对极变换1620(和/或重投影变换1625。
视差校正1610包括执行深度计算以确定环境的深度,然后将图像重新投影到确定的位置或具有确定的视角。
重投影基于重叠图像1600相对于周围环境的原始透视1605。基于原始透视图1605和生成的深度图,实施例能够通过重新投影由重叠图像体现的透视图以与新透视图重合来校正视差,如视差校正图像1630和新透视图1635所示。
特定实施例对重叠图像执行三维(3D)几何变换,以与用户瞳孔330和335的视角相关的方式变换重叠图像的视角。另外,3D几何变换依赖于深度计算,在深度计算中,头显环境中的对象被绘制出来,以确定其深度和透视。
基于深度计算和透视图,实施例能够以这样的方式三维地重新投影或三维地扭曲重叠的图像,以便在视差校正图像1630中保持对象深度的外观,或者可视化现实世界中物体的实际深度。
通过执行视差校正1610,实施例可以有效地创建正确的视图。为了进一步澄清,考虑图3中的摄像头305的位置,其当前位于瞳孔335的上方和左侧。通过执行视差校正,实施例以编程方式变换由摄像头305生成的图像,或者更确切地说,变换图像的透视图,使得透视图看起来好像摄像头305实际上位于瞳孔335的正前方。
一旦生成了固定深度图,则可以使用深度图来使用固定深度图对重叠图像执行重投影。在这方面,可以使用全深度图或固定深度图来重新投影重叠图像(以生成视差校正图像1630。
因此,专利描述的实施例能够通过使用六自由度姿势来对齐图像并执行重投影,以便对齐图像以具有匹配的视角。实施例然后对对齐的重叠图像执行视差校正,以便生成具有新视角的透视图像。
相关专利:Microsoft Patent | Using 6dof pose information to align images from separated cameras
名为“Using 6dof pose information to align images from separated cameras”的微软专利申请最初在2022年9月提交,并在日前由美国专利商标局公布。