什么是训练SVM的意思

时间:2016-02-07 05:26:55

标签: python image-processing machine-learning svm image-recognition

我是图像处理的新手。作为我的项目,我正在使用“使用SVM的图像分类器”。我有我的最终软件的想法“我选择一些图像并将其作为我的软件的输入,它将对该图像进行分类。如果我给动物的形象,它会适当地将它分类为猫或蛇“

当我谷歌关于它。它说“首先你需要训练SVM”

训练SVM是什么意思?

在我的情况下,SVM的实际输入是什么(图像分类)?

SVM只是一个分类器,它如何对图像进行分类。我是否有必要将图像转换为任何特定格式?请帮助。

2 个答案:

答案 0 :(得分:0)

支持向量机(SVM)是用于监督数据分类的机器学习模型。 SVM基本上学习了一个超平面,它将数据空间分成2个区域(在2类情况下)。在你的情况下,假设你有蛇和猫的图像,你需要对它们进行分类。您需要遵循的步骤是

  

从图像中提取“功能”。

这些“特征”可能是蛇/猫的外观功能,例如动物的颜色,动物的形状等。通过连接这些特征,您可以获得多维特征向量。

  

训练SVM分类器

训练基本上是学习蛇类猫类的特征向量之间的分离超平面。例如,如果您的特征向量是二维的,那么训练SVM分类器将相当于“学习”一条线,该线最佳地分隔您的标记数据/训练数据。  您可以使用众多免费提供的机器学习库。如果你说python,你可以使用sklearn来完成任务。 这个学习任务(线性SVM中的超平面)被称为训练

  

对图像进行分类。

一旦你训练了你的模型,你就可以使用它来分类那些不知道类的图像。

注意:我正在简化此答案中涉及的许多细节/问题。我建议您阅读有关SVM的信息

答案 1 :(得分:-1)

你应该看看dlib,一个进行图像处理和识别的python模块:

http://dlib.net/

具体是python中对象检测器的例子:

http://dlib.net/train_object_detector.py.html

它提供了详细的安装说明和说明。