/human_face_rec

based on the great dlib and cv2 to realize the human-face-recognition.

Primary LanguagePython

*********代码来源于小组************

**此次人脸识别项目代码基于mac系统,以及python3.7,建议在pycharm上运行。项目中涉及到模块有:dlib/opencv-python/glob/re模块,dlib需要预
    先在系统中安装cmake;




1.项目共有/faces/、/human_faces/、/unknown/三个文件夹来存储所需要的项目照片,在进行模型训练时使用多人脸图片,存放于faces文件夹,但是在进
    行识别的时候使用一张单人脸图片,存放于human_faces文件夹是已知的人脸,其中包含几张非人脸噪声;其中/unknown/是我们需要识别的人脸图片,识别
    对象是中外名人包括明星等,当然还有自己的照片;

2.图片来源于网络,要求清晰,人脸不能太大,照片用于识别的话只能有一个人脸,必须正脸;

3.项目共有两个dat模型,其中predictor.dat是自己训练的模型,利用标记图片特征点的方式,在dlib官方提供的方法中进行训练;
   另外一个是dlib官方提供的特征点提取成128维度特征空间的特征向量模型;

4.包含四个py文件:依次是face_recog_training.py、test_training_dat.py,这两个是用于人脸特征提取的模型训练,标记图片是training_with_face.xml
    文件,测试用图片位于faces文件夹;face_recognition_unit.py是用于进行人脸识别并且提取其中的特征值以计算128维的特征向量;最后face_pic_compare.py
    是最终的人脸识别脚本,综合前面的空间向量计算2张人脸的欧氏距离,采取k近邻算法中取k=1,为减小估计误差,要求欧氏距离小于阈值0.54才算识别成功;

5.最终,将unknown中的人脸依次识别并将人脸名字输出;