我想训练一个用于对象检测的支持向量机。此时,我有一个 python 脚本,可以检测 FAST 关键点并提取该位置的 Brief 特征。
现在我不知道如何使用这些描述符来训练 SVM。
请你告诉我:
如何使用描述符来训练SVM(据我所知这些描述符应该是我的训练数据)?
标签有什么用途以及如何获得它们?
要训练 SVM,您需要一个矩阵X
带有你的特征和向量y
和你的标签。对于 3 个图像和两个特征,它应该如下所示:
>>> from sklearn import svm
>>> X = [[0, 0], <- negative 0
[1, 3], <- positive 1
2, 5]] <- negative 0
>>> y = [0,
1,
0]
>>> model = svm.SVC()
>>> model.fit(X, y)
训练集将由多个图像组成,每个图像都是一行X
and y
.
Labels:
对于标签y
你需要正面和负面的例子(0或1):
阳性样本
您可以通过两种方式指定正样本。一种方法是指定
较大图像中的矩形区域。区域包含对象
出于兴趣。另一种方法是裁剪出感兴趣的对象
从图像并将其另存为单独的图像。然后,您可以指定
该区域是整个图像。您还可以产生更多积极的
通过添加旋转或噪声或通过改变现有样本
亮度或对比度。
负样本
不包含感兴趣对象的图像。
[稍微编辑自here] http://de.mathworks.com/help/vision/ug/train-a-cascade-object-detector.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)