微软专利分享HoloLens 2匹配摄像头和参考摄像头的图像对齐解决方案
更新两个摄像头的对齐图像
(映维网Nweon 2023年08月14日)如果大家有关注微软的专利探索,这家公司曾提出一种集成式摄像头/系统摄像头+分离式摄像头/外部摄像头的系统理念。其中,集成式摄像头/系统摄像头是指物理集成到头显的摄像;分离式摄像头/外部摄像头则是指与头显分离式摄像头。
例如在一个的场景中,可以将分离式摄像头捆绑或以其他方式放置在用户的胸部。在另一个场景中,分离式摄像头可以不放置在用户的身体上,而是由用户握持或者安装在自拍杆或另一种类型的延长杆上。
集成式摄像头+分离式摄像头的设置可以提升头显的扫描范围和质量,优化全息图的放置和生成。但显然,对于这种图像合并和叠加,系统需要对齐两个摄像头的内容。
当然,微软同样有把集成式摄像头和分离式摄像头分别称为匹配摄像头和参考摄像头,而在名为“Systems and methods for updating continuous image alignment of separate cameras”的专利申请中,这家公司继续介绍匹配摄像头和参考摄像头的对齐。这一次是关于图像对齐的更新。
对于头显,它可以识别与由参考摄像头和匹配摄像头在一个或多个先前时间点捕获的先前帧对相关联的先前对齐矩阵的动作。前面的对齐矩阵是基于图像之间的视觉对应的前一帧对。
计算系统同时执行识别与由参考摄像头和匹配摄像头在一个或多个当前时间点捕获的当前帧对相关联的当前矩阵的动作。当前矩阵基于当前帧对图像之间的视觉对应关系。
计算系统进一步执行识别相对于一个或多个先前时间点和一个或多个当前时间点与参考摄像头或匹配摄像头相关联的差值的动作,并通过使用先前的对齐矩阵、当前矩阵和差值作为生成更新的对齐矩阵的输入来执行生成更新的对齐矩阵的行为。
图2示出了一个头显200和一个用户仪器250。头显200可以包括匹配摄像头,而用户仪器可以包括参考摄像头。头显200和用户仪表250配置为通过无线链路290共享数据。
如上所述,提升头显的扫描范围和质量,优化全息图的放置和生成,不同摄像头需要进行持续的图像对齐。
在一个实施例中,系统可以生成运动模型,运动模型配置为便于从参考帧的像素集连续映射到匹配帧的相应像素集。运动模型包括一个对齐矩阵,它可以认为是一个运行平均值,并使用先前的对齐矩阵和对齐的电流矩阵来生成一个更新的对齐矩阵。计算机系统将先前的对齐矩阵与对齐的电流矩阵融合以生成更新的对齐矩阵。
图27描述了用户仪器250的参考摄像头260和头显200的匹配摄像头215的示例。具体地,图27示出参考摄像头260在前一个参考摄像头姿态2705和前一个参考摄像头时间点2710处捕获物理对象305的图像。
类似地,图27示出匹配摄像头215在前一匹配摄像头姿态2715和前一匹配摄像头时间点2720处捕获物理对象305的图像。
参考图28,参考摄像头260和匹配摄像头215在各自的前一个时间点捕获的图像形成前一个帧对2820。系统识别前一帧对2820的图像之间的视觉对应2815。
然后,系统可以使用视觉对应2815确定先前的对齐矩阵2810。先前对齐矩阵2810作为运动模型的一部分操作,将先前参考帧的像素映射到先前匹配帧的相应像素。
回到图27所示的示例,在使用参考摄像头260在前一个参考摄像头时间点2710和使用匹配摄像头215在前一个匹配摄像头时间点2720捕获物理对象305的图像后,参考摄像头260的位姿改变以对应于中间参考摄像头时间点2740处的中间参考摄像头位姿2735。
同样,匹配摄像头215的姿态变化对应于中间匹配摄像头时间点2750处的中间匹配摄像头姿态2745。参考摄像头260和匹配摄像头215均根据其各自的中间位姿定向捕获图像,以形成中间帧对。
如图27所示,参考摄像头260在按照中间参考摄像头姿态2735取向时,匹配摄像头215在按照中间匹配摄像头姿态2745取向时,其都远离物理对象305,使得两个摄像头都没有捕获物理对象305。
因此,计算机系统可能无法识别中间帧对图像之间的视觉对应关系。图28表明,用于将中间参考帧的像素映射到中间匹配帧的相应像素的中间对齐矩阵2830可以合并前面的对齐矩阵2810,而无需基于中间帧对生成更新的对齐矩阵。
再次回到图27所示的示例,在使用参考摄像头260在中间参考摄像头时间点2740和使用匹配摄像头215在中间匹配摄像头时间点2750捕获中间帧对之后,参考摄像头260的位姿改变以对应于当前参考摄像头时间点2770处的当前参考摄像头位姿2765。
类似地,匹配摄像头215的姿态改变,以对应于当前匹配摄像头在当前匹配摄像头时间点2780处的当前匹配摄像头姿态2775。
参考摄像头260和匹配摄像头215均根据各自的当前位姿定向捕获图像,以形成当前帧对2850(简要参见图28。如图27所示,当参考摄像头260根据当前参考摄像头姿态2765取向时,匹配摄像头215根据当前匹配摄像头姿态2775取向时,其都指向物理对象305,使得两个摄像头都捕获物理对象305。
再次参考图28,系统识别当前帧对2850的图像之间的视觉对应2845。然后,系统可以使用视觉对应2845确定电流矩阵2840。
图28进一步示出,系统生成已对齐电流矩阵2865,并将已对齐电流矩阵2865与先前的对齐矩阵2810融合,以生成更新的对齐矩阵2860。
更新的对齐矩阵2860作为运动模型的一部分操作,将当前参考帧的像素映射到当前匹配帧的相应像素。
在一个实施例中,插值函数使用平滑项。平滑项决定如何对先前的对齐矩阵2810和已对齐的当前矩阵2865进行加权,以生成更新的对齐矩阵2860。
例如,当平滑项的值接近最大值时,插补函数会逐渐忽略对齐的当前矩阵2865,将更多的权重赋予先前的对齐矩阵2810以生成更新的对齐矩阵2860,这在先前对齐矩阵2810的期望精度较高时可能是有益的。
另外,当平滑项的值接近最小值时,插补函数会逐渐忽略先前的对齐矩阵2810,将更多的权重赋予对齐后的当前矩阵2865,以生成更新后的对齐矩阵2860,这在先前对齐矩阵2810的期望精度较低时可能是有益的。
不同的平滑值可能适用于不同的情况。例如,选择一个给予先前对齐矩阵2810更多权重的平滑值可以改善可能存在于已对齐的当前矩阵2865中的噪点的影响。然而,选择一个赋予已对准电流矩阵2865更多权重的平滑值,可能会改善先前的对准矩阵2810相对于当前帧的潜在不准确性。
当先前的对齐矩阵2810不准确时,选择给予先前对齐矩阵2810更多权重的平滑值可能会导致合成帧的不准确。尽管这种不准确性可能会随着时间的推移而纠正,但提供准确合成帧的延迟可能会使运动模型不适合特定应用。
所以,基于先前对齐矩阵2810的预期精度智能地确定/更新平滑值可能是有益的。
先前对准矩阵2810的预期精度可能取决于具体情况。例如,参考摄像头260和/或匹配摄像头215从捕获先前帧对2820以生成先前对齐矩阵2810的时间开始经历大量的运动,这可能会降低先前对齐矩阵2810相对于在当前时间点捕获的帧对的准确性/适用性。
因此,计算机系统基于一个或多个先前对齐矩阵的预期精度智能地确定/更新平滑项。
图29表明,系统在当前参考摄像头时间点2770和先前参考摄像头时间点2710之间识别与参考摄像头260关联的差值2910。另外,系统可以在当前匹配摄像头时间点2780和先前匹配摄像头时间点2720之间识别与匹配摄像头215相关联的差值2920。
高差值2910和/或2920可能表明先前对准矩阵2810的预期精度应该被认为是低的,而低差值2910和/或2920可能表明先前对准矩阵2810的预期精度应该被认为是高的。
图30示出使用已对齐的电流矩阵2865、先前的对齐矩阵2810和差值2910和/或2920生成更新的对齐矩阵3015的示例。
在一个实施例中,系统使用已对齐的电流矩阵2865、先前的对齐矩阵2810以及差值2910和/或2920作为用于生成更新的对齐矩阵3015的融合器3000的输入。
平滑项3010是基于差值2910和/或2920智能地确定的。如上所述,平滑项3010可以确定用于将先前的对齐矩阵2810与已对齐的当前矩阵2865混合以生成更新的对齐矩阵3015的权重。
图31示出系统可在不同时间点与参考摄像头260和/或匹配摄像头215联合识别的差值2910和/或2920的示例实现。
差值2910和/或2920被识别为运动值3105。例如,运动值3105可以指示参考摄像头260和/或匹配摄像头215在前一个时间点和当前时间点之间已经/已经经历的运动量3110。大量的运动可能表明IMU漂移误差已经能够随着时间的推移而积累,这表明先前对准矩阵2810的预期精度很低,这可能导致系统选择低平滑项3010。
图31同时表明,运动值3105可以指示参考摄像头260和/或匹配摄像头215在前一个时间点和当前时间点之间经历的一个或多个加速度值3115。高加速度值可能导致IMU漂移误差高于低加速度值,这可能表明先前对准矩阵2810的预期精度较低,并可能导致系统选择低平滑项3010。
如图31所示,差值2910和/或2920识别为时间值3120,例如自成功识别视觉对应的最近前一个时间点以来已经/已经过去的帧数或时间量。成功的视觉对应之间的高帧数或时间量可能表明先前的对齐矩阵2810可能变得不准确,这可能导致系统选择较低的平滑项3010。
图32示出平滑函数的示例实现的。从图32中可以明显看出,对于较小的差值,平滑项的值较大,对于较大的差值,平滑项的值较小。
图33示出描述与更新参考摄像头和匹配摄像头的连续图像对准相关的动作的示例流程图3300。
在3302,识别先前的对齐矩阵。
在3304,识别电流矩阵。
在3306,识别差值。
在3308,使用先前的对齐矩阵、当前矩阵和差值生成更新的对齐矩阵。
在3310,使用更新的对齐矩阵作为先前的对准矩阵,以生成后续更新的对齐矩阵。
相关专利:Microsoft Patent | Systems and methods for updating continuous image alignment of separate cameras
名为“Systems and methods for updating continuous image alignment of separate cameras”的微软专利申请最初在2023年4月提交,并在日前由美国专利商标局公布。