TensorFlow–实现人脸识别实验精讲 (Face Recognition using Tensorflow)

  • Post author:
  • Post category:其他


做一个人脸检测实验。


1.获取数据集(LFW)


Labeled Faces in the Wild Home

Menu->Download->All images as gzipped tar file

或者直接点击

我是LFW

解压放到

datasets




2.下载facenet并配置(

facenet 是一个使用tensorflow 进行人脸识别的开源库,我们可以依赖于它,进行人脸识别相关开发,进而降低难度与成本







1)git clone –recursive https://github.com/davidsandberg/facenet.git
2)cd facenet/
3)pip install -r requirements.txt (这一步会把你的TF修改成1.2.0,我之前的是TensorFlow·1.4.1,执行完此命令变为了TensorFlow1.2.0)
4)export PYTHONPATH=$(pwd)/src


注意文件放置的位置!(facenet 和lfw要放在同一目录下,切记!)

facenet所在路径 /home/cjz/anaconda3/envs/tensorflow/facenet

lfw解压后所在路径:/home

/cjz


/anaconda3/envs/tensorflow

/datasets/lfw


3.处理数据集(对齐数据集)
1)cd facenet

2)


python src/align/align_dataset_mtcnn.py


~/anaconda3/envs/tensorflow/datasets/lfw


~/anaconda3/envs/tensorflow/datasets/lfw


/lfw_mtcnnpy_160 –image_size 160 –margin 32 –random_order –gpu_memory_fraction 0.25   (切记,一定要写对路径 ,这样才能导入全部数据,并导出相同像素160*160的图片)


图片较多需要等一段时间(我的



CPU



跑了40-50分钟,gpu的话应该更快),


然后在这里

/home


/cjz


/anaconda3/envs/tensorflow


/datasets/lfw

/lfw_mtcnnpy_160会有对齐之后的图片了(所谓对齐,可以理解为就是同等像素大小,详解https://www.cnblogs.com/bakari/archive/2012/08/27/2658956.html)。





4.下载训练好的模型文件

(1) facenet提供了两个预训练模型,分别是基于CASIA-WebFace和MS-Celeb-1M人脸库训练的

(2) 本人使用的是基于数据集

MS-Celeb-1M

训练好的模型。模型存储在Google网盘,需要翻墙。


https://github.com/davidsandberg/facenet



选择pre-trained models



下载20170512-110547(MS-Celeb-1M数据集训练的模型文件,



微软人脸识别数据库,名人榜选择前100万名人,搜索引擎采集每个名人100张人脸图片。预训练模型准确率0.993+-0.004)      (



注意:我是翻墙才能下载下来,稍后我会上传



版权声明:本文为niutianzhuang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。