我的目标是分类不同类型的汽车(轿车、SUV、掀背车)。之前我使用角点特征进行分类,但效果不佳,因此现在我尝试使用Gabor特征。
现在特征已经提取出来,假设当我输入一张图片时,对于5个尺度和8个方向,我会得到2个[1×40]的矩阵。
1. 40列的平方能量。
2. 40列的平均振幅。
问题是我想使用这两个矩阵进行分类,我有大约230张图片,分为3个类别(SUV、轿车、掀背车)。
我不知道如何创建一个[N x 230]的矩阵,以便在MATLAB中作为神经网络的输入(其中N是单张图片的总特征数)。
我的问题是:
-
如何从一张图片的2个[1×40]矩阵创建一个一维图像向量。(我应该将平均振幅附加到平方能量矩阵上以得到一个[1×80]的矩阵,还是有其他方法?)
-
我是否应该首先使用这些Gabor特征进行分类?如果不应该,那么应该使用什么?
提前感谢
回答:
一般来说,没有什么需要考虑的——简单的神经网络需要一维特征向量,并且不关心顺序,因此你可以简单地将任意数量的特征向量连接成一个(甚至可以随机排序——这无关紧要)。特别是如果你有相同的特征矩阵,你也可以将每一行的特征连接起来,创建一个向量化格式。
唯一的例外是当你的数据实际上具有某种几何依赖性时,例如——矩阵实际上是一个像素矩阵。在这种情况下,像PyraNet、卷积神经网络等基于这种2D结构应用某种感受野的架构会更好。但这些实现简单地接受2D特征向量作为输入。