### 一、FaceNet模型
#### (1)、FaceNet源码仓库,本地代码存放在facenet-master文件夹下面
https://github.com/davidsandberg/facenet
#### (2)、FaceNet源码解读(网友解读版一),代码存放在understand_facenet文件夹下
https://blog.csdn.net/u013044310/article/details/79556099
https://github.com/boyliwensheng/understand_facenet(配套源码地址)
#### (3)、FaceNet源码解读(网友解读版二),代码存放在facenet-master文件夹下
https://blog.csdn.net/huangshaoyin/article/details/81034551
#### (4)、triplet-reid源码地址
https://github.com/VisualComputingInstitute/triplet-reid
#### (5)、FaceNet源码解读(网友解读版三),(2)是在借鉴此作者的博客,
- 本篇博客也提供了各种人脸数据集的介绍和`预模型`的下载
https://blog.csdn.net/MrCharles/article/details/80360461
### 二、人脸匹配数据准备
#### 运行环境
- tensorflow==1.7
- scipy
- scikit-learn
- opencv-python
- h5py
- matplotlib
- Pillow
- requests
- psutil
#### 数据集
- LFW 下载地址:http://vis-www.cs.umass.edu/lfw/#views 谷歌网盘(需要梯子):https://drive.google.com/drive/u/0/folders/0B7EVK8r0v71pQ3NzdzRhVUhSams
- Celeba 下载地址:http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html
- VGGface2
- CASIA-WebFace
- CASIA-faceV5
- 更多人脸数据集请看:https://www.cnblogs.com/ansang/p/8137413.html
#### 数据格式
- 文件夹名/文件夹名_文件名
- 同一个热的图片放在相同文件夹
#### Pre-trained models
- https://blog.csdn.net/MrCharles/article/details/80360461 (一)中的第五点
![](https://ae01.alicdn.com/kf/Hbea52004ac754ea7a7883812f23fade2N.png)
模型下载链接:https://pan.baidu.com/s/1aiSq7wGpdHIe6MUKPnXgrA 密码:4dcn
> 20170512-110547(MS-Celeb-1M数据集训练的模型文件,微软人脸识别数据库,名人榜选择前100万名人,搜索引擎采集每个名人100张人脸图片。预训练模型准确率0.993+-0.004)
#### Inception ResNet v1 模型图
<img src="https://ae01.alicdn.com/kf/Hd053b820ced845f58090b433d513c8f3o.png" style="zoom:80%;" />
### 三、一些问题
#### 1、解决出现`ModuleNotFoundError: No module named 'facenet'`异常
- a.在cmd(需要管理员权限)命令行键入:set PYTHONPATH=...\facenet\src, 例如笔者的是:set PYTHONPATH=D:\Python\Work\face-system\face-net\facenet-master\src
- b.在 计算机-->属性-->高级系统设置-->环境变量 中,新建PYTHONPATH,键入 D:\Python\Work\face-system\face-net\facenet-master\src
- c.如果使用pycharm,请记得重启pycharm
#### 2、重新裁剪LFM图片数据集的大小
> 程序中神经网络使用的是谷歌的“inception resnet v1”网络模型,这个模型的输入时160x160的图像,而我们下载的LFW数据集是250x250限像素的图像,所以需要进行图片的预处理。
- 原本数据集放在raw文件夹下面,新裁剪的图片放在ifw_160文件夹下面
data/lfw/raw :D:\\Python\\Work\\face-system\\face-net\\facenet-master\\data\\ifw\\raw
data/lfw/lfw_160:D:\\Python\\Work\\face-system\\face-net\\facenet-master\\data\\ifw\\ifw_160
```shell
# 运行脚本,记得将图片文件夹修改为自己的文件夹目录
python src\align\align_dataset_mtcnn.py data/lfw/raw data/lfw/lfw_160 --image_size 160 --margin 32
```
- pycharm中运行记得修改成下面这样
![](https://ae01.alicdn.com/kf/H8bfbd1bb2f2b474681a4a92b42731c65U.png)
#### 3、评估预训练模型的准确率
##### 1)、模型下载
> facenet提供了两个预训练模型,分别是基于CASIA-WebFace和MS-Celeb-1M人脸库训练的,不过需要去谷歌网盘下载,这里给其中一个模型的百度网盘的链接:
https://pan.baidu.com/s/1LLPIitZhXVI_V3ifZ10XNg#list/path=%2F 密码: 12mh
> 模型放在data文件夹下,没有就创建
##### 2)、运行脚本
```shell
# 运行脚本,同样的,目录改为自己的
data\lfw\lfw_160:D:\\Python\\Work\\face-system\\face-net\\facenet-master\\data\\ifw\\ifw_160
src\models\20180408-102900:D:\\Python\\Work\\face-system\\face-net\\facenet-master\\data\\models\\20180408-102900
Python src\validate_on_lfw.py data\lfw\lfw_160 src\models\20180408-102900
```
- 安装网络上面的做法会出现错误,是应为data/pairs.txt读取不到,所以需要在运行脚本上面加上`--lfw_pairs=txt的地址
![](https://ae01.alicdn.com/kf/H9f8ff6240a024da4821d07c405654677G.png)
```shell
运行脚本,同样的,目录改为自己的
data\lfw\lfw_160:D:\\Python\\Work\\face-system\\face-net\\facenet-master\\data\\ifw\\ifw_160
src\models\20180408-102900:D:\\Python\\Work\\face-system\\face-net\\facenet-master\\data\\models\\20180408-102900
data/pairs.txt:D:\\Python\\Work\\face-system\\face-net\\facenet-master\\data\\pairs.txt
Python src\validate_on_lfw.py data\lfw\lfw_160 src\models\20180408-102900 --lfw_pairs=data/pairs.txt
```
##### 3)、TensorFlow版本导致报错
```shell
2020-04-17 00:27:11.307949: W tensorflow/core/graph/graph_constructor.cc:1272] Importing a graph with a lower producer version 24 into an existing graph with producer version 27. Shape inference will have run different parts of the graph with different producer versions.
Traceback (most recent call last):
```
- 解决方案
1.把Tensorflow换为1.7版本的;
2.在`facenet.py`代码中找到`create_input_pipeline` 再添加一行语句` with tf.name_scope("tempscope"):` 就可以完美解决(貌似Tensorflow 1.10及以上版本才修复这个bug)。
![](https://ae01.alicdn.com/kf/H2eb7b8dc5d984ecca4f52703467fb45b0.png)
- 运行结果,可以看出,模型的精度高达99.7%
<img src="https://ae01.alicdn.com/kf/Hbe49c52d5942488fbed1296a0514254cW.png" style="zoom: 80%;" />
#### 4、人脸对比程序运行
> FaceNet可以对比两张人脸图片,可以得出他们的经过网络映射之后的欧式距离,相同的人脸的距离越小。
```shell
# 参数:第一个参数为预模型的地址,第二个和第三个参数为图片的地址
python src\compare.py
D:\\Python\\Work\\face-system\\face-net\\facenet-master\\data\\models\\20180408-102900
D:\\Python\\Work\\face-system\\face-net\\facenet-master\\data\\ifw\\ifw_160\\Aaron_Eckhart\\Aaron_Eckhart_0001.png
D:\\Python\\Work\\face-system\\face-net\\facenet-master\\data\\ifw\\ifw_160\\Aaron_Guiel\\Aaron_Guiel_0001.png
```
- pycharm中运行记得修改成下面这样:
![](https://ae01.alicdn.com/kf/Ha03a9c0a688b4b7fa4352fe0ab5f59270.png)
- 运行结果如下:
![](https://ae01.alicdn.com/kf/H1ee064785b9a455b88ec83ccd54999d06.png)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做课程设计、期末大作业和毕设项目的学生、或者相关技术学习者作为学习资料参考使用。 3、该资源包括全部源码,需要具备一定基础才能看懂并调试代码。 基于python+TensorFlow实现的人脸识别算法源码.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于python+TensorFlow实现的人脸识别算法源码.zip (446个子文件)
_mask.c 695KB
maskApi.c 8KB
maskApiMex.c 5KB
gason.cpp 9KB
gasonMex.cpp 9KB
layui.css 73KB
layer.css 14KB
layer.css 14KB
layui.mobile.css 10KB
laydate.css 7KB
code.css 1KB
C.csv 24B
B.csv 24B
A.csv 24B
iconfont.eot 46KB
protoc.exe 4.21MB
_mask.cp37-win_amd64.exp 725B
59.gif 10KB
22.gif 10KB
24.gif 8KB
13.gif 7KB
16.gif 7KB
39.gif 6KB
64.gif 6KB
63.gif 6KB
50.gif 6KB
loading-0.gif 6KB
loading-0.gif 6KB
4.gif 6KB
1.gif 5KB
42.gif 5KB
71.gif 5KB
21.gif 5KB
20.gif 5KB
29.gif 5KB
70.gif 4KB
5.gif 4KB
17.gif 4KB
27.gif 4KB
9.gif 4KB
44.gif 4KB
11.gif 4KB
8.gif 4KB
3.gif 4KB
23.gif 4KB
34.gif 4KB
41.gif 4KB
38.gif 4KB
65.gif 3KB
32.gif 3KB
45.gif 3KB
7.gif 3KB
12.gif 3KB
26.gif 3KB
60.gif 3KB
2.gif 3KB
40.gif 3KB
25.gif 3KB
19.gif 3KB
66.gif 3KB
18.gif 3KB
46.gif 3KB
10.gif 3KB
28.gif 3KB
51.gif 3KB
57.gif 3KB
67.gif 3KB
0.gif 3KB
48.gif 3KB
43.gif 3KB
30.gif 2KB
61.gif 2KB
33.gif 2KB
69.gif 2KB
14.gif 2KB
47.gif 2KB
36.gif 2KB
49.gif 2KB
58.gif 2KB
6.gif 2KB
54.gif 2KB
53.gif 2KB
56.gif 2KB
62.gif 2KB
31.gif 2KB
55.gif 2KB
35.gif 2KB
15.gif 2KB
loading-2.gif 2KB
loading-2.gif 2KB
37.gif 1KB
68.gif 1KB
52.gif 777B
loading-1.gif 701B
loading-1.gif 701B
gason.h 3KB
maskApi.h 2KB
face_regist.html 9KB
face_attribute.html 8KB
pc.html 8KB
共 446 条
- 1
- 2
- 3
- 4
- 5
资源评论
辣椒种子
- 粉丝: 4065
- 资源: 5733
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- androidx.multidex.MultiDexApplication.apk.1
- 丑子金装美化32(1).zip
- 基于Visual Basic .Net及Python技术的学校需求解决方案设计源码
- 基于Java语言的Web开发学习Demo设计源码
- 基于Java的医院排队叫号系统界面原型设计源码
- 基于Java语言的Himalaya仿喜马拉雅设计源码
- 基于PHP+HTML+CSS+JavaScript的智能电车管家设计源码
- 基于Emscripten编译的纯H5直播流播放器jessibuca设计源码
- 基于react-native的Android隐私合规配置与代码集成设计源码
- 基于JavaFX技术的全功能色彩管理器设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功