【问题标题】:How to use SIFT/SURF as features for a machine learning algorithm?如何使用 SIFT/SURF 作为机器学习算法的特征?
【发布时间】:2013-12-01 05:21:58
【问题描述】:

我正在研究一个自动图像注释问题,我试图将标签与图像相关联。为此,我正在尝试使用 SIFT 功能进行学习。但问题是所有 SIFT 特征都是一组关键点,每个关键点都有一个二维数组,关键点的数量也很大。我的学习算法通常只接受一个-d 特征?

【问题讨论】:

标签: opencv image-processing machine-learning sift feature-extraction


【解决方案1】:

您可以将单个 SIFT 表示为一个数字的“视觉词”并将其用作 SVM 输入,我认为这是您所需要的。它通常通过 k-means 聚类来完成。

此方法称为“词袋”,在this paper 中进行了描述。

Short presentation review of method.

【讨论】:

    【解决方案2】:

    你应该阅读关于 SIFT 的原始论文,它告诉你什么是 SIFT 以及如何使用它,你应该仔细阅读第 7 章,然后休息以了解如何实际使用它。 这是原始论文的link

    【讨论】:

    • 我的问题不在于 SIFT 本身,我知道输出是一组关键点,每个关键点有 128 个值。即使我考虑采用前 10 个关键点,我必须处理的值的数量是 128 x 10,这是巨大的,那么无论如何要为这些关键点应用降维或其他东西吗?
    【解决方案3】:

    您可以使用词袋方法,您可以在以下帖子中了解该方法:

    http://gilscvblog.wordpress.com/2013/08/23/bag-of-words-models-for-visual-categorization/

    【讨论】:

      【解决方案4】:

      Sift 和 Surf 是不变的特征提取器。匹配功能将有助于解决许多问题。

      • 但存在匹配问题,因为两个不同图像中的所有点可能都不相同。 (以及在相似性问题的情况下)。因此,您应该使用与其他人可能匹配的功能。

      • 另一个问题是该算法提取了大量在大型数据集中无法匹配的特征。

      有一个很好的解决方案,叫做“视觉词袋”

      https://github.com/dermotte/LIRE完整的视觉词包完全实现。这是lire Demo 网站。

      如果您知道可视词包,代码非常简单,您也可以修改。

      获得视觉词后,您应该使用搜索引擎中使用的信息检索方法。顺便说一句,Lire 还包括一个名为lucene 的信息检索库。在获得完整的想法并实施自己的想法之前,您应该放松一下。

      【讨论】:

        猜你喜欢
        • 2019-05-30
        • 2016-07-27
        • 2023-03-21
        • 2017-10-27
        • 1970-01-01
        • 2013-03-25
        • 2014-03-19
        • 1970-01-01
        • 2011-07-29
        相关资源
        最近更新 更多