我正在进行图像处理领域的机器学习研究。我希望通过使用方向梯度直方图(HOG)和支持向量机(SVM)来确定图像中物体的位置。我已经阅读了一些关于训练SVM的文章和教程。设置非常标准。我已经标记了正样本训练图像,现在需要生成一组负样本训练数据。
在文献中,常见的方法是通过随机选择位置来生成负样本训练数据。我还看到了一些方法,这些方法在选择随机负样本之后的步骤中,将检测到的误报再次用作负样本训练数据。然而,我在想是否可以从一开始就普遍使用这种方法。也就是说,只随机生成一个假训练样本,运行检测,然后将误报再次放入负样本训练集中。这对我来说似乎是一个显而易见的方法,但我怀疑自己是否遗漏了什么。
回答:
这种方法背后的理论在P. Felzenszwalb、R. Girshick、D. McAllester、D. Ramanan的PAMI论文《基于部分模型的判别训练对象检测》中有详细说明。简而言之,你的初始负样本集并不重要,如果你迭代地添加难样本(SVM边界 > -1),你总是会收敛到相同的分类器。从单个负样本开始只会使这种收敛速度变慢。