/faceone

利用facenet模型实现人脸探测、人脸特征库构建、人脸检索、人脸比对等功能

Primary LanguagePython

faceone

本项目参照并利用facenet模型构建,实现人脸探测、人脸特征库构建、人脸检索、人脸比对等功能。人脸剪切并对齐采用mtcnn,在目录faceone/facenet/align/align_dataset_mtcnn.py

python detect_and_genfea.py mode model [options]

【人脸探测】

    '''
    DETECT ./facenet/pretrained_models/20180402-114759 --detect_dir ./testdata/raw --detect_out_dir ./testdata/output/test3
    '''
    
    其中 model实际上是不需要的
    
    --detect_dir 待探测人脸的图片所在目录,注意,每个人一个目录
    
    --detect_out_dir 人脸结果目录,一个人对应一个目录,一张图片可以探测多个人脸

【人脸特征库构建】 注意输出目录face_dir中face_fea.h5用来放置特征,每个源图片对应一个子目录,放置提取出来的人脸

    '''
    GENERATE ./facenet/pretrained_models/20180402-114759 --image_files ./testdata/raw/unknown/zark6.jpg ./testdata/raw/unknown/zark5.jpg --image_dir ./testdata/raw/unknown --faces_dir ./testdata/output/test2
    '''
    
    其中 model是facenet一个预训练库,要求image_size = 160
    
    --image_files 可以列出多个图片文件
    
    --image_dir   待提取图片目录,不能包含子目录
    
    --faces_dir   人脸图片及特征文件所在目录

【人脸检索】库中是否含有给定图片中的人

    '''
    SEARCH ./facenet/pretrained_models/20180402-114759 --faces_dir ./testdata/output/test --search_image ./testdata/raw/unknown/zark7.jpg
    '''
    
    其中
    
    --faces_dir   人脸图片及特征文件所在目录,是本程序生成的人脸特征库目录,里面必须包含face_fea.h5文件和相应的子目录人脸
    
    --search_image 待搜索的图片,本程序仅仅探测一个人脸

【人脸比对】可以找出两张图片中所有相似的人脸对,给定距离阈值theadhold = 1.11。

    '''
    VERIFY ./facenet/pretrained_models/20180402-114759 --verify_images ./testdata/raw/unknown/z2.jpg ./testdata/raw/unknown/z3.jpg
    '''
    
    --verify_images 待匹配人脸的两张图片,均可含有多张人脸