环境中的相对物体温度可以通过热图像来估计。热图像的像素可以对热强度值进行编码,以表示热摄像头从环境对象接收的热能的相对量。基于接收到的热辐射量的不同,可以将哺乳动物等暖对象与无生命的背景对象区分开来。然后,可以根据相对强度值对生成的热图像进行着色,以便于对象识别。
作为示例,图1描绘了用户100通过头戴式显示系统104查看示例环境102。用户100基于由头戴式显示系统104的热成像设备检测到的热图像感知环境102。环境102包括墙112、114和116、地板118和门120等特征,同时包括书架122、沙发124、咖啡桌126、咖啡杯128、人130和门把手132等对象。
环境102中最热的对象以白色显示,包括人130和咖啡杯128。尽管头显显示的热图像向用户100清楚地指示相关对象,但其他无生命和寒冷的对象和特征(以灰色显示)则不可识别(或不太可识别)。这可能令用户100难以在环境102中导航,例如会被绊倒或撞到墙壁。
针对这个问题,微软认为可以对热成像进行对比度增强。但如果未执行适当的色调映射,对比度增强图像可能会丢失场景较冷部分中的精细细节,或者会使较热对象饱和。
如果单纯提供增强对比度,例如令深色背景中的对象变亮,则场景中对象的相对强度或温度信息可能会丢失。如果基于感知的温度对增强对比度图像执行着色,则特定背景对象可能被着色,而目标前景信息可能丢失。实际上,应用局部对比度增强会破坏全局场景信息,所以用户无法再分辨图像中最热的像素。
对于增强现实和虚拟现实应用程序,重要的是生成支持用户查看相关功能并在其环境中成功移动的图像。高动态范围图像将包括相对低强度的区域和相对高强度的区域。用于提供对比度和着色的单一管道方法倾向于在环境的其余部分增强对比度时将高强度对象混合到背景中。
所以在名为“Contrast enhanced images composited with artificial colorization”专利申请中,微软表示不在单个管道内顺序执行对比度增强和人工着色,而是将基于强度的线性图像数据的处理分成两个管道。使用单个管道时,可能无法获得所需的场景对比度,和/或场景中的某些对象可能被错误地着色。相反,可以在第一管道中对图像进行对比度增强,并在第二管道中对图像进行人工着色。然后,可以将两个结果图像和/或其至少部分合成为高对比度图像,其中最高强度像素被着色。
以这种方式在非增强图像上执行人工着色。因此,结果保持具有高强度的图像区域和对象,并且可以作为目标对象呈现。同时,整个场景可以具有增强的对比度,这不仅在视觉上对用户而言更有用,而且不会对背景对象进行错误着色。
从场景图像中有效地拉出高强度对象(例如热图像中的人)并进行精确的着色,然后再融合回场景图像中。这将生成保留原始强度信息的高对比度图像。这种方法支持多种对比度增强方法和彩色化方法,只要结果图像可以重新组合。这两条管道可以共享两个子方法所需的计算,从而提高效率并允许近实时图像处理。
图3描绘了用于增强数字图像的示例方法300。
在310,方法300包括接收环境的基于强度的线性图像。例如,方法300可以包括经由热摄像头接收真实世界环境的热图像,所属热图像包括热图像的多个像素中的每个像素的热强度值。可以从提供每像素强度值的任何成像设备接收基于强度的线性图像,而不管频率范围。
如上所述,热摄像头可以集成到执行方法300的一个或多个步骤的计算设备中,而不仅仅是图像捕获。或者,热摄像头可以是独立的摄像头,或者是单独摄像头系统的组件。因此,配置为实现方法300的步骤的一个或多个计算设备可以从远程摄像头接收热图像(和/或其他图像)。
接收到的线性基强度图像可以是直接从光学传感器接收到的原始图像、经过一定程度后处理的原始图像数据,例如应用数字增益和/或固定模式噪点去除。然而,接收到的线性基强度图像可能没有经历对比度增强,或彩色化处理,或任何其他会改变数据线性性质或图像高动态范围的处理。
有时候,相对较高的辐射强度值可能对应于成像场景中发射相对较多热能的区域。一般来说,“热摄像头”可以包括配置为接收和编码来自环境对象的热能(例如红外光)的任何成像系统。在一个示例中,热摄像头可以包括布置在热摄像头的其他光学元件之前的辐射计透镜。
类似地,当包括时,可见光和深度摄像头可以采用任何合适的形式。例如,深度摄像头可以是结构光深度摄像头或飞行时间深度摄像头。
基于强度的线性图像可以采用包括多个强度值的任何适当数据结构形式,强度值反过来对成像设备从环境对象接收的辐射能量进行编码。在某些情况下,强度值可以采用灰度计数的形式,灰度计数可以具有任何合适的值。
可选地,在320处,方法300包括接收环境的微光图像。例如,图像可以由微光摄像头模块捕获。在一个示例中,可以从与环境的线性基强度图像的位置偏移处获取低水平光图像,并且可以应用适当的校正来对齐这两个图像。低水平光图像可以与基于强度的线性图像同时拍摄,或者在基于强度的线性图像的阈值持续时间内拍摄,以确保在拍摄图像之间环境中发生了最小的变化。
继续到330,方法300包括为基于强度的线性图像内的一组像素生成一个或多个强度值直方图。例如,可以量化在每个像素处接收的辐射强度,并将其表示为在基于强度的线性图像中表示该强度的频率的函数。
任选地,在340,方法300包括将基于强度的线性图像划分为多个Tile;以及为所述多个Tile中的每一个中的每一组像素生成一个或多个强度值直方图。通常,多个Tile的大小和形状可以相等,并且可以不重叠。然而,大小或每个Tile可以基于线性基强度图像的质量、基于先前的线性基强度图像(、成像设备的透视变化等。
每个Tile的直方图可以显示环境局部部分与整体环境的不同特征。这可以为每个Tile启用更具体的图像处理,而不是依赖于整个线性基强度图像的直方图。
作为示例,图4示出了基强度线性图像400的示例。图像400包括前景对象405(例如高强度)和背景对象410(例如低强度)。图像400被划分为多个Tile415。每个Tile包括高强度和低强度像素的组合,为每个Tile提供单独的直方图签名,直方图签名不一定与整个图像400的直方图签名匹配。
例如,Tile415a仅包括低强度像素,产生直方图420a。Tile415b包括大量高强度像素,产生直方图420b。Tile415c包括一定的高强度像素和一定的低强度像素,产生直方图420c。
回到图3,在350处,方法300包括基于强度值的一个或多个直方图,对基于强度的线性图像应用局部对比度增强,以生成基强度线性图像的对比度增强版本。给定一幅具有较宽强度范围的基于强度的线性图像,最亮峰值的顶部可被视为前景,而环境中的其他一切可被视为背景。在原始图像中,前景将显得明亮,背景将显得黑暗,细节难以察觉。
对比度增强可以消除这种差异。对比度增强可用于放大低强度像素和去放大高强度像素。换言之,较暗的对象(例如背景对象)变亮,较亮的对象(例如前景对象)用适当的对比度变暗或增强。通过这种方式,环境的细节被呈现出来,以便于用户的视觉感知。
可以应用任何合适的对比度增强方法,例如对比度受限的自适应直方图均衡化(CLAHE)、反锐化掩模等。在线性基强度图像被划分为Tile的示例中,可以逐Tile应用对比度增强,以便通过直方图均衡化增加每个Tile内的对比度。
对比度增强可以作为局部操作来执行。应用的增强可能基于场景的区域、基于该特定区域的直方图统计等而改变。
当视为强度与频率直方图时,热图像中热对象的像素强度倾向于向一个或两个主峰聚集。这通常是需要着色的主要区域,因为人体温度或其他目标对象可能会比其周围环境发出更高的热能。
然而,通过直接对接收到的图像执行局部对比度增强,得到的增强图像从接收到的图像直方图中丢失了许多显著的峰值。
因此,在360,方法300包括基于强度值的一个或多个直方图,对基于强度的线性图像应用人工着色,以生成基强度线性图像的人工着色版本。通过在与对比度增强处理不同的管道中执行人工着色处理,可以利用接收图像的强度数据进行适当的分析,从而实现更精确的着色。
换句话说,颜色通道可用于重新引入在对比度增强期间丢失的全局图像信息。对于热成像,这允许以彩色显示通常与人相对应的最热像素。
在一个示例中,可以分析强度值的直方图,并对强度高于阈值的像素应用人工着色。阈值可以预先确定,或者基于接收图像内的强度分布。例如,强度的第90百分位中的像素(最热像素的前10%)可以被着色。像素可以被赋予均匀的颜色,或者可以使用直方图均衡化来沿光谱向每个像素分配颜色值
图5A中示出了一个示例。直方图500根据像素频率绘制强度(0-100之间的任意单位)。阈值510应用于直方图500,使得强度大于阈值510的任何像素被着色。通过使用简单的阈值,着色过程可能会快速发生,这在实时覆盖应用程序中可能特别重要。
在存在与热对象相对应的有限区域的环境中,目标对象可能不会形成图像的预定百分比。因此,可以使用任意阈值对一些背景对象进行着色。相反,如果场景中有许多热对象,则一些对象可能会基于简单的阈值保持未着色。
通过使用决策树,可以识别实质上不同的图像的切点或部分,从而允许基于图像的强度直方图的自然轮廓进行智能着色。这样的决策树可以由环境的其他信息通知,例如低水平光成像、对象检测算法和/或用于引导图像着色的其他例程。
继续到370,方法300包括基于线性基强度图像的对比度增强版本的至少一部分,以及线性基强度图像的人工着色版本的至少一部分生成环境的合成图像。在接收到微光图像的示例中,同时可以将微光图像的至少一部分合成到最终图像中。
这样,合成图像可以包括仅从基强度线性图像中可能无法获得的额外细节。例如,如果环境包括墙,则热像仪可能能够识别墙中的螺柱,而微光摄像头可能会拾取墙纸图案的变化。这样,最终的合成图像包括多个输入,每个输入都有一组独特的特征。
在一些示例中,对比度增强图像、人工彩色图像和低亮度图像中的一个或多个的整体可以合成到最终图像中。例如,通过仅对接收到人工着色的像素和/或Tile着色,可以将全对比度增强图像与人工着色图像的部分合成。
在一个示例中,可以从接收到的线性数据确定矩形或多边形区域,并用于在对比度增强图像中对这些区域进行着色。然而,子图像的任何部分可用于例如遵守设备的存储器和计算限制。
作为示例,图6示出了用于增强数字图像的处理流程。接收线性热照摄像头图像605以及低水平光图像。可以可选地为线性热摄像头图像605生成平铺直方图610。线性热摄像头图像605和平铺直方图610(如适用)可用于生成线性热图像615的局部对比度增强版本,以及生成线性热图像620的人工彩色版本。
然后,将线性、热图像615的局部对比度增强版本,线性热图像620的人工彩色版本和微光图像625合成在一起以生成合成图像630。因此,相对于线性热摄像头图像605,合成图像630具有人工着色的前景对象和以高对比度呈现的背景对象。
继续到380,方法300可选择性地包括实时叠加合成图像,以便用户通过显示器观看环境。
在某些使用情况下,可能需要仅查看合成图像的彩色部分。在这种情况下,基强度线性图像的人工彩色版本可用作遮罩,以从显示器中移除非彩色图像。生成合成图像的过程可提供仅通过应用如350或其他所述的人工着色而不可用的额外细节。例如,在白天佩戴AR头显的用户不一定需要额外的对比度增强细节,但可能需要确定人形对象是否存在并产生热能。
相关专利:Microsoft Patent | Contrast enhanced images composited with artificial colorization
名为“Contrast enhanced images composited with artificial colorization”的微软专利申请最初在2020年12月提交,并在日前由美国专利商标局公布。需要注意的是,这只是一份专利申请,不确定微软是否会或将于何时进行商业化。