【问题标题】:HOG Trilinear Interpolation of Histogram Bins直方图箱的 HOG 三线性插值
【发布时间】:2011-09-27 18:26:49
【问题描述】:

我正在研究定向梯度直方图 (HOG) 特征,我正在尝试实现直方图箱的三线性插值,如 Dalal 博士论文中所述。他解释了如下引用的插值过程:

编辑:粗略地说,HOG 特征是从一个 64x128 像素的窗口中提取的,该窗口分为块。每个块由 2x2 个单元组成,一个单元是 8x8 像素区域。提取从计算图像的一阶导数开始,然后计算每个像素的方向和大小。计算每个 8x8 像素单元的块内的方向直方图,其中像素根据像素的方向对具有幅度值的直方图做出贡献,并且幅度在方向和位置的相邻 bin 中心之间内插。直方图包含 9 个 bin,代表 0-180 度,步幅为 20 度。该算法的整体描述可以在这里看到:http://4.bp.blogspot.com/_7NBDeKCsVHg/TKBbldI8GmI/AAAAAAAAAG0/G-OXUz1ouPQ/s1600/a1.bmp

我们首先描述线性插值 在一维空间中,然后 将其扩展到 3-D。设 h 为直方图 具有箱间距离(带宽) b。 h(x) 表示 以 x 为中心的 bin 的直方图。 假设我们要插入一个 权重 w 在点 x 进入 直方图。让 x1 和 x2 成为两个 点的最近邻箱 x 使得 x1 ≤ x

让 w 在 3-D 点 x = [x, y, z] 是要插值的权重。让 x1 和 x2 是两个角向量 包含 x 的直方图立方体,其中 在每个分量 x1 ≤ x

.

我们计算单元格的直方图,每个像素都以其大小值对直方图做出贡献。我从公式中了解到的是,x 和 y 代表细胞在检测窗口中的位置,z 是 bin 编号。在一个 64x128 的检测窗口中,有 8x16 个单元格和 9 个方向箱,因此我们的直方图表示为 h(8,16,9)。如果上述陈述正确,那么 (x1,y1) 和 (x2,y2) 是否分别代表前一个单元格和字母单元格? z1 和 z2 是否表示前一个和字母方向箱?那么带宽 b=[bx, by, bz] 呢?

如果有人能澄清这些问题,我将不胜感激。

谢谢。

【问题讨论】:

  • 是的,这是原始参考。谢谢!
  • 参见论文第 117 页的 OPs 图片。第 95 页描述了直方图的构造。
  • 您是否尝试过制作此类直方图的 3D 散点图?我认为这很有启发性,并且可以解释他们为什么要进行插值。
  • 如果您能解释将哪些信息分箱到直方图中,将会很有帮助。它似乎至少涉及尺度空间金字塔和二维光流场。

标签: image-processing computer-vision


【解决方案1】:

将 (x1, y1, z1) 和 (x2, y2, z2) 视为跨越一个立方体的两个点,该立方体围绕您要为其插入 h 值的点 (x,y,z)。 八个点的集合 (x1, y1, z1), (x2, y1, z1), (x1, y2, z1), (x1, y1, z2), (x2, y2, z1), (x2, y1, z2), (x1, y2, z2), (x2, y2, z2) 形成完整的立方体。所以 (x1, y1, z1) 和 (x2, y2, z2) 之间的三线性插值实际上是指您感兴趣的点周围的 3D 直方图空间中的 8 个点之间的插值!现在回答您的问题:

(x1, y1), (x2, y2) (和 (x1,y2) 和 (x2, y1) 表示 (x,y) 平面中 bin 的中心。在您的情况下,这些将是方向向量.

z1 和 z2 代表方向方向上的两个 bin 级别,如您所说。结合图像平面中的四个点,总共有 8 个 bin。

带宽 b=[bx, by, bz] 基本上是 x、y 和 z 方向上相邻 bin 的中心之间的距离。在您的情况下,x 方向有 8 个 bin,该方向有 64 个像素,y 方向有 16 个 bin,y 方向有 128 个像素:

bx = 8 pixels
by = 8 pixels

剩下的 bz,我实际上需要更多数据,因为我不知道梯度的全部范围(即最低到最高可能值),但如果该范围是 rg,那么:

bz = rg/9

一般来说,任何方向的带宽等于该方向的全部可用范围除以该方向的 bin 数量。

有关三线性插值的详细解释,请查看whoplisp's answer 中的链接。

【讨论】:

  • 感谢您的精彩解释。因此,假设我们正在计算块中 (1,1) 索引的直方图,像素的方向为 75 度,大小为 13。如果没有插值,则该像素对块中的第 4 个 bin 有贡献直方图,因此我们的变量是 x=1,y=1,z=4。因此,x1=0, x2=2, y1=0, y2=2, z1=3, z2=5 因为x1 ≤ x
  • 您不应将“邻居”视为新 (x,y,z) 值所在的 bin 的邻居,而是将其视为中心最接近的 8 个 bin 的集合新的 (x,y,z) 值。因此,您正在寻找由八个 bin 中心直接围绕您的新值形成的立方体。
【解决方案2】:

让我们先看看矩形 HOG。如第 32 页所示,一张图片被分成几块。 第 46 页在 (f) 中显示了一个 R-HOG 描述符。第 49 页解释了数据是如何分箱的。

通过阅读 Paul Burke 的文章,我学会了如何进行 3D 插值:http://paulbourke.net/miscellaneous/interpolation/

抱歉,我必须生成自己的图像,才能了解发生了什么。 这当然是一种有趣的技术。

【讨论】:

  • 不错!页面中途三线性插值的讲解非常好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-16
  • 2021-10-29
  • 2016-01-24
  • 2021-04-08
  • 2020-08-09
  • 1970-01-01
  • 2010-12-11
相关资源
最近更新 更多