硬核科普:一文看懂人脸识别技术流程 2024-08-06 14:34:11 小编是个天生懒惰的人,同时又是个急性子,这样的人最享受被科技服务的乐趣。举个例子,十多年前大家还在普遍用现金的时代,小编在商店买东西排队结账,每当看到收银员找零时手忙脚乱的样子就会心急如焚,只恨不能拿了东西直接走人。那时候年幼的小编就攥紧拳头梦想着以后一定要发明一种不用找零钱的方法。后来这个在心底萌芽多年的梦想被别人实现了,失望之余小编也乐享其成。用手机扫扫码就能付钱可比现金方便快捷多了。可天知道小编“懒癌+急癌”晚期,久而久之竟觉得抬手扫码、输入密码这样的动作也很麻烦。所以后来出现的指纹支付算是拯救了小编。再后来,连手指都不用动了,因为出现了“刷脸支付”,配合手上iPhone的卓越体验,不得不说小编爱死了这个功能。嗯,刷脸支付将小编从付钱时漫长等待的焦躁和不安中解救了出来,所以在IT之家编辑部的科技氛围里淫浸多年后,小编觉得有必要为大家讲一讲“刷脸”到底是个什么东西,也可算是知恩图报了!“刷脸”,顾名思义,背后是一项关键技术:人脸识别。别看这两年因为在智能手机上的使用而大热,其实人脸识别技术最早的研究还要追溯到20世纪50年代,当时已经有科学家在研究人脸轮廓的提取方法,但受限于技术水平,这项技术的相关研究一度停滞,直到20世纪80年代,人脸识别的方法才有了新的突破,神经生理学、脑神经学、视觉等相关知识被引入,人脸识别进入了新的发展阶段。所以,当前阶段的人脸识别不是单一的技术,而是融合了神经生理学、脑神经学、计算机视觉等多方面学科的技术。不过,本质上它还是一项计算机视觉技术。当然,IT之家做这篇文章的重点不在于回顾人脸识别的历史,而是和大家讲讲人脸识别背后的一些基本原理。人脸识别技术系统的基本逻辑架构我们每天用人脸识别技术解锁手机、结账付款,是那么的自然,但相信很少有同学深入思考这项技术背后是怎样一个流程。前面我们说,计算机视觉是人脸识别关系最紧密的技术。所以我们从这一点入手。计算机视觉,通俗来说就是利用摄像头等设备代替人眼,来获取图像,利用计算机对图像信息进行处理,综合人类的认知模式来建立人类视觉的计算理论。这其中,最难的无疑是如何处理图像信息、如何模拟人类的认知模式。为了解决这些问题,计算机视觉还引入了图像处理、模式识别、图像理解、图像生成等学科的知识。图像处理就是把原始图像转换成计算机更容易识别的图像;模式识别,就是计算机判断自己要识别的是什么和怎么识别的过程;图像理解,就是对图像中描述的景物进行分析;图像生成,举例来说就是当图像的部分信息缺失时,能够将缺失的信息补上……这些都是计算机视觉需要借助的学科技术。这里面我们要着重讲的是模式识别,它是一个独立的理论体系,具体到计算机视觉领域的应用,它表示将计算机表示出来的图像和一致的类别进行匹配的过程。有点懂是吧。IT之家为大家通俗解释一下,所谓“识别”,就是先认识,然后辨别。认识什么?认识的是图像和从图像中总结的目标物体的特征。怎么辨别?就是将总结出来的特征和自己已经掌握的特征库进行比对,然后才能实现辨别。我们人类识别一样物体也是遵循这个逻辑,先总结特征,然后比对。至于前面的“模式”,就有点抽象了,你可以理解为一种规律,它影响着特征和类型比对的结果。没错,人脸识别本质上也是这个过程。所以,我们沿着模式识别的思路,来看看它的整体过程:分别为预处理、特征提取和分类等。我们画出如下流程图:预处理是第一步,但是这部分工作可能很多很杂,例如减少图像中的噪声干扰、提高清晰度、还有包括图像滤波、变换、转码、模数转化等。特征提取,就是在预处理后的图像中,提取对识别有明显作用的特征,并在这个过程中降低模式特征的维数,令其便于处理。这是一个复杂的过程,后面我们讲到具体方法时候会有体现;分类,就是对提取到的特征值按照一定的准则进行分类,便于决策。举个例子,计算机要识别出这张照片中的男人,当它拿到照片时,可能觉得画面太暗,先提个亮度,然后又发现噪点太多,再做个降噪……一顿操作后感觉可以了,再将照片转化为数字信息,这个过程是预处理。提取出来的特征值会进入单独的特征空间,因为这样可以更好地识别和做分类。接下来,就要对特征空间里的数据进行分类了,让它们眼睛归眼睛,鼻子归鼻子,头发归头发……基于这些分类好的数据,计算机才可以进行识别判断和决策。当然,为了方便大家理解这个逻辑过程,IT之家在这里只是举例粗略地说明,可能不准确,实际的步骤也是相当复杂的,还要考虑各种干扰的因素,例如图像的质量不清晰、背景复杂、图像光照分布不均匀、目标姿势角度出现扭曲或者佩戴了头饰、眼镜以及张了胡须、化了妆等等各种情况。还有要说明的一点是,这个模式识别的系统是需要一个自我训练、学习的过程的,其中最重要的是对前面分类错误率的训练(分类器训练),因为在前面的分类中,我们无法保证分类的结果是100%正确的,但必须控制在一定的错误率之类,这必须通过大量的训练样本来不断修正,令错误率符合要求。好了,基于以上对计算机视觉模式识别的讨论,我们就可以给出人脸识别系统的主要功能模块了:可能有小伙伴觉得上面这个举出功能模块太简单了,所以我们再精确一些,给出下面的逻辑架构图,相信不难理解:人脸识别的主流方法在上面一部分,我们主要介绍了人脸识别的基本逻辑流程,其实人脸识别的基本思想是比较类似的,都是要将图像中的特征提取出来,转换到一个合适的子空间里,然后在这个子空间里衡量类似性或分类学习。但问题在于,对客观世界采用怎样协调统一且有成效的表示法?我们要找到怎样合适的子空间,怎样去分类,才能区分不同类,聚集相似的类别?为解决这些问题,衍生出了很多种方法和解决方案。所以说,我们所说的人脸识别技术是笼统的,事实上,这是一个很多技术和方法的集合。我们不妨依据上面的逻辑结构图来逐步说明。1、预处理人脸图像的预处理,这一步没有太多可说的,主要包括消除噪声、灰度归一化、几何校正等,这些操作一般有现成的算法可以实现,属于比较基本的操作。不过要说明的是,这里主要说的是静态人脸图像的预处理,如果是动态人脸图像的预处理,就比较复杂了,一般是要先将动态人脸图像分割成一组静态人脸图像,然后对人脸进行边缘检测和定位,在做一系列的处理,这里就不展开了。2、特征提取图像特征的提取是比较关键的一步(上文所说的模式空间向特征空间的跨越),但对于图像处理来说也是比较初级的一步。目前关于图像特征提取的方法有很多,但其实我们想一想,通常而言图像的特征还是可以归类的,例如颜色特征、纹理特征、空间关系特征、形状特征等,每一种特征都有匹配的方法,其中有一些比较经典、好用的方法,例如HOG特征法,LBP特征法,Haar特征法等,小编当然不可能一一讲解,所以这里选取其中一种——HOG特征法。HOG特征也叫方向梯度直方图,它是由Navneet Dalal和Bill Triggs在2005年的一篇博士论文中提出的。我们简单来看它是怎么进行的。我们以这张照片为例,第一步是要将它变成黑白的照片,因为色彩信息在这里对识别并没有帮助。在这张黑白照片中,我们从单个像素看起,观察它周围的像素,看它是往哪个方向逐渐变暗的,然后用箭头表示这个像素变暗的方向。如果对每个像素执行这样的操作,这样所有像素都会被这样的箭头取代,它们表示了像素明暗变化的方向。每一个这样的箭头表示明暗梯度。事实上,对于每一个像素,给定坐标系,我们能够求出它的梯度方向值。计算的方法比较复杂,我们不需要了解,只需要知道这一步是为了捕获目标的轮廓信息,同时进一步弱化光照的干扰。如果是以这样的方式做提取的话,计算量会很大。所以我们会把图像分割成8x8像素的小方块,叫做一个Cell,然后对每个Cell计算梯度信息,包括梯度的大小和方向。得到的是这个Cell的9维特征向量。相信到这里大家有些不懂了。IT之家再为小伙伴们稍微解释一下,其实这一步的目的是为每个Cell构建梯度方向直方图,直方图就是我们大家熟知的条形统计图,这个直方图中,X轴是将方向划分的区间,Navneet Dalal等人研究表示划分9个区间效果是最好的,如果是180°的方向,每个区间就代表20°。y轴表示某个方向区间内的梯度大小。这样就等于是每个Cell的特征描述符。▲大致就是这个意思(图片来源:加州大学旧金山分校图像处理论文)这里还有一步,就是如果你的图像受到光照的影响比较大,那么还可以将一定的Cell组成一个block,例如2x2个Cell,这样每个block上就是36维的特征向量,然后对这36维特征向量做规范化(具体怎样规范,涉及到高等数学的知识,大家也不需要知道)。如果我们输入的图像大小是256x512像素,那么就有32x64=2048个Cell,有31x63=1953个block,每个block有36维向量,那么这个图像就有1953x36=70308维向量。这70308维向量就是这个图像的HOG特征向量了。当然,上面这些步骤你也可都不了解,你只需要知道,最后原始的图像被表示成了HOG的形式,如下图:然后根据这个HOG形式,在我们的库中找到与已知的一些HOG样式中,看起来最相似的部分。3、图像识别人脸识别技术经过科学家多年的研究和发展,已经形成了多种研究方向和更多种的研究方法,如果我们梳理一下,主要包括基于几何特征的方法、基于模板的方法、基于模型的方法以及其他方法。基于几何特征的方法是比较早期、传统的方法了,它主要是研究人脸眼睛、鼻子等器官的形状和结构关系的几何描述,以此作为人脸识别的重要特征。基于模板的方法基本思想是拿已有的模板和图像中同样大小的区域去比对,包括基于相关匹配的方法、特征脸方法、线性判别分析方法、神经网络方法等。基于模型的方法的方向是对人脸的显著特征进行特征点定位,然后进行人脸的编码,再利用相应的模型进行处理实现人脸识别,例如隐马尔柯夫模型,主动形状模型和主动外观模型的方法等。在人脸识别领域,有一些比较经典的算法,例如特征脸法(Eigenface)、局部二值模式法、Fisherface等,不过IT之家在这里还是还是觉得与时俱进比较好,所以选择一个目前应用比较广泛且流行的方法作为示例,叫做OpenFace。当然,我们不做实际的测试,只是通过它来了解识别的原理。OpenFace属于基于模型的方法,它是一个开源库,包含了landmark,head pose,Actionunions,eye gaze等功能,以及训练和检测所有源码的开源人脸框架。在前面的步骤中,IT之家已经为大家介绍如何通过HOG的方法将图像中人脸的特征数据提取出来,也就是成功检测到了人脸。这时又有一个问题,就是这个人脸的姿势好像不是那么“正”,同样一个人,如果她的姿势,面部的朝向不同,人类仍然能认出她来,而计算机可能就认不出了。解决这个问题,有一个办法,就是检测人脸主要特征的特征点,然后根据这些特征点对人脸做对齐校准。这是Vahid Kazemi和Josephine Sullivan在2014年发明的方法,他们给人脸的重要部分选取68个特征点(Landmarks),这68个点的位置是固定的,所以只需要对系统进行一些训练,就能在任何脸部找到这68个点。图片来源:OpenFace API阅读文档(点此前往)有了这68个点,就可以对人脸进行校正了,主要是通过仿射变换将原来比较歪的脸摆正,尽量消除误差。这里的仿射变换主要还是进行一些旋转、放大缩小或轻微的变形,而不是夸张的扭曲,那样就不能看了。▲过程大约是这样,原来的脸被进行了一定程度的校正(图片来源:OpenFace github说明页面)这样我们把原始的人脸图像以及HOG的特征向量输入,能够得到一张姿势正确的只含有人脸的图像。注意,到这一步我们还不能直接拿这张人脸图像去进行比对,因为工作量太大,我们要做的是继续提取特征。接着,我们将这个人脸图像再输入一个神经网络系统,让它为这个脸部生成128维的向量,也可以说是这个人脸的128个测量值,它们可以表示眼睛之间的距离,眼睛和眉毛的距离、耳朵的大小等等。这里只是方便大家理解而举例,实际上具体这128维的向量表示了哪些特征,我们不得而知。当然,这一步说起来简单,其实难点在于如何训练这样的一个卷积神经网络。具体的训练方法不是我们需要了解的,但我们可以了解一下训练的思路。训练时我们可以输入一个人脸图像的向量表示、同一人脸不同姿态的向量表示和另一人脸的向量表示,反复进行类似的操作,并不断调整,调整的目标是让同一类对应的向量表示尽可能接近,其实也就是同一个人的向量表示尽可能距离较近,同理,不同类别的向量表示距离尽可能远。至于人工智能神经网络训练的基本原理,大家可以查看IT之家之前发布的《AI不是科幻电影里的洪水猛兽,而是被慢慢变革的生活方式》这篇文章。其实训练的思路也很好理解,因为一个人的人脸不管姿态怎么变,在一段时间内有些东西是固定的,比如眼睛间的距离、耳朵的大小、鼻子的长度等。在得到这128个测量值后,最后一步就简单了,就是将这128个测量值和我们训练、测试过的所有面部数据做比对,测量值最接近的,就是我们要识别的那个人了。这样就可以完成一次人脸的识别。总结人脸识别技术经过70多年的发展,到今天已经发展成为一门以计算机视觉数字信息处理为中心,糅合信息安全学、语言学、神经学、物理学、AI等多学科交合的综合性技术学科,内涵已极为丰富,并且发展快速。而IT之家在本文试图为大家讲解的,只是人脸识别最基础和通俗的原理以及相对单一的用例分析,显然无法涵盖人脸识别领域所有的内容,只是希望借此对大家理解、认识如今我们已经习惯使用的人脸识别功能有所帮助。国际调研机构Gen Market Insights发布的数据显示,到2025年底全球人脸识别设备市场价值将达到71.7亿美元,智能手机上对人脸识别技术的广泛应用,只是为我们了解这项技术提供了一个契机,未来,随着5G万物互联时代的到来,智能硬件市场将得到极大扩展,那才是人脸识别技术真正大展身手的天地。嗯,不错,期待这个时代早日到来,到时候小编这张盛世美颜终于能做点有意义的事情了,也算不负父母恩泽。本文参考资料:沈理、刘翼光,熊志勇,2015-11-16,《人脸识别原理及算法:动态人脸识别系统研究》CSU985,CSDN,2018-10-06,《图像特征提取总结》人工智障v,简书,2018-07-30,《HOG特征——行人识别》laolaonuonuo,CSDN,2018-03-10,《人脸识别主要算法》大数据v,CSDN,2018-08-23,《深度干货!一文读懂人脸识别技术(建议收藏)》leon1741,CSDN,2018-08-02,《深入浅出人脸识别原理》zouxy09,CSDN,2015-04-25,《人脸识别之特征脸方法(Eigenface)》csdn研发技术,CSDN,2018-01-26,《看OpenFace如何做到精准人脸识别 赞 (0) 相关推荐 【学习笔记】嵌入式技术(6):改进的多姿态矫正的人脸识别算法 2016年微型机与应用第3期 作者:杨作宝1,2,侯凌燕1,2,杨大利1,2 摘要:针对人脸多姿态导致人脸识别率下降这一问题,提出一种改进姿态矫正处理方法,通过改进对人脸特征点的有效定位,来计算人脸姿 ... 【完结】如何掌握基于图像和视频的人脸表情识别,这9篇文章可以作为一个参考 人脸表情识别(Facial Expression Recognition,FER)作为人脸识别技术中的一个重要组成部分,近年来在人机交互.安全.机器人制造.自动化.医疗.通信和驾驶领域得到了广泛的关注 ... 【学术论文】基于深浅特征融合的人脸识别 摘 要 : 针对传统的浅层特征所提取特征的判别性有限.深度特征需要大量带标记样本且训练过程耗时长的问题,提出一种深度及浅层特征融合算法用于人脸识别.首先提取人脸的HOG特征并进行判别性降维:同时 ... 【技术综述】视频分类/行为识别研究综述,从数据集到方法 视频分类/行为识别是计算机视觉领域中非常有挑战性的课题,因为其不仅仅要分析目标体的空间信息,还要分析时间维度上的信息,如何更好的提取出空间-时间特征是问题的关键.本文总结了该领域的技术进展和相关数据集 ... 人脸识别的前世今生:从人工特征的百花齐放到深度学习的一统江湖 几天前一篇arXiv新上论文<Face Recognition: From Traditional to Deep Learning Methods>,对人脸识别技术发展经历的几个时期进行 ... DeepMind&VGG提出基于集合的人脸识别算法GhostVLAD,精度远超IJB-B数据集state-of-the-art 在人脸识别应用中,很多场景能够获取某一个体的多幅人脸图像的集合(比如在监控视频中),使用人脸图像集来做识别,这个问题被称为基于模板的人脸识别(template-based face recogniti ... 【杂谈】计算机视觉在人脸图像领域的十几个大的应用方向,你懂了几分? 人脸图像属于最早被研究的一类图像,也是计算机视觉领域中应用最广泛的一类图像,可以说掌握好人脸算法,基本就玩转了计算机视觉领域.在经历了几十年的发展后,现在人脸图像都有哪些研究和应用领域呢?本文从人脸特 ... 深度学习人脸识别核心技术—框架和优化目标 注:本文选自人脸图像资深工程师言有三出版的新书<深度学习之人脸图像处理:核心算法与案例实战>(机械工业出版社出版)的6.2节,略有改动.经授权刊登于此. 人脸识别本质上是一个人脸验证和匹配 ... 【学习笔记】基于人脸识别的课堂点名系统 摘要:传统的课堂点名方法效率低下,浪费大量时间.提出基于人脸识别的课堂点名系统,大大提高了课堂点名的效率.本系统提供图像和摄像识别点名,可一次识别多个人脸,同时该系统也对系统难以识别的学生提供手动签到 ... 八条职场硬核“潜规则”!看懂少走十年弯路!别再吃暗亏! 不闲扯淡,直接上"干货",都是经验之谈,尤其是当你深陷泥潭.进退维谷的时候,多读一读,必能更加领悟职场和生活. 1.抛弃自我,藏身隐形,潜修蓄势,伏蛰待机是职场新人进取的第一步. ... 117、股市中常出现跳空缺口为何一定要回补一文看懂缺口识别技巧 关于缺口在市场中并不陌生,缺口的出现一般意味着市场行情将绝地反击或者一泻千里,所以在股市中对于缺口的分析至关重要: ①.什么是缺口 缺口指的是当股价上涨或者下跌到重要的压力位置或支撑位置的时候,因为此 ... 混动汽车谁最强!一文看懂混动技术,比亚迪混动性价比怎么样! 作者|铁块君 来源|极果编辑部 现在路上的电动车越来越多,大众对电动车的认可度也越来越高.可以肯定,电动汽车肯定是未来. 电动车现在还没有完全淘汰汽油车,就是因为充电速度太慢了,动辄充电一两个小时,效 ... 一文看懂替代蛋白技术焦点:如何打造更广泛的原料来源、更成熟的工艺、更丰富的产品组合? 长期以来,肉类一直是市场上主要的蛋白质来源.近年来,随着人们愈加重视健康.环境变化.动物福利等问题,消费者的行为也慢慢发生了改变,将一部分注意力聚焦到了替代蛋白之上.替代蛋白的发展与食品科技息息相关, ... 一文看懂全面屏技术的三六九等 全面屏的定义没有严格的根据, 或许有些朋友觉得小米MIX才能叫全面屏, 而厂商觉得18:9屏幕就能叫全面屏, 也不纠结了,干脆就把这些手机都叫全面屏! 不过既然如此,那么全面屏手机就得分出个 三六九等 ... 一文看懂基坑施工全流程 基坑工程安全手册目录 1.施工方案 2.基坑支护 3.降排水 4.基坑开挖 5.坑边载荷 6.安全防护 7.基坑监测 8.支撑拆除 9.作业环境 10.应急预案 一.施工方案 ★ 基坑工程应编制专项施 ... 一文看懂融合定位技术6种打开方式 本文来源:物联传媒 本文作者:市大妈 在我们日常生活中,80%以上的信息属于具有空间位置特征的相关信息.位置信息与人们的生产和生活息息相关,无论在室内还是室外环境下,快速准确地获得移动终端的位置信息和 ... 【硬核基础】一文看懂可转债 最近可转债发行又再次密集,在当前行情,我建议积极参与网上可转债申购. 现在申购可转债:1. 中签率高 2. 潜在收益还可以 3.风险较小(3200申购,2800上市平均亏损25元) 同时可转债是非常好 ... 一文看懂5G网络(接入网+承载网+核心网) 本文以无线接入网为线索,梳理一下无线侧接入网+承载网+核心网的架构,主讲无线接入网,浅析承载网和核心网,帮助大家更深入的了解5G,也帮助新手更好的入门. 在我们正式讲解之前,我想通过这张网络简图帮助大 ...