使用MATLAB自动化图像配准

由Garima Sharma和AndyThé,Mathworks


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

确定有效的图像登记方法是情况依赖性的,并且可以是复杂且耗时的过程。它需要仔细选择点变换模型,以在图像之间提供参考点,以及用于比较信息以识别正确对齐图像所需的参数的方法。

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

图像注册词汇表

参考(固定)图像:在目标方向中的图像,指定为2D或3D灰度图像

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

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

基于功能的注册:使用特征检测,提取和匹配的图像对齐

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

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

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

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

图1.网络摄像头图像。

获取图像并校准IR相机

使用图像采集工具箱™,我们将从网络摄像头和IR相机捕获图像,并将其导入Matlab工作区。红外相机使用Gige Vision®接口,而网络摄像头使用标准DirectShow®界面。

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

可视化图像

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

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

我们使用相同的图形窗口中显示两个图像imshowpair()

此函数提供了多种可视化选项,包括'falsecolor',用于使用不同颜色频带创建复合RGB图像,以及'混合',用于可视化alpha混合图像(图3)。

图3.上底:'falsecolor','diff'和'混合'可视化的两个图像。

注册图像

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

要对齐图像,我们使用图像处理工具箱Imregister()功能。除了一对图像之外,基于强度的自动图像配准需要度量,优化器和变换类型。我们获得了'公制''优化器'值使用imregconfig()与之'多峰'选项。然后我们将返回的值插入Imregister()作为图像配准的起点。

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

图4.默认注册。


请注意,从基于优化的图像配准恢复良好的结果频繁涉及多次修改优化器和度量值。请注意,这也是如此imshowpair()在其默认模式下,适用于我们示例中的图像,它可能无法为所有图像对都适用。最好探索所有可视化风格imshowpair(), 如'falsecolor''差异''混合', 和'剪辑',识别特定图像对的最佳选择。

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

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

图5.最终注册。

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

检测眼睛并读取温度

为了检测眼睛,我们在计算机Vision Toolbox™中使用级联物体检测器。该对象探测器使用Viola-Jone算法,使用哈尔样功能和多级温和Adaboost分类器来检测眼睛。然后,我们在眼睛附近绘制一个边界盒,以突出注册图像的感兴趣区域。

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

图6.带温度读数的挂号图像。

发布2013年 - 92121V00

查看相关功能的文章

查看相关行业的文章