I'm using GMM to fit my data to 256 Gaussians. I'm using Matlab's fitgmdist
to achieve this.
gmm{i} = fitgmdist(model_feats, gaussians, 'Options',statset('MaxIter',1000), ...
'CovType','diagonal', 'SharedCov',false, 'Regularize',0.01, 'Start',cInd);
I am using RootSIFT to extract the features of each image. This produces a vector of 1x128
for each image.
Now I have 45 images maximum for each writer. So after feature extraction and everything the size of my model_feats
is 45 x 128
.
According to the help file for data arrangement for X
is:
The rows of X correspond to observations, and columns correspond to variables.
The problem I have is when I run the above function I am told that:
"X must have more rows than columns."
I have a total of 45 images for each writer. How will I be able to get this function to run? This is a strange limitation for such a function, I mean even if I am able to get 100 images for each writer it will not work.
I will appreciate any workaround to this.
P.S. I've tried the same with VL_Feat's vl_gmm
and it works without any problems but I need this to work in Matlab not VL_FEAT.