随着时代的发展,人脸识别在我们的生活中变得随处可见:商场里的人脸识别储物柜,校园里的人脸识别刷卡机,手机里的面部解锁……这些应用极大的便利了我们的日常生活。今天,就让我们一起走进人脸识别的原理世界。

首先我们来谈谈什么是面部识别。人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术,它同指纹、虹膜、语音等识别方法都属于利用生物特征来对个体识别。这项技术主要包括了图像摄取、人脸定位、图像预处理以及身份确认等多方面技术,目前主要分为基于前置摄像头的2D人脸识别系统和基于红外投射的3D结构光人脸识别系统。

我们知道,当我们使用人脸识别时,首先要先将自己的面部信息录入手机数据库中,那么手机是怎么记录人脸信息的呢?

人脸上大约有 80 个节点,而人脸识别技术能够测量一些特殊的节点,比如:两眼间距离、鼻子宽度、眼窝深度、颧骨、下颚等信息,生成不同的数字代码,然后存储在手机数据库中,当你解锁手机时,手机会将新的人脸进行处理生成新的代码与数据库中的进行比对,然后达到解锁的目的。

那么,问题来了,我们怎样知道我们拍摄的是不是人脸并且如何将人脸从复杂的坏境中提取出来,这就是人脸检测需要解决的问题。它可以帮助我们解决辨别与提取的问题。那么我们再思考下是不是所有情况下照片都可以被无误的识别并解锁手机呢?答案是肯定的,正所谓人无完人,这个系统也是如此。手机会通过图像质量检测这一功能进行筛选清晰的照片。紧接着将一些没有对齐的照片进行人脸对齐。我们也知道有很多情况手机无法进行识别,比如手机前置摄像头离人脸较远,人脸偏转角度过大,面部遮挡,或者表情与数据库的数据有较大差异等,这是因为这些照片超出了人脸对齐功能的算法,导致没有办法进行对齐,从而不能进行识别。

当然了,不同手机间人脸对齐功能存在着差异,同样远的距离、面部的遮挡、以及同一个表情都可能导致不同手机的结果不同。 紧接着进行人脸特征提取生成代码与数据库中的代码进行匹配,最后输出识别结果即是否成功解锁。

总而言之,2D人脸识别系统还是存在着较多的不足,极大的影响了人脸识别的安全性和灵敏性。  在这种情况下,更加先进的3D技术便应运而生。与2D不同的是,3D通常由不同角度的多个深度图像组成,完全显示面部的表面形状,并且在具有一定深度信息的密集点云中的空间中呈现面部。目前3D人脸识别在市场上根据使用摄像头成像原理主要分为:3D结构光、TOF、双目立体视觉。

3D结构光

3D结构光通过红外光投射器,将具有一定结构特征的光线投射到被拍摄物体上,再由专门的红外摄像头进行采集。主要利用三角形相似的原理进行计算,从而得出图像上每个点的深度信息,最终得到三维数据。

基于3D结构光的人脸识别已在一些智能手机上实际应用,如国外使用了超过10亿张图像(IR和深度图像)训练的FaceId;国内自主研发手机厂商的人脸识别。

TOF

TOF简单的说就是激光测距,照射光源一般采用方波脉冲调制,根据脉冲发射和接收的时间差来测算距离。

采用TOF的方式获取3D数据主要在Kinect上实现,Kinect在2009年推出,目的是作为跟机器的交互设备,用在游戏方面。主要获取并处理的是人体的姿态数据

双目立体视觉

双目是基于视差原理并由多幅图像获取物体三维几何信息的方法。由双摄像机从不同角度同时获得被测物的两幅数字图像,并基于视差原理恢复出物体的三维几何信息,从而得出图像上每个点的深度信息、最终得到三维数据。

由于双目立体视觉成像原理对硬件要求比较高,特别是相机的焦距、两个摄像头的平面位置,应用范围相对3D结构光TOF少。

目前,我们手机的人脸识别主要仍是应用2D人脸识别系统,相信在不久的将来,会有更加安全和灵敏的系统出现。

THE

END

图文编辑:邓泽宇 王治达 杨子逸

排版:李金宇

审核:戴江林

识别物体是否存在_【科学实践Vol.1】带你玩转“人脸识别”相关推荐

  1. unityar自动识别人脸_三款Unity插件带您玩转人脸识别与模拟

    原标题:三款Unity插件带您玩转人脸识别与模拟 若想让游戏或电影中的虚拟角色表现得更加真实,面部表情是至关重要的.人脸识别技术则借助真人表演来为虚拟角色赋予丰富的表情与面部动作,小至皱眉带动眼部肌肉 ...

  2. 百度人脸识别离线SDK_Android版_在线激活失败:not enough param_解决方案---百度人脸识别技术应用005

    人脸识别离线sdk,android版,有时候注册会不成功啊. 有个规律,不成功的时候,点击离线激活,这里可以看到硬件指纹是空的,这个时候,如果点击 在线激活,平板,联网以后,输入序列号,这个时候是激活 ...

  3. 【上】带你玩转人脸识别--读取图片,灰度转换,尺寸修改,绘制矩形快速入门

    文章目录 前 言 安 装 OpenCV 导入模块 1.读取图片 (imread,imshow) 2.灰度转换 (cvtColor) 3.尺寸修改 (resize) 4.矩形.圆形的绘制 (rectan ...

  4. 利用opencv带你玩转人脸识别-上篇(读取图片,灰度转换,尺寸修改,绘制矩形快速入门)

  5. 利用opencv带你玩转人脸识别-下篇(人脸录入,数据训练,人脸识别小案例快速入门)

  6. 利用opencv带你玩转人脸识别-中篇(人脸检测,检测多个,视频检测快速入门)

  7. python 3.8.5 打包_骚操作 | Python 实现在 App 端的人脸识别

    最近闲来无事,研究研究在安卓上跑 Python,想起以前玩过的 kivy 技术,kivy 是一个跨平台的 UI 框架,当然对我们最有用的是,kivy 可以把 Python 代码打包成安卓应用.但是由于 ...

  8. python人脸识别防小偷_一篇文章带你了解Python 人脸识别有多简单

    今天的Python学习教程给大家介绍一个世界上最简练的人脸辨认库 face_recognition,你可以应用 Python 和命令行工具进行提取.辨认.操作人脸. 基于业内领先的 C++ 开源库 d ...

  9. python人脸识别实验报告总结_一篇文章带你了解Python 人脸识别有多简单

    原标题:一篇文章带你了解Python 人脸识别有多简单 今天的Python学习教程给大家介绍一个世界上最简洁的人脸识别库 face_recognition,你可以使用 Python 和命令行工具进行提 ...

最新文章

  1. 网络工程师成长日记333-某城市政府项目
  2. 网络工程师的“钱途”如何?
  3. mxnet:mx.sym.BlockGrad理解
  4. (二)数据预处理 2019年研究生数学建模D题《汽车行驶工况构建》
  5. 删除弹框提示_如何关闭Mac的Microsoft AutoUpdate弹框提示
  6. 短文件名漏洞如何修复_短文件名漏洞修复
  7. java substring 越界_我在java中用substrng()提取某一字符串的子串是老是出现越界的问题,求指教~~~...
  8. 标准模板库之双向循环链表的内部关系
  9. 在Eclipse新建菜单中添加菜单项,其他地方添加菜单项类似
  10. python web项目导出zip文件_Python压缩和解压缩zip文件
  11. python5000行代码项目_5000行python代码+可视化60W数据,告诉你知乎用户不为人知的事...
  12. 【To Understand】程序员面试金典——番外篇之洪水
  13. MS .Net常见的持久层框架
  14. 游戏应用快速审核上架
  15. mac mini u盘安装系统_mac制作mac启动盘 mac u盘安装系统
  16. Android编译内核并刷入
  17. 2100 年的世界会怎样?特拉华教授用机器学习开启“上帝之眼”
  18. 普通人的第一个Linux发行版-安装Deepin20.5
  19. openresty-lua代码的语法检查
  20. 三维立体动画制作技巧

热门文章

  1. Jquery 日期组件
  2. linux环境下redis5.0的安装配置
  3. 捕获和抛出异常(Ctrl+Alt+T)
  4. 聚合多个文件_python数据分析与挖掘(二十五)--- Pandas高级处理分组与聚合
  5. 华为 招聘 状态 查看_英特尔放弃5G芯片研发:三星受益;爱立信2019年Q1净利润约2.51亿美元;华为也将要与高通和解;天津首个5G电话成功打通...
  6. php中 怎么去除,php如何去掉链接
  7. C语言 文件读写 fputc 函数 - C语言零基础入门教程
  8. BugkuCTF-Crypto题你喜欢下棋吗
  9. 四则运算计算器c语言switch,设计一个五个数进行四则运算的计算器 c语言
  10. 10进制转换16进制补足0_信息技术教师资格必考内容——进制换算(一)