如何检测空间点分布中存在的一维和二维模式?

信息处理 检测 图案 空间的
2022-02-08 15:02:36

我有很多点图案,我想检测那些点排列成可能弯曲、相交或断裂的线的图案。例如,在下图中,左上角的图案并不有趣,但其他三个图案是我想要检测的图案。

在此处输入图像描述

并非有趣模式中的所有点都对齐。这些模式中的某些点仍然是随机的。这些线没有任何参数形式,所以我不能使用霍夫变换。我搜索了一些关于空间统计的文献,例如这一篇,并且只找到了用于评估空间均匀性和检测聚类的指标,例如分散指数。存在哪些指标不仅可以检测集群,还可以检测曲线的存在?

我也需要对三维点做同样的分析。如何检测那些点大致排列在可以摆动的线条和表面上的 3D 图案?

1个回答

也许您可以执行斑点检测以找到各个点,然后将它们的位置映射到 2d 空间,通过使用一些测量值(例如斑点的质心)来保留它们的空间结构。

一旦您将每个 blob 映射到其在 2d 空间中的坐标,您就可以执行聚类或拟合回归量,因为这些模式有点类似于分段多项式,您可以将它们建模为二阶或三阶多项式,并在RANSAC上构建您的算法,它是在丢弃异常值的同时拟合模型的概率算法,您还可以引入一些额外的超参数:

  1. 最小化成本函数的点的百分比阈值(您可以使用平方误差之和作为构建的基本成本函数),因此属于该模式。
  2. 如果您选择分段多项式方法,则分段关系的数量。然后,您可以从下一次迭代中排除适合分段多项式的一个分支的有效点,直到找到所有此类多项式。

另一种可以根据测地线结构而不只是距离对点进行聚类的经典算法是DBSCAN,它选择了一个合适的ϵ对于您的数据集,因为属于该模式的点彼此相当接近。更复杂的经典机器学习算法是ISOMAP,它还可以根据测地线属性对点进行聚类