Facenet初探
来源:互联网 发布:php location延时跳转 编辑:程序博客网 时间:2024/05/22 03:15
本文主要描述如何使用FaceNet验证在数据集LFW的人脸检测效果。
a.python下安装scipy, scikit-learn, opencv-python, h5py, matplotlib, Pillow, requests, psutil
b.安装Anaconda集成环境
3.已更新Sklearn至最新版本(二选一):
a.可在propmt下"conda update conda "
b.直接在cmd命令行下"pip install -U scikit-learn"
4.已安装git
备注:如果没有完成以上的第3点,之后执行align时,可能会出现"no module named facenet","no module named align","no module named scikit-learn"等情况
二、安装和配置Facenet
1.在cmd命令行,定位到自己想下载的文件夹,用git下载FaceNet源代码工程:git clone --recursive https://github.com/davidsandberg/facenet.git
图1
2.下载数据集LFW。LFW数据集是由美国马萨诸塞大学阿姆斯特分校计算机视觉实验室整理的。下载地址:http://vis-www.cs.umass.edu/lfw/lfw.tgz,下载完成后,把数据解压到目录..facenet\data\lfw\raw下面,新建一个空文件夹命名为"lfw_160"。可以看到数据集中每张图像的分辩率是250*250。
图2
图3
3.设置环境变量,以下方法二选一:
a.在cmd命令行键入:set PYTHONPATH=...\facenet\src, 例如笔者的是:set PYTHONPATH=D:\Anaconda2\envs\py3.6\Lib\site-packages\facenet\src
b.在 计算机-->属性-->高级系统设置-->环境变量 中,新建PYTHONPATH,键入 D:\Anaconda2\envs\py3.6\Lib\site-packages\facenet\src
检验:在cmd命令行下面,键入set,查看设置情况
图4
图5
三、对图像数据进行预处理
我们需要将待检测所使用的数据集校准为和预训练模型所使用的数据集大小一致。
1.使用facenet\src\align\align_dataset_mtcnn.py进行校准,校准后的图片存在..facenet\data\lfw\lfw_160下面。在cmd命令行 或者 对应语言版本的propmt下,定位到facenet所在位置,键入"python src\align\align_dataset_mtcnn.py data/lfw/rawdata/lfw/lfw_160 --image_size 160--margin 32 --random_order--gpu_memory_fraction 0.25 "
图6
2.校准后发现图像大小变了
图7
四、评估谷歌预训练模型在数据集的准确率
1.下载预训练的模型。模型存储在Google网盘,需要翻墙。把下载的文件解压到src\models\目录下面。最终效果如图9。
图8
图9
2.程序下载好了,测试数据集LFW也有了,模型也有了,接下来就可以评估模型在数据集的准确率了。在cmd命令行或者propmt下定位到facenet文件夹下,输入"python src\validate_on_lfw.py data\lfw\lfw_160 src\models\20170512-110547",紧接着,预测中,结果如图:
图10
- Facenet初探
- Facenet
- Understanding FaceNet
- 跑通FACENET
- FaceNet 读书笔记
- 我读FaceNet
- FaceNet论文笔记
- facenet代码实现
- anaconda 和facenet
- 如何使用facenet
- 人脸识别之FaceNet
- facenet chinese whispers(face cluster)
- 重写facenet出现的问题:
- FaceNet--Google的人脸识别
- FaceNet--Google的人脸识别
- FaceNet--Google的人脸识别
- FaceNet--Google的人脸识别
- 论文笔记--FaceNet & Online Hard Example Mining
- 平方和与立方和
- Java汉字转成汉语拼音工具类
- OllyDBG 入门系列(一)-认识OllyDBG
- Caffe base_lr递减
- java中路径关于/和.的使用
- Facenet初探
- RuntimeError: invalid argument 4: out of range at pytorch/torch/lib/TH/generic/THTensor.c:439
- 清除浮动三种方式:
- 深度学习: CNN经典网络模型
- C++动态内存管理及其与C语言动态内存管理的差别
- mongodb role类型
- ASP,PHP,JSP,ASP.NET 比较
- 两个div,一个固定宽度和一个自适应宽度
- android Gridview item高度适应行最大高度问题