我正在使用HoG特征进行目标检测分类。
我对如何处理不同长度的HoG特征向量感到困惑。
我已经使用大小相同的训练图像训练了分类器。
现在,我从图像中提取区域来运行分类器 - 比如使用滑动窗口方法。 我提取的一些窗口比分类器训练的图像尺寸大得多。(它是在测试图像中可能出现的最小对象的大小上进行训练的)。
问题是,当我需要分类的窗口比训练图像尺寸大时,HoG特征向量也比训练模型的特征向量大得多。
那么我该如何使用模型的特征向量来分类提取的窗口呢?
例如,我们来看一个提取窗口的尺寸为360x240,将其称为extractedwindow
。 然后,我们拿一个训练图像,它只有20x30的尺寸,称之为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进行工作,但我想这个问题与我使用的平台无关。