基于互信息的图像配准
- 格式:doc
- 大小:334.00 KB
- 文档页数:17
分类号学号 641860200671992 学校代码 10487硕士学位论文基于互信息的医学图像配准方法研究学位申请人:汪春芳学科专业:模式识别与智能系统指导教师:桑农教授答辩日期:2008年11月5日A Thesis Submitted in Partial Fulfillment of the RequirementsFor the Degree for the Master of Engineering Medical Image Registration Method based on Mutual InformationCandidate : Chunfang WangMajor:Pattern Recognition & Artificial IntelligenceSupervisor : Prof. Sang NongHuazhong University of Science & TechnologyWuhan 430074,P.R.ChinaOct,2008独创性声明本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。
尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。
对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律结果由本人承担。
学位论文作者签名:汪春芳日期: 2008 年11月05日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描复制保存手段和汇编本学位论文。
保密□,在年解密后适用本授权书。
本论文属于不保密√。
(请在以上方框内打“√”)学位论文作者签名:汪春芳指导教师签名:桑农日期:2008年 11月05日日期:2008 年 11月05日摘要医学影像学为临床诊断提供了多模式的医学图像,各种成像设备对病人同一解剖结构得到的形态信息和功能信息是互补的,在临床应用中经常需要将不同模态的图像结合起来,同时从不同模态的图像中获得信息。
摘 要基于互信息的图像配准方法直接利用图像的灰度信息,不需要对图像进行分割等预处理,有鲁棒性好、自动化等优点,本文对基于互信息的图像配准进行了研究。
首先介绍了主要图像配准方法和基于互信息配准的基本过程。
分析了图像插值对互信息统计的影响,针对互信息局部极值导致误配准的问题,在PV插值方法的基础上运用核函数的方法抑制互信息局部极值,实验证明可有效消除局部极值,便于最优化搜索算法搜索到正确的配准参数。
为了提高配准的精度和效率,设计了基于小波变换的多级优化方法,采用小波变换和单纯形法相结合的优化算法方法由粗到精进行配准。
针对图像非刚性配准中手动选取标记点存在问题,运用模板匹配自动选择标记点的方法,通过采用薄板样条插值构建待配准图像与参考图像之间的非线性映射关系,初步实现了图像的扭曲校准。
关键词:图像配准,互信息,核函数,小波变换,模板匹配,弹性薄板样条IABSTRACTImage registration based on mutual information (MI) has become an increasing popular match metric due to its wide applicability and overall accuracy. In this paper, image registration based on mutual information is discussed mainly.This thesis firstly introduces the major registration algorithms. Then the process of registration based on mutual information (MI) is described.How the interpolation process may affect the mutual information between images is discussed.Local maxima in multimodality image registration based on mutual information have a large influence on optimization.Based on the partial volume interpolation, the method of kernel function is introduced to decrease the local maxima. Simulations have been done to illustrate that local maxima are eliminated to a great extent.To further accelerate registration speed and accuracy, we design and realize wavelets based coarse to fine image registration method.The problem of manually choosing point for non-rigid image registration is discussed. We make use of template matching to automatically choosing point. Thin plate interpolation is used to realize the global elastic registration. Simulations have been done to illustrate that the efficiency and accuracy of this method in registration strategy.Keywords: image registration, mutual information, kernel function, wavelets transform, template matching, thin plate interpolationII目录第一章 绪论 (1)1.1 图像配准的研究内容和意义 (1)1.2 图像配准方法的研究现状 (2)1.3 基于互信息配准方法的研究进展 (5)1.4本文研究内容 (6)第二章 基于最大互信息的配准方法 (8)2.1 熵 (8)2.2 互信息的计算 (9)2.3 互信息配准算法 (11)2.4 关于互信息方法的一些讨论 (14)2.4.1基于最大互信息配准方法的优点 (14)2.4.2基于最大互信息配准方法的不足 (14)2.5 本章小结 (15)第三章互信息局部极值的抑制 (16)3.1 图像的基本变换 (16)3.2 图像插值 (17)3.2.1 常见插值算法 (17)3.2.2 图像插值的影响 (20)3.3 核函数的抑制方法 (21)3.3.1 三角核函数 (22)3.3.2高斯核函数 (23)3.4 实验结果及对比分析 (24)3.5 本章小结 (31)第四章互信息配准的优化方法 (32)4.1 最优化搜索算法 (32)4.1.1 引言 (32)4.1.2 单纯形的转换 (33)4.1.3 单纯形法的计算步骤 (35)III4.2 基于小波变换的优化方法 (37)4.2.1 小波变换和多分辨分析 (38)4.2.2 Mallat算法和小波分解 (39)4.3 配准实验与结果分析 (42)4.4 本章小结 (47)第五章 基于互信息的非刚性配准 (48)5.1 薄板样条插值 (48)5.2 互信息非刚性配准 (51)5.2.1 分层互信息非刚性配准 (51)5.2.2 自动选取标记点 (53)5.3 实验结果及讨论 (55)5.4 本章小结 (58)第六章 结论 (59)致 谢 (61)参考文献 (62)攻硕期间取得的研究成果 (65)IV第一章 绪论1.1 图像配准的研究内容和意义图像配准技术是将不同时间、不同传感器或不同视角下获取的同一场景的两幅进行匹配的图像处理过程,是图像处理的一个基本问题。
基于互信息的图像配准技术研究毕业论文目录第1章绪论 (1)1.1 研究背景 (1)1.1.1 应用价值 (1)1.1.2 研究概况及发展趋势 (1)1.2 本文研究内容 (2)第2章图像配准 (4)2.1 图像配准的基本过程 (4)2.2图像配准方法的分类 (5)2.3 主要的图像配准方法 (7)2.3.1 基于特征的配准方法 (7)2.3.2 基于灰度的配准方法 (7)2.4 本章小结 (8)第3章互信息在配准中的应用 (9)3.1 互信息的概念 (9)3.1.1 熵 (9)3.1.2 互信息 (11)3.2 基于互信息的配准 (11)3.2.1 互信息配准的基本步骤 (11)3.2.2 MATLAB平台中互信息的配准 (12)3.3 本章小结 (13)第4章互信息图像配准的技术 (14)4.1 插值技术 (14)4.1.1 最近邻插值法 (14)4.1.2 三线性插值法 (15)4.1.3 部分体积分布插值法 (16)4.2 出界点处理 (18)4.3 灰度级别对配准的影响 (18)4.4 优化算法 (20)4.4.1 引言 (21)4.4.2 Powell法 (21)4.4.3 遗传算法 (22)4.4.4 遗传-模拟退火混合优化算法 (26)4.4.5 蚁群算法 (28)4.5 本章小结 (31)结论 (33)参考文献 (34)致谢 (36)第1章绪论1.1 研究背景1.1.1 应用价值随着图像信息的需求日益强烈,近二十年来,图像融合的研究蓬勃兴起,成为图像处理的一大热点。
在实际应用中,单一模态的图像往往不能提供所需要的足够的信息,通常需将不同模态的图像融合在一起,得到更丰富的信息以便了解综合信息。
然而不同模态的图像会出现成像原理不同、分辨率不同、灰度属性不同等情况,图像间并不存在简单的一一对应关系。
为了能将不同模态图像中的信息融合在一起,就必须首先进行图像配准。
图像配准是图像分析和处理的关键步骤,在遥感图像处理、医学图像处理、计算机视觉和模式识别等领域得到广泛应用。
信息论大作业基于互信息的图像配准班级:金融101学号:2009302311姓名:魏泉1. 引言随着医学、计算机技术及生物工程技术的发展,医学影像学为临床诊断提供了多种模态的医学图像,不同的医学图像提供了相关脏器的不同信息:CT(Computed Tomography ,电子计算机X 射线断层扫描)和MRI(Magneticresona nce ima ging ,核磁共振成像)以较高的空间分辨率提供了脏器的解剖结构信息。
在实际临床应用中,单一模态的图像往往不能提供医生所需要的足够的信息,通常需要将不同模态的图像融合在一起,得到更丰富的信息,以便了解病变组织或器官的综合信息,从而做出准确的诊断或制订出合适的治疗方案。
而图像配准是图像融合的重要前提,图像配准是指对一幅图像进行一定的几何变换而映射到另一幅图像中,使得两幅图像中的相关点达到空间上的一致。
图像配准主要有两大类方法,基于灰度的方法和基于特征的方法。
基于灰度的配准方法直接利用图像的灰度数据进行配准,从而避免了因分割而带来的误差,因而具有精度较高、鲁棒性强、不需要预处理而能实现自动配准的特点。
在基于灰度的配准方法中,基于互信息的方法包括互信息和归一化互信息方法,它们已经被广泛使用并具有最高的精度。
本文使用的是基于互信息的配准方法。
2. 图像配准技术2.1图像配准技术的数学定义 数字图像可以用一个二维矩阵来表示,如果用),(1y x I、),(2y x I 分别表示待配准图像和参考图像在点(x,y)处的灰度值,那么图像I 1、I 2的配准关系可表示为:))),(((),(12y x f g y x I I= (1)其中f 代表二维的空间几何变换函数;g 表示一维的灰度变换函数。
配准的主要任务是寻找最佳的空间变换关系f 与灰度变换关系g ,使两幅图像实现最佳对准。
其中,空间几何变换是灰度变换的前提,是实现精准配准的关键环节。
2.2几何变换空间变换主要解决图像平面上像素的重新定位问题,式(1)中的空间几何变换函数f 可用空间变换模型进行描述,常用的空间变换模型有刚体变换、仿射变换、投影变换和非线性变换。
下面代码MA TLAB编程实现了基于互信息的图像配准。
采取的是改进的Powell搜索策略算法,在4个方向上采用的是黄金分割法。
当基准图像和待配准图像的互信息达到最大时,两幅图像配准的效果最好,同时获得此时图像的变换系数,然后进行空间变换,获得图像融合图。
运行结果一下图中图4-1为十字架参考图像,图4-2为十字架浮动图像,图4-3为获得空间变换参数后的变换图像,图4-4为参考图像和浮动图像的配准后图像图4-1参考图像图4-2 浮动图像图4-3变换图像图4-4 配准效果图运行结果二在下图中,图4-5 为一幅名为圣保罗教堂的钥匙图像,是参考图像,图4-6为浮动图像,该图像与图4-5相比,X轴和Y轴方向上发生一定的移动,并且发生一定的旋转。
图4-7为获得空间变换参数后经过空间变换的图像,图4-8为配准效果图图4-5 参考图像图 4-6 浮动图像图4-6 变换图像图4-7 配准效果图运行结果三下图中图4-9为一幅人脸图像,作为参考图。
图4-10为另一幅人脸图像,二者的神情是有一定差异的,作为浮动图像,将这两张图像进行配准。
图4-11是进行优化策略获得配准参数,对图4-10经过空间变换获得的图像。
图4-12为参考图像和浮动图像的配准效果图。
图4-9人脸参考图像图4-10 人脸浮动图像图4-11 人脸变换图像图4-12 配准效果图表4-1为程序运行时,获得的图像匹配参数以及互信息值和图像配准运行时间。
表4-1 配准参数表图像标号X轴偏移量 Y轴偏移量旋转角度互信息值图像配准时间(s) 4-1与4-2 0.46625 -0.50701 7.19095 0.6760 131.2190004-5与4-6 0.52944 2.84241 3.55035 1.8618 301.5000004-8与4-9 4.06384 -14.09414 7.59691 1.3424 686.828000从互信息大小来看,图4-5和图4-6的互信息值最大,得到的图像配准的效果最好,但是我们不能把互信息的大小作为评判三队图像中那对图像配准的好坏,因为带配准的图像不论图和平移旋转,两幅图像的相互关系是一定的即互信息的大小是一定的,它们所包含的相同信息是有限度的,所以,只能与本身图像或者参考图像相比,来判断图像配准的好坏。
基于互信息快速算法的多模医学图像配准孙滕;刘云伍;田源【摘要】互信息作为相似性测度在多模医学图像配准领域得到了广泛应用,具有高精度和稳健的特点.但频繁的互信息计算降低了配准效率,同时对两幅图像重叠区域比较敏感.采用归一化互信息为测度,降低互信息计算中灰度级的快速算法,通过多模CT/MRI配准实验证明,可以在确保配准精度的同时缩短时间提高配准效率.%The similarity metric mutual information with high precision and stability has been used widely in multi-modality medical image registration, but frequent calculation of mutual information reduces efficiency of registration.Moreover,it is sensitive to the overlap of two images.The experiment with CT/MRI image registration uses normalized mutual information as a metric and decreased the gray.ale of mutual information's calculation.The rapid algorithm proves that it also improves efficiency of registration under a certain registration precision.【期刊名称】《兰州交通大学学报》【年(卷),期】2011(030)001【总页数】5页(P33-36,46)【关键词】互信息;灰度级;多模【作者】孙滕;刘云伍;田源【作者单位】兰州交通大学,电子与信息工程学院,甘肃,兰州,730070;兰州交通大学,电子与信息工程学院,甘肃,兰州,730070;兰州交通大学,电子与信息工程学院,甘肃,兰州,730070【正文语种】中文【中图分类】TP317.40 引言医学影像的发展为临床提供了多种医学图像模式,成为有效地辅助手段.单一模态的医学图像往往不能满足临床需求,图像融合为诊断和治疗提供了更加丰富的综合信息,多模图像配准是图像融合的基础和关键技术,互信息[1-2]算法不需要对图像进行分割等预处理,对不同成像模式下图像的灰度关系不做任何假设,被广泛应用于多模图像配准.互信息的计算是基于两幅图像重叠部分的联合直方图,重叠部分的大小对互信息的度量有很大影响,互信息与两幅图像重叠部分多少成正比,研究表明误配量的增加反而会引起互信息的增大,从而导致最大化互信息并不能得到精确的配准结.M eas和Studholm e等人分别提出了熵相关系数和归一化互信息[3]两种正规化的互信息测度.Pluim等人通过给互信息乘以一个梯度项将空间信息结合在配准准则中,Butz 和Thiran等人将互信息应用于一种边缘测度,罗述谦教授提出了基于形状互信息的配准算法.基于互信息的配准算法实质上是优化算法对互信息的寻优求解过程,其中包含了频繁计算互信息的浮点计算,是影响互信息算法效率的根源.有研究表明互信息计算与图像灰度级密切相关,因此可以将原始图像映射到一个较低灰度范围,对低灰度级图像进行配准以减少互信息计算及寻优时间,从而在保证精度的前提下提高速度.结合归一化互信息与互信息的快速计算方法对多模医学图像进行配准可以得到高精度的配准结果同时增强鲁棒性.1 互信息配准理论1.1 互信息互信息(mutual inform ation,M I)是信息理论中的一个基本概念,通常用于描述两个系统间的统计相关性,它可以用Shannon熵来描述.Shannon熵所表达的是一个系统的复杂性或者是不确定性.在多模图像配准中,不同成像模式的图像在灰度级差别上并不相似,但对同一解剖结构,对应像素点间灰度统计并非独立,而是相关的[4],考虑图像F(Fixed Image)和M(M oving Image),它们之间存在某一空间映射关系Tα(α是空间变换参数).当两幅基于共同解剖结构的图像达到最佳配准时,其中—幅图像中表达的关于另一幅图像的信息即它们的互信息[1,5]应达到最大.这就是最大互信息作为配准测度的基础,可用如下公式(1)表示:MI即两幅图像的互信息,互信息配准算法流程如图1所示.图1 互信息配准流程Fig.1 Process ofmutual information registration互信息的数学表达式如下:其中:H(◦)是Shannon熵,PF,PM,PFM分别是参考图像、浮动图像各自的边缘概率分布和联合概率分布,f,m 是参考图像和浮动图像对应像素的灰度值,其计算表达式如下:1.2 重叠度对互信息的影响根据互信息原理,当两幅图像完全没有重叠区域时,H(F,M)=H(F)+H(M),由式(1)互信息和熵的关系可以知道,此时两幅图像的互信息为0.当两幅图像之间的重叠部分逐渐增多时,联合灰度概率式(5)增大[6],同时互信息也增加.通过实验分析了重叠度对互信的影响,如图2所示.图2 脑部CT图像Fig.2 Brain CT image图2b是图2a向右平移3个像素,向下平移2个像素获得;图2c是图2a向右平移8个像素,向下平移1个像素获得.通过计算,图2a与其自身的互信息为5.670 3;图2a与图2b的互信息为1.814 6;图2a与图2c的互信息为1.478 7.由此可见,互信息和两幅图像之间的重叠多少成正比关系.在用互信息对医学图像进行配准时,图像的背景也会对互信息产生影响,如图3所示.图3 重叠区域示例Fig.3 Show of overlap district假设图3中,椭圆为背景区域,五角形为病理部分.如果取图像中的五角形区域作为相似性测度计算区域,则图3c状态的相似性测度大于图3d状态的相似性测度,如果取图像中的椭圆区域作为相似性测度计算区域,则图3d状态的相似性测度大于图3c 状态的相似性测度.由此可知,相似性测度的计算不仅与待比较的图像信息有关,还与选择的计算区域有关.不同的区域可能导致不同的相似性测度的计算结果,从而影响了最优变换的选择.在计算互信息时,参与计算的是整幅图像的灰度信息,由此可能导致使互信息最大的变换不一定就是最佳的配准变换.如图3d所示,可能出现大片的背景区域对齐而对应的病理部分并未完全配准的误配准,使得互信息的值反而比最佳配准时大.也就是说,互信息值达到最大并不能保证得到正确的配准结果.综上所述,需要一个基于重叠不变性的方法,使相似性测度函数能更加准确地反映互信息和相似性测度之间的关系,Studholme等提出了一个归一化互信息测度,式(8)归一化互信息使相似性测度函数更加平滑,并减少其对图像重叠部分的敏感性,配准精度更高.2 互信息的计算分析互信息的计算实际上是灰度统计和计算的过程,故可借助直方图估算互信息.具体计算流程如下:步骤1 计算图像F(i,j)和M(i,j)的概率分布函数PDF(f,m),初始置0.步骤2 计算图像F和M的边缘概率分布PF (f)和加PM(m),初始均置0.步骤3 计算图像F和M的互信息I(F,M),初始置0.从以上互信息的计算流程可知,循环次数和图像的灰度级密切相关[7].由此看出减少灰度级可减少循环次数,可以缩短互信息的计算时间.虽然灰度级越少互信息计算时问就会越短,但与此同时然而图像信息也随之减少,致使配准精度受到影响.因此,需要寻求一个合适的灰度压缩范围,以求保证配准精度的前提下极大限度的减少配准时间.通过对不同灰度级的图像配准时间进行简单统计如图4.图4 不同灰度级下的配准时间Fig.4 Registration timewith vary grayscales在目前的互信息配准方法中,一般配准前将整幅图像的灰度线性映射到一个灰度变化较小的范围[8],也就是进行灰度压缩.配准中常用的灰度范围有0~255,0~63,0~31,0~15等,图5为一幅MR图像在两种不同灰度级的显示效果.图5 一幅MR图像在不同灰度级下的显示Fig.5 Disp lay of a MR image with vary grayscales3 基于灰度压缩的互信息计算与多模医学图像配准实验环境 :CPU Intel Pentium Dual E2140主频1.6GH z,1G内存操作系统 :MicrosoftW indow s XP Professional SP2实验首先选取20对单模CT图像进行实验,浮动图像事先人为水平移动17像素,垂直移动13像素,所用的20对单模图像配准,灰度等级数从4~256误差均方根都小于0.08,都能得到准确的结果,如图6所示.图6 4~256级的配准参数的均方根比较Fig.6 Comparison of RMSwith level 4 to 256多模配准实验以人体脑颅CT图像为参考图像,相应部位的MR图像为浮动图像,利用ITK配准算法框架中的 itk::NormalizedM utualInformationH istogram ImageToImageMetric为配准测度,配准结果用VTK实现可视化,图7为其中一次配准的结果与配准前的对比显示.图7 CT/MR图像配准结果对比Fig.7 Comparison of CT/MR image registration result由此实验结果看出,应用归一化互信息算法对多模态医学图像进行配准,可以得到比较精确的配准结果.表1 不同灰度级的配准实验数据统计Tab.1 Statistic of registration experimentswith vary grayscales执行一次配准运算灰度级互信息耗时/s最大互信息耗时/s 配准参数(X,Y) 256 0.533 5 1.982 0.710 4 400.08 2.191,3.139 64 0.501 2 0.158 0.645 2 59.73 2.187,3.125 32 0.468 8 0.139 0.617 6 48.502.131,3.076 16 0.416 4 0.117 0.587 2 44.29 2.207,3.135从多模图像配准实验数据表1可以看出,与传统算法在原始图像直接进行配准相比,灰度压缩后配准效率有显著提高,线性图灰度压缩至32灰度级时,由于采样点数目下降较大,配准参数开始有较大波动,因此认为在实际应用中为保持较高精度以64级灰度图像计算互信息为宜.4 结论与展望对基于互信息的多模医学图像配准进行了理论及实验研究,分析了单次互信息计算步骤和整个算法的互信息计算的时间复杂度,讨论了图像重叠区域大小对最大互信息算法的影响,采用归一化互信息为测度,互信息计算中降低灰度等级,在不同灰度等级下进行了MRI和CT图像的单模和多模配准实验.实验结果显示,采用文中改进方法进行配准.若图像的灰度分布较理想,对于图像灰度等级数在32或64时均能保持很好的配准精度,而配准时间与灰度等级数为256时相比有较大降低,降低幅度达50%左右,实际应用时,灰度等级数取64是比较适宜的.参考文献:【相关文献】[1] Studho lme C.M easure of 3D medical image alignment [J].PatternRecognition,1999,32(1):71-78.[2] Serdar K B,Po lina G,Martha S,et al.W ells free-form B-sp line deformation model for groupw ise registration statistical[M].Registration W orkshop:M ICCA I,2007.[3] Rueckert D,Sonoda L I,H ayes C,et al.Non-rigid registration using free-form deformations[J].Application to Breast MR Images IEEE Transaction On M edical Imaging,2007,18(8):59.[4] Josien PW,Pluim J B,Maintz A.Mutual information based registration of medical images[J].A Survey IEEE T ransactions On Medical Imaging,2003,21(4): 172.[5] Frederic M,Vermeu len D.Medical image registration usingmutual information proceedings[J].The IEEE, 2003,91(10):323-325.[6] Guo Yu jun,Jasjit Suri,Radhika Sivaramak rishna.Image registration forbreast imaging[J].A Review Engineering in M edicine and Biology 27th Annual Con ference Shanghai,China,2005(9):1-4.[7] Guo Huadong.Theories and app lication o f radar for earthobservation[M].Beijing:Science Press,2000.[8] Chalennw at P,E1-Ghazaw i T,LeMoigneb J,et al.2-phase GA-based image registration on parallel clusters Future[J].Generation Computer System s,2001,17 (4):467.[9] Knops Z F,M aintz JB A,Viergever M A,et al.Normalizedmutual information based registration using kmeans clustering and shading correc tion[J].M edical Image Analysis,2005,10(3):432-439.。
基于互信息的图像配准的设计与实现院系专业班级学号姓名指导教师负责教师摘要图像配准常常是作为其他图像处理应用的前处理步骤使用的,往往用于图像的对准、目标识别与定位。
图像配准是多种图像处理及应用的基础,配准效果将直接影响到其后续图像处理工作的效果。
本算法以互信息配准原理为基础。
利用互信息法进行图像配准已成为图像处理领域的热点。
图像融合的关键是图像配准。
图像配准的方法主要有特征点法、曲线法、表面法和矩主轴法等。
在此过程中不需要进行图像分割以及特征提取,可以实现图像配准的自动化,而且鲁棒性较强,配准精度高,但是,计算互信息相似度是基于整幅图像的像素灰度,因此计算复杂度较高。
最大互信息配准法由于不需要对不同成像模式下的图像灰度间的关系作任何假设,也不需要对图像进行分割或任何预处理,具有自动化程度高的特点。
近年来受到了越来越多学者的关注,并且在图像配准领域得到了普遍重视和广泛应用,并被许多图像处理软件包作为标准的配准算法。
本文主要论述了如何实现图像配准,并利用MATLAB编程实现。
在此基础上,本文主要开展了以下几个方面的研究工作:一、两幅图像所反映的信息必具有某种内在的关联( 互信息) , 随着两幅图像对齐程度的变化,这种关联也随之变化。
当互信息达到最大时,则认为两幅图像已配准,互信息法已经成为图像配准的事实标准。
再利用互信息和Powell 优化算法实现了多模态图像的配准,并且达到了亚像素精度。
二、基于互信息的配准方法直接利用图像的灰度值实现两幅图像间的配准。
三、利用相似性测度是用来度量参考图像和待配准图像中提取的两个特征集之间的相似性,能够衡量每次变换结果优劣的准则,本文应用相似性度量为互信息理论。
四、利用一维搜索就是求目标函数在直线上的极小值点,也称线性搜索。
一维搜索是许多非线性搜索的重要组成部分,是研究的Powell算法的基础。
五、确定搜索空间和搜索策略。
搜索空间与相似性度量密切相关,不同的搜索空间对应不同的相似性度量。
信息论大作业基于互信息的图像配准班级:金融101学号:2009302311姓名:魏泉1. 引言随着医学、计算机技术及生物工程技术的发展,医学影像学为临床诊断提供了多种模态的医学图像,不同的医学图像提供了相关脏器的不同信息:CT(Computed Tomography ,电子计算机X 射线断层扫描)和MRI(Magneticresona nce ima ging ,核磁共振成像)以较高的空间分辨率提供了脏器的解剖结构信息。
在实际临床应用中,单一模态的图像往往不能提供医生所需要的足够的信息,通常需要将不同模态的图像融合在一起,得到更丰富的信息,以便了解病变组织或器官的综合信息,从而做出准确的诊断或制订出合适的治疗方案。
而图像配准是图像融合的重要前提,图像配准是指对一幅图像进行一定的几何变换而映射到另一幅图像中,使得两幅图像中的相关点达到空间上的一致。
图像配准主要有两大类方法,基于灰度的方法和基于特征的方法。
基于灰度的配准方法直接利用图像的灰度数据进行配准,从而避免了因分割而带来的误差,因而具有精度较高、鲁棒性强、不需要预处理而能实现自动配准的特点。
在基于灰度的配准方法中,基于互信息的方法包括互信息和归一化互信息方法,它们已经被广泛使用并具有最高的精度。
本文使用的是基于互信息的配准方法。
2. 图像配准技术2.1图像配准技术的数学定义 数字图像可以用一个二维矩阵来表示,如果用),(1y x I、),(2y x I 分别表示待配准图像和参考图像在点(x,y)处的灰度值,那么图像I 1、I 2的配准关系可表示为:))),(((),(12y x f g y x I I= (1)其中f 代表二维的空间几何变换函数;g 表示一维的灰度变换函数。
配准的主要任务是寻找最佳的空间变换关系f 与灰度变换关系g ,使两幅图像实现最佳对准。
其中,空间几何变换是灰度变换的前提,是实现精准配准的关键环节。
2.2几何变换空间变换主要解决图像平面上像素的重新定位问题,式(1)中的空间几何变换函数f 可用空间变换模型进行描述,常用的空间变换模型有刚体变换、仿射变换、投影变换和非线性变换。
刚体变换使得一幅图像中任意两点间的距离变换到另一幅图像中后仍然保持不变;仿射变换使得一幅图像中的直线经过变换后仍保持直线,并且平行线仍保持平行;投影变换是从三维图像到二维平面的投影;非线性变换把一条直线变换为一条曲线,一般用代数多项式来表示。
仿射变换是最常用的一种空间变换形式,可以实现图像的平移、旋转、按比例缩放等操作,我们在实验中使用的是此变换模型。
仿射变换可以用矩阵形式表示:1[x 1y 1]=0[x 0y 1]T =0[x 0y 1]111221223132001t t t t t t ⎛⎫⎪ ⎪ ⎪⎝⎭当T 分别取值为1000101xyt t ⎛⎫⎪ ⎪ ⎪⎝⎭、cos sin 0sin cos 0001θθθθ-⎛⎫ ⎪ ⎪ ⎪⎝⎭、000001xy s s ⎛⎫⎪⎪ ⎪⎝⎭将依次对图像进行平移、旋转、按比例缩放操作。
2.3 插值技术浮动图的像素点经过空间变换后,参考图中对应点的坐标一般来说不是整数,必须通过插值方法计算该点的灰度值。
常用的插值算法有最近邻插值算法、双线性插值算法和部分体积插值算法。
为了尽可能避免基于互信息配准的局部最优问题,本文采用改进PV 插值算法。
PV 插值法是一种专门针对两幅图像的联合直方图的更新而设计的插值技术,它并不是真正意义上的插值方法,因为通过此方法并不能计算出反向变换点的灰度值。
PV 插值法的计算过程如图1.图中的T α(x)为反向变换得到的一个浮点数点,其四个最近邻像素点分别为n n n n 4321,,,。
设参考图像为r(x),浮动图像为f(x),则它们的联合图方图函数h rf 如下。
1=∑iiw i=1,2,3,4w n h i i rf f x r i =+∀))(),(()1(*)1(1dy dx w --=)1(*2dy dx w -=dy dx w *)1(4-=dy dx w *3=2.4.1常用的优化算法有:牛顿法、最速下降法、模拟退火法、遗传算法、单纯形法、模式搜索法、Powell 法等搜索算法。
Powell 法不需要对目标函数进行求导计算,具有收敛速度快、精度高、可靠性好等优点,是目前解无约束最优化问题十分有效的直接法,应用相当广泛,所以我们在实验中采用该算法。
Powell 算法实现如下:(1)给定允许误差)0(<εε,初始点x )0(和n 个线性无关的方向dddn ),1()2,1()1,1(,...,, ,置k=1.(2)置x xk k )1()0,(-=,,从x k )0,(出发,依次沿方向dddn k k k ),()2,()1,(,...,,进行一维搜索,得到点xxx n k k k ),()2,()1,(,...,,。
再从x n k ),(出发,沿方向xxdk n k n k )0,(),()1,(-=+作一维搜索点,得到点x k )(。
(3)若ε<--x xk k )1()(,则停止搜索,得到点x k )(;否则,置n j ddj k j k ,...,1,)1,(),1(==++ 1+=k k返回步骤(2).2.4.2 Powell 算法中的一维搜索算法——brent 方法。
Brent 法思路:开始时利用黄金分割法确定一个较小的包含极小点的不确定区间,然后利用抛物线法获得一个极小点,若此极小点落在此不确定区间,则利用该极小点继续进行二次插值;否则放弃该点,改用黄金分割法搜索。
算法中密切关注a,b,u,v,w,x 这六个点,其中a,b 表示包含极小点的不确定区间][b a ,;u 表示最新搜索到的极小点;w 表示上一次搜索到的极小点;v 表示上一次的w 值;x 表示当前已搜到的最佳极小点。
算法实现步骤如下(设目标函数为f(x)):(1)给定初始区间][b a ,,精度要求0>ε,黄金分割系数1,381966.0==k cgold (2)计算)(*a b cgold a v -+=,置v w v x ==,;计算)(v f ,置)()(),()(v f x f v f w f ==;置上一次迭代步长0.0=e 。
(3)计算当前区间中点2/)(b a xm +=,若ε<-xm x ,则停止搜索,的极小值x ,否则转(4)。
(4)令1*22,*1tol tol x tol ==ε,若1tol e <,则采用黄金分割法,转(8)。
(5)若)()()(x f v f w f ====,则采用黄金分割法,转(8)。
(6)过三点))(,()),(,()),(,(v f v w f w x f x 构造抛物线函数,计算))()()(())()()(())()(()())()(()(*2/122v f x f w x w f x f v x v f x f w x w f x f v x x u -----------= (7)若u 在][b a ,之外,则用黄金分割法重新求极小点,转步骤(8);若u 相对于x 的改变量大于上一次的改变量,则转步骤(8);若2t o l a u <-或2tol u b <-,则用1tol 代替前面的改变量。
(8)按黄金分割法确定点u ,且u 在区间][x a ,和][b x ,中长度较大的一个;若u 相对于x 的改变量小于1tol ,则用1tol 代替前面的改变量。
(9)计算)(u f ,按照各自的定义更新)(),(),(,,,,,v f w f x f v w x b a 。
置1+=k k ,转步骤(3)。
3 基于互信息的图像配准方法3.1 互信息的计算互信息是信息理论中的一个基本概念,通常用于描述两个系统间的统计相关性,或者是一个系统中所包含的另一个系统中信息的多少,它可以用熵来描述:),()()(),(B A H B H A H B A I -+= (2) 其中,)(A H 和)(B H 分别是系统A 和B 的熵,),(B A H 是它们的联合熵,依次定义如下:)(log )()(a a A H P p A aA∑-= (3))(log )()(b b B H P p B bB∑-= (4)),(log ),(),(,b a b a B A H P p AB ba AB∑-= (5)其中)(,,a B b A a pA∈∈和)(b P B 分别是系统A 和B 完全独立时的的概率分布。
),(b a PAB是系统A 和B 的联合概率分布。
令图像A 和B 的互信息为),(B A I ,将式(3),(4),(5),分别代入式(2),即可得到图像互信息的计算公式:),(log ),()(log )()(log )(),(2,22b a b a a a a a B A I P P P P P P AB ba AB B bB A aA ∑∑∑+--=3.2 配准方法首先根据两幅图像的基本情况预设一个初始参数X 0,其中)1(0X 为裁剪 旋转)3(0X 角的图像2 行的第一个索引。
)2(0X 为裁剪旋转)3(0X 角的图像2X为旋转的角度,)4(0X为比例因子。
然后按照给定的列的第一个索引,)3(初始参数对图像2 进行变换,并计算图像1 和图像2 的互信息,然后利用最优化工具箱中的fminsearch 函数在X0附近寻找使图像1 和图像2 互信息最大的点,直至搜索到满足精度要求的参数;最后输出配准参数。
4. 图像配准的实现4.1配准流程首先对参考图像和浮动图像按照给定的初始点使用PV插值法统计联合直方图并计算互信息值;然后利用POWELL算法依据最大互信息理论判断所得参数是否最优,若不是,则继续搜索较优参数,在搜索时会不断重复“空间几何变换(affine)-统计联合直方图(PV插值法)-计算互信息值-最优化判断”的过程,直至搜索到满足精度要求的参数;最后输出配准参数。
4.2.所用到的M文件及其源代码4.2.1. ImageRegistration.mfunction varargout = ImageRegistration(varargin)gui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @ImageRegistration_OpeningFcn, ...'gui_OutputFcn', @ImageRegistration_OutputFcn, ...'gui_LayoutFcn', [], ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});elsegui_mainfcn(gui_State, varargin{:});endaddpath(pwd);function ImageRegistration_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject;guidata(hObject, handles);function varargout = ImageRegistration_OutputFcn(hObject, eventdata, handles)varargout{1} = handles.output;function pushbutton1_Callback(hObject, eventdata, handles)global I;%%%调用OpenImage.m读入参考图像并获取文件名、图像大小%%%[filename ,pathname]=uigetfile({'*.jpg';'*.bmp';'*.bmp'},'Ñ¡ÔñͼƬ'); str=[pathname filename];I=imread(str);axes(handles.axes1);imshow(I);handles.data=I;guidata(hObject,handles);figure(1);imshow(handles.data);function pushbutton3_Callback(hObject, eventdata, handles)handles.Old_I=handles.data;handles.Old_J=handles.data2;[I,J]=GLPF(handles);handles.data=I;handles.data2=J;guidata(hObject,handles);ticRegistrationParameters=Powell(handles);tocElapsedTime=toc;handles.RegistrationParameters=RegistrationParameters;y=RegistrationParameters(1);x=RegistrationParameters(2);ang=RegistrationParameters(3);MI_Value=RegistrationParameters(4);RegistrationResult=sprintf('X,Y,Angle=[%.5f][%.5f][%.5f]',x,y,ang); MI_Value=sprintf('MI_Value=[%.4f]',MI_Value);ElapsedTime=sprintf('Elapsed Time=[%.3f]',ElapsedTime);axes(handles.axes3)[RegistrationImage]=Register(handles);imshow(RegistrationImage)set(handles.text1,'string',RegistrationResult);set(handles.text2,'string',MI_Value);set(handles.text3,'string',ElapsedTime);function pushbutton2_Callback(hObject, eventdata, handles)global J;[filename ,pathname]=uigetfile({'*.jpg';'*.bmp';'*.bmp'},'Ñ¡ÔñͼƬ'); str=[pathname filename];J=imread(str);axes(handles.axes2);imshow(J);handles.data2=J;guidata(hObject,handles);figure(2);imshow(handles.data2);4.2.2Powell.mfunction [RegistrationParameters]=Powell(handles)e=0.1;X0=[0 0 0];D=[1 0 0;0 1 0;0 0 1];num=0;while(num<200)num=num+1;d1=D(1,:);%d1Ϊ¾ØÕóDµÄµÚÒ»ÐУ¬³õʼËÑË÷·½Ïò[X1,fX1]=OneDimSearch(X0,d1,handles);d2=D(2,:);%d2Ϊ¾ØÕóDµÄµÚ¶þÐУ¬³õʼËÑË÷·½Ïò[X2,fX2]=OneDimSearch(X1,d2,handles);d3=D(3,:);%d3Ϊ¾ØÕóDµÄµÚÈýÐУ¬³õʼËÑË÷·½Ïò£¬ÈýάËÑË÷¹ÊÓÐÈý¸ö·½Ïò [X3,fX3]=OneDimSearch(X2,d3,handles);fX0=PV(X0(1),X0(2),-X0(3),handles);Diff=[fX1-fX0 fX2-fX1 fX3-fX2];[maxDiff,m]=max(Diff);%maxº¯ÊýµÄÓ÷¨£¬·µ»ØmaxdiffΪÏòÁ¿DiffµÄ×î´óÔªËØ£¬mΪ×î´óÔªËØµÄÐòºÅd4=X3-X0;temp1=X3-X0;Conditon1=sum(temp1.*temp1);if Conditon1<=ebreakend[X4,fX4,landa]=OneDimSearch(X0,d4,handles);X0=X4;temp2=X4-X3;Conditon2=sum(temp2.*temp2);if Conditon2<=eX3=X4;breakendtemp3=sqrt((fX4-fX0)/(maxDiff+eps));if(abs(landa)>temp3)D(4,:)=d4;for i=m:3D(i,:)=D(i+1,:);endendendRegistrationParameters(1)=-X3(1);RegistrationParameters(2)=-X3(2);RegistrationParameters(3)=-X3(3);RegistrationParameters(4)=fX3;function [Y,fY,landa]=OneDimSearch(X,direction,handles)%һάËÑË÷²ÉÓÃbrent·½·¨a=-5;b=5;Epsilon=0.0001;cgold=0.381966;IterTimes=200;if a>btemp=a;a=b;b=temp;endv=a+cgold*(b-a);w=v;x=v;e=0.0;fx=Fx(x,X,direction);fv=fx;fw=fx;for iter=1:IterTimesxm=0.5*(a+b);if abs(x-xm)<=Epsilon*2-0.5*(b-a)breakendif abs(e)>Epsilonr=(x-w)*(fx-fv);q=(x-v)*(fx-fw);p=(x-v)*(q-(x-w)*r;q=2*(q-r);if q>0p=-p;endq=abs(q);etemp=e;e=d;if not(abs(p)>=abs(0.5*q*etemp)||p<=q*(a-x)||p>=q*(b-x)) d=p/q;u=x+d;if u-a<Epsilon*2||b-u<Epsilon*2d=MySign(Epsilon,xm-x);endelseif x>=xme=a-x;elsee=b-x;endd=cgold*e;endelseif x>=xm;e=a-x;elsee=b-x;endd=cgold*e;endif abs(d)>=Epsilonu=x+d;elseu=x+MySign(Epsilon,d);endfu=Fx(u,X,direction);if fu<=fxif u>=xa=x;elseb=x;endv=w;fv=fw;w=x;fw=fx;x=u;fx=fu;elseif u<xa=u;elseb=u;endif fu<=fw||w==xv=w;fv=fw;w=u;fw=fu;elseif fu<=fv||v==x||v==w v=u;fv=fu;endendendendlanda=x;Y=X+x*direction;fY=Fx(x,X,direction);function[mySign]=MySign(a,b)if b>0Result=abs(a);elseResulr=abs(a);endmySign=Result;function [fx]=Fx(x,X,direction,handles)fx=-PV(X(1)+direction(1)*x,X(2)+direction(2)*x,-(X(3)+direction(3)*x) ,handles);4.2.3 PV.mfunction [mi]=PV(x,y,ang,handles)a=handles.data;a=double(a);b=handles.data2;b=double(b);[M,N]=size(a);hab=zeros(256,256);ha=zeros(1,256);hb=zeros(1,256);if max(max(a))~=min(min(a))a=(a-min(min(a)))/(max(max(a))-min(min(a)));elsea=zeros(M,N);endif max(max(b))~=min(min(b))b=(b-min(min(b)))/(max(max(b))-min(min(b)));elseb=zeros(M,N);enda=double(int16(a*255))+1;b=double(int16(b*255))+1;[width,height]=size(b);u=(width-1)/2;v=(height-1)/2;rad=pi/180*ang;t1=[1 0 0;0 1 0;x y 1];t2=[1 0 0;0 1 0;-u -v 1];t3=[cos(rad) -sin(rad) 0;sin(rad) cos(rad) 0;0 0 1];t4=[1 0 0;0 1 0;u v 1];T=t2*t3*t4*t1;tform=maketform('affine',T);coordinate_x=zeros(width,height);coordinate_y=zeros(width,height);for i=1:widthfor j=1:heightcoordinate_x(i,j)=i;endendfor i=1:widthfor j=1:heightcoordinate_y(i,j)=j;endend[w z]=tforminv(tform,coordinate_x,coordinate_y);for i=1:widthfor j=1:heightsource_x=w(i,j);source_y=z(i,j);if(source_x>width-1||source_y>height-1||double(uint16(source_x))<=1|| double(uint16(source_y))<=1)hab(a(1,1),a(1,1))=hab(a(1,1),a(1,1))+1;elsem=fix(source_x);n=fix(source_y);index_b=b(i,j);index_a0=a(m,n);index_a1=a(m+1,n);index_a2=a(m,n+1);index_a3=a(m+1,n+1);dx=source_x-m;dy=source_y-n;hab(index_a0,index_b)=hab(index_a0,index_b)+(1-dx)*(1-dy); hab(index_a1,index_b)=hab(index_a1,index_b)+dx*(1-dy);hab(index_a2,index_b)=hab(index_a2,index_b)+(1-dx)*dy;hab(index_a3,index_b)=hab(index_a3,index_b)+dx*dy;endendendhabsum=sum(sum(hab));index=find(hab~=0);pab=hab/habsum;Hab=sum(sum(-pab(index).*log2(pab(index))));pa=sum(pab,2);index=find(pa~=0);Ha=sum(sum(-pa(index).*log2(pa(index))));pb=sum(pab,1);index=find(pb~=0);Hb=sum(sum(-pb(index).*log2(pb(index))));mi=Ha+Hb-Hab;4.2.4 Register.mfunction[RegistrationImage]=Register(handles)I=handles.data;J=handles.data2;y=handles.RegistrationParameters(1);x=handles.RegistrationParameters(2);ang=-handles.RegistrationParameters(3);[nrows,ncols]=size(J);width=nrows;height=ncols;new_J=uint8(zeros(width,height));a=(width-1)/2;c=a;b=(height-1)/2;d=b;rad=pi/180*ang;t1=[1 0 0;0 1 0;x y 1];t2=[1 0 0;0 1 0;-a -b 1];t3=[cos(rad) -sin(rad) 0;sin(rad) cos(rad) 0;0 0 1]; t4=[1 0 0;0 1 0;c d 1];T=t2*t3*t4*t1;tform=maketform('affine',T);tx=zeros(width,height);ty=zeros(width,height);for i=1:widthfor j=1:heighttx(i,j)=i;endendfor i=1:widthfor j=1:heightty(i,j)=j;endend[w z]=tforminv(tform,tx,ty);for i=1:widthfor j=1:heightsource_x=w(i,j);source_y=z(i,j);if(source_x>width-1||source_y>height-1||double(uint16(source_x))<=0|| double(uint16(source_y))<=0)new_J(i,j)=J(1,1);elseif(source_x/double(uint16(source_x))==1.0&&(source_y/double(uint16(so urce_y)==1.0)))new_J(i,j)=J(int16(source_x),int16(source_y));elsea=double(uint16(source_x));b=double(uint16(source_y));x11=double(J(a,b));x12=double(J(a,b+1));x21=double(J(a+1,b));x22=double(J(a+1,b+1));new_J(i,j)=uint8((b+1-source_y)*((source_x-a)*x21+(a+1-source_x)*x11) +(source_y-b)*((source_x-a)*x22+(a+1-source_x)*x12));endendendendJ=new_J;I=uint8(I);J=uint8(J);RegistrationImage=uint8(J);5.配准结果参考图像浮动图像配准结果变换参数及最大互信息值X,Y,Angle=[-1.35741][1.39364][9.3372]My Value=[1.9907]Elasped time=[473.458]6.配准结果从配准结果可以看出,选用powell算法及一维brent法的情况下。