栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【项目实战】Python基于MTCNN+FaceNet+SVM进行人脸识别项目实战

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【项目实战】Python基于MTCNN+FaceNet+SVM进行人脸识别项目实战

说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。

1.项目背景

       人脸识别的现代研究始于20世纪60年代末。在近20年,随着计算机性能的不断提高和算法的不断发展,人脸识别有了重大突破,真正进入自动识别阶段。早期的应用主要为刑侦破案,随后应用在手机解锁等安全要求不鳥的场所,现今人脸识别己广泛应用于金融、司法、军队、教育等人类生活的各个领域,并且还在不断地开拓新领域。

       随着近年来深度卷积神经网络被引入人脸识别领域,使得人脸识别效果获得了巨大的提高。基于深度学习的人脸检测方法可W通过网络自动学习人脸面部特征,而且通过网络级联来提高人脸检测效率。该方法的输入为原始图像,不需要大量的前期工作,从而节省了时间和成本。并且相较于传统的机器学习检测方法,基于深度学习的人脸检测方法效果更好。

2.数据获取

本次建模数据来源于网络(本项目撰写人整理而成),数据项统计如下:

数据详情如下(部分展示):包含五个人的训练样本与验证样本。文件夹名称为人名,可作为数据集的标签。

 上图为五个人的日常图片。

上图为ben_afflek的图片,部分作为展示。

3.数据预处理

3.1 加载和读取数据

关键代码:

用MTCNN检测图像文件中的人脸,转换为指定尺寸,返回人脸图像的numpy矩阵格式。

4.探索性数据分析

4.1.标签样本统计

关键代码如下:

结果输出如下:

5.特征工程

5.1.用FaceNet提取特征

本项目使用FaceNet 预训练模型进行特征提取。

关键代码如下:

输出结果如下:

 训练集特征提取矩阵维度:

5.2.数据集特征标准化

关键代码如下:

输出结果如下:

5.2.数据集标签编码

由于数据集标签为字符模式,无法进行机器学习,所以对标签数据进行编码处理,转化为数字形式。

关键代码如下:

输出结果如下:

6.构建SVM人脸识别模型

主要使用SVM分类算法,用于目标检测。

6.1建立SVM模型

7.模型评估

关键代码:

准确率:

训练集准确率:100.0,验证集准确率:100.0

8.人脸图像随机测试

从验证集随机选取一张人脸图像进行检测识别。

关键代码:

结果如下:

9.结论与展望

综上所述,本文采用MTCNN对人脸图像进行预处理和优化、FaceNet进行特征提取、SVM进行人脸识别,最终证明了我们提出的模型效果良好。准确率达到了100%,可用于日常生活中进行建模预测,以提高价值。

本次机器学习项目实战所需的资料,项目资源如下:

项目说明:
链接:https://pan.baidu.com/s/13r3-mTcCRBfwWRtbpnFUpw 
提取码:s2wn

网盘如果失效,可以添加博主微信:zy10178083

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/714540.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号