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

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://download.csdn.net/download/weixin_42163563/80676445https://download.csdn.net/download/weixin_42163563/80676445

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

  1. DeepID:Python基于Caffe的DeepID2实现人脸识别的简介、实现之详细攻略

    DeepID:Python基于Caffe的DeepID2实现人脸识别的简介.实现之详细攻略 目录 基于Caffe的DeepID2实现人脸识别 DeepID2实现人脸识别的实现 基于Caffe的Deep ...

  2. 基于PCA和SVM的人脸识别系统的设计与实现

      基于PCA和SVM的人脸识别系统的设计与实现 1.1 题目的主要研究内容 工作的主要描述 下载人脸数据集,将其划分为训练集和测试集,对所有数据进行pca降维,将经过降维的训练集特征向量送入svm进 ...

  3. 基于MTCNN和Arc-Loss的人脸识别(详细版)

    文章目录 一.人脸识别介绍 1.1 发展历史 1.2 什么是人脸识别? 二:人脸识别步骤 2.1 人脸侦测 2.2 特征提取 2.3 特征对比 三:人脸识别难点 四:人脸检测原理 五:YOLO和MTC ...

  4. Android端基于MTCNN和mobilefacenet的人脸识别

    这个demo是我去年毕业刚工作的时候要搞人脸识别的时候搞的.好奇其中的原理于是就去github上搞了个MTCNN+MobileFaceNet的demo(没记错的话是这个),刚拿来的时候是只有1:1比对 ...

  5. 基于PCA和SVM的人脸识别

    svm推广到多类情况 一对多的最大响应策略(one against all) 假设有A .B.C.. D四类样本需要划分.在抽取训练集的时候,分别按照如下4种方式划分. A. 所对应的样本特征向量作为 ...

  6. 【人脸识别】基于PCA和SVM的人脸识别关键技术研究与实现附matlab代码

    1 简介 人脸识别是计算机视觉和图像模式识别领域的一个重要技术.主成分分析(PCA)是人脸图像特征提取的一个重要算法.而支持向量机(SVM)有适合处理小样本问题,高维数及泛化性能强等多方面的优点.文章 ...

  7. 基于PCA和SVM的人脸识别系统-error修改

    ------------------------------------------------- Undefined function or variable 'W'. Error in class ...

  8. 基于MTCNN卷积神经网络的人脸识别

    该文作者开源了测试代码,源代码可以在我之前的文章中或者Github中去下载,我对源代码的数据输入部分做了一些改动以更方便的实现人脸检测,即将  facedetect_mtcnn.py主函数文件更改为如 ...

  9. python人脸识别opencv_Python基于Opencv来快速实现人脸识别过程详解(完整版)

    前言 随着人工智能的日益火热,计算机视觉领域发展迅速,尤其在人脸识别或物体检测方向更为广泛,今天就为大家带来最基础的人脸识别基础,从一个个函数开始走进这个奥妙的世界. 首先看一下本实验需要的数据集,为 ...

最新文章

  1. Libgdx学习笔记:分享自己写的异步加载
  2. 手机python软件怎么创建项目_创建成功的 Python 项目
  3. 基于GIS的视频管理指挥平台
  4. 电脑中毒的表现有哪些?电脑中毒了怎么办?
  5. 页面缓存处理的几种方法
  6. python while break try 无法中断_解码不能正常工作并且while循环不能正确中断python...
  7. tableau linux无网络安装_四十二、Linux网络管理,软件安装,进程管理总结
  8. Centos7 使用Docker 部署Tomca+mysql+调试联通_02
  9. Nginx stream模块初探
  10. Windows Server 2008 多元密码策略配置
  11. ouravr某PCB高手发言总结
  12. 热门开源Web开发框架推荐
  13. 微博先锋:Twitter系统结构分析
  14. mysql查看列名_MySQL:从查询中获取列名或别名
  15. 项目实训——语音转文字功能
  16. 输入圆半径 计算 直径 周长 面积
  17. (7)开机动画2D版,开机动画3D版
  18. Win10应用商店无法加载页面,错误代码0x80131500怎么办
  19. 【送你一张门票】七牛云带你去看杭州云栖大会
  20. hp服务器修改阵列,HP ProLiant 服务器 修改磁盘阵列的方法

热门文章

  1. 算法导论 — 思考题7-3 另一种快速排序的分析方法
  2. 为什么要学习编程?孩子学习编程有用吗?
  3. OSChina 周三乱弹 —— 人生不如意常十八九
  4. ASE无线认证服务器,华为ac配置portal认证服务器
  5. c语言中fmod,C语言中 %与fmod()在计算余数时的区别与联系
  6. 一文彻底搞懂协程(coroutine)是什么,值得收藏
  7. 如何打造具备深度业务价值的大数据应用
  8. 无锡小升初数学题求阴影面积
  9. npm install 报错 ‘proxy‘ config is set properly. See: ‘npm help config‘
  10. Vue问题清单与经验