美文网首页
iphone X的Face ID脸部识别技术解析

iphone X的Face ID脸部识别技术解析

作者: 盖世英雄_ix4n04 | 来源:发表于2017-10-09 10:28 被阅读200次

    苹果公司的第一支智慧型手机iPhone上市满十年的今天,特别推出有史以来功能最强大的旗舰机iPhone X,其中最大的特色是取消了Home键也无需手动解锁,而是采用Face ID脸部辨识解锁技术,将3D影像技术发挥到极致,这里我们经由Face ID脸部辨识技术来解析3D立体影像感测原理。

    影像感测器(Image sensor)

    数位相机所使用的影像感测器主要是取得平面彩色影像,这个已经是我们使用了超过20年的旧东西,大部分的人都知道影像感测器有CCD与CMOS两种,却很少有人知道这两种零组件到底是什么?让我们先从这两种最基本的元件谈起。

    影像(Image)其实指的就是我们看到的一个「画面」(Frame),是由许许多多的格子组成,这些格子称为「画素」(Pixel)。影像感测器是由许许多多的格子(画素)组成的阵列,每一个画素含有一个电荷耦合元件(CCD)与光感测器(PD),由于光感测器(PD)只能侦测亮度,无法分辨颜色,为了取出颜色,必须在光感测器上方加装「彩色滤光片」(Color filter),如图1(a)所示,它的RGB排列方式有许多种,目前最常使用的是图中这种称为「贝尔图」(Bayer pattern),有没有发现贝尔图的设计里,绿色的画素是红色与蓝色的两倍?因为肉眼对绿色比较敏感,因此多收集绿色的资讯是合理的。

    ▲图1:CCD感测器的构造与原理示意图。

    CCD影像感测器

    电荷耦合元件(CCD:Charge Coupled Device)是一种推电荷(电子)前进的元件,利用3个金属电极不同电压依序推电荷前进,如图2(b)所示,左下角画素A的光感测器内的电子经由旁边的CCD元件由4向上推到3,此时画素B的电子由3推到2,画素C的电子由2推到1,画素A的电子由1推到水平线,依此类推,第一行的电子推完,再推第二行,再推第三行,依此类推,必须把影像感测器内每一个画素的电子依序推到水平线,经由「类比前端」(AFE:Analog Front End)将类比讯号转换成数位讯号,也就是影像的「类比数位转换器」(ADC:Analog to Digital Converter),再输入处理器(Processor)进行数位讯号处理。

    CCD影像感测器的优点是影像画质较佳,杂讯较小;缺点有成本高、耗电量高、类比前端是使用CMOS制程与CCD制程不同因此无法整合在同一个晶片。

    CMOS影像感测器

    互补型金属氧化物半导体(CMOS)是一种开关元件,利用闸极施加正电压在下方形成电子通道,可以便电子由源极流入,由汲极流出,如图2(b)所示,每一个画素的左上角都有一个CMOS开关,一个一个画素可以依序打开(ON)导通,使光感测器内的电子依序流入水平线,第一行的电子流完,再流第二行,再流第三行,依此类推,必须把影像感测器内每一个画素的电子依序流到水平线,经由「类比前端」将类比讯号转换成数位讯号,也就是影像的「类比数位转换器」,再输入处理器进行数位讯号处理。

    ▲图2:CMOS感测器的构造与原理示意图。

    CCD影像感测器的优点是成本低(大约只有CCD的三分之一)、耗电量低(大约只有CCD的十分之一),更重要的是类比前端是使用CMOS制程与CMOS影像感测器的制程相同,可以整合在同一个晶片上缩小体积,这对于智慧型手机这种对元件尺寸很在意的应用非常适合;缺点有影像画质较差,杂讯较大,特别是CMOS开关本身产生的热杂讯,这种杂讯是元件在高于绝对零度(0K)时就会产生的,而且温度愈高杂讯愈严重,早期的CMOS影像感测器画面上会看到一个个亮点跳来跳去就是由于热杂讯产生,近年来由于半导体制程的进步,CMOS影像感测器的杂讯问题有很大的改善。

    3D立体影像感测技术

    数位相机只能取得平面彩色影像,完全没有深度的资讯,这代表当我们看到一张照片,只知道这个人的脸部有多宽多高,却不知道他脸部的立体结构,例如:鼻子有多挺(有多深),为了取得影像的深度资讯,近年来许多厂商投入研发,目前比较成熟的技术有下列两种:

    飞时测距(ToF:Time of Flight):利用发光二极体(Light Emitting Diode,LED)或雷射二极体(Laser Diode,LD)发射出红外光,照射到物体表面反射回来,由于光速(v)已知,可以利用一个红外光影像感测器量测物体不同深度的位置反射回来的时间(t),利用简单的数学公式就可以计算出物体不同位置的距离(深度),如图3(a)所示。

    结构光(Structured light):利用雷射二极体或数位光源处理器(Digital Light Processor,DLP)打出不同的光线图形,经由物体不同深度的位置反射回来会造成光线图形扭曲,例如:打出直线条纹的光线到手指上,由于手指是立体圆弧形造成反射回来变成圆弧形条纹,进入红外光影像感测器后就可以利用圆弧形条纹反推手指的立体结构,如图3(b)所示。

    【延伸阅读】对发光二极体(LED)的原理,以及它与雷射二极体(LD)的差异有兴趣的人可以参考知识力专家社群:发光二极体(LED)〉

    ▲图3:3D立体影像感测技术原理示意图。(Source:LAGOA

    TrueDepth相机

    苹果将iPhone X所使用的3D立体影像感测技术称为「TrueDepth相机」,结合了前面介绍的两种技术,如图4所示,TrueDepth相机为700万画素的CMOS影像感测器,配合红外光相机、泛光照明器、接近感测器、环境光感测器、点阵投射器等元件,以下简单介绍每个元件的功能:

    泛光照明器(Flood illuminator):使用低功率的垂直共振腔面射型雷射(Vertical Cavity Surface Emitting Laser,VCSEL),发射出「非结构」(Non-structured)的红外光投射在物体表面。

    接近感测器(Proximity sensor):使用低功率的垂直共振腔面射型雷射发射红外光雷射,当有物体靠近时会反射雷射光,因此手机可以知道有物体接近,这个元件很早之前智慧型手机就有了,一般都是安装在扩音器(Speaker)旁边,当使用者拨电话并且将手机靠近耳朵时,接近感测器侦测到耳朵接近就知道使用者正要讲电话,会自动关闭萤幕节省电力消耗。

    环境光感测器(Ambient light sensor):使用光二极体(Photo diode)可以侦测环境光亮度,在明亮的太阳下使用者眼睛瞳孔缩小,因此自动将萤幕调亮让使用者容易观看;在阴暗的室内使用者眼睛瞳孔放大,因此自动将萤幕调暗避免使用者感觉太刺眼。

    点阵投射器(Dot projector):使用高功率的垂直共振腔面射型雷射发射红外光雷射,经由晶圆级光学(Wafer Level Optics,WLO)、绕射光学元件(Diffractive Optical Elements,DOE )等结构,产生大约3万个「结构」(Structured)光点投射到使用者的脸部,利用这些光点所形成的阵列反射回红外光相机(Infrared camera),计算出脸部不同位置的距离(深度)。

    【延伸阅读】雷射是工业上非常重要的元件,有兴趣的人可以参考知识力专家社群:雷射的原理〉

    【延伸阅读】垂直共振腔面射型雷射原本是设计给光通讯使用的光源,目前的趋势却是被大量使用在消费性电子产品上,对这种特别的雷射有兴趣的人可以参考知识力专家社群:半导体雷射〉

    ▲图4:iPhone X使用的3D立体影像感测技术。(Source:苹果

    Face ID解锁原理与步骤

    Face ID解锁主要分为两个步骤,首先必须辨识接近手机的是否为刻意靠近的脸部,或者只是使用者不小心由手机前面晃过去而已;确认是刻意靠近的脸部之后,才开始进行人脸辨识,从前面的介绍可以发现,启动Face ID解锁必须同时开启好几个元件,是有些耗电的,因此必须确认是刻意靠近的脸部之后,才开始进行人脸辨识。

    当有脸部或物体靠近时,会先启动接近感测器(Proximity sensor),再由接近感测器发出讯号启动泛光照明器(Flood illuminator),发射出非结构(Non-structured)的红外光投射在物体表面,再由红外光相机(Infrared camera)接收这些反射的影像资讯,传送到手机内的处理器,iPhone X使用苹果自行开发的A11处理器,内建双核心的「神经网路引擎」(Neural Engine,NE),经由人工智慧的运算后判断为脸部后,再启动点阵投射器(Dot projector)产生大约3万个光点投射到使用者的脸部,利用这些光点所形成的阵列反射回红外光相机(Infrared camera),计算出脸部不同位置的距离(深度),再将这些使用者脸部的深度资讯传送到手机内的处理器内,经由计算比对脸部特征辨识是否为使用者本人。

    所有的3D立体影像感测技术都面临相同的问题,那就是深度资讯的精确度实际值大约只有1%,意思是距离1公尺远的物体量测出来的精确度与误差大约是1公分的等级;Face ID解锁时脸部与手机的距离大约10公分,因此精确度与误差大约是1公厘(mm)的等级,这大概足够进行脸部特征辨识了!此外,点阵投射器使用高功率的垂直共振腔面射型雷射发射红外光雷射,虽然它的功率并不是真的很高,但是入射到眼睛,个人以为长期使用是否会造成眼球的伤害,是另外一个值得医学界研究探讨的问题。

    人工智慧的云端与终端

    人工智慧(Artificial Intelligence,AI)大量的学习与运算目前都借助于云端伺服器强大的处理器来进行,早期使用Intel的「中央处理器」(Central Processing Unit,CPU),后来科学家发现Nvidia的「图形处理器」(Graphics Processing Unit,GPU)效能比CPU高100倍以上,Intel经由并购Altera取得「可程式化逻辑阵列」(Field Programmable Gate Array,FPGA)技术来与GPU抗衡,另外有更多的厂商开发始发展「特定应用积体电路」(Application Specific Integrated Circuit,ASIC),例如:Google自行设计的「张量处理器」(Tensor Processing Unit,TPU)或Intel自行设计的「视觉处理器」( Vision Processing Unit,VPU),就是一种针对人工智慧这种「特定应用」所开发的积体电路,以上这些处理器都是装置在「云端」(Cloud side)。然而并不是所有的应用都适合把大数据传送到云端处理,例如:自动驾驶车必须在车上「终端」(Edge side)进行处理才能即时反应道路情况。

    【延伸阅读】处理器的种类会影响人工智慧运算的效能,到底CPU、GPU、FPGA、ASIC有什么差别?有兴趣的人可以参考知识力专家社群:处理器的种类〉

    苹果公司这次推出的iPhone X使用自行开发的A11处理器,内建双核心的「神经网路引擎」,专门处理图像辨识相关的机器学习、推论模型、演算法,也是一种针对人工智慧这种「特定应用」所开发的积体电路,不同的是它装置在「终端」,也就是使用者的手机上,让手机可以「自动学习」认识使用者的脸部特征,苹果公司也一再强调,使用者所有的脸部特征都在手机终端完成,不会上传到云端处理,因此绝对不会有资料外泄的疑虑。

    苹果公司这次发表的iPhone X让使用者能真实感受终端装置的人工智慧(On-device AI),在可以预见的未来,终端处理器如何与人工智慧结合形成「终端智慧」(Edge Intelligence),将是愈来愈热门的议题。

    相关文章

      网友评论

          本文标题:iphone X的Face ID脸部识别技术解析

          本文链接:https://www.haomeiwen.com/subject/almuyxtx.html