计算固定长度的梯度直方图(HOG),不受图像尺寸影响

我正在训练一个HOG + SVM模型,我的训练数据具有各种尺寸和纵横比。SVM模型无法在可变大小的列表上进行训练,因此我想计算一个不受图像尺寸影响的固定长度的梯度直方图。

有什么巧妙的方法可以做到这一点吗?还是最好调整图像大小或填充它们?


回答:

在这种情况下,人们通常会采取以下两种方法之一:

  1. 将所有图像(或图像块)调整到固定尺寸,并从中提取HOG特征。
  2. 使用“词袋/特征袋”方法,不调整图像尺寸。

第一种方法1.非常简单,但它有一些问题,方法2.试图解决这些问题。首先,想想HOG描述符做了什么。它将图像划分为固定长度的单元,逐单元计算梯度以生成基于投票的单元直方图。最后,你会得到所有单元的连接直方图,这就是你的描述符。

因此,这里有一个问题,因为你想要检测的对象必须以相似的方式覆盖图像。否则,你的描述符会根据对象在图像中的位置不同而看起来不同。

方法2.的工作方式如下:

  1. 从训练集中正负图像中提取HOG特征。
  2. 使用像k-means这样的聚类算法来定义固定数量的k个中心点。
  3. 对于数据集中每张图像,提取HOG特征,并逐元素与中心点进行比较,以创建频率直方图。

使用频率直方图来训练你的SVM,并在分类阶段使用它。这样,位置就不重要了,你将始终拥有固定大小的输入。你还将受益于维度的减少。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注