【问题标题】:Calculating the similarity of 2 sets of convex polygons?计算两组凸多边形的相似度?
【发布时间】:2020-10-06 10:05:05
【问题描述】:

我使用不同的算法生成了 2 组凸多边形。每个集合中的每个多边形都由坐标数组[n_points, xy_coords] 描述,因此正方形由数组[4,2] 描述,但圆角五边形具有[80,2],额外的75 个点为用于描述曲率。

我的目标是量化这两组几何图形的相似程度。

谁能推荐任何这样做的方法?

到目前为止,我遇到过:

  • 汉明距离
  • 豪斯多夫距离

我想知道 2D 多边形的其他可靠的相似性度量。理想情况下,该方法需要在凸多边形上具有鲁棒性,并提供大型集合(每个 10,000+)之间的相似性度量。

【问题讨论】:

  • 这种相似性度量是否应该对几何变换(如过渡、旋转或缩放)具有鲁棒性?
  • 并非所有形状都已居中对齐。
  • 按原样,问题与pythonnumpyscikit-learn 无关(已删除标签并替换为algorithm)。
  • 您可以测量两个集合的交集面积与其并集面积的比率
  • 好吧,据我了解,我需要计算两个集合的 IoU,然后计算 2 的比率。在计算集合的 IoU 时,我是否应该迭代地评估每个形状的 IoU集合中的所有其他形状?这种方式似乎计算量很大,所以我想知道是否还有其他更灵活的方法。

标签: algorithm geometry similarity


【解决方案1】:

据我了解,您在寻找形状相似性或形状分析算法。你会在这里找到更强大的方法:https://www.cs.princeton.edu/courses/archive/spr00/cs598b/lectures/polygonsimilarity/polygonsimilarity.pdfhttps://student.cs.uwaterloo.ca/~cs763/Projects/phil.pdf

  1. 车削功能;
  2. 图形匹配;
  3. 形状签名。

【讨论】:

    【解决方案2】:

    假设两个多边形都是对齐的、居中且凸的,您可以尝试通过计算较小多边形的面积与两个多边形的凸包面积的比率来评估相似性。

    比率 = 最小值(面积(A),面积(B))/面积(凸包(A,B))

    如果两个多边形相等,则比率将为 1,如果像点和正方形那样相差很大,则比率将为 0。

    多边形的面积可以在 O(N) 时间内计算出来。见Area of polygon。 凸包可以在 O(N log N) 中计算。见Convex Hull Computation。通过合并排序两个多边形的已排序顶点并应用Graham Scan Algorithm 的第二阶段,它可以加速到 O(N)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-17
      • 1970-01-01
      • 2012-08-04
      • 1970-01-01
      • 1970-01-01
      • 2017-07-05
      • 2015-07-11
      • 2012-03-25
      相关资源
      最近更新 更多