前言

已完成TensorFlow Object Detection API环境搭建,具体搭建过程请参照:

安装运行谷歌开源的TensorFlow Object Detection API视频物体识别系统

Ubuntu系统安装配置tensorflow开发环境

下载Facenet源码工程

1. 源码下载地址:https://github.com/davidsandberg/facenet.git

2. 将下载的源码解压,如图所示:

安装和配置Facenet环境

1. 在自己电脑对应的Anaconda3\Lib\site-packages目录下,新建facenet文件夹,本人的目录如下:

2. 然后,将facenet-master\src目录下的全部文件复制到上面新建的facenet文件夹内;

facenet-master\src目录下的全部文件信息如下:

复制到facenet目录内,如下:

3. 最后,在Anaconda Prompt内输入import facenet,不会报错即可,如下:

下载LFW数据集

1. LFW数据集是由美国马萨诸塞大学阿姆斯特分校计算机视觉实验室整理的人脸检测数据集,是评估人脸识别算法效果的公开测试数据集,全称为带标签的自然人脸数据库(Labeled Faces in the Wild);

2. LFW数据库内每张图片命名方式为“lfw/name/name_xxxx.jpg”,这里“xxxx”是前面补零的四位图片编号。例如,前美国总统乔治•W•布什的第10张图片为“lfw/George_W_Bush/George_W_Bush_0010.jpg”。

3. LFW数据库 总共有 13233 张 JPEG 格式图片,属于 5749 个不同人。每张图片尺寸都是 250x250;

4. 数据库下载地址:http://vis-www.cs.umass.edu/lfw/#download http://vis-www.cs.umass.edu/lfw/lfw.tgz

5. 下载完成后,把数据集解压到facenet-master\data下面,如下:

对LFW数据集进行预处理

1. 在data目录新建一个空文件夹,命名为“lfw_160”;

原图像大小为250*250,如下图:

2. 我们需要将待检测所使用的数据集校准为和预训练模型所使用的数据集大小一致(160*160),转换后的数据集存储在lfw_160文件夹内;

3.切换目录至facenet-master下

4.图片预处理——运行人脸对齐程序(src\align\align_dataset_mtcnn.py)

命令校准

python src\align\align_dataset_mtcnn.py --help

缺少align模块,进行安装

pip install align -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

再次运行

python src\align\align_dataset_mtcnn.py --help

需配置环境变量

再输入

python src\align\align_dataset_mtcnn.py --help

执行转换

python src\align\align_dataset_mtcnn.py data/lfw data/lfw_160 --image_size 160 --margin 32 --random_order --gpu_memory_fraction 0.25

下载训练好的网络模型

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


2. 本人使用的是基于数据集CASIA-WebFace采用Inception ResNet v1神经网络结构训练好的模型。模型存储在Google网盘,需要翻墙。推荐大家用Lantern;

3. 把下载的文件解压到src\models\目录下面,如下所示:

4. 程序也下载了,测试数据集LFW也有了,模型也有了,接下来就是评估模型的准确率;

评估预训练模型的准确率

1. 在cmd命令行或者Anaconda Propmt下定位到facenet文件夹下;

cd D:\eclipse-workspace\facenet-master

2. 输入以下命令:

python src\validate_on_lfw.py D:\eclipse-workspace\facenet-master\data\lfw_160 D:\eclipse-workspace\facenet-master\models\20180408-102900

预测中,结果如图:

人脸对比

1. Facenet可以直接对比2个人脸经过它的网络映射之后的欧式距离;

运行程序为facenet-master\src\compare.py;

2.在data\images目录下有两张图片进行测试;

python src\compare.py D:\eclipse-workspace\facenet-master\models\20180408-102900 D:\eclipse-workspace\facenet-master\data\images\Anthony_Hopkins_0001.jpg D:\eclipse-workspace\facenet-master\data\images\Anthony_Hopkins_0002.jpg

facenet 人脸识别(一)相关推荐

  1. facenet 人脸识别原理理解(三)

    在前两篇文章已经介绍了facenet人脸识别代码的使用和具体操作,但相关的原理还是没有说,这篇文章进行简单的讲解一下. 1. 原理 在人脸识别中,当我们需要加在图片数据库入新的一张人脸图片时,是怎么做 ...

  2. 基于facenet人脸识别设计文档

    基于facenet人脸识别设计文档 一.概述 在Ubuntu系统上,创建人脸库搭建基于facenet的人脸识别库,本文采用Python从百度下载明星照片,通过facenet的检测对齐人脸函数制作人脸库 ...

  3. facenet 人脸识别库的搭建和使用方法(二)

    上一篇文章介绍了facenet人脸识别的源码使用,这篇文章就来搭建自己的人脸识别库. 1. 制作自己的人脸识别库 1.1 准备数据集 通过百度图片爬取一些明星图片为例,这里准备了一个DownloadI ...

  4. 聪明的人脸识别3——Pytorch 搭建自己的Facenet人脸识别平台

    聪明的人脸识别3--Pytorch 搭建自己的Facenet人脸识别平台 学习前言 什么是Facenet 源码下载 Facenet的实现思路 一.预测部分 1.主干网络介绍 2.根据初步特征获得长度为 ...

  5. FaceNet:人脸识别和聚类的统一嵌入

    论文来自https://arxiv.org/abs/1503.03832 英语渣渣的阅读和翻译 FaceNet:人脸识别和聚类的统一嵌入 摘要:尽管最近在面部识别领域取得了重大的进展[10.14.15 ...

  6. facenet 人脸识别源码的使用方法(一)

    1. 开发环境 OS:        ubuntu16.04 tensorflow版本:1.12.0 python版本:    3.6.7 2. 下载源码到本地 facenet官方github: ht ...

  7. 聪明的人脸识别1——Keras 搭建自己的Facenet人脸识别平台

    聪明的人脸识别1--Keras 搭建自己的Facenet人脸识别平台 学习前言 什么是Facenet 源码下载 Facenet的实现思路 一.预测部分 1.主干网络介绍 2.根据初步特征获得长度为12 ...

  8. matlab人脸识别样本库建立,facenet 人脸识别(二)——创建人脸库搭建人脸识别系统...

    搭建人脸库 选择的方式是从百度下载明星照片 照片下载,downloadImageByBaidu.py # coding=utf-8 """ 爬取百度图片的高清原图 &qu ...

  9. 跑通FaceNet人脸识别

    原创:杨其泓 一.前言 FaceNet是一个十分经典的人脸识别模型,并且具有较好的性能,但要实现使用自己的数据进行人脸识别,还需要对模型进行重新训练.本文将介绍跑通一个简单FaceNet的全部流程,以 ...

最新文章

  1. 2018年Python开源项目Top100!只在这里!
  2. zabbix自动发现oracle表空间并监控其使用率
  3. oracle prvg 1901,12c 打补丁analyze时报错
  4. AS插件-Android Drawable Importer
  5. dos命令行输入adb shell命令为什么报错
  6. Python高级——HTTP协议
  7. 银联支付h5返回商户的地址是post的吗?_php实现银联商务公众号+服务窗支付
  8. python latex显示不出来_10 个加速Python数据分析的简单的小技巧
  9. sqlserver字符串处理函数
  10. 换加密算法--python
  11. stm32 boot设置
  12. 在UBUNTU 13.1 中使用五笔拼音混合输入法
  13. PHP 7从零基础到项目实战,PHP 7从零基础到项目实战
  14. gcat广告电商云南百收涉及传销新模式:社交电商消费返利
  15. MySQL学习笔记:upper、lower、ucase、lacase——字符串函数
  16. SplitSR: An End-to-End Approach to Super-Resolution on Mobile Devices
  17. 服务器硬件基础设施,【通讯技术】细节定成败,NFV中的硬件基础设施管理
  18. C# 四舍五入、进一法、舍位(取整,舍去小数,向负无穷舍入)函数
  19. XMind ,有道云笔记, Effie ,谁会为公众号主减轻压力?
  20. 如何发动一次ARP欺骗攻击

热门文章

  1. Python获取二维数组的行列数
  2. Excel-VBA应用(1):批量提取单元格中的超链接URL
  3. 华硕B85 pro gamer +i5 4590 +GTX960 成功安装黑苹果 macOS 10.12.2
  4. 龙芯(mips)+麒麟V10 electron适配
  5. 关于ES6中let 和 const 命令的用法以及注意事项:
  6. Android Bluetooth HID实现详解
  7. 实现多个文件夹名同时重命名的操作
  8. C语言数组 :用户输入一个数, 我要用这个数当数组的长度。怎么办呢
  9. 英语--副词描述变化量大小
  10. Windows 程式设计书籍