科技杂谈:浅谈人脸识别

iPhone X带来的人脸识别变革——Face ID

苹果9月的发布会发布的iPhone X是完全盖过了8的风头,而且凭借其延迟一个多月的上市妥妥的霸占了科技界一个多月的热点。看着朋友圈一众土豪们晒的X大家是不是也流口水呢?

那么本次横空出世的iPhone X最为惊艳的便是其不一样的全面屏了。有别于小米MIX的下巴、三星S8的曲面屏,iPhone X选择了砍掉上额下颚,只留刘海的设计。并且iPhone X大胆的选择了抛弃后置指纹,也就是说,砍掉了Home键和Touch ID。取而代之的,前者用逐渐成熟的3D Touch带来新的交互,后者用前置摄像头来做人脸识别,既Face ID。

不过Face ID在刚出世时也是饱受质疑的——真真是刚出世——苹果发布会上第一次演示Face ID时竟然失败了(不过这应该是失误重启的原因)。然而事实上Face ID其实是非常安全的,苹果官方宣布它比指纹安全了20倍。关于安全问题,Face ID大概有下面几个特点:

  • 闭眼无法解锁
  • 化妆、戴眼镜、假发、口罩…都可以解锁
  • 照片、仿真人皮面具无法解锁
  • 双胞胎高概率可以互相解锁

那么Face ID到底是如何工作的呢?让我们带着这个疑问,来了解一下人脸识别的原理吧。

人脸识别:原理

事实上在ipX之前,人脸识别就已应用在了三星、小米、华为等手机和电脑(Windows Hello)的解锁等功能上。不过之前的人脸解锁与Face ID又有不同。

Face++与面部识别算法

使用普通电子摄像头的大多数面部识别可以说是2.5D,利用算法计算2D人面图像,提取出面部特征、空间位置等。

那么,我们可以把这种人脸识别看作是由2维图片向3维的一次“升维”,可以比对两张图片中的人脸。然而这也意味着理论上只需要一张照片就可以破解面部解锁了。当然这是理论上,由于面部识别的复杂算法(例如活体检测云云),以及不同的解锁方式,要破解也不是那么容易的;此外一些手机上的面部解锁(例如三星)还配合有虹膜识别等技术(准确来说是虹膜解锁需要面部识别配合),所以总体来说安全性是非常高的。

目前小米、联想、支付宝等厂商都使用的是旷视公司(既Face++)的方案。

北京旷视科技有限公司成立于2011年,是一家“人核心数据”公司,致力于通过深度学习与感知融合技术,让人的“身份”与“行为”数据可以被各类物联网设备实时获取并融入行业,并为行业提供基于每个人的金融信用数据、地产出入管理数据、智慧城市社会综治数据服务。

来源:旷视官网

事实上人脸识别也并不是什么高大上的东西,我们普通的开发者都可以调用他们公司的API,来给自己的软件加入人脸识别功能。我们可以看到Java、Python、Objecttive-C以及C#的示例代码。Face++ 人工智能开放平台——文档中心

如果大家并没有打算以图像识别为方向发展的话,只需要学会使用其他人造好的轮子就够了;但是若想进入该领域就需要了解轮子怎么造:

  • 开源人脸识别引擎SeetaFace
  • 人脸识别技术大总结1——Face Detection & Alignment

粗鄙之言概括一下,面部识别大体来言是三步:
1.Detect,找到你的脸在哪里;
2.Align,在你的脸上定下特征点;
3.Compare/Search,从数据库中找是否有你的脸。

Windows Hello

Windows Hello 能使你在两秒内登录 Windows 设备,比使用密码快 3 倍。使用摄像头来识别面部或尝试使用指纹读取器 - 无论哪种方式,Windows Hello 都能即刻识别。你可以始终将 PIN 作为备用登录方式。

来源:微软官网

目前大多数Win10电脑都配有指纹识别器,相信大家都是使用指纹登录系统的吧?但是可能许多人并没有用过Windows Hello的面部识别——你可以在电脑设置的账户-登录选项找到Windows Hello,但可能不少人并不能在这里看到所谓的面部识别。这是因为Windows Hello的面部识别也是需要硬件支持的。

与我们上面介绍的通过纯软件层面算法识别人脸的技术不同,Windows Hello使用了一个额外的红外摄像头(Surface Book上是Intel家的RealSense 3D摄像头),这也就意味着面部识别无需RGB数码摄像头,也就无须担心光线带来的解锁问题。下面是M$官方的原理介绍(英文,但不是太难读懂):Windows Hello原理

从官方文档中我们可以知道,在面部识别中,系统并不存储你的面部图像,而是存储面部特征点。

我们也可以在自己的软件中接入Windows Hello:Windows Hello开发者文档

M$ Azure的Face API,与Face++大同小异(注意这并不是Windows Hello)

另外,Windows Hello分辨出双胞胎的概率是很高的。

Kinect和深度摄像机

诸位就算没玩过应该也听过Kinect的大名,10年微软为了与任天堂Wii竞争而推出的体感设备,配合游戏主机来玩体感游戏。既然是体感游戏,Kinect就需要记录玩家的动作、位置,这就交给了机器上的深度摄像机了。

深度摄像机,顾名思义,是一种可以测深度的摄像机,可以获取像素点的位置远近。当然深度摄像机又分很多种,我们上面说的RealSense就是一种,它不仅是个红外摄像机,而且可以通过红外激光获得深度信息(激光测距)。不过Windows Hello只要求了红外摄像,毕竟深度摄像机成本和体积摆在那(摊手)。

说到技术路线,现在深度摄像头主流有三个技术路线:单目结构光、TOF(飞行时间)和双目视觉:
- TOF原理是传感器发出经调制的近红外光,遇物体后反射,通过计算光线发射和反射时间差或相位差来换算被拍摄物体的距离。
- 结构光(Structured Light)技术则要相对复杂一些,该技术将编码的光栅或线光源等投射到被测物上,根据它们产生的畸变来解调出被测物的三维信息。
- 双目视觉则是和人眼一样用两个普通摄像头以视差的方式来计算被测物距离。

来源:https://baijiahao.baidu.com/s?id=1567651440369484&wfr=spider&for=pc

Kinect1上使用的摄像头叫PrimeSense(原理是结构光),但是在2代上则使用了TOF(原理是双目视觉差)。而苹果则收购了PrimeSense。于是四年之后,深度摄像头出现在了新一代iPhone上。

Face ID

讲了这么多,我们大概了解到面部识别由硬件和软件两部分构成。软件就是图像识别算法,硬件方面,有普通的数码摄像头,有红外摄像头,还有深度摄像头。

先说硬件。iPhone X上搭载了一个前置深度摄像头,这也是为什么刘海这部分无法做小、后置双摄需要突起。不过能把深度摄像头塞进手机里,已经是非常大的进步了。当深度摄像头与人脸识别结合,就不再需要算法通过阴影颜色等来判断人脸各部分的远近了。也就是说,摄像头可以返回像素点以及其位置,凭此机器就可以直接建立起3D模型了。那么,照片什么的自然也就无法破解了。

软件部分呢,Face ID使用三万个锚点来标记人脸。这个数据在Face++中是106, 在Windows Azure中是27……并不是苹果有多厉害,这是因为Face ID需要三万个点来建立起3D模型,而后两者则是使用锚点来标记人脸特征(如五官、脸部轮廓等)。至于建立起面部模型后如何比对,由于苹果没有给出原理,我们不得而知。

此外,由于iPhone X的深度摄像头包括红外摄像头,Face ID可以在低光下识别解锁。

Face ID科普:知乎:如何评价 iPhone X 的 Face ID?——Shady L的回答

从人脸识别谈图像识别

人脸识别属于图像识别的内容,且是其中非常重要的一块。而图像识别又属于人工智能机器学习领域,所以往开了说可以说很多。

粗略的看一看旷视的产品,我们就会发现其实美图、视频美化都用到了人脸/人体识别。早些年红极一时的美图软件Prisma更是结合了图像识别和云计算两个大热技术。现在各大科技公司都在这些新技术方面做好了布局,我们只需要静待成果的出现。

想要了解这部分内容的同学,可以看看这个:

知乎专栏:机器学习原来这么有趣!第三章:图像识别【鸟or飞机】?深度学习与卷积神经网络

当然咯,如果没有了解过机器学习,你应该从第一章开始看。


了解完上面这些,我们会发现其实Face ID也不是什么伟大创新,原理与Windows Hello大同小异。科技公司的创举从来不是技术创新——技术创新总是最先出现在实验室里,是科研人员努力的结晶。科技公司的伟大之处是把新技术带给普罗大众,让每个人都可以用。拿面部识别来说,这并非苹果或微软或旷视哪一家独家的发明,但是要让面部识别从军方专用、车站机场专用进入寻常百姓家、进入我们的裤兜,科技公司们又付出了多少努力呢。

科技杂谈:浅谈人脸识别相关推荐

  1. 浅谈人脸识别在公共安全领域的应用

    浅谈人脸识别在公共安全领域的应用 电子科技大学 格拉斯哥学院2017级杨凯 随着人脸识别技术的普及与发展,它越来越多的领域得到了广泛的应用,如人们所熟知的门禁系统和智能手机上的面部解锁功能.在社会安全 ...

  2. iOS黑科技之(CoreImage)静态人脸识别(一)

    iOS黑科技之(CoreImage)静态人脸识别(一) 人脸识别原理简介:每一张图片都是由每一个像素点组成,而每一个像素点中又有对应的颜色值(如RGB),人的面部特征中,不同的五官,颜色值肯定存在差异 ...

  3. iOS黑科技之(AVFoundation)动态人脸识别(二)

    iOS黑科技之(AVFoundation)动态人脸识别(二) 上一篇介绍了Core Image实现的静态人脸识别, 这里介绍AVFoundation的强大功能之一的动态人脸识别 一. 首先介绍一些人脸 ...

  4. directx sdk march 2009_小视科技极致轻量级模型人脸识别sdk支持活体检测总模型仅8M...

    近日,小视科技正式发布定制化解决方案--极致轻量级模型人脸识别sdk,该模型专为低算力设备 (如用 A7.A9等芯片设备) 设计,旨在保持低算力设备人脸识别的识别精度和速度. 此次发布的极致轻量级模型 ...

  5. 澎思科技茹敏:人脸识别的泛安防落地及多维数据实战应用|量子位沙龙回顾

    4月10日,量子位与中关村壹号联合主办的AI+线下沙龙-智慧城市的发展趋势与挑战在中关村壹号举办. 澎思科技公共安全业务部负责人茹敏.明略科技COO兼数字城市发展部总经理唐日新.思必驰CMO龙梦竹.旷 ...

  6. 澎思科技茹敏:人脸识别的泛安防落地及多维数据实战应用

    4月10日,量子位与中关村壹号联合主办的AI+线下沙龙-智慧城市的发展趋势与挑战在中关村壹号举办. 澎思科技公共安全业务部负责人茹敏.明略科技COO兼数字城市发展部总经理唐日新.思必驰CMO龙梦竹.旷 ...

  7. 深入浅出谈人脸识别技术

    在深度学习出现后,人脸识别技术才真正有了可用性.这是因为之前的机器学习技术中,难以从图片中取出合适的特征值.轮廓?颜色?眼睛?如此多的面孔,且随着年纪.光线.拍摄角度.气色.表情.化妆.佩饰挂件等等的 ...

  8. 向科技要智慧,人脸识别智能门禁解锁智慧社区新未来

    随着社会经济的高速发展,居住环境的舒适性和安全性成为人们居住的首选,门禁系统在安全的居住环境中起到的作用越来越重要,传统的门禁卡易丢失,易复制,成本高,难管理的特点显然不能适应当下物联网时代的需要,如 ...

  9. 浅谈动作识别TSN, TRN, ECO

    其它机器学习.深度学习算法的全面系统讲解可以阅读<机器学习-原理.算法与应用>,清华大学出版社,雷明著,由SIGAI公众号作者倾力打造. 书的购买链接 书的勘误,优化,源代码资源 什么是动 ...

最新文章

  1. Windows使用免费版Kiwisyslog搭建日志服务器
  2. 南海有macbook吗?
  3. Swift 注释规范和文档注释
  4. 事务连接中断_漫画——你还记得原生的JDBC怎么连接数据库吗?
  5. gre biochemistry_【备考精选】2020年11月6日GRE写作Issue预测分享
  6. jQuery的ajax()、post()方法提交数组,参数[] 问题
  7. VS 2010的一些常用问题
  8. ubuntu+idea intellij配置android开发环境
  9. init_cheap: VirtualAlloc pointer is null, Win32 error 487
  10. Labview 模型导入Veristand问题
  11. base64 golang 图片_golang基础学习-base64使用
  12. python循环输入数组_python数组循环处理方法
  13. Android日常开发总结的技术经验60条 转
  14. Linux系统下卸载jdk的步骤
  15. 谷歌五笔输入法电脑版_不背字根,如何三天学会五笔输入法
  16. c# 无法检索解密密钥_使用C#检索Windows产品密钥
  17. 手把手教你刷github提交记录
  18. 如何根据函数,绘制出函数的图像
  19. 如何理解beta分布?
  20. 【Java】Java中的常用工具类(排名前 16)

热门文章

  1. mysql程序注册时间到期key_MySQL-Front 出现“程序注册时间到期 程序将被限制模式下运行”解决方式...
  2. python的一些帅气的代码,复制粘贴不好哦
  3. 终端 命令行清空 废纸篓
  4. apache phoenix 入门_简洁的 phoenix 安装使用
  5. 电脑系统怎么选?Win?MacOS?Linux?
  6. ubuntu一键化部署方案
  7. [STM32] STM32 移植 U8g2库
  8. java+vue家政公司服务预约网站系统springboot+vue
  9. 应用于python3的条形码生成器:python-barcode简单使用
  10. Java手机号码工具类(判断运营商、获取归属地)以及简要的原理跟踪