人脸识别关键技术及原理

  • 人脸识别基础关键技术
    • 1、人脸检测(Face Detection)
    • 2、人脸对齐(Face Alignment)
    • 3、人脸特征提取(Face Feature Extraction)
    • 4、人脸识别(Face Recognition)
    • 5、人脸活体检测(Face Vivo Detection)
  • 衍生技术
    • 1、人脸属性识别(Face Attribute)
    • 2、 人脸比对(Face Compare)
    • 3、人脸验证(Face Verification)
    • 4、人脸检索(Face Retrieve)

人脸识别基础关键技术

这是一个「看脸」的时代,一谈人脸技术,大家最为熟知就是人脸识别。该技术在金融、社保、零售、安防等领域表现活跃,成为人工智能技术领域的明星。本文主要介绍一些背后默默支持人脸识别的技术。

一般而言,一个完整的人脸识别系统包含四个主要组成部分,即人脸检测、人脸对齐、人脸特征提取以及人脸识别。

四部分流水线操作:

  1. 人脸检测在图像中找到人脸的位置;
  2. 人脸配准在人脸上找到眼睛、鼻子、嘴巴等面部器官的位置;
  3. 通过人脸特征提取将人脸图像信息抽象为字符串信息;
  4. 人脸识别将目标人脸图像与既有人脸比对计算相似度,确认人脸对应的身份。

1、人脸检测(Face Detection)

检测出图像中人脸所在位置的一项技术

人脸检测算法的输入是一张图片,输出是人脸框坐标序列(0个人脸框或1个人脸框或多个人脸框)。一般情况下,输出的人脸坐标框为一个正朝上的正方形,但也有一些人脸检测技术输出的是正朝上的矩形,或者是带旋转方向的矩形。

常见的人脸检测算法基本是一个“扫描”加“判别”的过程,即算法在图像范围内扫描,再逐个判定候选区域是否是人脸的过程。因此人脸检测算法的计算速度会跟图像尺寸、图像内容相关。开发过程中,我们可以通过设置“输入图像尺寸”、或“最小脸尺寸限制”、或“人脸数量上限”的方式来加速算法。

人脸检测结果示例:

2、人脸对齐(Face Alignment)

根据输入的人脸图像,自动定位出人脸上五官关键点坐标的一项技术

人脸对齐算法的输入是“一张人脸图片”加“人脸坐标框”,输出五官关键点的坐标序列。五官关键点的数量是预先设定好的一个固定数值,可以根据不同的语义来定义(常见的有5点、68点、90点等等)。

这项技术的应用很广泛,比如自动人脸识别,表情识别以及人脸动画自动合成等。由于不同的姿态、表情、光照以及遮挡等因素的影响,准确地定位出各个关键特征点看似很困难。我们简单地分析一下这个问题,不难发现这个任务其实可以拆分出三个子问题:
1. 如何对人脸表观图像(输入)建模
2. 如何对人脸形状(输出)建模
3.如何建立人脸表观图像(模型)与人脸形状(模型)的关联

对人脸图像进行特征点定位,将得到的特征点利用仿射变换进行人脸矫正,若不矫正,非正面人脸进行识别准确率不高,最后将矫正的人脸送入人脸识别网络,此时的人脸识别网络可以是一个分类网络,我们只需要提取分类网络中的某个层作为人脸的特征层,此时的特征才是人脸的特征。

人脸对齐结果示例(右图中的蓝点点位为人脸配准结果):

3、人脸特征提取(Face Feature Extraction)

将一张人脸图像转化为一串固定长度的数值的过程

具有表征某个人脸特点能力的数值串被称为“人脸特征(Face Feature)”。

人脸特征提取过程的输入也是 “一张人脸图”和“人脸五官关键点坐标”,输出是人脸相应的一个数值串(特征)。人脸提特征算法都会根据人脸五官关键点坐标将人脸对齐预定模式,然后计算特征。

近几年来,深度学习方法基本统治了人脸提特征算法,这些算法都是固定时长的算法。早前的人脸提特征模型都较大,速度慢,仅使用于后台服务。但最新的一些研究,可以在基本保证算法效果的前提下,将模型大小和运算速度优化到移动端可用的状态。

人脸特征提取过程(最右侧数值串为“人脸特征”)

4、人脸识别(Face Recognition)

识别出输入人脸图对应身份的算法

输入一个人脸特征,通过和注册在库中N个身份对应的特征进行逐个比对,找出“一个”与输入特征相似度最高的特征。将这个最高相似度值和预设的阈值相比较,如果大于阈值,则返回该特征对应的身份,否则返回“不在库中”。

人脸识别过程:

5、人脸活体检测(Face Vivo Detection)

判断人脸图像是来自真人还是来自攻击假体(照片、视频等)的方法

计算机判别检测的人脸是真实的人脸,还是伪造的人脸攻击,比如合法用户图片、提前拍摄的视频等。

和前面所提到的人脸技术相比,人脸活体不是一个单纯算法,而是一个问题的解法。这个解法将用户交互和算法紧密结合,不同的交互方式对应于完全不同的算法。

解决人脸活体检测这个问题,不光是需要通过各种反欺骗算法,还有需要通过一系列的硬件设备配合,如静默活体检测、红外活体检测、获取生物信号(心率等)、光流场、深度摄像头、语音指令配合等。

传统方法将其视为一个“活体”VS“假体”的二分类问题,当然也可看成多分类问题,如真人、图片攻击、视频回放攻击、面具攻击等)。

衍生技术

1、人脸属性识别(Face Attribute)

识别出人脸的性别、年龄、姿态、表情等属性值的一项技术

一般的人脸属性识别算法的输入是“一张人脸图”和“人脸五官关键点坐标”,输出是人脸相应的属性值。人脸属性识别算法一般会根据人脸五官关键点坐标将人脸对齐(旋转、缩放、扣取等操作后,将人脸调整到预定的大小和形态),然后进行属性分析。
常规的人脸属性识别算法识别每一个人脸属性时都是一个独立的过程,即人脸属性识别只是对一类算法的统称,性别识别、年龄估计、姿态估计、表情识别都是相互独立的算法。但最新的一些基于深度学习的人脸属性识别也具有一个算法同时输入性别、年龄、姿态等属性值的能力。

2、 人脸比对(Face Compare)

衡量两个人脸之间相似度的算法

人脸比对算法的输入是两个人脸特征(注:人脸特征由前面的人脸提特征算法获得),输出是两个特征之间的相似度。人脸验证、人脸识别、人脸检索都是在人脸比对的基础上加一些策略来实现。相对人脸提特征过程,单次的人脸比对耗时极短,几乎可以忽略。

3、人脸验证(Face Verification)

判定两个人脸图是否为同一人的算法

它的输入是两个人脸特征,通过人脸比对获得两个人脸特征的相似度,通过与预设的阈值比较来验证这两个人脸特征是否属于同一人(即相似度大于阈值,为同一人;小于阈值为不同)。

人脸验证过程就是人脸识别过程。

4、人脸检索(Face Retrieve)

查找和输入人脸相似人脸的算法

人脸检索通过根据人脸特征的数值,在大量的数据库里检索,找出最相似的人。

将输入的人脸和一个人脸库中的人脸进行比对,根据比对后的相似度对人脸库中的人脸进行排序。根据相似度从高到低排序的人脸序列即使人脸检索的结果。

人脸检索过程:

人脸识别关键技术及原理相关推荐

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

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

  2. AI大厂算法测试心得:人脸识别关键性能指标有哪些?

    仅仅在几年前,程序员要开发一款人脸识别应用,就必须精通算法的编写.但现在,随着成熟算法的对外开放,越来越多开发者只需专注于开发垂直行业的产品即可. 由调查机构发布的<中国AI产业地图研究> ...

  3. 人脸识别主要机算法原理

    人脸识别主要算法原理 主流的人脸识别技术基本上可以归结为三类,即:基于几何特征的方法.基于模板的方法和基于模型的方法. 1. 基于几何特征的方法是最早.最传统的方法,通常需要和其他算法结合才能有比较好 ...

  4. 计算机应用的时间识别的,计算机人工智能识别关键技术及运用

    刘丽娜 摘   要:互联网的信息时代,通过计算机和人工智能识别技术相结合,在人们的日常生活中不断的进行运用,让人们与科技紧密相连,真正的体验科学发展给生活带来的乐趣.人工智能识别技术可以满足所有行业的 ...

  5. 深度剖析国内人脸识别主流技术及发展走向

    2018-05-24 13:59:18 近几年,人脸识别技术在安防领域得到了广泛应用,随着技术的不断发展,它离我们的日常生活越来越近,手机.商场.公园等都可以看到它的身影.据相关分析报告显示,预计今年 ...

  6. 人脸识别软件技术是科技未来么?

    人脸识别现在慢慢的走过了我们的生活,目前人脸识已经广泛应用于车站.医院.工厂.写字楼.公司企业.学校.工地.企事业单位.银行.酒店等领域. 互联网几大巨头也早早的布局了人脸识领域,百度应该是很早就加入 ...

  7. python人脸识别opencv_基于python+OpenCV模块的人脸识别定位技术

    什么是OpenCV模块 OpenCV是一款跨平台的视觉库,可以支持的操作系统有Linux.Windows和Mac OS操作系统,并且还提供了多种语言的接口,比如Python,java,MATLAB等常 ...

  8. 人脸识别APP技术开发是如何实现的?

    人脸识别技术目前已经非常成熟,识别率也越来越高.人脸识别技术与其他生物特征识别技术相吃比,在实际应用中具有天然独到的优势:通过摄像头直接获取,可以非接触的方式完成识别过程,方便快捷. 目前已应用在金融 ...

  9. 人脸识别APP技术开发

    人脸识别技术目前已经非常成熟,识别率也越来越高.人脸识别技术与其他生物特征识别技术相吃比,在实际应用中具有天然独到的优势:通过摄像头直接获取,可以非接触的方式完成识别过程,方便快捷. 目前已应用在金融 ...

  10. 2018年中国人脸识别算法技术应用公司排名Top5

    2018年中国人脸识别算法技术应用公司排名Top5 人脸识别作为人工智能各个分支中最接近大规模落地的分支,2017年在中国大火了一把.从中国农业银行刷脸取款,到火车站刷脸检票.机场刷脸进站.人脸识别技 ...

最新文章

  1. php 企业微信指令回调借款_企业微信外部联系人回调事件
  2. linux中使用yum安装主程序包,linux使用yum对程序包管理相关知识
  3. 「技术人生」:什么是技术一号位?
  4. [Python图像处理] 三十四.数字图像处理基础与几何图形绘制万字详解(推荐)
  5. excel函数中if android,在Android中阅读Excel
  6. 怎么判断一个字符串的最长回文子串是否在头尾_LeetCode 5 迅速判断回文串的Manacher算法...
  7. mycat 1.6.5 for mysql 8分表攻略
  8. 专题导读:大数据隐私保护
  9. bootstrap和圣杯布局
  10. 第三届 Apache Flink 极客挑战赛暨 AAIG CUP:Cluster Serving 概况
  11. Java并发系列—并发编程基础
  12. 电商项目的app学习笔记(三)-嵌套路由组件的实现
  13. 24点游戏 C语言代码
  14. c语言编译bss和data,认识bss段和data段
  15. 麦子学院C++学习笔记
  16. 集集自助服务密码重置
  17. 基于服务器部署的OCR在线识别应用
  18. Android关闭屏幕时不锁屏
  19. 利用网线在两台电脑之间传输文件
  20. 音视频FLV合成实战

热门文章

  1. pkg将项目打包成 exe应用, 双击启动 node
  2. 【三维激光扫描】第二章:国内外三维激光扫描设备简介
  3. c语言正弦波程序_DAC0832的波形信号发生器Proteus仿真设计,正弦波、三角波、方波和锯齿波...
  4. PS里面如何批处理图片
  5. PPT图形绘制:端午节PPT模板背景
  6. 常用接口整理(HDMI接口、VGA接口、DP接口、DVI接口、SDI接口 ) 2021-06-15
  7. 定义日期或日期和时间格式
  8. 谷歌浏览器任务栏图标变白解决办法
  9. 软件测试-正交实验法设计测试用例
  10. 程序员必备开发神器【MAC篇】