最邻近模板匹配法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

报告提交日期2013年6月27 报告批改日期2013年月

最邻近模板匹配法

一.实验内容:

在模式识别中一个最基本的方法,就是模板匹配法(template matching),它基本上是一种统计识别方法。为了在图像中检测出已知形状的目标物,我们使用这个目标物的形状模板(或窗口)与图像匹配,在约定的某种准则下检测出目标物图像,通常称其为模板匹配法。它能检测出图像中上线条、曲线、图案等等。它的应用包括:目标模板与侦察图像相匹配;文字识别和语音识别等。

二. 实验条件

pc机一台,vs2008软件

三.实验原理

我们采用以下的算式来衡量模板T(m,n)与所覆盖的子图Sij(i,j)的关系,已知原始图像S(W,H),如图所示:

利用以下公式衡量它们的相似性:

上述公式中第一项为子图的能量,第三项为模板的能量,都和模板匹配无关。第二项是模板和子图的互为相关,随(i,j)而改变。当模板和子图匹配时,该项由最大值。在将其归一化后,得到模板匹配的相关系数:

当模板和子图完全一样时,相关系数R(i,j) = 1。在被搜索图S中完成全部搜索后,找出R的最大值Rmax(im,jm),其对应的子图Simjm即位匹配目标。显然,用这种公式做图像匹配计算量大、速度慢。我们可以使用另外一种算法来衡量T和Sij的误差,其公式为:

计算两个图像的向量误差,可以增加计算速度,根据不同的匹配方向选取一个误差阀值E0,当E(i,j)>E0时就停止该点的计算,继续下一点的计算。

最终的实验证明,被搜索的图像越大,匹配的速度越慢;模板越小,匹配的速度越快;阀值的大小对匹配速度影响大;

3、改进的模板匹配算法

将一次的模板匹配过程更改为两次匹配;

第一次匹配为粗略匹配。取模板的隔行隔列数据,即1/4的模板数据,在被搜索土上进行隔行隔列匹配,即在原图的1/4范围内匹配。由于数据量大幅减少,匹配速度显著提高。同时需要设计一个合理的误差阀值E0:

E0 = e0 * (m + 1) / 2 * (n + 1) / 2

式中:e0为各点平均的最大误差,一般取40~50即可;

m,n为模板的长宽;

第二次匹配是精确匹配。在第一次误差最小点(imin, jmin)的邻域内,即在对角点为(imin -1, jmin -1), (Imin + 1, jmin + 1)的矩形内,进行搜索匹配,得到最后结果。

四.实验内容

1. 流程图

2.程序

number_no Classification::LeastDistance()

{

double min=; 定义一个变量存放最小值

number_no number_no;

for(int n=0;n<10;n++) 三个for循环逐一地和每个样品{ 进行距离计算,并把最小距离值for(int i=0;i

{

if(pipei(pattern[n].feature[i],testsample)

{

//匹配的最小值

min=pipei(pattern[n].feature[i],testsample);

number_no.number=n;//样品类别

number_no.no=i;//样品序号

}

}

}

return number_no;//返回手写数字的类别和序号将最小距离对应的类别号返} 回

五,实验结果分析

识别数字:

算法实现的关键问题是进行匹配,求最小距离,其解决方法是和训练集的样品逐一进行距离的计算,最后找出最相邻的样品得到类别号。

六.实验心得

针对每一种模式识别技术。老师讲解了理论基础,实现步骤,编程代码三部分,了解了基本理论之后,按照实现步骤的指导,可以了解算法的实现思路和方法,再进一步体会核心代码。但由于对C++掌握不是太好,所有算法都是用VC++编程实现的,所以对模式识别技术的掌握还是不够好。研究程序代码是枯燥无味的,但只要用心去学,研究,还是能收获自己想要的结果,也会拥有不一样的快乐。别人的思想要做到学以致用,同时自己也要学会绝一反三。希望以后低年级的教学安排中,能早一点多学点相关的软件基础,平时老师能给我们学生一部分相关的作业作为练习。之后能细致的讲解和辅导。当然,我们自己也应该更加努力课下阅读学习相关的书籍知识。

七. 参考文献

杨淑莹,《图像模式识别》,清华大学出版社,2005年第一版

Bayes分类器——最小错误概率的Bayes方法

一.实验目的:

1. 对模式识别有一个初步的理解,能够根据自己的设计对贝叶斯决策理论算法有一个深刻地认识;

2. 理解二类分类器的设计原理。

二. 实验条件

pc机一台,vs2008软件

三.实验原理

1. 目标:

计算。

分析:

由于数据t是一个新的数据,无法在训练数据集中统计出来。因此需要转换。根据概率论中的贝叶斯定理

将的计算转换为:

(1)

其中,表示类C j在整个数据空间中的出现概率,可以在训练集中统计出来(即用C j在训练数据

集中出现的频率来作为概率。但和仍然不能统计出来。

首先,对于,它表示在类中出现数据t的概率。根据“属性独立性假设”,即对于属于类

的所有数据,它们个各属性出现某个值的概率是相互独立的。如,判断一个干部是否是“好干部”(分类)时,其属性“生活作风=好”的概率(P(生活作风=好|好干部))与“工作态度=好”的概率(P(工作态度=好|好干部))是独立的,没有潜在的相互关联。换句话说,一个好干部,其生活作风的好坏与其工作态度的好坏完全无关。我们知道这并不能反映真实的情况,因而说是一种“假设”。使用该假设来分类的方法称为“朴素贝叶斯分类”。

根据上述假设,类中出现数据t的概率等于其中出现t的各属性值的概率的乘积。即:

(2)

其中,是数据t的第k个属性值。

其次,对于公式(1)中的,即数据t在整个数据空间中出现的概率,等于它在各分类中出现概率的总和,即:

(3)

其中,各的计算就采用公式(2)。

这样,将(2)代入(1),并综合公式(3)后,我们得到:

(4)

相关文档
最新文档