Webcam face recognition using tensorflow and opencv. The application tries to find faces in the webcam image and match them against images in an id folder using deep neural networks.
- Pillow
- OpenCv
- Scipy
- Tensorflow
- Flask
Models, training code and inspriation can be found in the facenet repository. Multi-task Cascaded Convolutional Networks are used for facial and landmark detection while an Inception Resnet is used for ID classification. A direct link to the pretrained Inception Resnet model can be found here.
Get the model from facenet and setup your id folder. The id folder should contain subfolders, each containing at least one image of one person. The subfolders should be named after the person in the folder since this name is used as output when a match is found.
E.g. id folder named ids
containing subfolders Beyonce
and Will Smith
, each containing images of the respective person.
├── ids
│ ├── Beyonce
│ │ ├── beyonce_1.jpg
│ │ ├── beyonce_2.jpg
│ ├── Will Smith
│ │ ├── will_smith_1.jpg
├── will_smith_2.jpg
Download the model to a folder named model
and run python __server__.py
to start the program running on port 5030.