使用Gabor滤波器生成特征向量进行分类

我的目标是分类不同类型的汽车(轿车、SUV、掀背车)。之前我使用角点特征进行分类,但效果不佳,因此现在我尝试使用Gabor特征。

代码来自这里

现在特征已经提取出来,假设当我输入一张图片时,对于5个尺度和8个方向,我会得到2个[1×40]的矩阵。

1. 40列的平方能量。

2. 40列的平均振幅。

问题是我想使用这两个矩阵进行分类,我有大约230张图片,分为3个类别(SUV、轿车、掀背车)。

我不知道如何创建一个[N x 230]的矩阵,以便在MATLAB中作为神经网络的输入(其中N是单张图片的总特征数)。

我的问题是:

  1. 如何从一张图片的2个[1×40]矩阵创建一个一维图像向量。(我应该将平均振幅附加到平方能量矩阵上以得到一个[1×80]的矩阵,还是有其他方法?)

  2. 我是否应该首先使用这些Gabor特征进行分类?如果不应该,那么应该使用什么?

提前感谢


回答:

一般来说,没有什么需要考虑的——简单的神经网络需要一维特征向量,并且不关心顺序,因此你可以简单地将任意数量的特征向量连接成一个(甚至可以随机排序——这无关紧要)。特别是如果你有相同的特征矩阵,你也可以将每一行的特征连接起来,创建一个向量化格式。

唯一的例外是当你的数据实际上具有某种几何依赖性时,例如——矩阵实际上是一个像素矩阵。在这种情况下,像PyraNet、卷积神经网络等基于这种2D结构应用某种感受野的架构会更好。但这些实现简单地接受2D特征向量作为输入。

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中创建了一个多类分类项目。该项目可以对…

发表回复

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