/Face_Liv_DL_TSBTC-10_Clf

Built an AI model that determines whether the face of the person sitting in front of the webcam is Real or Fake by using Transfer Learning and TSBTC (Thepade’s Sorted Bock Truncation Encoding).

Primary LanguageJupyter NotebookMIT LicenseMIT

Face Liveness Detection (Face Anti-spoofing / Face Presentation Attack Detection):

Demo Video:
Watch the video


Output Screenshots:
1. Photo attack:



2. HD photo attack:

3. Video attack:

4. Curve photo attack:


Project Information:

  • Built an AI model that determines whether the face of the person sitting in front of the webcam is Real or Fake by using Transfer Learning and TSBTC (Thepade’s Sorted Bock Truncation Encoding).

  • The model consistes of two parts:

    1. Feature extractor:
      a. Deep learning based feature extractor: Finetuned VGG19
      b. Handcrafted feature extractor : TSBTC-10 ary (Thepade's Sorted Block Truncation Encoding)
    2. Classifier:
      Decision Tree
  • Created model is robust to Photo attack, video attack, warped photo attack, etc.


Environment:

  1. Windows / Linux

  2. python=3.7.0

Steps to run the code:

  1. Install the necessary dependancies:
pip install -r requirements.txt
  1. Run the file:
python DL_TSBTC_clf_video_testing.py

The corresponding research paper: paper

@article {
    author = {Thepade, S. D. and Dindorkar, M. R. and Chaudhari, P. R. and Bang, S. V.},
    title = {Enhanced Face Presentation Attack Prevention Employing Feature Fusion of Pre-trained Deep Convolutional Neural Network Model and Thepade's Sorted Block Truncation Coding},
    journal = {International Journal of Engineering},
    volume = {36},
    number = {4},
    pages = {807-816}
}