Skip to content

Code for 2nd Place Solution in Face Anti-spoofing Attack Detection Challenge @ CVPR2019

Notifications You must be signed in to change notification settings

tloki/CVPR19-Face-Anti-spoofing

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Code for ChaLearn Face Anti-spoofing Attack Detection Challenge @ CVPR2019 by SeuTao

This is the source code for my solution to the ChaLearn Face Anti-spoofing Attack Detection Challenge hosted by ChaLearn. image

Recent Update

2019.3.29: Final code is not ready, will update soon.

2019.3.10: code upload for the origanizers to reproduce.

Dependencies - TODO - for now use requirements.txt

  • imgaug==0.2.6
  • scikit-image==0.14.0
  • scikit-learn==0.19.2
  • tqdm==4.23.4
  • torch==1.2.0
  • torchvision
  • mtcnn

Train single-modal Model

train model_A with color imgs, patch size 48:

CUDA_VISIBLE_DEVICES=0 python3 train_CyclicLR.py --model=model_A --image_mode=color --image_size=48 --dataset_path=<loaction of casia-surf-formatted dataset>

infer

CUDA_VISIBLE_DEVICES=0 python3 train_CyclicLR.py --mode=infer_test --model=model_A --image_mode=color --image_size=48

Train multi-modal fusion model [TODO]

train model A fusion model with multi-modal imgs, patch size 48:

CUDA_VISIBLE_DEVICES=0 python train_Fusion_CyclicLR.py --model=model_A --image_size=48

infer

CUDA_VISIBLE_DEVICES=0 python train_Fusion_CyclicLR.py --mode=infer_test --model=model_A --image_size=48

For the origanizers to reproduce final two submissions [TODO]

unzip the models.zip in the root folder and infer all the trained models

infer

CUDA_VISIBLE_DEVICES=0 python train_CyclicLR.py --mode=infer_test --model=model_A --image_mode=color --image_size=32
CUDA_VISIBLE_DEVICES=0 python train_CyclicLR.py --mode=infer_test --model=model_A --image_mode=depth --image_size=32
CUDA_VISIBLE_DEVICES=0 python train_CyclicLR.py --mode=infer_test --model=model_A --image_mode=ir    --image_size=32

CUDA_VISIBLE_DEVICES=0 python train_CyclicLR.py --mode=infer_test --model=model_A --image_mode=color --image_size=48
CUDA_VISIBLE_DEVICES=0 python train_CyclicLR.py --mode=infer_test --model=model_A --image_mode=depth --image_size=48
CUDA_VISIBLE_DEVICES=0 python train_CyclicLR.py --mode=infer_test --model=model_A --image_mode=ir    --image_size=48

CUDA_VISIBLE_DEVICES=0 python train_CyclicLR.py --mode=infer_test --model=model_A --image_mode=color --image_size=64
CUDA_VISIBLE_DEVICES=0 python train_CyclicLR.py --mode=infer_test --model=model_A --image_mode=depth --image_size=64
CUDA_VISIBLE_DEVICES=0 python train_CyclicLR.py --mode=infer_test --model=model_A --image_mode=ir    --image_size=64

CUDA_VISIBLE_DEVICES=0 python train_Fusion_CyclicLR.py --mode=infer_test --model=baseline --image_size=32
CUDA_VISIBLE_DEVICES=0 python train_Fusion_CyclicLR.py --mode=infer_test --model=baseline --image_size=48
CUDA_VISIBLE_DEVICES=0 python train_Fusion_CyclicLR.py --mode=infer_test --model=baseline --image_size=64

run ensemble script submission.py to generate the final two submissions in phase2: (test_first.txt and test_second.txt)

python submission.py

About

Code for 2nd Place Solution in Face Anti-spoofing Attack Detection Challenge @ CVPR2019

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 90.5%
  • Shell 9.2%
  • Dockerfile 0.3%