【问题标题】:Segmentation algorithm to split a group of points based on their local linearity基于局部线性度分割一组点的分割算法
【发布时间】:2016-06-03 06:11:50
【问题描述】:

假设我有一些大致由 N 段组成的点,每个点之间都有一些线性关系。下面的例子展示了 3 个集群,但是我们通常不知道有多少段是合适的。那么哪种算法可以根据局部线性将一组点分成几段(即一个簇内的点是线性相关的)。

图一:点。

图 2:预期集群:

【问题讨论】:

  • 非常有趣的问题,我一无所知。但是找到一个欧几里得最小生成树,然后将其划分为几乎共线点的子树似乎是一种有用的方法。

标签: algorithm cluster-analysis data-mining robot


【解决方案1】:

虽然您可以尝试相关聚类算法,但我认为您不是在这里查看聚类问题。

相反,请查看时间序列分段。不同之处在于聚类算法会将点视为独立,但在您的问题中,它们源于序列

如果您考虑 X 形状,您可能希望将其分割成四段,但聚类算法会将其视为两个线性聚类。更糟糕的是,如果你删除中心以获得这样的数据集:

\ /

/ \

对于许多相关聚类算法,它仍然是 两个 聚类,因为两个部分每个具有完全相同的相关性。

【讨论】:

    【解决方案2】:

    这个问题对您来说可能已经过时了,但为了将来的参考,请尝试使用 Hough 变换。

    如果您知道要搜索多少条线 (N),请对您的数据集应用 Hough 变换,提取 N 个最高峰,然后根据它们与 N 条线中每条线的接近程度对点进行聚类。

    我知道这种方法在计算上效率不高,但您似乎没有多少点,所以这里不应该是一个主要问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-29
      • 2013-03-02
      • 1970-01-01
      • 1970-01-01
      • 2014-01-16
      • 2023-04-01
      • 2018-03-08
      相关资源
      最近更新 更多