Yuezun Li, Ming-ching Chang and Siwei Lyu
University at Albany, State University of New York, USA
IEEE International Workshop on Information Forensics and Security (WIFS), 2018
https://arxiv.org/abs/1806.02877
- Python 2.7
- Ubuntu 16.04
- Tensorflow 1.3.0
- CUDA 8.0
Required Python packages
yaml==3.12
easydict==1.7
matplotlib==1.5.3
dlib==19.16.0
opencv==3.4.0
tqdm==4.19.5
- Download pretrained models: CNN-VGG16
and put the model into
ckpt_CNN
. - Go to
toy
folder and runrun_cnn.py
with arguments as following.
python run_cnn.py \
--input_vid_path=/path/to/toy_video \
--out_dir=where_to_save_output
- Download pretrained model LRCN-VGG16 and put the model into
ckpt_LRCN
. - Go to
toy
folder and runrun_cnn.py
with arguments as following.
python run_lrcn.py \
--input_vid_path=/path/to/toy_video \
--out_dir=where_to_save_output
The probability of eye state will be put in .p
file and a plot video will be generated.
Dataset can be downloaded here.
train_blink_cnn.py
andtrain_blink_lrcn.py
are training scripts for CNN and LRCN respectively.proc_data
contains the data preparation process for training CNN and LRCN.sample_eye_data
contains images for training CNN,sample_sq_data
contains sequences for training LRCN. We collect many videos from Internet and manually annotate the eye state of each frame. Due to the copyright issue, the collected set is not published. Thus I only upload an example in each folder.
Please cite our paper in your publications if it helps your research:
@inproceedings{li2018ictu,
title={In Ictu Oculi: Exposing AI Generated Fake Face Videos by Detecting Eye Blinking},
author={Li, Yuezun and Chang, Ming-Ching and Lyu, Siwei},
Booktitle={IEEE International Workshop on Information Forensics and Security (WIFS)},
year={2018}
}
This repository is NOT for commecial use. It is provided "as it is" and we are not responsible for any subsequence of using this code.