代码之家  ›  专栏  ›  技术社区  ›  xey

PCL点特征直方图-装箱

  •  4
  • xey  · 技术社区  · 9 年前

    作为点特征直方图估计的一部分的装箱过程导致 b^3 如果仅使用三个角度特征(α,φ,θ),则为bin,其中b是bin的数量。

    为什么 b ^3 而不是 b * 3 ?

    假设我们考虑alpha。 特征值范围细分为b个区间。您遍历查询点的所有邻居,并计算一个间隔内的alpha值的数量。所以你有阿尔法的b箱。当您对其他两个功能重复此操作时 3 * b 箱子。

    我错在哪里?

    1 回复  |  直到 9 年前
        1
  •  2
  •   anderas    9 年前

    为了简单起见,我将首先用2D进行解释,即使用两个角度特征。在这种情况下,您将拥有b^2个存储箱,而不是b*2。

    要素空间被划分为规则栅格。特征是根据其在2D(或3D)空间中的位置进行装箱的,而不是沿每个维度独立装箱。请参见以下具有两个特征尺寸且b=4的示例,其中特征被装入标有 # :

    ^ phi
    |
    +-+-+-+-+
    | | | | |
    +-+-+-+-+
    | | | | |
    +-+-+-+-+
    | | | |#|
    +-+-+-+-+
    | | | | |
    +-+-+-+-+-> alpha
    

    该特征被合并到单元中,其中alpha在给定间隔中,phi在另一个间隔中。你理解的关键区别在于: 独立处理。每个单元格指定所有维度的间隔,而不是单个维度。 (这在3D中的工作方式是一样的,只不过你会有另一个θ维度和一个3D网格,而不是2D网格。)

    这种分仓方式导致2D情况下的分仓为b^2,因为 alpha 维度与 phi 维度,导致数字平方,而不是加倍。添加另一个维度,你得到的是立方体,而不是三倍,就像你的问题一样。