FaceNet实现人脸识别

您所在的位置:网站首页 json数据集可以用来Pca人脸识别吗 FaceNet实现人脸识别

FaceNet实现人脸识别

2024-06-18 23:40| 来源: 网络整理| 查看: 265

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

 

一、环境配置

配置环境方面采用keras=2.3.0、mtcnn=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_argument中default改为你待检测的识别名。(这里以我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张图片训练效果还不错,大家可以自行采集更多不同的数据集来训练。

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3