This is the course project for CMPN450 , pattern Recognition and Neural Networks. In this project, We implement a Hand Gesture Recognition System.Given an image containing a single hand, your system is supposed to classify the hand gesture into one of six digits (from 0 to 5). we implement a complete machine learning pipeline.
C:.
│ .gitignore
│ instructions.txt
│ Project-Document.pdf
│ project.ipynb
│ README.md
│ req.txt
│ Tesis.pdf
│
├───features
│ test_features.pkl
│ train_features.pkl
│ val_features.pkl
│
├───models
│ nn_model4.h5
│ pca4_n_components_0.5.sav
│ svm_model4_best_acc_0.69.sav
│
├───modules
│ data.py
│ display_image.py
│ feature_extraction.py
│ models.py
│ preprocessing.py
│ test_model.py
│
├───out
│ results.txt
│ time.txt
│
└───screenshots
HOG_features.png
HOG_features_2.png
preprocessing.png
we have used two models :
1- SVM
2- Fully Connected Neural network
SVM with RBF kernel
Accuracy: 0.6906
class | precision | recall | f1-score | support |
---|---|---|---|---|
0 | 0.92 | 0.96 | 0.94 | 25 |
1 | 0.62 | 0.88 | 0.72 | 24 |
2 | 0.66 | 0.54 | 0.59 | 35 |
3 | 0.51 | 0.57 | 0.54 | 35 |
4 | 0.67 | 0.50 | 0.57 | 28 |
5 | 0.84 | 0.79 | 0.82 | 34 |
Two layers deep fully connected Neural network
Accuracy: 0.6464
class | precision | recall | f1-score | support |
---|---|---|---|---|
0 | 0.96 | 0.88 | 0.92 | 25 |
1 | 0.55 | 0.71 | 0.62 | 24 |
2 | 0.60 | 0.60 | 0.60 | 35 |
3 | 0.55 | 0.49 | 0.52 | 35 |
4 | 0.53 | 0.57 | 0.55 | 28 |
5 | 0.77 | 0.71 | 0.74 | 34 |