首页 > 范文大全 > 正文

郭涛算法在模板匹配中的应用

开篇:润墨网以专业的文秘视角,为您筛选了一篇郭涛算法在模板匹配中的应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:目前图像模板匹配算法一般都有计算量非常大的缺点,在实际运用中存在一定问题,根据这一问题提出了将演化算法应用到图像模板相关匹配中。模板匹配实际是寻找最优解的问题,将模板和子图像的互相关函数作为目标函数,基于演化的郭涛算法实现了模板匹配的最优解。最后根据实验说明了该算法较传统的遍历式模板匹配算法具有计算量大大减少的优越性。

关键词:郭涛算法; 模板匹配; 张成子空间

中图分类号:TP312文献标识码:A文章编号:16727800(2011)012004502

作者简介:杨国荣(1979-),男,贵州安顺人,贵州民族学院理学院硕士研究生,研究方向为数字图像处理与模式识别; 杨承中(1958-),女,贵州贵阳人,贵州民族学院理学院硕士研究生导师,研究方向为计算机应用技术、演化计算、机器学习。1模板匹配原理

模板匹配就是拿已知的模板图像, 和原图像中同样大小的一块区域去对比, 图像相关匹配的目的是寻找模板的最优匹配位置。最开始时, 模板的左上角点和图像的左上角点是重合的, 拿模板和原图像中同样大小的一块区域去对比, 然后平移到下一个像素, 仍然进行同样的操作, 所有的位置都对完后, 差别最小的那块就是要找的图像区域 。如图1所示, 模板T( X*Y个像素) 叠放在待匹配的图S 上平移, 模板覆盖待匹配图的那块区域叫子图。(i,j)为子图左上角在被搜索图S上的坐标。

图1模板匹配原理

用平方误差之和来衡量原图中的子图和模板之间的差别。假设模板的大小为X*Y(宽*高);图像的大小为M @N。模板中的某点坐标为(x ,y),该点的灰度为T(x,y);与之重合的图像中的点坐标为(i+x,j+y),该点的灰度为S(i+x ,j+y),在这里记做Si,j( x,y)。则一次匹配的误差平方之和为D(i,j)=∑xx=1∑yy=1[Si,j(x,y)-T(x,y)]2将该式展开:D(i,j)=∑xx=1∑yy=1[Si,j(x,y)]2-2∑xx=1∑yy=1[Si,j(x,

y)×T(x,y)]+∑xx=1∑yy=1[T(x,y)]2(1)上式中,右边第一项称为原图像中与模板对应区域的能量,它与子图的位置有关,但是随子图位置变化而缓慢变化。第二项称为模板与原图中子图的互相关,它随子图位置(i,j)的变化而变化,当模板T(x,y)和原图中子图区域相匹配时取得最大值。式中第三项称为模板的能量,它与图像像素位置(i,j)无关。只用一次计算即可。

T与Si,j匹配时这一项的取值最大, 因此用这一项便可以进行图像匹配,可以用下列相关函数作相似性度量。但假设DS项为常数会产生误差,严重时无法完成匹配,因此将DS考虑在内,用下面的相关函数做相似性度量:

归一化为R(i,j)=∑xx=1∑yy=1Si,j(x,y)*T(x,y)∑xx=1∑yy=1[Si,j(x,y)]2∑xx=1∑yy=1[T(x,y)]2(2) 根据式(2),对于任何一个R(i,j)都可算得一根据上式,对于任何一个R(i,j)都可算得一个值,当( i, j) 变化时,R(i,j)值的最大值便指出了与T 匹配得最佳位置, 取得匹配图像。可以看到模板匹配的运算量是惊人的。一次匹配都要做X*Y次减法,X*Y次平方, X*Y-1 次加法,整个图像要匹配(M-X+1)*(N-Y+1)次。用归一化互相关求匹配的计算量大的惊人,因为模板要在(M-J+1)*(N-K+1)个参考点上做相关计算,除最佳匹配点外,其余做的都是无效运算。

2郭涛算法简介

郭涛算法简单,计算效率高。它采用了演化计算中的群体搜索策略,保证了搜索空间的全局性,有利于搜索问题的解,可以有效地求解函数优化问题。其最主要的特点是采用了如下多父体杂交算子:

以M个父体(向量)X=(X1,X2,…,XM) ,所张成的子空间V={X|X=α•X'},作为搜索空间,其中α是M维向量,满足条件∑Mi=1ai=1,-0.5≤ai≤1.5(3)该杂交算子采用随机空间中的随机搜索(多父体重组)策略,特别是子空间中随机搜索的非凸性:X=α•X',∑Mi=1ai=1,-0.5≤ai≤1.5,使算法搜索的子空间可覆盖多父体的凸组合空间,保证了随机搜索的遍历性,即解空间中不存在算法搜索不到的“死角”。

其次,郭涛算法采用了“最劣个体淘汰策略”,每次把群体中适应性最差的个体淘汰出局,淘汰压力最小,即保证了群体的多样性,也保证了群体最后集体落入最深谷。求解极小化问题的郭涛算法如下所示,其中P是种群,t是演化代数,f为适应度函数,ε是误差。

Algorithm GT:

Begin

初始化P={X1,X2,…,XN},Xi∈D ;

t=0;

Xbest=min1≤i≤Nf(Xi)

Xworst=max1≤i≤Nf(Xi)

While abs(f(Xbest)-f(Xworst))

{

从P中随机选择M个点X'1,X'2,…,X'M形成子空间V;

从V中随机选取一个点X';

If f(X′)

t=t+1;

Xbest=min1≤i≤Nf(Xi)

Xworst=max1≤i≤Nf(Xi)

}

输出t,P;

End

3郭涛算法在模板匹配的处理实现

在具体实现中,我们采取以下几个步骤执行:

首先、要根据具体匹配的图像类型选取匹配准则,从而计算出模板图像与子图像的相似度函数。郭涛算法采用了演化计算中的群体搜索策略,保证了搜索空间的全局性。该算法采用了劣汰策略,每次只把群体中适应性最差(目标函数值最大)的个体淘汰出局,淘汰压力最小,既保证了群体的多样性,也保证了适应性最好(目标函数值最小)的个体可保存下来。这种群体爬山策略,保证了整个群体最后集体达到最深的谷底。当最优解不惟一时,算法可能1次同时找到多个最优解。

其次、初始化(initialize)是随机地从解空间D中选取N个点(个体)形成初始群体P,N的选取,可根据问题的维数n与f(X)场景的复杂性而定,当n较大且场景复杂时,N可取大些,反之,则取小些。一般取20≤N≤150,m的选取,根据经验取m =7、8、9或10较合适。

再次、张成子空间的随机性很重要,这样做的目的是保证了解的多样性,以免漏掉最优解,陷入局部最优。同时在选取X'时也是随机的,所以构造的这个人为随机函数也有讲究。

最后、我们根据具体的精度要求设置停机条件,以及我们对最优解的解码。在这里我们用的是十进制数编码,通过演化出来的最优解。就可以找到与模板匹配的子图的左上角的坐标(x,y)。

图2郭涛算法进行匹配搜索最优解的流程

4结束语

用MATLAB 编程实现了上述的算法和验证,图2用郭涛算法进行匹配搜索最优解的流程。以lena 图像为例,实验中取群体取值为50,迭代次数为2000,传统的穷举模板匹配搜索算法所用的时间是惊人的,在实际应用中有一定困难。文中采用郭涛算法实现模板匹配,该算法思想简单,算法效率高,能够在短时间内找到全局最优解。 通过实验可以看出,采用郭涛算法的模板匹配可以大大减少时间。进一步的研究应该集中在如何确定匹配准则,以提高该算法的匹配速度和精度。并且郭涛算法还可用于特征匹配最优解的搜索。

参考文献:

[1]郭涛,康立山,李艳.一种求解不等式约束下函数优化问题的新算法[J].武汉大学学报(自然科学版),1999(5B).

[2]郭涛.演化计算与优化[D].武汉:武汉大学软件工程国家重点实验室,1999.

[3]陈国良,王煦法,庄镇泉,等.遗传算法及其应用[M].北京:人民邮电出版社,1996.

[4]段玉倩,贺家李.遗传算法及其改进[J].电力系统及其自动化学报,1998( 1) .

[5]董建明,邹奉元,胡觉亮,等.基于自适应遗传互相关算法的模板匹配[J].浙江理工大学学报,2006(1).

[6]顾静良,张卫,万敏.基于自适应模板匹配的红外弱小目标检测[J].电子技术应用,2005(5).

[7]陈胜双,吴方才,黄樟灿,等.基于数值遗传算法的快速模板匹配[J].武汉理工大学学报:信息与管理工程版,2006(3).

[8]李艳,康卓,刘溥.郭涛算法及其应用[J].武汉汽车工业大学学报,2000(3).