Face Detection and Recognition on some famous personalities
-
Train Data
Collected a set of 60 images of famous celebrities of India (namely Deepika Padukone, Ayushmaan Khurrana, Kriti Sannon, Sushant Singh Rajput, Narendra Modi, Carryminati) for the training set.
-
Validation Data
Collected 18 images of the same celebrities for the validation set.
Using dlib cnn face detector
to find the faces in image, crop and store them in separate folders sorted according to individual person.
Download 'mmod_human_face_detector' to use as 'dlib cnn face detector'
! wget http://dlib.net/files/mmod_human_face_detector.dat.bz2
! bzip2 -dk mmod_human_face_detector.dat.bz2
The directory structure looks like this:
Directory structure :
|Images /
| |-- (60 images)
|Images_crop /
| |--ayushmaan/
| |--(10 images)
| |--carry/
| |--(10 images)
| |--deep/
| |--(10 imgaes)
| |-- sush/ (10 images)
| |--kriti / (10 images)
| |--modi / (10 images)
|Images_test /
| |-- .. / (18 images)
|Images_test_crop /
| |--ayushmaan / (3 images)
| |--carry / (3 images)
| |--deep / (3 imgaes)
| |--kriti / (3 images)
| |--modi / (3 images)
| |--sush / (3 images)
|Upload_your_images /
| |--Here you can put your own images to test the model
|Your_predictions /
| |--The result
|Face_Recognition.ipynb
|mmod_human_face_detector.dat
As vgg-face weights are not available as .h5
file to download,from this article
Download Vgg-face weights from google drive with
! gdown https://drive.google.com/uc?id=1CPSeum3HpopfomUEK1gybeuIVoeJT_Eo
Define vgg-face model architecture in tensorflow-keras and load weights.
Prepare train data and test data from the embeddings and feed into a simple softmax regressor with 3 layers containing first layer with 100 units and tanh activation function , second layer with 10 units and tanh activation function and third layer with 6 units for each person with softmax activation.
- Predictions For an image(may contain multiple faces) extract each face,get embeddings,get prediction from classifier network,make bounding box around face and write person name.
Good to go with your model. ✔✌