*********代码来源于小组************ **此次人脸识别项目代码基于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中的人脸依次识别并将人脸名字输出;
secerosman40/human_face_rec
based on the great dlib and cv2 to realize the human-face-recognition.
Python