facenet识别准确率_facenet 进行人脸识别测试
1.简介:facenet 是基于 TensorFlow 的人脸识别开源库,有兴趣的同学可以扒扒源代码:https://github.com/davidsandberg/facenet
2.安装和配置 facenet
我们先将 facenet 源代码下载下来:
git clone https://github.com/davidsandberg/facenet.git
在使用 facenet 前,务必安装下列这些库包:
或者直接移动到 facenet 目录下,一键安装
pip install -r requirements.txt
3.下载 LFW 数据集
LFW 是由美国马萨诸塞大学阿姆斯特分校计算机视觉实验室整理的。它包含13233张图片,共5749人,其中4096人只有一张图片,1680人的图片多余一张,每张图片尺寸是250x250 。
下载地址:http://vis-www.cs.umass.edu/lfw/ ->Menu->Download->All images as gzipped tar file
下载完成后,我们将文件解压到 facenet/data/lfw_data/lfw 目录下(没有的话自己建个目录),在 lfw_data 目录下新建一个目录 lfw_160,用来存放裁剪后图片。
4.对图像进行预处理
因为程序中神经网络使用的是谷歌的“inception resnet v1”网络模型,这个模型的输入时160*160的图像,而我们下载的LFW数据集是250*250限像素的图像,所以需要进行图片的预处理。
运行 facenet/src/align/align_dataset_mtcnn.py 来修改图片尺寸大小,加入下列参数
facenet/data/lfw_data/lfw #输入图像文件夹
facenet/data/lfw_data/lfw_160 #输出图像文件夹--image_size 160 --margin 32 --random_order--gpu_memory_fraction 0.25 #指定裁剪后图像大小(如果不指定,默认的裁剪结果是182*182像素的)
即
python align_dataset_mtcnn.py facenet/data/lfw_data/lfw facenet/data/lfw_data/lfw_160 --image_size 160 --margin 32 --random_order--gpu_memory_fraction 0.25
如果用的是 pycharm,可以在 RUN -> Edit Configurations 下添加参数信息,然后运行 align_dataset_mtcnn.py 文件:
**这里自己运行的时候一直报错提示:No module named 'align'
将 align_dataset_mtcnn.py 移动至 src 文件夹下再运行就不会报错了。
校准后图像大小即变为160 x 160 。
5.评估 Google 预训练模型在数据集中的准确性
facenet提供了两个预训练模型,分别是基于CASIA-WebFace和 VGGFace2人脸库训练的。(由于存储在 Google 网盘中,需要 FQ 下载使用)
这里我采用的是 CASIA-WebFace 预训练模型,有兴趣了解的小伙伴,可以到CASIA-WebFace 官网看看:
将下载好的预训练文件解压到 facenet/src/models目录下:
添加参数
facenet/data/lfw_data/lfw_160 facenet/src/models/20180408-102900
运行 validate_on_lfw.py 文件。
这里我刚开始运行的时候报错:
发现是预训练模型版本太旧,我们在 facenet 上下载最新的CASIA-WebFace 训练库再重新运行即可。
运行结果如下:
可以看到识别精度可以达到 97.7%,其识别准确度还是非常不错的。
但是程序运行完以后虽然最终运行结果正确,但是最后却还是报了个错误:_2_input_producer: Skipping cancelled enqueue attempt with queue not closed
原因是主线程已经关闭,但是读取数据入队线程还在执行入队。
由于自己对 TensorFlow 线程还不是特别了解,暂时还没有解决这个问题。
facenet识别准确率_facenet 进行人脸识别测试相关推荐
- gpu训练cnn人脸识别准确率_opencv+mtcnn+facenet+python+tensorflow 实现实时人脸识别
opencv+mtcnn+facenet+python+tensorflow 实现实时人脸识别 Abstract:本文记录了在学习深度学习过程中,使用opencv+mtcnn+facenet+pyth ...
- 开源真香 离线识别率高 Python 人脸识别系统
以往的人脸识别主要是包括人脸图像采集.人脸识别预处理.身份确认.身份查找等技术和系统.现在人脸识别已经慢慢延伸到了ADAS中的驾驶员检测.行人跟踪.甚至到了动态物体的跟踪. 由此可以看出,人脸识别系统 ...
- android人脸识别门禁,安卓人脸识别门禁终端DM-A1
1.产品介绍: 安卓(Android)人脸识别门禁终端DM-A1是定位为一款功能丰富,扩展性强,稳定性高,简单维护的人脸识别一体机.它集深数科技人脸比对算法及人脸识别活体检测算法,实现5000人脸库下 ...
- 人脸识别(5)---人脸识别技术及应用概览
人脸识别技术及应用概览 科技的发展正在加速改变我们的生活.以前,我们购物埋单时,收银员会问"现金还是刷卡",现在,这句话则变成了"微信还是支付宝?"以前,我们上 ...
- matlab人脸识别开题报告,基于人脸识别的出勤点名系统中特征提取算法研究开题报告...
基于人脸识别的出勤点名系统中特征提取算法研究 一.本课题研究的目的,意义 人脸识别是一项既有科学研究价值,又有广泛应用前景的研究课题.国际上大量研究人员几十年的研究取得了丰硕的研究成果,自动人脸识别技 ...
- Java + opencv 实现人脸识别,图片人脸识别、视频人脸识别、摄像头实时人脸识别
搭建环境 opencv官网下载windows安装包 https://opencv.org/releases/ 选择最新版4.1.1 下载完成后是一个opencv-4.1.1-vc14_vc15.exe ...
- 人脸识别接口_人工智能 人脸识别双目模组摄像头 活体检测的重要作用
人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术.用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技术,通常也叫做人像 ...
- 人脸识别智能服务器,智能化人脸识别服务器
智能化人脸识别服务器,同时,在新基建的运维管理方面有了进一步的创新,通过自身的研发实现了对各基建网点的自动化全实时监测,及时发现故障并发出警示.自动处理故障网点.通知运维人员通过远程及时处理故障网点. ...
- 计算机人脸识别算哪个专业,人脸识别属于计算机什么领域(图文)
[导读]人脸识别属于计算机什么领域,下面就是191路由网整理的网络知识百科,来看看吧! 大家好,我是191路由器网小编,上述问题将由我为大家讲解. 人脸识别属于热门的计算机技术研究领域.人脸识别属于计 ...
最新文章
- 论外部调用代理应该属于那一层
- 【大数据-Hadoop】Presto
- 浅谈MySQL数据库中的锁与事务
- 滚动图片广告_张韶涵霸屏兴发广场,户外LED大屏广告:投放价值在哪?
- 华为辞职门事件——再谈工作问题
- Nginx 笔记与总结(3)配置虚拟主机
- WordPress 添加网页图标
- 使用CLONE TABLE方式实现同region不同可用区的MaxCompute
- mysql 海量数据库的查询优化及分页算法方案_mysql 海量数据库的查询优化及分页算法方案...
- 小米MIX4发布会还有新品?小米全面屏电视PRO官宣
- OpenShift 4 - 解决 OpenShift 中 elasticsearch 环境的 Log4j 漏洞
- LED串联并联驱动方式分析
- android备份手机号码,Android QQ同步助手3.2 保证号码备份“不丢人”
- 【NOIP practice】BSOJ 3132 卡扎菲 并查集
- 利用Mono.Cecil动态修改程序集来破解商业组件
- 张量基础2(张量乘法和对称)
- 10. 正则表达式与JSON
- 中国石油大学远程教育《应急救援概论》第三阶段在线作业
- xp无法搜索计算机名,雨林木风xp系统无法搜索到工作组计算机怎么办
- CyclicBarrier原理分析