技术文章和通讯

自动图像配准MATLAB

作者:Garima Sharma, Andy Thé, MathWorks


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

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

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

图像配准术语表

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

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

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

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

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

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

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

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

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

红外相机的图像获取与标定

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

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

可视化图像

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

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

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

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

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

注册的图像

我们将红外图像指定为固定图像,网络摄像机图像指定为运动图像,以此开始配准过程。固定的图像是静态的参考。我们的目标是使运动图像与固定图像对齐。由于基于灰度的图像配准算法需要灰度,因此我们使用rgb2gray ()

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

要开始注册过程,我们使用imregister ()默认的转换类型“翻译”并通过调用来查看结果imshowpair ().两幅图像中的主体轮廓有些错位(图4)。头部和肩膀周围图像之间的间隙表明了比例和旋转方面的问题。

图4。默认的注册。


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

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

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

图5。最后登记。

绿色和品红区域的存在是因为图像来自不同的来源。它们不表明错误注册。

检测眼睛并读取温度

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

因为我们已经对图像进行了配准,所以我们可以使用摄像头图像中包围眼睛的边界框来采样红外图像中眼睛附近的温度值。使用这个读数,我们将测量的温度从毫电子尔文转换为华氏温度,然后将它显示在眼睛附近的登记图像上。我们看到受试者没有发烧(图6)。

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

发布于2013年- 92121v00

查看相关功能的文章

查看相关行业的文章