Major part in this problem statement is model selection and approach. As you know these are basic steps of model training.
Step 1: Data Gathering Step 2: Data Labeling Step 3: Train Model Step 4: Test ModelPlease refer folder -> "Train_Classifier", here I have trained and evaluate classifier with different models.
Learnings:
- I have trained digit dataset with different classifier like ->
- Logistic Regression
- Random Forest
- SVM
- Deep Neural Network
- Convolution Neural Network
- Model testing has big role in training pipeline, as we are not sure 'How model will perform on realtime world'.
- Cross Validation , Confusion Matrix and calculating loss helps here.
Face Detection is not that simple as to train a digit classifier. In digit classifier eventually, we are giving positive and negative samples but here will only have to train on positive samples. Labeling has major role in Face Detection, face has to label properly for that there is open source tool LabelImage. In case of object detection, theory says that NN outperforms all other ML architectures.
Learnings:
- I have trained ->
- HOG+SVM - Classifier
- HOG+SVM - Detector(Dlib)
- Explored ->
- ImgLab - It's an annotation tool which used while labeling dataset for dlib based detector.
- MTCNN - (https://github.com/ipazc/mtcnn)
- Viola-Jones(Haar-cascade Detection in OpenCV)