Many image problems require some kind of detection of objects, in which there is a natural variation in appearance of the objects between the images. For instance, face recognition, lesion detection, nerve channel segmentation.
These image problems can be solved by manually annotating of image objects to train a model which recognize normal object appearance. This can be done with a PCA based maximum likelihood classifier.
We provide here a basic PCA classifier for a two class classification problem. Two class is the most common, is an pixel a brain lesion or not?, is this face of the home owner or not?
Multiple Sclerosis example:
An example is given, with some multimodal MRI scans from Multiple Sclerosis patients, in which the brain lesions of two patients are annotated and in the third are detected by the PCA model. This example uses the gray-value regions and gray-value derivatives as feature vectors. But by using more or other features this example can be easily extended to your own recognition / detection example.
This example uses some c-code to get the image regions for speed improvement.
- Kroon, D.J. and van Oort, E.S.B. and Slump, C.H. "Multiple Sclerosis Detection in Multispectral Magnetic Resonance Images with Principal Components Analysis"
- Kauffman et al. "Grip-pattern recognition for smart guns"
Try/study and than extend the example to your own application.
Please report bugs, success and suggestions.
Changed (I'm not entirely sure if it is correct) :
Linux Ubuntu Tested