我的观察结果小于每个的特征向量。有什么解决办法可以克服这个问题吗?

My observations are less than the feature vector of each. Any solution to overcome this?

我正在使用 GMM 将我的数据拟合为 256 个高斯分布。我正在使用 Matlab 的 fitgmdist 来实现这一点。

gmm{i} = fitgmdist(model_feats, gaussians, 'Options',statset('MaxIter',1000), ...
            'CovType','diagonal', 'SharedCov',false, 'Regularize',0.01, 'Start',cInd);

我正在使用 RootSIFT 来提取每个图像的特征。这会为每个图像生成 1x128 的矢量。

现在每个作者最多有 45 张图片。所以在特征提取和所有内容之后,我的 model_feats 的大小是 45 x 128.

根据帮助文件X的数据排列是:

The rows of X correspond to observations, and columns correspond to variables.

我遇到的问题是当我运行上面的函数时我被告知:

"X must have more rows than columns."

我为每位作者准备了 45 张图片。我怎样才能让这个功能达到 运行?对于这样的功能,这是一个奇怪的限制,我的意思是,即使我能够为每个作者获取 100 张图像,它也不起作用。

我将不胜感激任何解决方法。

P.S。我已经用 VL_Feat 的 vl_gmm 尝试过同样的方法,它没有任何问题,但我需要它在 Matlab 中工作而不是 VL_FEAT。

使用 SIFT,您通常不会计算整个图像的特征,而是计算每个图像的 数百个关键点。 这样您就不会再遇到这个问题了。

下一步可能是每个图像的“视觉词袋”映射。