我是图像处理的新手。作为我的项目,我正在使用“使用SVM的图像分类器”。我有我的最终软件的想法“我选择一些图像并将其作为我的软件的输入,它将对该图像进行分类。如果我给动物的形象,它会适当地将它分类为猫或蛇“
当我谷歌关于它。它说“首先你需要训练SVM”
训练SVM是什么意思?
在我的情况下,SVM的实际输入是什么(图像分类)?
SVM只是一个分类器,它如何对图像进行分类。我是否有必要将图像转换为任何特定格式?请帮助。
答案 0 :(得分:0)
支持向量机(SVM)是用于监督数据分类的机器学习模型。 SVM基本上学习了一个超平面,它将数据空间分成2个区域(在2类情况下)。在你的情况下,假设你有蛇和猫的图像,你需要对它们进行分类。您需要遵循的步骤是
从图像中提取“功能”。
这些“特征”可能是蛇/猫的外观功能,例如动物的颜色,动物的形状等。通过连接这些特征,您可以获得多维特征向量。
训练SVM分类器
训练基本上是学习蛇类和猫类的特征向量之间的分离超平面。例如,如果您的特征向量是二维的,那么训练SVM分类器将相当于“学习”一条线,该线最佳地分隔您的标记数据/训练数据。 您可以使用众多免费提供的机器学习库。如果你说python,你可以使用sklearn来完成任务。 这个学习任务(线性SVM中的超平面)被称为训练。
对图像进行分类。
一旦你训练了你的模型,你就可以使用它来分类那些不知道类的图像。
注意:我正在简化此答案中涉及的许多细节/问题。我建议您阅读有关SVM的信息
答案 1 :(得分:-1)
你应该看看dlib,一个进行图像处理和识别的python模块:
具体是python中对象检测器的例子:
http://dlib.net/train_object_detector.py.html
它提供了详细的安装说明和说明。