TensorFlow--实现人脸识别实验精讲 (Face Recognition using Tensorflow)

本文详细讲解如何使用TensorFlow和facenet库进行人脸识别。从获取LFW数据集,下载并配置facenet,到使用预训练模型进行验证,最后介绍了人脸识别的基本流程和技术优势。通过十折交叉验证评估模型在LFW数据集上的准确率,探讨了人脸检测、关键点检测、验证等关键步骤,并提供了源码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做一个人脸检测实验。

1.获取数据集(LFW)

Labeled Faces in the Wild Home Menu->Download->All images as gzipped tar file

或者直接点击我是LFW 解压放到datasets

2.下载facenet并配置(facenet 是一个使用tensorflow 进行人脸识别的开源库,我们可以依赖于它,进行人脸识别相关开发,进而降低难度与成本

 1)git clone --recursive https://github.com/davidsandberg/facenet.git
 2)cd facenet/
 3)pip install -r requirements.txt (这一步会把你的TF修改成1.2.0,我之前的是TensorFlow·1.4.1,执行完此命令变为了TensorFlow1.2.0)
 4)export PYTHONPATH=$(pwd)/src
注意文件放置的位置!(facenet 和lfw要放在同一目录下,切记!)

facenet所在路径 /home/cjz/anaconda3/envs/tensorflow/facenet

lfw解压后所在路径:/home/cjz/anaconda3/envs/tensorflow/datasets/lfw

3.处理数据集(对齐数据集)
1)cd facenet
2) python src/align/align_dataset_mtcnn.py ~/anaconda3/envs/tensorflow/datasets/lfw ~/anaconda3/envs/tensorflow/datasets/lfw /lfw_mtcnnpy_160 --image_size 160 --margin 32 --random_order --gpu_memory_fraction 0.25   (切记,一定要写对路径 ,这样才能导入全部数据,并导出相同像素160*160的图片)

图片较多需要等一段时间(我的CPU跑了40-50分钟,gpu的话应该更快),

然后在这里 /home/cjz/anaconda3/envs/tensorflow/datasets/lfw/lfw_mtcnnpy_160会有对齐之后的图片了(所谓对齐,可以理解为就是同等像素大小,详解https://www.cnblogs.com/bakari/archive/2012/08/27/2658956.html)。

4.下载训练好的模型文件

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

(2) 本人使用的是基于数据集MS-Celeb-1M训练好的模型。模型存储在Google网盘,需要翻墙。

https://github.com/davidsandberg/facenet

选择pre-trained models

下载20170512-110547(MS-Celeb-1M数据集训练的模型文件,微软人脸识别数据库,名人榜选择前100万名人,搜索引擎采集每个名人100张人脸图片。预训练模型准确率0.993+-0.004)      (注意:我是翻墙才能下载下来,稍后我会上传

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值