Image processing 直方图箱的HOG三线性插值

Image processing 直方图箱的HOG三线性插值,image-processing,computer-vision,Image Processing,Computer Vision,我正在研究方向梯度直方图(HOG)特征,并试图实现Dalal博士论文中描述的直方图箱的三线性插值。他解释了如下所述的插值过程: 编辑:粗略地说,HOG特征是从分为块的64x128像素窗口中提取的。每个块由2x2个单元组成,单元面积为8x8像素。提取从计算图像的一阶导数开始,然后计算每个像素的方向和大小。计算每个8x8像素单元块内的方向直方图,其中像素根据像素的方向以大小值贡献直方图,大小在方向和位置上的相邻bin中心之间插值。直方图包含9个箱子,表示0-180度,步幅为20度。该算法的总体描述如

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

编辑:粗略地说,HOG特征是从分为块的64x128像素窗口中提取的。每个块由2x2个单元组成,单元面积为8x8像素。提取从计算图像的一阶导数开始,然后计算每个像素的方向和大小。计算每个8x8像素单元块内的方向直方图,其中像素根据像素的方向以大小值贡献直方图,大小在方向和位置上的相邻bin中心之间插值。直方图包含9个箱子,表示0-180度,步幅为20度。该算法的总体描述如下所示:

我们首先描述线性插值 在一维空间中,然后 将它扩展到三维,设h为直方图 具有仓间距离(带宽)b。 h(x)表示 以x为中心的垃圾箱直方图。 假设我们要插值一个 将x点处的重量w放入 直方图。设x1和x2为两个 该点最近的相邻垃圾箱 x使得x1≤ x 设w在三维点x=[x,y,z] 是要插值的权重。让 x1和x2是的两个角向量 包含x的直方图立方体,其中 在每个组件x1中≤ x

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

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


谢谢。

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

通过阅读Paul Burke的文章,我学会了如何进行3D插值:

对不起,我必须生成我自己的图像,以便了解正在发生的事情。 这当然是一种有趣的技术。

将(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)的集合构成了完整的立方体。(x1,y1,z1)和(x2,y2,z2)之间的三线性插值实际上意味着在你感兴趣的点周围的三维直方图空间中的8个点之间的插值!现在回答你的问题:

(x1,y1),(x2,y2)(和(x1,y2)和(x2,y1)表示(x,y)平面中的箱子中心。在您的例子中,这些将是方向向量

z1和z2表示方向上的两个箱子级别,如您所说。结合图像平面中的四个点,总共可以得到8个箱子

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

bx = 8 pixels
by = 8 pixels
这就剩下了bz,实际上我需要更多的数据,因为我不知道梯度的完整范围(即从最低到最高的可能值),但是如果该范围是
rg
,那么:

bz = rg/9
通常,任何方向上的带宽等于该方向上的全部可用范围除以该方向上的存储箱数


关于带图片的三线性插值的详细解释,请查看中的链接。

这似乎是原始参考:是的,这是原始参考。谢谢!关于OPs图片,请参阅论文第117页。直方图的构造在第95页上有描述。您是否尝试过为这样的直方图绘制3D散点图?我想这将是有启发性的,并可能解释他们为什么要做插值。如果你能解释直方图中包含了什么信息,那将是很有帮助的。它似乎至少涉及到比例空间金字塔和2d光流场。很好!页面中间的三线性插值的解释非常好。谢谢你的好e解释。假设我们正在计算块中(1,1)指数的直方图,像素的方向是75度,大小是13。如果没有插值,这个像素会贡献到直方图中的第四个位置,因此我们的变量是x=1,y=1,z=4。因此,x1=0,x2=2,y1=0,y2=2,z1=3,z2=5,因为x1=0≤ x