最邻近模板匹配法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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)