Which matlab functions should I use to classify knee cartilge from MRI?

1 view (last 30 days)
I have three classes to separate from MRI image,
  • Tibial medial cartilage
  • Femoral medial cartilage
  • Background
For that, I need to combine one binary classifier trained to separate Tibial cartilage from the rest, and one binary classifier to separate Femoral cartilage from the rest with rejection threshold (t).
This is like one-versus all approach. I need to create three (number of classes) one-versus rest classifiers, and perform a winner-takes-all vote between them. For that, I will have a feature vector of Intensity, Position, Three-jet, Eigenvalue, and Eigenvector.
What matlab functions would be helpful for me to implement this? Should I need to use SVM here?
I am not asking to do it for me, any guidance, pointer, tips would be helpful for me. I have .dcm files, similar to this .jpg:
Thanks for your time :)

Accepted Answer

Walter Roberson
Walter Roberson on 31 Jan 2016
Note that although it talks primarily about SVM there, any binary classifier can be used with it.
  4 Comments
Walter Roberson
Walter Roberson on 31 Jan 2016
Any classification problem that is not 2 class is referred to as multiclass.
SVM was developed as a two-class algorithm, finding a hyperplane dividing exactly two classes. There has been an extension of SVM to three classes, but it turns out that it takes a lot more memory and computation to get right.
It turns out in classification problems that instead of having one algorithm to inherently find the boundaries between three classes, that it is a lot faster and less memory to instead break it up into a series of two-class problems. Instead of trying to find A vs B vs C in one step, find A vs (B combined with C). Then if you discover you are in the (B combined with C) class, run a second two-class problem that distinguishes B vs C.
The ClassificationECOC is an interesting extension to that: instead of just doing A vs (B vs (C vs ... )), it does a series of binary classifications in different combinations, and combines them together with Error Correcting Output Codes; see https://www.jair.org/media/105/live-105-1426-jair.pdf
For example, if you had 4 classes, A, B, C, D, then A vs (B vs (C vs D )) involves a C vs D classifier after having removed A and then B. But you could also have done B vs (A vs (C vs D )) which would also involve a C vs D classifier formed after having removed B and then A. Are the two C vs D classifiers the same? They might be the same algebraically but they are unlikely to be the same numerically -- but they might be close. You can treat the decision of each as one bit of information that has a probability of being wrong. And you can put a bunch of those bits of information together, each of which has a probability of being wrong, but in a way that a whole bunch of the decisions would have to be wrong for the overall answer to be decided incorrectly.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!