从这个问题开始,我能够将图像的 HoG 特征放入一个可用于分类的 numpy 数组中,但是每张图像的 HoG 特征的数量是不同的。
例如,一个图像生成一个包含 2080 个元素的 HoG 特征数组,另一个生成一个包含 1744 个元素的数组,依此类推。
如何控制生成的 HoG 特征的数量?对于m个样本,我需要将一个大小为mxn的数组传递给机器学习算法,因此n需要是常数。令我惊讶的是,在提取它们的 HoG 特征之前,我已经将所有图像的大小调整为相同的大小,那么为什么会有差异呢?
从这个问题开始,我能够将图像的 HoG 特征放入一个可用于分类的 numpy 数组中,但是每张图像的 HoG 特征的数量是不同的。
例如,一个图像生成一个包含 2080 个元素的 HoG 特征数组,另一个生成一个包含 1744 个元素的数组,依此类推。
如何控制生成的 HoG 特征的数量?对于m个样本,我需要将一个大小为mxn的数组传递给机器学习算法,因此n需要是常数。令我惊讶的是,在提取它们的 HoG 特征之前,我已经将所有图像的大小调整为相同的大小,那么为什么会有差异呢?
如果输入图像的大小相同,那么来自 HOG 的特征向量也将具有相同的大小,前提是您对两个输入图像的 hog 函数使用相同的参数。为了使 hog 特征向量的大小相同,我们必须在所有输入图像中满足以下条件:
1)相同的图像尺寸(分辨率)。2)相同数量的细胞。3) 相同数量的块。4) 相同数量的方向。
至于每个单元格中的像素数,它不需要在所有输入图像中都相同以获得相同大小的特征向量,因为块大小和重叠也有一部分。但它会直接影响两个特征向量之间的比较,因此为了从描述符比较中获得理想的结果,在所有输入图像中使用相同的单元大小是很重要的。
虽然重叠参数会改善描述符,但不会影响特征向量的大小。