我目前正在 Matlab 中实现 HOG,但我不了解分箱,尤其是三线性插值部分。
我的理解是,一个单元格中的每个像素都被放入一个 bin 中以形成该单元格的直方图。但这就是我对atm的理解。
- 幅度是如何计算的?
- 立方体的边缘是什么,一个像素的 3D 坐标是什么?
我目前正在 Matlab 中实现 HOG,但我不了解分箱,尤其是三线性插值部分。
我的理解是,一个单元格中的每个像素都被放入一个 bin 中以形成该单元格的直方图。但这就是我对atm的理解。
Wikipedia描述了梯度(在图像的上下文中)并展示了如何获取其x
和y
坐标。
幅度是如何计算的?
r = sqrt(x*x+y*y)
一个像素的 3D 坐标是多少?
在计算梯度时,图像被视为高度图。对于具有(x,y)
灰度值的位置的像素,z
它表示高度图 3D 位置(x,y,z)
。
处的梯度(x,y,z)
具有方向和大小。直方图是将所有可能的方向离散化到 bin 中。例如,对于 8 个 bin,从 0 到 45 度的所有方向都将关联到同一个 bin。
bin 的选择基于梯度方向,并且基于大小将权重添加到 bin。
维基百科描述了 HOG 的步骤,并在原论文中给出了详细的指针。