【问题标题】:SVM image target size issueSVM 图像目标大小问题
【发布时间】:2015-03-16 20:47:51
【问题描述】:

据我所知,当使用 SVM 时,它会尝试将其训练的内容与具有相似大小的所需目标的图像相匹配。

简单的例子来更好地解释自己:

如果 SVM 是针对看起来像 like this 的 iPod nano 图像进行训练的,那么当出现看起来像 like this 的图像时,它的性能就不会那么好了。

我发现,对于我的训练集,当它再次通过 SVM 作为测试集运行时,目标显示为 iPod 的训练图像(即更远)失败了尽管接受了这些图像的训练,但仍被识别为匹配项。

那么可以做些什么来解决这个问题呢?或者您是否必须简单地创建多个SVMs,并在不同距离处使用所需目标进行训练?

【问题讨论】:

    标签: opencv machine-learning svm


    【解决方案1】:

    首先,你的方法不好。 SVM 试图判断图像是否相同(如您所说,大小相同),所以如果您的图像在某个区域包含对象,则不是。因此,您需要检测图像中的对象,然后使用 SVM 对其进行分类。在您的第二张图片中,您的 iPod 太小了,而且它周围的信息太多。您需要一个检测器 (traincascade)。

    或者您可以训练一个 BOW(请参阅this 以获得更好的理解),这将能够说明您的图像是否包含对象。或者尝试使用特征检测器、描述符提取器和匹配来寻找相同的对象(如here)。

    【讨论】:

    • 我理解并且正在使用BoWfeature detectors,但是目标是嘈杂的图像,因为iPod 在第二张图像中是我的问题。 traincascade 是我没有遇到过的,所以我一定会调查的。
    • 对于火车级联,您需要大量图像...如果您的方法在许多其他图像上运行良好(或非常好),您应该尝试对图像进行降噪而不是继续进行级联(如果您不来处理案件,那么您将继续使用级联探测器)
    • 我已经实现了Canny 来尝试对图像进行去噪,但我发现使用我的训练集,当它再次通过SVM 作为在测试集上,目标显示为 iPod 的训练图像(即更远)尽管在这些图像上进行了训练,但未能被识别为匹配。
    • 好的,那么你的训练集不太好。正如我所说,如果您在包含 ipod 图像的数据库上训练 SVM,例如在您的两个图像中,您将在数据集中插入噪声(除非图像被注释,并且您只考虑注释区域)
    • 或者如果你正在训练 svm 的特征描述符,你应该只考虑 ipod 所在区域的特征
    猜你喜欢
    • 2012-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-30
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多