我很难理解从matlab中的extractHOGFeatures(I,varargin)
函数中提取的特征大小。我的图片大小为120x54
,当我使用此函数时,此函数的默认值为Cellsize [8 8]
,Block size [2 2]
,NumBin=9
。使用此函数的输出要素的大小为1980x1
。但是,我听说有一个简单的公式来计算Cellsize*Numbin
的特征8*8*9=576
的大小。{{1}}。所以,我很困惑,可能是我的功能数量错误。任何人都可以告诉我提取物配方是否有任何所以我可以验证我得到正确的功能数量?
答案 0 :(得分:4)
为了补充@ Dima的答案,extractHOGFeatures上的文档给出了计算HOG特征长度的公式:
N = prod([BlocksPerImage, BlockSize, NumBins])
其中
BlocksPerImage = floor((size(I)./CellSize - BlockSize)./(BlockSize - BlockOverlap) + 1)
和
BlockOverlap = ceil(BlockSize/2)
答案 1 :(得分:2)
首先,让我们澄清一下术语。当您从图像计算HOG特征向量时,图像被分成可能重叠的块,每个块被分成单元格,然后为每个单元格计算方向直方图。
在您的情况下,块大小为2x2单元格。因此,每个块的要素元素数量为BlockSize * NumBin
,即2x2x9。图像中的块数取决于图像大小和BlockOverlap
参数。