人脸识别(一)——从零说起

这是关于人脸的第①篇原创!(源码在第三篇)

人脸识别的英文名称是 Face Recognition,前段时间查找资料学的时候发现,不少人将人脸识别和人脸检测(Face Detection)混为一谈,很大程度上增加了查询学习资料的难度,这里在参照一些前辈的基础上,自己动手敲写代码,整理出了一个完整的版本。

此系列文章将从理论到实践进行整合:分三篇进行叙述,第一篇从零说人脸识别,保证大多数朋友能通过这篇文章了解到人脸识别的概念,并且能够形成一个基本的框架。第二篇将进行初步的实践,包括人脸图像的采集,和如何利用opencv已有的模型根据人脸图像进行训练,得到需要的分类器。第三篇则是综合篇,将程序以模块化进行展示,以文档形式实现人脸识别和建立MFC程序实现人脸识别。

一、人脸检测和人脸识别

首先需要介绍下人脸识别和人脸检测的不同。人脸检测指的是对一幅图片进行检测,检测图片中是否包含有人脸;而人脸识别则是在人脸检测的基础上,不仅要检测出是否该图片中存在人脸,更要进一步将检测出的人脸图像与已有人脸库中的进行对比,识别出该人脸图像对应库中的哪一个。人脸检测的相关知识可以参照微信公众号里(Mr_cplus)的相关历史文章。

二、人脸识别的大概流程

人脸识别大体上分为四步:人脸图像采集及检测、人脸图像预处理、人脸图像特征提取、匹配与识别。

(1)人脸图像采集及检测

人脸图像的采集指的是按照所研究的目标(比如研究不同姿态下的人脸识别),采集一定数量的图像数据整理成库。当前学术界已有许多现成的人脸库,满足基本的研究需求,当然也可以在这些数据库的基础上进行添加(比如将自己的人脸添加进某数据库)。当前较为常用的人脸图像数据库有:

1. FERET人脸数据库 由FERET项目创建,包含14,051张多姿态,光照的灰度人脸图像,是人脸识别领域应用最广泛的人脸数据库之一.其中的多数人是西方人,每个人所包含的人脸图像的变化比较单一. 2. MIT人脸数据库 由麻省理工大学媒体实验室创建,包含16位志愿者的2,592张不同姿态,光照和大小的面部图像. 3. Yale人脸数据库 由耶鲁大学计算视觉与控制中心创建,包含15位志愿者的165张图片,包含光照,表情和姿态的变化. 4. Yale人脸数据库B 包含了10个人的5,850幅多姿态,多光照的图像.其中的姿态和光照变化的图像都是在严格控制的条件下采集的,主要用于光照和姿态问题的建模与分析.由于采集人数较少,该数据库的进一步应用受到了比较大的限制. 5. PIE人脸数据库 由美国卡耐基梅隆大学创建,包含68位志愿者的41,368张多姿态,光照和表情的面部图像.其中的姿态和光照变化图像也是在严格控制的条件下采集的,目前已经逐渐成为人脸识别领域的一个重要的测试集合. 6. ORL人脸数据库 由剑桥大学AT&T实验室创建,包含40人共400张面部图像,部分志愿者的图像包括了姿态, 表情和面部饰物的变化.该人脸库在人脸识别研究的早期经常被人们采用,但由于变化模式较少,多数系统的识别率均可以达到90%以上,因此进一步利用的价值已经不大. ……

(2)人脸图像预处理

此处主要指两方面:一个是如何将获取的人脸图像进行一些处理,使之和待放入的人脸库内图片数据有相同的尺寸,格式等;另一个是指将整体库内图片进行处理,使之满足后面图像特征提取以及识别中的要求。

(3)人脸图像特征提取

人脸图像特征提取是指按照一定的算法,将人脸图像进行处理,提取出特征信息,形成特征矩阵等,之后用于分类器的训练。特征提取的算法往往决定着识别效果的好与坏。

(4)匹配与识别

人脸图像经过特征提取形成了一定的特征矩阵,之后将待识别的人脸图片(或者视频中的某些帧)当作输入,按照同样的特征提取算法,形成其人脸图的矩阵,之后与利用分类器进行分类,识别其属于库内的哪一个类别。

三、人脸识别的常用方法

人脸识别方法有很多,当前大体可以分为四类:

  1. 基于人脸特征点的识别算法(Feature-based recognition algorithms)。
  2. 基于整幅人脸图像的识别算法(Appearance-based recognition algorithms)。
  3. 基于模板的识别算法(Template-based recognition algorithms)。
  4. 利用神经网络进行识别的算法(Recognition algorithms using neural network)。

四、部分结果的提前展示

此次动手实践利用的人脸数据库是ORL人脸数据库,并且为了识别自己的人脸写了一个拍照程序自拍,将采集到的自己的图片信息加入该数据库,形成一个新的包含有自己人脸信息的数据库。

1、以文档程序为例进行展示,当摄像头检测到的人脸是自己时,会“夸"自己是“ 大帅比”,检测结果不是自己时会显示“大丑逼”。哈哈哈,我长的帅已经不是秘密了!(41是指识别判断的结果,41对应我自己,ORL中原有40个人)

2、以MFC程序为例进行展示。同样,当摄像头检测到的人脸是自己时,会“夸"自己是“ 大帅比”,检测结果不是自己时会显示“大丑逼”。而且可以设定当检测结果为数据库中的某一个时,可以在另一个图片控件(picture control)中显示对应一张人脸库中的图像。(各种BUTTON表示不同功能,在接下来的两篇中将进行介绍。)

【往期推荐】

老司机带你用python来爬取妹子图

千元资料免费送——人工智能相关(100G+)

资源福利第三弹——Python等教程(包括部分爬虫入门教程)

程序员面试必备之排序算法汇总(上)

程序员面试必备之排序算法汇总(下)

原文发布于微信公众号 - 小小詹同学(xiaoxiaozhantongxue)

原文发表时间:2018-04-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏新智元

【AAAI oral】阿里北大提出新attention建模框架,一个模型预测多种行为

作者:周畅,白金泽,宋军帅,刘效飞,赵争超,陈修司,高军 【新智元导读】本文提出一种基于注意力机制的用户异构行为序列的建模框架,并将其应用到推荐场景中。作者提出...

4399
来自专栏人工智能

机器学习系统性能不尽人意?吴恩达教你如何选择改进策略

选自towardsdatascience 作者:Kritika Jalan 机器之心编译 参与:陈韵竹、路雪 搭建机器学习系统好几周,性能却不尽如人意?Krit...

1967
来自专栏CreateAMind

苹果AI论文 SimGANs 代码及详解及自动驾驶的应用

代码:https://github.com/wayaai/SimGAN 下文介绍有不少改进。链接不少是链接到代码。阅读原因可点击相关链接。

1593
来自专栏人工智能头条

Google研究员Ilya Sutskever:成功训练LDNN的13点建议

1346
来自专栏AI科技评论

人工智能如何实现可靠的视觉追踪 |IJCAI2016论文详解

导读:2016国际人工智能联合会议(IJCAI2016)于7月9日至7月15日举行,今年会议聚焦于人类意识的人工智能,本文是IJCAI2016接收论文。除了论文...

3387
来自专栏CSDN技术头条

深度学习 vs. 大数据:神经网络权值的版权属于谁?

【编者按】深度神经网络能够焕发新春,大数据功不可没,然而大数据的版权是否应当延伸到深度学习产生的知识,这是一个现实的问题。本文通过ImageNet可视化大数据、...

2096
来自专栏小小挖掘机

IJOC“考虑聚合多样性的可扩展优化推荐系统”论文解析

本文是针对发表在《INFORMS Journal on Computing》上的一篇论文 “Incorporating Aggregate Diversity...

2683
来自专栏决胜机器学习

机器学习(二十二) ——推荐系统基础理论

机器学习(二十二)——推荐系统基础理论 (原创内容,转载请注明来源,谢谢) 一、概述 推荐系统(recommendersystem),作为机器学习的应用之一,...

3603
来自专栏PPV课数据科学社区

【学习】Netflix工程总监眼中的分类算法:深度学习优先级最低

【编者按】针对Quora上的一个老问题:不同分类算法的优势是什么?Netflix公司工程总监Xavier Amatriain近日给出新的解答,他根据奥卡姆剃刀原...

3076
来自专栏小詹同学

人脸识别(一)——从零说起

人脸识别的英文名称是 Face Recognition,前段时间查找资料学的时候发现,不少人将人脸识别和人脸检测(Face Detection)混为一谈,很大...

45310

扫码关注云+社区

领取腾讯云代金券