gpt4 book ai didi

python - Opencv:使用 FAST 关键点和 BRIEF 特征训练 SVM

转载 作者:太空宇宙 更新时间:2023-11-03 21:27:17 24 4
gpt4 key购买 nike

我想训练用于对象检测的 SVM。此时我有一个 python 脚本,它检测 FAST 关键点并在该位置提取 BRIEF 特征。

现在我不知道如何使用这些描述符来训练 SVM。

你能告诉我吗:

  1. 如何使用描述符来训练 SVM(据我所知这些描述符应该是我的训练数据)?

  2. 标签有什么用,我如何获得它们?

最佳答案

要训练 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)

训练集将由多张图片组成,每张图片都是一行Xy

标签:

对于标签 y,您需要正面和负面的例子(0 或 1):

Positive Samples

You can specify positive samples in two ways. One way is to specify rectangular regions in a larger image. The regions contain the objects of interest. The other approach is to crop out the object of interest from the image and save it as a separate image. Then, you can specify the region to be the entire image. You can also generate more positive samples from existing ones by adding rotation or noise, or by varying brightness or contrast.

Negative Samples

Images that do not contain objects of interest.

[slightly edited from here]

特征矩阵X:

在这里您可以发挥创意,但我会提一个简单的想法。制作 height * width 特征,每个图像的每个像素一个,但除了 FAST 关键点周围的小区域外,将它们全部设为 0。最后,您的 X 矩阵将具有维度 (n_images, height*width)。

另一个常用的想法是词袋。 X 矩阵必须具有固定数量的特征/列,并且关键点的数量是可变的。这是一个表示问题,但可以通过将它们分箱到具有固定数量分箱的直方图中来解决。有关详细信息,请参见示例 this paper .

您必须查阅专业文献才能找到更多结合 BRIEF 功能的方法,但我希望这能让您了解如何开始。

关于python - Opencv:使用 FAST 关键点和 BRIEF 特征训练 SVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27706012/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com