一、人脸识别与检测
face_detection文件夹中保存着如下文件:
1. test_detection_mtcnn.py中利用tensorflow和mtcnn实现人脸检测和五个特征点的定位
2. test_classifier.py 检测完后加载分类器,对分类结果进行判断
3. train_classifier.py 自行训练的一个性别的检测器,将训练集中图片人脸部分裁出,然后加载映射后进行分类训练.
使用的图片在train文件夹中 rainFemale和 rainmale。
4. detect_face.py(实现MTCNN网络三个阶段的检测)和facenet.py(实现将人脸图像映射到128维度的欧几里得空间中,三联子的损失函数进行计算损失进而优化) 分别从两个项目中下载得到的
5. model_check_point文件夹中
knn_classifier_gender为性别分类器模型
model-20160506.ckpt-500000是从mtcnn项目中下载的一个模型,就不用花费超级多时间来训练
在终端中运行
注意需要下载opencv,因为我们在程序中导入opencv的CV2模块来读取图片:
注意:源代码可以不全掌握,但是test的全部代码需要看懂。
二、人脸分类
此章节需要用到face_net,利用train_classifier.py程序来训练,直接在cmd中:
python train_classifier.py
使用该生成模型进行测试,利用test_classifier.py程序来测试:(记得传入一张图片给程序)
python test_classifier.py imagesfemale01.jpeg
注意:本程序是Tensorflow0.12来训练的,这取决于mtcnn是用老版本的TensorFlow来写的。
由于tensorflow版本变化很大,还不稳定,若用1.0之后的版本来restrore复原的时候,可能有的参数有出入,从而没有办法来复原模型,无法使用模型。