直方图梯度特征(HOG)的Matlab实现

4

我正在尝试确定每个块包含多少个特征,换句话说,如果我理解正确的话,每个特征是针对特定方向的直方图的一个箱子。

当我在Matlab中运行以下代码时:

你可以看到它显示了16个不同的HOG特征,但特征向量是1x324。那么每个块/单元格有多少个特征呢?

谢谢。

clear
clc
close all
img = imread('cameraman.tif');
[hog1, visualization] = extractHOGFeatures(img,'CellSize',[64 64]);
subplot(1,2,1);
imshow(img);
subplot(1,2,2);
plot(visualization);

enter image description here

1个回答

4
你的HOG矢量大小为324是因为图像中有9个重叠的块,每个块的大小为2x2个单元格,每个单元格大小为64x64像素。每个块给出了4个梯度方向直方图,每个直方图包含9个条形箱。所以HOG特征的数量是9 * 4 * 9 = 324。
可视化显然显示了单元格的采样,以使您了解图像中方向分布的情况。您的图像中有4x4个单元格。可视化图表中显示的是每个单元格的梯度方向直方图的玫瑰图。

谢谢你的好回答。你是怎么说我有9个重叠的块的? - Alex
你有一个4x4单元格的网格。这给了你9个2x2单元格,它们重叠1个单元格。将其画在纸上,你会看到它。 - Dima

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接