This is the final project for course Introduction to Artificial Intelligence(CST,Tsinghua,Instructor:Jianmi Li). We experiment on the Caltech 101 data set.
The project is divided into two part.
- Feature Extraction
- Classification
For Classification, we would like to try the following algorithms,
- Support Vector Machine
- Naive Bayesian Classification
- Neural Network
Attn:
Download Caltech 101 here.
I utilize some third party toolboxes.
- [VLFeat](http://www.vlfeat.org/index.html) Computer Vision
- [FastEMD](http://www.ariel.ac.il/sites/ofirpele/FASTEMD/code/) Earth Mover's Distance
The rootFolder needs changing to fit the location of the Caltech101 data set.
The classes can be chosen arbitrarily by tuning ClassIndices. In the demo, I choose 6 classes 'BACKGROUND_Google',Faces','Leopards','airplanes','watch' and 'Motorbikes'.
The current package has 4 demos,
- demo6_svm_hog.m : HOG + SVM
- demo6_svm_hog_emd.m : HOG + EMD-KPCA + SVM
- demo6_svm_surf.m : SURF + SVM
- demo6_svm_surf_emd.m : SURF + EMD+KPCA + SVM
demo6_fillyourclassifier_hog.m and demo6_fillyourclassifier_surf.m are two scripts containing the classification frame, but you need to configure your classifier in them. hog and surf represent two feature descriptors.
Matlab R2014B, Windows 7 OS* 64-bit.