如何生成未填充空间的骨架点?

时间:2017-03-30 01:28:05

标签: python algorithm python-3.x scikit-learn

给定一个点坐标数组,我想生成n个最佳坐标,最好定义" 未填充的空间。

我的方法的第一部分涉及使用K-Means聚类来生成合理代表所有点的k点。然后我想用这些点来为未填充的空间生成骨架点。

示例如下所示。初始点显示为小点,K-Means聚类中心显示为大点(k = 5),我的人体估计应放置骨架点的位置用黄色方块表示,其中{{1 }}

estimated skeletal points

为未填充空间生成这些骨架点的最佳方法是什么? (看起来我似乎需要一个"逆聚类"算法。)随意提供一个不使用K-Means聚类的解决方案;这只是我试图简化问题。

n = 4

1 个答案:

答案 0 :(得分:1)

这是尝试翻译您所要求的内容:

1)用规则间隔的网格填充有问题的区域。

2)从这个规则网格中移除初始点附近的点。

3)使用k-means聚类来聚类剩余的网格点。

如果你有P个初始点并打算创建k个簇,我会删除大约P * 100 /(P + k)%的网格点。应该有一些聪明的方法来获得使用非常精细网格的准确性,而无需逐个实际处理所有网格点,例如通过递归地将空间分成块,但是一个简单的网格可以让你快速测试这个想法并看看它是什么样的。