facenet 源码的使用

女生的网名这么多〃 提交于 2019-12-01 22:50:22

背景:在学习机器学习的时候,想做一个对抗性样本的实验,所以需要用上facenet ,facenet是基于TensorFlow 的人脸识别开源库。

开发环境 : 

Windows 7 
TensorFlow 1.7 
Python 3.5.2

 

1.下载和安装facenet 

下载命令 git clone https://github.com/davidsandberg/facenet.git   ,这里要注意一下,在环境变量中需要在path添加上Git的安装位置,才可以执行此命令。

2.使用facenet前的准备

下载好facenet 后,打开facenet里面requirements.txt ,还需要安装文件里面的库包 - pip install --

 

 

 3.下载LFW数据集

下载地址 http://vis-www.cs.umass.edu/lfw/lfw.tgz,下载好后解压到facenet/data /lfw/raw 下面,可以看到刚下载好的数据集中每张图像的分辩率是250*250. 

另外需要在facenet/data /lfw/下新建一个lfw_160用来存放处理好的图片。

 

 

 4.对图像进行预处理 

因为程序中神经网络使用的是谷歌的“inception resnet v1”网络模型,这个模型的输入时160*160的图像,而我们下载的LFW数据集是250*250限像素的图像,所以需要进行图片的预处理。

在命令窗口进入facenet目录 , 运行下面代码,

python src/align/align_dataset_mtcnn.py --help 

 

 

 

 结果如上所示则表示命令可以执行。 这里要注意一点是在运行前需要在环境变量添加一条PYTHONPATH,将\facenet\src的路径加进去才可以执行成功该命令。

 

 测试成功后,最终需要执行一条命令 

python align_dataset_mtcnn.py facenet/data/lfw/raw facenet/data/lfw/lfw_160 --image_size 160 --margin 32 --random_order--gpu_memory_fraction 0.25 

 

 执行最终执行成功后照片的像素会变成160*160的

 

 5.最后命令执行可能遇到的报错

1.ValueError: Object arrays cannot be loaded when allow_pickle=False"     原因 numpy的版本不是 1.16.2  解决方案 执行 

pip install numpy==1.16.2

 

2.AttributeError: module 'scipy.misc' has no attribute 'imread'   原因  scipy的版本不是 1.2.1 解决方案 执行   

pip install scipy==1.2.1

 

 

 

结束语,后续我会继续使用facenet做一些测试,实验过程就留到下次写了,有问题欢迎大家指出

 

参考博文  https://www.zhangshengrong.com/p/bYXxZB4MaZ/

                https://blog.csdn.net/u012505617/article/details/88038733

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!