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 下载使用)

GitHub 地址:https://github.com/davidsandberg/facenet

这里我采用的是 CASIA-WebFace 预训练模型,有兴趣了解的小伙伴,可以到CASIA-WebFace 官网看看:

http://www.cbsr.ia.ac.cn/english/CASIA-WebFace-Database.html

将下载好的预训练文件解压到 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 线程还不是特别了解,暂时还没有解决这个问题。

原文地址:https://www.cnblogs.com/weixuqin/p/9046225.html

时间: 2024-10-08 11:15:24

facenet 进行人脸识别测试的相关文章

使用MTCNN+FaceNet进行人脸识别

参考以下博客: 1.https://segmentfault.com/a/1190000015917420 2.https://blog.csdn.net/chenzhenyu123456/article/details/80751477(主要参考) 3.https://zhuanlan.zhihu.com/p/37705980(MTCNN和FaceNet讲解) 论文链接: MTCNN:https://arxiv.org/ftp/arxiv/papers/1604/1604.02878.pdf

FaceNet实现人脸检测和识别 【转】

facenet 进行人脸识别测试 1.简介:facenet 是基于 TensorFlow 的人脸识别开源库,有兴趣的同学可以扒扒源代码: https://github.com/davidsandberg/facenet 2.安装和配置 facenet 我们先将 facenet 源代码下载下来: git clone https://github.com/davidsandberg/facenet.git 在使用 facenet 前,务必安装下列这些库包: 这里如果是anaconda环境,强烈建议隔

学习笔记TF058:人脸识别

人脸识别,基于人脸部特征信息识别身份的生物识别技术.摄像机.摄像头采集人脸图像或视频流,自动检测.跟踪图像中人脸,做脸部相关技术处理,人脸检测.人脸关键点检测.人脸验证等.<麻省理工科技评论>(MIT Technology Review),2017年全球十大突破性技术榜单,支付宝"刷脸支付"(Paying with Your Face)入围. 人脸识别优势,非强制性(采集方式不容易被察觉,被识别人脸图像可主动获取).非接触性(用户不需要与设备接触).并发性(可同时多人脸检测

基于LS1046A的边缘计算之人脸识别方案

随着越来越多的智能设备出现,从数据的获取到数据的处理到深度学习,必须要在信息当中进行挖掘.信息爆炸,设备不堪重负,边缘计算应运而生.而未来数据的产生速度会逐步超过存储能力.在未来的5-10年,边缘计算比数据中心的统一计算更为重要. 边缘计算将改变物联网(IoT),就像云计算改变企业IT一样.我们创建安全.高度可编程和灵活的计算系统来增强人工智能(AI)和机器学习(ML),有助于开创本地AI的时代,而边缘节点不仅智能,且训练有素,知晓它们的环境和状况,使其能够脱机或采用有限的云连接. 提供硬件安全

第三十七节、人脸检测MTCNN和人脸识别Facenet

在说到人脸检测我们首先会想到利用Harr特征提取和Adaboost分类器进行人脸检测(有兴趣的可以去一看这篇博客第九节.人脸检测之Haar分类器),其检测效果也是不错的,但是目前人脸检测的应用场景逐渐从室内演变到室外,从单一限定场景发展到广场.车站.地铁口等场景,人脸检测面临的要求越来越高,比如:人脸尺度多变.数量冗大.姿势多样包括俯拍人脸.戴帽子口罩等的遮挡.表情夸张.化妆伪装.光照条件恶劣.分辨率低甚至连肉眼都较难区分等.在这样复杂的环境下基于Haar特征的人脸检测表现的不尽人意.随着深度学

openFace 人脸识别框架测试

openface  人脸识别框架  但个人感觉精度还是很一般 openface的githup文档地址:http://cmusatyalab.github.io/openface/ openface的安装: 官方推荐用docker来安装openface,这样方便快速不用自己去安装那么多依赖库: docker pull bamos/openface docker run -p 9000:9000 -p 8000:8000 -t -i bamos/openface /bin/bash 也就两行代码的事

AI人脸识别的测试重点

最常见的 AI应用就是人脸识别,因此这篇文章从人脸识别的架构和核心上,来讲讲测试的重点. 测试之前需要先了解人脸识别的整个流程,红色标识代表的是对应AI架构中的各个阶段 首先是人脸采集. 安装拍照摄像设备之后,需要在动态的场景与复杂的背景中判断是否存在人脸,并分离出这种面像.然后采集到人脸的照片. 因此采集过程是非常重要的,一需要能够采集到内容,二采集的内容能够分离出来是人脸. 而特征提取的原理是,将获取的人脸照片进行色彩矫正.光线调整,五官定位和脸部分割,将人脸的鼻子.眼睛.嘴巴等视为一个个特

人脸识别关键点/五官定位效果分析---点击图片提供下载测试,欢迎提供建议

########################################### 1:安装好了之后,打开手机网络(只是验证网络时间),并不发生数据交互. 2:如果打开黑屏,是由于安卓手机版本太高,需要手动打开摄像头权限. ########################################## 利用神经网络开发的五官定位/人脸识别关键点的开发包,跟踪效果和切合 度还是不错的,但是一定存在很多大牛,希望你们多多分享下你们自己的经 验,大家一起进步. ###############

人脸识别(face recognition)

一.前述 1. 发展 以往的人脸识别主要是包括人脸图像采集.人脸识别预处理.身份确认.身份查找等技术和系统.现在人脸识别已经慢慢延伸到了ADAS中的驾驶员检测.行人跟踪.甚至到了动态物体的跟踪.由此可以看出,人脸识别系统已经由简单的图像处理发展到了视频实时处理.而且算法已经由以前的Adaboots.PCA等传统的统计学方法转变为CNN.RCNN等深度学习及其变形的方法.现在也有相当一部分人开始研究3维人脸识别识别,这种项目目前也受到了学术界.工业界和国家的支持. 之后的内容主要参考了下面的链接,