微软专利针对MR场景连续捕获图像数据提出改进时间滤波技术

HoloLens QQ群493967447

查看引用/信息源请点击:映维网Nweon

时间滤波

映维网Nweon 2023年07月27日)在MR场景中,系统组合连续捕获的图像的图像数据,以便生成改进的输出。举个例子,考虑一个光线较暗的场景。由于光线较低,每个单独的图像只能提供有限数量的图像数据。但通过组合来自多个连续捕获的图像的数据,系统可以产生合适的输出图像。其中,这涉及执行时间滤波。

然而,在执行时间滤波时会出现各种挑战。例如,如果系统捕捉多个连续图像时场景或环境中的对象正在移动,则可能会产生所谓的“重影效果”。另一个挑战发生在摄像头本身在生成图像时发生移动时。摄像头的移动会令时间滤波过程发生偏斜。

在名为“Temporal filtering weight computation”的专利申请中,微软就介绍了一种改进的时间滤波技术。

在一个实施例,获取具有第一时间戳的第一图像和具有第二时间戳的第二图像。所述图像是由摄像头生成,并且第一时间戳在第二时间戳之前。对第一图像执行运动补偿(MC)操作以产生MC图像。使用MC图像和第二图像来生成差异图像。差异图像反映了两个图像之间存在的强度差异。基于差异生成局部权重图。

然而,基于在第一和第二时间戳之间生成的IMU数据来生成全局权重图。IMU数据反映了摄像头的角位置和摄像头在对应于第二时间戳的时间的加速度。然后基于局部权重图和全局权重图的组合生成最终权重图。最终权重图用于生成滤波图像,而滤波图像在滤波权重计算的后续迭代期间作为反馈提供。

图2示出了头显200。头显200已经在低光环境210中生成了图像205。图像205包括各种不同的图像数据215。然而,因为图像205是在弱光场景中生成的,所以存在大量的噪点220。如果由其自身使用,则图像205将提供用于呈现给用户的质量通常较差的图像。

图3示出了时间线300。在时间T0,头显305生成包括图像数据315的图像310。类似于图2中所呈现的场景,图像310是在弱光环境中生成的。在时间T0之后,头显经历一定量的运动320或移动。

在时间T1,头显305然后生成第二图像325,第二图像包括图像数据330。所以,可以使用图像310和图像325来执行时间滤波335操作。实施例同时可以使用由IMU生成的运动数据340来补偿在时间T0和T1之间发生的运动320。

换句话说,实施例可以获取IMU数据345,其详细描述了生成图像310和325的摄像头的角位置350和加速度355。角位置350使用三自由度(DOF)基础详细说明摄像头的方位,而加速度355详细说明摄像头是平移还是移动。

如前所述,运动补偿操作通常包括修改一个姿态以匹配不同的姿态。不同的姿态可以是基于运动数据340的预测姿态。例如,图像310反映或体现了头显305在时间T0的第一姿态。头显305然后移动到新的位置或姿态,如运动320所示。

IMU捕捉到头显305在时间T0和T1之间的移动。头显305可以使用IMU数据来预测头显305在时间T1的新姿态。基于预测,头显305然后可以执行运动补偿操作,以变换图像310中包含的姿态,从而反映头显305的预测姿态。

在时间T1,头显305生成图像325。实施例能够将运动补偿姿态(其被设计为试图反映头显305在时间T1的姿态)与头显305的在时间T1处的实际姿态进行比较。这两个姿态之间的差异水平或差异量反映了运动补偿的准确性。

如果没有差异,那么运动补偿操作是100%成功的。另一方面,差值越大,执行的运动补偿就越差。测量或比较差异主要是通过将每个像素的强度水平相互比较来执行的。也就是说,识别运动补偿图像中的第一像素,并且识别图像325中的对应像素。将这两个像素的强度水平彼此进行比较。这两个值之间的差值反映了运动补偿操作的准确性。

由于时间滤波过程,执行运动补偿合乎需要。时间滤波过程本质上是将多个图像叠加在一起,并将来自图像的数据组合以生成增强图像。为了令堆叠正常工作,不同图像中的每个图像中的姿态都应该彼此对齐。因此,执行运动补偿操作以对准各种不同图像的各种不同姿态。

作为执行时间滤波335操作的结果,实施例能够生成与先前图像的图像数据315和330相比具有改进或增强的图像数据365的时间滤波图像360。另外,实施例不仅有益地补偿了摄像头的运动,而且有益地减少了重影效果370对在场景中移动的对象的影响。

图4示出了用于通过执行滤波权重计算来执行时间滤波的示例方法400的流程图。

方法400包括获取具有第一时间戳的第一图像的动作(动作405)。参考图5的滤波权重计算500,图5示出了如何获取第一图像505,其中第一图像505具有时间戳505A。可选地,第一图像505可以是来自图3的图像310,并且可以由头显305生成。

动作410涉及获取具有第二时间戳的第二图像。图5示出了具有时间戳510A的第二图像510。第二图像510可以可选地是来自图3的图像325。图像325是在时间T1生成的,而图像310是在时间T0生成的。

因此,图像310在时间上先于图像325生成。摄像头可以以不同的速率操作以获取图像。

动作415包括对第一图像执行运动补偿(MC)操作,以考虑可能在第一时间戳和第二时间戳之间的时间期间发生的运动。MC操作基于IMU数据。作为执行动作415的结果,生成MC图像。图5示出了对第一图像505执行的MC 520操作,从而产生MC图像520A。

执行MC 520操作是为了补偿摄像头的移动。实施例执行运动补偿以校正该运动并变换在第一图像505中呈现或体现的姿态以匹配预测将在稍后时间出现的预测姿态。使用前面提到的IMU数据来执行变换。这样的转换可以通过各种重投影技术来执行。

因此,作为执行图4的动作415的结果,第一图像中呈现的姿态现在假定对应于第二图像中呈现出的姿态。值得注意的是,如果运动补偿操作是100%准确,应该是MC图像与第二图像的MC图像完全匹配。然而,情况并非总是如此。例如,当检测到相对较大量的摄像头移动时,运动补偿操作的精度经常降低。相比之下,当检测到相对较小量的摄像头移动时,运动补偿操作的精度经常增加。

在执行MC操作之后,存在下采样操作。具体地,将MC图像下采样到选定分辨率,并且将第二图像下采样至相同的选定分辨率水平。通过对图像进行下采样,能够减少或减轻可能发生的重影效应。另外,下采样过程显著减少了执行所公开的操作所需的计算量。

返回图4,方法400同时包括使用MC图像和第二图像生成差分图像的动作(动作420)。差异图像反映了MC图像和第二图像中的对应像素之间存在的强度差异。

注意,图5示出了下采样图像525和下采样图像530。如前所述,在执行MC操作之后并且在生成差分图像之前,滤波权重计算500可以进一步包括将第一图像或者更确切地说是MC图像下采样到所选择的分辨率水平,并且将第二图像下采样至所选择的分析率水平。

然后,使用下采样的MC图像和下采样的第二图像来执行生成差图像的过程,如差图像535所示。对MC图像和第二图像进行下采样的处理操作以减少MC图像和第一图像中的噪点,并且进一步操作以减少重影效应的可能性。

差异图像535列出或提供存在于MC图像(下采样)和第二图像(下取样)之间的像素强度水平的差异。强度535A反映了差异图像535中的强度差异。

通常情况下,运动补偿操作不是真正准确,从而导致两个图像之间的差异,造成差异图像被填充有值。作为生成差图像的结果,滤波权重计算在时间上将多个图像平均在一起。

所以,作为生成差图像的结果,在一段时间内生成的多个图像基本上一起平均。在这样做的过程中,可以产生更高质量的输出图像。

图4中的动作425然后包括基于差异图像中的强度差异来生成局部权重图。过程可以包括通过将负指数函数应用于差异来将差异转换为各种所谓的“权重参数”。如果差值为零,则函数输出该像素的权重为1(即最大权重)。随着差值越来越大,函数输出的权重更接近或收敛于该像素的零(即最小权重)。

因此,对于下采样图像中的每个像素,权重在局部权重图中的值0和1之间。在这个意义上,由差图像反映的强度的相对较大的差异在局部权重图中被提供相对较低的权重,而由差图像反射的强度的比较较小的差异在本地权重图中得到相对较高的权重。

局部权重图生成过程同时可以包括将局部权重图中的多个权重参数放大到与第一图像和第二图像的原始分辨率相匹配的数字。

放大过程可以包括执行线性放大或双线性放大操作中的一个或多个,以平滑包括在局部权重图中的权重参数之间的转换。在该阶段,如图5中的放大操作545所示,实施例将局部权重图540放大以匹配第一图像505的原始分辨率。

局部权重图同时可以包括或接收生成图像的摄像头的模拟增益设置和/或数字增益设置,以作为生成权重的参数。换句话说,局部权重图可以包括摄像头的模拟增益设置或摄像头的数字增益设置中的一个或多个。较高的增益值表示较高的噪声水平。因此,为了补偿噪点,可以考虑增益设置。

返回图4,方法400包括基于由IMU生成的惯性测量单元(IMU)数据生成全局权重图的动作(动作430)。IMU数据跟踪摄像头在跨越第一时间戳和第二时间戳的时间段之间的移动。

换句话说,IMU数据反映了在第一时间戳和第二时间戳之间的时间段期间摄像头的角运动和摄像头的加速度。注意,动作430在时间上在动作410之后执行。可以与动作415到425中的任何一个动作并行地执行动作430。

如前所述,IMU数据反映了在第一时间戳和第二时间戳之间的时间段期间摄像头的角位置和摄像头的加速度。IMU数据指示摄像头的姿态或方向,并进一步指示摄像头是否正在平移。

摄像头的相对较高的角移动量和加速度导致相对较低的权重值包括在全局权重图中。值得注意的是,权重值反映了第一图像在生成最终时间滤波图像时将具有的影响量。类似地,摄像头的相对较低的角运动量和加速度导致相对较高的权重值包括在全局权重图中。

例如,假设摄像头在第一和第二时间戳之间的时间段内仅移动了少量。在这种情况下,实施例将相对较高地加权第一图像或更确切地说是MC图像的值或影响,因为所述图像可能是可靠的,并且因此可以与第二图像适当地叠加。

另一方面,假设摄像头在第一和第二时间戳之间的时间内移动了大量。这里,实施例将MC图像的值或影响加权得相对较低,因为所述图像可能不可靠,因此不应在堆栈中提供显著影响。权重记录在全局权重图中。

因此,较高的移动量(包括角度或平移移动)导致MC图像在生成最终时间滤波图像时具有较小的影响。较小的移动量导致MC图像对最终时间滤波图像的生成具有更大的影响。

因为全局权重图是基于IMU数据的,所以全局权重图中包括的值可以在整个全局权重图上都是一致的。类似地,全局权重图可以包括全局权重图的整体的单个权重或单个权重值。从这个意义上说,移动量转换或映射为加权度量。

图5示出了如何基于IMU数据515来生成全局权重图550。全局权重图550的分辨率可以设计为与局部权重图540的放大分辨率相匹配。分辨率545A反映了图像和局部权重图的不同分辨率。

接下来,在图4中,方法400包括仅基于局部权重图、仅基于全局权重图或仅基于局部加权图和全局权重图的组合来生成最终权重图的动作(动作435)。

图5示出了最终权重图555如何基于局部权重图540(在放大之后)和全局权重图550。在一个实施例中,通过将全局权重图与局部权重图相组合来生成最终权重图,所述全局权重图通过将包括在全局权重图中的权重与包括在局部权重图中所述权重相乘来生成。

有益的是,最终权重图提供了基于像素的权重,其调节所得到的时间滤波图像的生成。

如图4的动作440所示,然后使用最终权重图来生成滤波图像。在滤波权重计算的后续迭代期间,动作445涉及使滤波后的图像用作先前获取的图像。换句话说,滤波后的图像被提供作为反馈回到滤波权重计算中。

在图5中,生成最终权重图555,并且基于最终权重图555-生成滤波图像560。滤波后的图像560然后可以被提供作为反馈,并且可以提供为用于滤波权重计算500的后续迭代的第一图像505。

图6示出了局部权重图600,其代表图5的局部权重图540。这里,使用负指数函数605来生成局部权重图600。记录在差异图像中的强度差异馈送作为负指数函数605的输入。函数将差异映射或转换为权重值。较大的差异导致权重值收敛到0,而较小的差异导致权值收敛到1。

最终权重映射610代表图5的最终权重映射555。通过将全局权重图615与局部权重图600相乘来计算最终权重图610。这两个不同映射的分辨率可以相同,因此矩阵或映射可以彼此相乘。通过乘以映射,实施例确定MC图像与第二图像叠加时将具有的影响水平。另外,通过执行乘法运算,最终权重图555最小化摄像头的移动并且最小化重影效果。

经滤波的图像620代表了来自图5的经滤波图像560。使用最终权重图610来生成经滤波的图像620。

微软指出,通过执行所公开的操作,实施例显著地改进了如何执行时间滤波,生成更高质量的图像,以及生成具有较少重影效果甚至没有重影效果的图像。作为直接结果,用户对MR系统的体验得到了显著改善。另外,通过执行发明描述的技术,图像的质量永远不会比当前图像的质量差。在大多数情况下,质量会明显更好。

相关专利Microsoft Patent | Temporal filtering weight computation

名为“Temporal filtering weight computation”的微软专利申请最初在2021年11月提交,并在日前由美国专利商标局公布。

HoloLens QQ交流群493967447

更多阅读推荐......

专栏