3.5.1 powell基本算法
Powell算法的实现过程如下所示:将整个计算分为若干次的迭代过程,每轮迭代由n+1次(n为目标函数参数的个数)一文搜索所构成。首先从初始点 出发分别沿着已知的n个方向进行n次一文搜索,得到一个最优解X;接着从点X出发进行一次一文搜索,搜索方向沿 与X连线方向进行,得到本轮最好的位置;然后更新初始点和搜索方向,开始新一轮的迭代。
基本Powell算法的实现如下:
(1)给定允许的误差范围ε( ),初始点 和n个线性无关的方向 , ,…, ,初始化k=1;
(2) 置 ,从 出发,依次沿着方向 , ,…, 进行一文搜索,得到点 ;再从 出发,沿着方向 做一文搜索,得到点 ;
(3)若 ,则停止搜索,得到点 ;否则置:
,j=1,…,k =k+1
返回步骤(2)。
3.5.2 改进的powell算法
在基于共轭方向的算法中,至关重要的一点就是能否保证n个搜索方向线性无关。然而,在基本Powell算法中却无法保证搜索方向线性无关,特别是搜索函数参数较多的情况。这种可能会给收敛性带来严重后果。为了克服这个问题,众多学者对这个方法进行了讨论,对基本Powell算法提出了改进。
改进的Powell算法和基本的Powell算法,二者的基本思想是一样的,主要的不同在于搜索方向的替换规则。在Powell基本算法中,新的搜索方向在任何条件下都会替代上一轮的搜索方向;然后在改进的Powell算法中,在更新搜索方向的时会判断是否线性无关。如果初始搜索方向线性无关,就可以保证每轮迭代的搜索方向为列的行列式不为零,说明这些搜索方向是线性无关的;随着迭代次数的不断增加,就可以增加搜索方向的共轭程度。
改进的Powell算法具体算法如下:
(1)给定初始点x(0),线性无关的方向: ,设定允许误差范围 ( ),初始化k=1;
(2)置 ,从 出发,依次沿着方向 进行一文搜索,得到点 ;求m,使得:
令 ,
若 ,则停止计算;否则,进行步骤(3);
若 ,则停止计算,得到 ;否则,进行步骤(4);
(4)
令k =k+1,,转步骤(2);否则,令
,令k =k+1,,转步骤(2)。
3.6 插值技术
互信息(MI)配准认为当两幅图像在几何上对齐的时候它们的对应体素对的图像灰度值的互信息达到最大值。这就需要在优化互信息的时候迭代地对图像A进行变换(相对于图像B的变换)。从图像A的网格点上得到采样,经过变换后的位置可能并不正好对应与图像B的网格点,这时候需要图像B的插值,即对图像B进行灰度赋值。常用的有线性插值法、PV插值法.。
3.7 局部极值问题的研究克服及新插值算法的提出
3.7.1 局部极值的成因分析
基于互信息的图像配准在本质上是一个多参数优化问题,即寻找互信息达到最大时的几个空间变换参数值。在实际应用中,配准函数经常不光滑,存在许多局部极大值,给求解带来很大难度。产生局部极大值主要有两个原因[26]:一是两幅图像本身存在较好的局部匹配;二是图像经过几何变换后,像素的坐标不会和原来的采样网格完全重合,要对变换后的图像进行重采样和插值处理,在插值运算过程中很容易产生局部极值。因此,选取合适的插值方法对配准结果有着重要的影响。
本节详细探讨插值引起局部极值的原因,最终提出了一种新的插值方法。下面分析上文提及的插值算法引起互信息局部极值的原因。
1.线性插值
线性插值的应用十分广泛。从上节的详细介绍我们知道线性插值会产生新的灰度值。在计算互信息时,是利用的图像的灰度,新加入的灰度值伴随着空间参数的微小变化,会使参考图的边缘分布产生一些不可预知的变化[27],导致互信息的计算产生误差。另外,线性插值也是精度相对较低的一种插值方法,会去掉图像中的部分噪声和细节信息,使图像变得模糊。这些噪声和细节信息的损失使得待配准的两幅图像联合直方图的杂散程度减小,从而引起联合熵的减小。但是在整数网格处我们没有进行插值处理,从而它的联合熵会显著增加,这种整数网格处联合熵的突变会使得互信息迅速的减小,而形成局部极小值。 双谱图像配准技术研究+powell算法(7):http://www.youerw.com/tongxin/lunwen_2637.html