我的观察结果小于每个的特征向量。有什么解决办法可以克服这个问题吗?
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,您通常不会计算整个图像的特征,而是计算每个图像的 数百个关键点。 这样您就不会再遇到这个问题了。
下一步可能是每个图像的“视觉词袋”映射。
我正在使用 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,您通常不会计算整个图像的特征,而是计算每个图像的 数百个关键点。 这样您就不会再遇到这个问题了。
下一步可能是每个图像的“视觉词袋”映射。