Code Monkey home page Code Monkey logo

mobilefacenet_tutorial_pytorch's Introduction

MobileFaceNet_Tutorial_Pytorch

  • This repo illustrates how to implement MobileFaceNet and Arcface for face recognition task.
  • Pretrained model is posted for tests over picture, video and cam
  • Help document on how to implement MTCNN+MobileFaceNet is available
  • Scripts on transforming MXNET data records in Insightface to images are provided
  • Scripts on train and evaluation of MobileFaceNet model are provided

MobileFaceNet Video Demo

Test over Picture, Video and Cam

  1. Test Picture
python MTCNN_MobileFaceNet.py -img {image_path}
  1. Take Picture for Face Database
  • over cam
    python take_picture.py -n {name}
    
  • over photo
    python take_ID.py -i {image_path} -n {name}
    
  1. Test Video
  • over cam
    python cam_demo.py
    
  • over video file
    python video_demo.py
    
  1. Instruction
MobileFaceNet_Step_by_Step.ipynb

Train

Download training and evaluation data from Model Zoo. All training data has been cropped, aligned and resized as 112 x 112. Put images and annotation files into "data_set" folder. The structure should be arranged as follows:

data_set/
            ---> AgeDB-30
            ---> CASIA_Webface_Image
            ---> CFP-FP
            ---> faces_emore_images
            ---> LFW
  1. The following script is provided to convert .bin and .rec file to images:
python data_set/load_images_from_bin.py
  1. Generate the corresponding annotation files
python data_set/anno_generation.py
  1. Train MobileFaceNet
python Train.py
  1. Instruction
MobileFaceNet_Training_Step_by_Step.ipynb

The training results over faces_emore data (5822653 images / 85742 ids) are shown below:

Evaluation

python Evaluation.py

Here is the evaluation result. 'Flip' the image could be applied to encode the embedding feature vector with ~ 0.07% higer accuracy. L2 distance score slightly outperforms cos similarity (not necessarily the same trend for other cases, but it is what we conclude in this work)

Eval Type Score LFW AgeDB-30 CFP-FP
Flip L2 99.52 96.30 92.93
Flip Cos 99.50 96.18 92.84
UnFlip L2 99.45 95.63 93.10
UnFlip Cos 99.45 95.65 93.10

Don't forget to star the repo if it is helpful for your research

Reference

mobilefacenet_tutorial_pytorch's People

Contributors

xuexingyu24 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.