基于Tensorflow的Facenet 人脸识别实现

参考GitHub地址,相关FaceNet paper ,此paper是Google的facenet原理介绍,本人现在也在进行人脸识别Facenet相关学习,随后会将相关论文解析笔记整理供大家参考。

关于FaceNet相关的Tensorflow基本配置请参考我的另外一篇博客here,

  1. 安装相关的依赖
  • 安装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

最后可得出模型评估结果如下:

基于Tensorflow的Facenet 人脸识别实现_第1张图片

本人第一次测试facenet,如有不当之处烦请指出,谢谢~

 



你可能感兴趣的:(DeepLearning)