使用MATLAB自动化图像配准

作者:Garima Sharma和Andy Thé, MathWorks

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

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

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

图像注册词汇表

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

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

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

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

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

2003年严重急性呼吸系统综合症(SARS)爆发期间,台湾桃园国际机场开始对旅客进行发烧症状筛查,以控制这种致命病毒的传播。由于不可能逐个检查每位乘客,临床医生使用了红外热成像技术,这是一种通过分析红外热数据图像来检测发烧的无创技术。

虽然这种方法是有效的,但实现起来可能很有挑战性。红外摄像机对环境条件极其敏感,必须对它们进行正确校准,以考虑到所有可能影响温度读数的因素——包括环境室温、相对湿度、反射表面和被摄对象与摄像机的距离。有效的热屏蔽还依赖于对身体部位的一致识别,以产生可靠的热信息——在我们的例子中,眼睛周围的区域。

我们将使用matlab构建筛选热量原型®,一个前视红外(IR)摄像头和一个网络摄像头。红外摄像头可以以100毫厘的速度测量面部温度,而网络摄像头可以提供关于面部特征的更详细信息。通过配准两个来源的图像,我们将能够从网络摄像头的图像(图1)检测眼睛周围的位置,并从红外摄像头的图像测量眼睛周围的温度。

图1所示。摄像头的图像。

红外摄像机的图像采集与标定

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

为了校准红外摄像机,我们根据被摄对象的距离、湿度、发射率(表面通过辐射散发热量的相对功率)和其他特性进行调整。在图像采集过程中,大气温度为295.15K,壁面和被测对象的发射率为0.98。

可视化图像

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

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

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

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

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

注册图像

首先,我们将红外图像指定为固定图像,将摄像头图像指定为运动图像。固定的图像是静态参考。我们的目标是使运动图像与固定图像对齐。由于基于强度的图像配准算法需要灰度值,我们利用灰度值对彩色网络摄像头图像进行了转换rgb2gray ()

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

要开始注册过程,我们使用Imregister()默认的转换类型'翻译'并通过调用来查看结果imshowpair().在这两张图片中,主题的轮廓有点不对齐(图4)。头部和肩膀周围的图片之间的间隙表明了缩放和旋转的问题。

图4。默认的注册。


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

为了考虑缩放和旋转失真,我们切换转换类型Imregister()'翻译''相似'

我们现在有一个相当准确的配准图像,其中眼睛是紧密对齐的(图5)。

图5.最终注册。

绿色和品红区域的出现是因为图像来自不同的来源。它们并不表明登记错误。

检测眼睛并读取温度

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

因为我们已经对图像进行了配准,所以我们可以在摄像头图像中使用包围眼睛的包围盒来采样红外图像中眼睛附近的温度值。使用这个读数,我们将温度测量值从米开尔文转换为华氏温度,然后在注册图像上显示在眼睛附近。我们看到该对象没有发烧(图6)。

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

发布2013年 - 92121V00


查看相关功能的文章

查看相关行业的文章