物体识别点分布的分类

时间:2012-08-20 14:43:17

标签: python opencv machine-learning computer-vision object-recognition

我有一些我需要分类的要点。鉴于这些点的集合,我需要说出哪些其他(已知)分布最匹配。例如,给定左上角分布中的点,我的算法必须说明它们是否与第2,第3或第4分布更好匹配。 (由于类似的方向,这里左下角是正确的)

Points Given Sample distribution 1 Sample distribution 2 Sample distribution 3

我有一些机器学习的背景,但我不是专家。我正在考虑使用高斯混合模型,或者可能是隐马尔可夫模型(因为我之前已经将签名与这些相似的问题分类)。

对于使用哪种方法来解决这个问题,我将不胜感激。作为背景信息,我正在使用OpenCV和Python,所以我很可能不必从头开始实现所选择的算法,我只想要一个指针来了解哪些算法适用于这个问题。

免责声明:我原本想把它发布在StackExchange的数学部分,但是我没有发布图像的必要声誉。我觉得如果不显示一些图像就无法明确我的观点,所以我在这里发布了它。我相信它仍然与计算机视觉和机器学习有关,因为它最终将用于对象识别。

修改

我阅读并考虑了下面给出的一些答案,现在想添加一些新信息。我不想将这些分布建模为单个高斯分布的主要原因是最终我还必须能够区分分布。也就是说,可能有两个不同且独立的分布代表两个不同的对象,然后我的算法应该知道两个分布中只有一个代表我们感兴趣的对象。

3 个答案:

答案 0 :(得分:1)

我认为这取决于数据的确切来源以及您希望对其分布做出哪些假设。即使从单个高斯分布也可以很容易地绘制上述点,在这种情况下,每个参数的估计然后选择最接近的匹配非常简单。

或者你可以选择判别选项,即计算你认为可能有助于确定一组点所属的类的统计数据,并使用SVM或类似的东西进行分类。这可以被视为将这些样本(2d点的集合)嵌入更高维空间以获得单个向量。

此外,如果数据实际上与本示例中的数据一样简单,则可以通过第一个特征向量进行主成分分析和匹配。

答案 1 :(得分:1)

您应该将分布拟合到数据中,确定每个分布的chi ^ 2偏差,查看F-Test。例如,参见模型拟合等的这些notes

答案 2 :(得分:1)

您可能还需要考虑非参数技术(例如,对每个新数据集进行多元核密度估计),以便比较估计分布的统计数据或距离。在Python中stats.kdeSciPy.Stats中的实现。