背景介绍:在CASIA-FASD,Replay-Attack,MSU-MFSD以及OULU-NPU数据集中都是提供的视频,因此我们需要将其转成图片格式,之后再将其进行人脸裁剪,随后再进行标签文件的撰写。
图一 原始数据集
图二 预处理后的数据集
以下是视频截取图片+人脸裁剪的代码
import cv2
import os
import dlib
import numpy as np
# 针对CASIA-FASD数据集的视频提取成图片
# 原始数据集路径(根据自身路径修改)
load_path = r'E:\Dataset\CASIA-FASD\train_release'
# 存储预处理后数据集路径(根据自身路径修改)
save_path = r'E:\Dataset\CASIA-FASD\train'
# 人脸裁剪部分
class Face_Align(object):
def __init__(self, shape_predictor_path):
self.detector = dlib.get_frontal_face_detector()
self.predictor = dlib.shape_predictor(shape_predictor_path)
self.LEFT_EYE_INDICES = [36, 37, 38, 39, 40, 41]
self.RIGHT_EYE_INDICES = [42, 43, 44, 45, 46, 47]
def rect_to_tuple(self, rect):