编程语言
首页 > 编程语言> > python – 为对象检测选择/标准化HoG参数?

python – 为对象检测选择/标准化HoG参数?

作者:互联网

我正在使用HoG功能通过分类进行物体检测.

我对如何处理不同长度的HoG特征向量感到困惑.

我使用所有大小相同的训练图像训练了我的分类器.

现在,我正在从我的图像中提取运行分类器的区域 – 比如说,使用滑动窗口方法.我提取的一些窗口比分类器训练的图像大小大很多. (它是根据测试图像中可能出现的最小尺寸的对象进行训练的).

问题是,当我需要分类的窗口大于训练图像大小时,HoG特征向量也比训练模型的特征向量大得多.

那么如何使用模型的特征向量对提取窗口进行分类?

例如,让我们取一个提取窗口的尺寸,即360×240,并将其称为已解锁窗口.然后让我们拍摄一张仅为20×30的训练图像,并将其称为trainingsample.

如果我采用HoG特征向量,如下所示:

fd1, hog_image1 = hog(extractedwindow, orientations=8, pixels_per_cell=(16, 16), cells_per_block=(1, 1), visualise=True, normalise=True)

fd2, hog_image2 = hog(trainingsample, orientations=8, pixels_per_cell=(16, 16), cells_per_block=(1, 1), visualise=True, normalise=True)

print len(fd1)
print len(fd2)

那么这是特征向量之间的长度差异:

2640
616

那怎么处理呢?提取的窗口应该缩小到分类器训练的样本大小吗?或者是否应根据每个提取的窗口更改/标准化HoG功能的参数?或者还有另一种方法吗?

我个人在python中工作,使用scikit-image,但我想这个问题与我正在使用的平台无关.

解决方法:

如你所说,HOG基本上使用一个参数来建立像素大小的单元格.因此,如果图像大小改变,则单元格的数量不同,然后描述符的大小不同.

The main approach是使用HOG是使用相同大小的窗口(在训练期间和测试期间相同的大小).因此,提取的窗口应该与trainingsample的大小相同.

that参考文献中,一位用户说:

HOG is not scale invariant. Getting the same length feature vector for
each image does not guarantee the scale invariance.

所以你应该使用相同的窗口大小……

标签:python,computer-vision,feature-extraction,scikit-image
来源: https://codeday.me/bug/20190629/1321679.html