FaceNet实现人脸识别----自己训练数据集并测试

FaceNet(A Unified Embedding for Face Recognition and Clustering)是一种基于深度学习的人脸识别技术,能够将人脸图像转化为高维特征向量,并通过计算特征向量之间的距离关系来进行准确的人脸比对和识别。本教程着重在于如何使用FaceNet来训练自己的数据集(以本人识别为例),并进行简单的测试。有关原理在之后课程介绍。使用FaceNet训练自己的数据集要经过以下步骤:

 

一、环境配置

配置环境方面采用keras=2.3.0mtcnn=0.1.1、sklearn.anaconda选择的是python3.6版本。安装过程直接用pip命令:

Pip install keras==2.3.0

Pip install mtcnn

Pip install sklearm

注:其他缺失包自行下载!!!

二、下载源代码

链接:https://pan.baidu.com/s/1KU_HhdIQXpNAtfkuIbGBMg

提取码:LLYH

下载压缩文件后,保存在一个专门的文件夹中。

这里就直接在我的网盘上下载,下载后的文件结构为:

三、收集数据集

1下载源码后打开工程文件,首先打开src文件里save_data.py文件。(这里我使用的是pycharm打开)

 

2在工程中新建data文件夹,用来保存人脸的数据集,在运行代码前需要对代码文件的参数进行修改。

3对识别名进行设置将ap.add_argumentdefault改为你待检测的识别名。(这里以我LQX为例)。

4对采集到的图片保存路径进行设置path_to_save设置为’../data/’

5)开始运行这里获取图片具体数量因人而异,代码里设置了图片的最大数量为50张,故在50张时程序会自动退出,当如果你不需要这么多图(可以按’q’提前结束程序)。

 

 6根据自己的需求来修改图片数,具体修改如图:

7运行完后data文件里会生成一个名为识别名的文件,里面是刚保存的50张图片(我这里用的50张)。

 

四、用自己的数据集训练模型

1打开train_embs.py文件并修改待处理图片路径。对图片进行预处理并将处理后的图片数据保存在pickel文件。

 2设置pickel文件名及保存路径:

 3运行train_embs.py文件在output文件中会生成相应的pickle文件。成功会出现如下结果:

 

 

4打开train_class.py文件修改pickle文件的打开路径设置模型保存路径

运行运行train_classify.py程序开始训练:

 

 

 5运行成功后在models文件中会生成.h5文件如图:

 

 

五、模型测试

1打开video_recognition.py文件修改模型参数运行效果如图:

 

 

 到此,就已经实现了facenet训练自己的数据集并进行测试,50张图片训练效果还不错,大家可以自行采集更多不同的数据集来训练。

 

 

  • 9
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值