Problem with evaluate(imagecategoryclassifier) function from Vision System tool box
1 view (last 30 days)
Show older comments
Hello Matlab communtiy, I have a quich question to the evaluate(imagecategoryclassifier) function in matlab. I tried the given sample code, but it seems to missmatch some predicted labels considering the calculated scores. In the help it states that the predicted label corresponds to the highest value given by the score. After I run the example multiple times, it seemed to missmatch at least two labels. Here is the code I ran and the output it produced:
setDir = fullfile(toolboxdir('vision'),'visiondata','imageSets'); imgSets = imageSet(setDir, 'recursive');
[trainingSets, testSets] = partition(imgSets, 0.3, 'randomize');
bag = bagOfFeatures(trainingSets,'Verbose',false);
categoryClassifier = trainImageCategoryClassifier(trainingSets, bag);
[confMat,knownLabelIdx,predictedLabelIdx,score] = evaluate(categoryClassifier, testSets);
disp(score); disp(predictedLabelIdx);
-0.6226 -0.3774
-0.6509 -0.3491
-0.4416 -0.5584
-0.4953 -0.5047
-0.6226 -0.3774
-0.6509 -0.3491
-0.4416 -0.5584
-0.4953 -0.5047
2
1
1
1
2
2
1
1
So here I don't understand why the second predicted label is 1 and not 2. The rest makes sense to me.
0 Comments
Accepted Answer
Birju Patel
on 30 Sep 2015
Edited: Birju Patel
on 26 Oct 2015
Hi Jacob,
Thanks for reporting this issue. This is a bug. The predicted labels are correct, but the scores are not.
I can create a patched version for you. What release are you using?
EDIT: patched version for 15a attached. You'll need to put the patched version of the file here:
$MATLAB_ROOT/toolbox/vision/vision/
Also added patched version for 15b, which has _15b appended to it (imageCategoryClassifier_15b.m). You'll need to download this file and remove the "_15b" from the file name before copying it over to the toolbox directory.
Birju
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!