参考GitHub地址,相关FaceNet paper ,此paper是Google的facenet原理介绍,本人现在也在进行人脸识别Facenet相关学习,随后会将相关论文解析笔记整理供大家参考。
关于FaceNet相关的Tensorflow基本配置请参考我的另外一篇博客here,
- 安装相关的依赖
- 安装Tensorflow here;
- clone FaceNet 源码 ;
- 安装所需要的python模块 scipy、scikit-learn、opencv-python、h5py、matplotlib、Pillow、requests、psutil; (注意:安装Tensorflow的时候会默认安装一些依赖库,可以在shell下使用命令 pip list 查询已经安装的库,这一步 的所有依赖都是在以创建好的virtualevn环境中安装的)
2.下载LFW数据集
- 下载未对其的照片 lfw ;
- 把下载的数据集解压到相关目录下,比如我的路径为 :
~/tensorflow/lfw/raw。(注意:下载下来的文件夹名字为lfw,解压的文件夹目录不做要求,最好还放在Vritualevn虚拟环境的目录下)
3.设置python路径
export PYTHONPATH=[...]/src 其中[...]为虚拟环境下你存放下载的facenet源码的路径,比如我的为:export PYTHONPATH=~/tensorflow/facenet/src (此步特别关键如果设置错误后面将无法运行)
4.校准lfw数据集
python src/align/align_dataset_mtcnn.py ~/datasets/lfw/raw~/datasets/lfw/lfw_mtcnnpy_160 --image_size 160 --margin 32 --random_order--gpu_memory_fraction 0.25
其中~/datasets/lfw/raw 为你的数据集地址,~/datasets/lfw/lfw_mtcnnpy_160这个是你数据集处理后保存的位置。
比如我的就是:python ~/tensorflow/facenet/src/align/align_dataset_mtcnn.py ~/tensorflow/lfw/raw ~/tensorflow/lfw/lfw_mtcnnpy_160 --image_size 160 --margin32 --random_order --gpu_memory_fraction 0.25
5.下载已训练的模型。
选择20170512-110547这个 model 下载,如果没办法越墙可以在处model下载此训练好的模型。下载后把其解压到虚拟环境下的任何你喜欢的目录,比如我的,解压后存放的路径为 ~/tensorflow/facenet/model/20170512-110547
6.运行并测试模型准确率
python src/validate_on_lfw.py ~/datasets/lfw/lfw_mtcnnpy_160 ~/models/facenet/20170512-110547
比如我的就是:python src/validate_on_lfw.py ~/datasets/lfw/lfw_mtcnnpy_160 ~/models/facenet/20170512-110547
最后可得出模型评估结果如下: