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

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

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


回答:

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

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

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

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

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

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

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

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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