例程:classify_halogen_bulbs.hdev
在Halcon中模式匹配最成熟最常用的方式该署支持向量机了,在本例程中展示了使用支持向量机对卤素灯的质量检测方法。通过这个案例,相信大家可以对支持向量机的使用有一个更加清晰的了解。在相当多的检测和识别的应用中,都可以使用相同的方法来解决分类问题。
大致原理:
一、准备阶段:描述样本
1. 准备好两组卤素灯图像样本,好坏的各若干张图像;
2. 对样本图像进行分割,获取卤素灯关键部位区域;
3. 选择合适的对图像的描述,作为识别的特征;
一、准备阶段:构造分类器
1. 构造支持向量机:初始化支持向量机分类器所需的特征数量、核函数、类型数等参数;
2. 将样本添加到分类器中;
3. 进行训练,使分类器收敛;
二、识别阶段:分类识别
1. 提取待测目标区域;
2. 提取分类所需的特征:与准备阶段3中进行的操作相同;
3. 代入分类器进行分类。
上述在实际的操作过程中,准备阶段样本描述和构造分类器同时进行,即:将样本图像的特征提取和样本添加到分类器中这两步放在一个循环中完成。整个流程如下图所示:
图中左边部分是准备阶段所做的工作。如图所示,在使用SVM进行分类之前,首先需要构造分类器;构造完分类器之后,样本通过SVM样本描述循环体,被逐个进行特征提取后加入到待训练的SVM分类器中;所有训练样本按照各自的类型添加结束后就进行训练,使SVM收敛。
训练之后的SVM就可以用于分类了,下面就进入识别阶段。如图右侧所示,将待检测的样品图像经过相同的特征提取过程后代入SVM分类器即可得到分类结果。由于SVM本质上是对提取的特征向量的特征空间进行划分来区别特征的类别,因此在识别阶段使用的特征需要和准备阶段的完全相同。这样SVM在对待测样本中提取的特征向量进行划分时才知道它具体落入哪一个类型所在的空间,也就知道该样本的类型了。
对于使用,我们只要知道SVM是一个分类器,可以根据先验知识将特征向量进行分类。如果想深入了解SVM是如何分类的,里面涉及到的原理可以通过下面的链接来查看:
http://files.cnblogs.com/sleepwalke/Ch12_pres%28SVM%29.pdf <