TensorFlow环境 人脸识别 FaceNet 应用(一)验证测试集

前提是TensorFlow环境以及相关的依赖环境已经安装,可以正常运行。

一、下载FaceNet源代码工程

git clone --recursive https://github.com/davidsandberg/facenet.git

二、下载数据集LFW

LFW数据集是由美国马萨诸塞大学阿姆斯特分校计算机视觉实验室整理的
下载地址:http://vis-www.cs.umass.edu/lfw/lfw.tgz

wget http://vis-www.cs.umass.edu/lfw/lfw.tgz

下载完成后,把数据解压到目录facenet\data\lfw\raw下面。

sudo mkdir lfw/raw
sudo tar xvf lfw.tgz -C lfw/raw --strip-components=1

注:当然可以放在任何目录,但一定要记得目录,后面处理数据集和训练时候要用到

三、处理数据集(对齐数据集)

我们需要将待检测所使用的数据集校准为和预训练模型所使用的数据集大小一致。
1)配置环境

export PYTHONPATH=/home/dyufei/source/facenet/facenet/src

注:后面的地址是facenet目录的git下载目录 + /src

2)处理数据集

cd facenet
python src/align/align_dataset_mtcnn.py data/lfw/raw data/lfw/lfw_mtcnnpy_160 --image_size 160 --margin 32 --random_order --gpu_memory_fraction 0.25

四、下载已训练模型

选择pre-trained models的MS-Celeb-1M这个数据集,网盘提供一个下载链接,也可以搭梯子下。
链接:https://pan.baidu.com/s/1nvBX233 密码:s0sb

解压模型

mkdir models/facenet/20170512-110547

将下载的模型减压到此目录下(如放其他目录接的在下面使用时替换为实际目录)

五、评估模型准确率

运行看评估模型在数据集的准确率

python src/validate_on_lfw.py data/lfw/lfw/lfw_mtcnnpy_160 /home/dyufei/source/facenet/facenet/models/facenet/20170512-110547

注:模型需要给绝对路径

结果:

Runnning forward pass on LFW images
Accuracy: 0.992+-0.003
Validation rate: 0.97467+-0.01477 @ FAR=0.00133
Area Under Curve (AUC): 1.000
Equal Error Rate (EER): 0.007

参考:
https://github.com/davidsandberg/facenet/wiki/Validate-on-lfw

TensorFlow环境 人脸识别 FaceNet 应用(一)验证测试集的更多相关文章

  1. 第三十七节、人脸检测MTCNN和人脸识别Facenet(附源码)

    在说到人脸检测我们首先会想到利用Harr特征提取和Adaboost分类器进行人脸检测(有兴趣的可以去一看这篇博客第九节.人脸检测之Haar分类器),其检测效果也是不错的,但是目前人脸检测的应用场景逐渐 ...

  2. 人脸识别FaceNet+TensorFlow

    一.本文目标 利用facenet源码实现从摄像头读取视频,实时检测并识别视频中的人脸.换句话说:把facenet源码中contributed目录下的real_time_face_recognition ...

  3. TensorFlow基础笔记(8) TensorFlow简单人脸识别

    数据材料 这是一个小型的人脸数据库,一共有40个人,每个人有10张照片作为样本数据.这些图片都是黑白照片,意味着这些图片都只有灰度0-255,没有rgb三通道.于是我们需要对这张大图片切分成一个个的小 ...

  4. 训练/验证/测试集设置;偏差/方差;high bias/variance;正则化;为什么正则化可以减小过拟合

    1. 训练.验证.测试集 对于一个需要解决的问题的样本数据,在建立模型的过程中,我们会将问题的data划分为以下几个部分: 训练集(train set):用训练集对算法或模型进行训练过程: 验证集(d ...

  5. facenet 人脸识别(一)

    前言 已完成TensorFlow Object Detection API环境搭建,具体搭建过程请参照: 安装运行谷歌开源的TensorFlow Object Detection API视频物体识别系 ...

  6. facenet 进行人脸识别测试

    1.简介:facenet 是基于 TensorFlow 的人脸识别开源库,有兴趣的同学可以扒扒源代码:https://github.com/davidsandberg/facenet 2.安装和配置 ...

  7. TensorFlow人脸识别

    TensorFlow框架做实时人脸识别小项目(一)https://blog.csdn.net/Goerge_L/article/details/80208297 TensorFlow框架做实时人脸识别 ...

  8. 知物由学 | 基于DNN的人脸识别中的反欺骗机制

    "知物由学"是网易云易盾打造的一个品牌栏目,词语出自汉·王充<论衡·实知>.人,能力有高下之分,学习才知道事物的道理,而后才有智慧,不去求问就不会知道."知物 ...

  9. 使用dlib中的深度残差网络(ResNet)实现实时人脸识别

    opencv中提供的基于haar特征级联进行人脸检测的方法效果非常不好,本文使用dlib中提供的人脸检测方法(使用HOG特征或卷积神经网方法),并使用提供的深度残差网络(ResNet)实现实时人脸识别 ...

随机推荐

  1. JS_理解函数参数按值传递

    本文是我基于红宝书<Javascript高级程序设计>中的第四章,4.1.3传递参数小节P70,进一步理解javaSript中函数的参数,当传递的参数是对象时的传递方式. (结合资料的个人 ...

  2. Gird Layout代码解释

    <div class="wrapper"> <!--定义一个类名为wrapper的div盒子--> <div class="one" ...

  3. Tornado-cookie

    cookie 服务端在客户端的中写一个字符串,下一次客户端再访问时只要携带该字符串,就认为其是合法用户. tornado中的cookie有两种,一种是未加密的,一种是加密的,并且可以配置生效域名.路径 ...

  4. 什么是crf

    什么是crf 利用crf++进行实体识别的流程 确定标签体系: 确定特征模板文件: 处理训练数据文件: 模型训练. 确定标签体系 大部分情况下,标签体系越复杂准确度也越高,但相应的训练时间也会增加.因 ...

  5. Javascript 字符串(二)常用操作整理

    一.js获取字符串的字节数 这个好使--- function getBytesLength(str) { // 在GBK编码里,除了ASCII字符,其它都占两个字符宽 return str.repla ...

  6. Jquery如何获取某个元素前(后)的文本内容?

    <span> text here... <a id="target_element">百万创想</a></span> 如何获得a标签 ...

  7. C# Task WaitAll和WaitAny

    Task 有静态方法WaitAll和WaitAny,主要用于等待其他Task完成后做一些事情,先看看其实现部分吧: public class Task : IThreadPoolWorkItem, I ...

  8. ES6 与 React

    Node和NPM/*安装npm*/npm installnpm install <package>npm install -g <package> /*更新安装包*/npm u ...

  9. JAVA中通过Jedis操作Redis连接与插入简单库

    一.简述 JAVA中通过Jedis操作Redis连接与插入简单库 二.依赖 <!-- https://mvnrepository.com/artifact/redis.clients/jedis ...

  10. 一步步教你轻松学奇异值分解SVD降维算法

    一步步教你轻松学奇异值分解SVD降维算法 (白宁超 2018年10月24日09:04:56 ) 摘要:奇异值分解(singular value decomposition)是线性代数中一种重要的矩阵分 ...