技术文章和通讯

自动图像配准MATLAB

作者:Garima Sharma, Andy Thé, MathWorks


图像配准是将来自两个或多个数据集的图像对齐的过程。它涉及到整合图像以创建一个复合视图,提高信噪比,并提取从单一图像中不可能获得的信息。图像配准用于遥感、医学成像、制图和其他依赖于从图像中获取精确信息的应用——例如,从卫星图像中发现一个地区是如何被淹没的,或从MRI扫描中检测肿瘤。

确定一种有效的图像配准方法是视情况而定的,可能是一个复杂和耗时的过程。它需要仔细选择一个点变换模型来提供图像之间的参考点,并使用一种比较信息的方法来确定适当对齐图像所需的参数。

自动图像注册过程有两个众所周知的方法:基于特征和基于强度的配准算法。在本文中,我们将使用发热示例来说明基于的基于强度的自动图像登记工作流程imregister ()以及图像处理工具箱™中的相关功能。这种工作流程是一种快速有效的方法来集成来自不同相机的图像。

图像配准术语表

引用(固定)图片:目标方向上的图像,指定为2D或3D灰度图像

目标(移动)图片:要将图像转换为与参考图像对齐,指定为2D或3D灰度图像

灰度注册:基于其相对强度模式的图像对齐

基于功能的注册:利用特征检测、提取和匹配对图像进行对齐

发烧检测示例:目标和挑战

在2003年重新急性呼吸综合征(SARS)爆发期间,台湾的桃园国际机场开始筛选乘客发烧症状,遏制致命病毒的传播。由于不可能单独检查每个乘客,临床医生使用红外热成像,通过分析热数据的红外图像来检测发烧的非侵入性技术。

虽然这种方法有效,但它可能具有挑战性。红外摄像机对环境条件非常敏感,必须正确校准它们以考虑可以影响温度读取的所有元件 - 包括环境室温,相对湿度,反射表面以及对象与摄像机的距离。有效的热筛选还取决于可以在我们的示例中产生可靠的热信息的身体部位的一致识别 - 眼睛周围的区域。

我们将使用MATLAB建立一个筛选热像仪原型®,Flir红外(IR)相机和网络摄像头。IR相机可以以100毫升的增量测量面部温度,而网络摄像头提供有关面部特征的更详细信息。通过从两个来源注册图像,我们将能够从网络摄像头图像中检测眼睛周围的位置(图1)并测量来自IR相机图像的眼睛周围的温度。

图1.网络摄像头图像。

获取图像并校准IR相机

使用图像采集工具箱™,我们从网络摄像头和红外摄像头捕获图像,并将它们导入MATLAB工作空间。红外相机使用GigE Vision®接口,而网络摄像头使用标准的DirectShow®接口。

为了校准IR摄像机,我们调整对象距离,湿度,发射率(表面通过辐射发出热量的相对功率)和其他特征。在图像采集过程中,大气温度为295.15K,墙壁的发射率和受试者为0.98。

可视化图像

我们使用的是使用该IR图像imshow ()函数在图像处理工具箱中。因为我们捕获了16位数据,其中实际温度读数以100 mK的增量测量,所以在在监视器上显示图像之前,我们执行对比调整来缩放数据(图2)。

图2。带有对比度调整的热红外图像。

我们在同一个图形窗口中使用imshowpair ()

这个函数提供了几个可视化选项,包括“falsecolor”,用于创建使用不同颜色波段的复合RGB图像“混合”,用于可视化阿尔法混合图像(图3)。

图3。从上到下:“假色”、“差异”和“混合”图像可视化。

注册的图像

我们通过将IR图像指定为固定图像和网络摄像头图像作为移动图像来开始注册过程。固定图像是静态参考。我们的目标是将运动图像与固定图像对齐。由于基于强度的图像配准算法需要灰度,我们将彩色网络摄像头图像转换为灰度使用RGB2GRAY()

要对齐图像,我们使用图像处理工具箱imregister ()函数。除了一对图像之外,基于强度的自动图像配准还需要一个度量、一个优化器和一个转换类型。我们获得'公制'“优化”值使用imregconfig()“多通道”选择。然后将返回值插入imregister ()作为图像配准的起点。

要开始注册过程,我们使用imregister ()默认变换类型“翻译”并通过呼叫查看结果imshowpair ()。两个图像中的主题的概述有些未对准(图4)。头部和肩部周围的图像之间的间隙表示尺度和旋转的问题。

图4.默认注册。


注意,从基于优化的图像配准中获得良好的结果常常需要对优化器和度量值进行多次修改。还要注意,虽然imshowpair ()在其默认模式下,适用于我们示例中的图像,它可能无法为所有图像对都适用。最好探索所有可视化风格imshowpair (), 如“falsecolor”“差异”“混合”,'剪辑',以便为特定的图像对识别出最佳图像。

要考虑比例和旋转失真,我们切换转换类型imregister ()“翻译”“相似”

我们现在有一个合理准确的注册图像,其中眼睛紧密对齐(图5)。

图5。最后登记。

绿色和洋红色区域是存在的,因为图像来自不同的来源。他们没有表示误解。

检测眼睛并读取温度

为了检测眼睛,我们使用计算机视觉工具箱™中的级联对象检测器。该目标检测器使用Viola-Jones算法,该算法使用Haar-like特征和多级Gentle Adaboost分类器检测眼睛。然后我们在眼睛附近画一个边界框,以突出注册图像上感兴趣的区域。

因为我们已经注册了图像,我们可以使用封闭网络摄像头图像的边缘的边界框来对红外图像中的眼睛附近的温度值进行采样。使用这种阅读,我们将来自Millikelvin的温度测量转换为华氏之前,然后在注册图像附近显示它。我们看到受试者没有发烧(图6)。

图6。有温度读数的记录图像。

发布于2013年- 92121v00

查看相关功能的文章

查看相关行业的文章