如何理解并实现一个简单的人脸识别算法(下):人脸识别

题外话

开篇先说一点题外话,我主要想通过这一期的教程表达一个观点,那就是科研非常重要,而且入门其实没有那么难。

我在知乎上看到一篇文章,有一个清华大学物理系的助理研究员带着福州一中的应届毕业生董焌锴合作完成了一篇论文已被《Science Bulletin》接收。在该研究员撰写的专栏文章[1]里,我得知“在此后不久,董焌锴拿到了美国康奈尔大学物理系的本科录取通知书,完全没有了高考升学的压力。”看到这,我虽然还没有孩子,但更加坚定了我以后鼓励孩子尽早做科研的决心。

鼓励孩子主要有两个原因,一是我不会逼自己的孩子。我在本科求学数学系期间,就听说很多数学系教授把自己的孩子逼得非常讨厌数学,基本与理工类的科技行业say goodbye了。如果那些教授们在教育理念和方法上有所改变,那些孩子说不定还真能在数学里得到很多快乐。二是我觉得行行出人才。只要孩子努力做更好的自己就好了。大家也都知道歌手朴树的父母都是北京大学的教授,其父濮祖荫还是著名的地球物理专家,但是朴树却从小立志做文艺青年。我个人倒是觉得朴树带给我的感动和影响是超越他父亲。所以呢,我也不是觉得科研是大家必须做的事情。

如果孩子喜欢科研,那么鼓励孩子做出成绩,并且受到认可,从而进入更好的平台提升自己,那简直就是不要太完美啊!

题外话到此为止,下面进入正题。

人脸识别究竟是什么

人脸识别是一个非常实用的技术。很多公司的考勤就是用的人脸识别技术。人脸识别也是一个非常古老的计算机视觉问题,研究历史至少有将近30年。早期有一篇非常出名的文章介绍特征脸[2],是人脸识别领域的一个里程碑技术,原理非常简单,就是人脸在高维空间里的低维子空间里,所以可以通过降维来得到更好的识别效果。下图大致表达了特征脸的基本思想[3].

在维基百科的词条介绍里[4], 狭义的人脸识别特指通过人脸进行身份确认或者身份查找的技术或系统。人脸识别还可以是确认(verification)和鉴别(identification)。确认的过程是这样的,你先输入你的身份ID,然后系统把你的人脸和你输入身份ID的人脸作对比,如果极度相似,那么就可以确认你是你输入的身份ID这个人。而鉴别则是把你的人脸直接和系统里已有的人脸一一匹配,如果你的人脸和系统里的某张人脸极度相似,那么就鉴别出你的身份。确认和鉴别都是生物特征识别和安防里常用的方法。

按照机器学习领域的方法,识别主要可以分为两大类:分类和聚类。在之前的文章[5]里,我介绍过分类是一种监督学习,分类过程中需要有类别的标签;而聚类是一种无监督学习,聚类过程中可以不需要类别标签。在本文中,人脸识别特指人脸的分类问题,也就是上文中的鉴别。

人脸识别算法的必要组成

A 人脸模板(Template)

在人脸识别系统里,我们首先需要人脸识别的系统里已经有一些人脸的照片,这些照片作为模板被放在人脸识别的系统里。模板的重要性不言而喻,如果没有这些模板,我们都不知道要识别谁,还怎么谈人脸识别?!收集和预处理人脸模板是一项庞大的工程,不过简单的自动化处理就可以得到还算满意的结果。

在数学模型上,人脸模板经常被称为训练集。训练集是训练人脸识别算法的参数的数据集。在训练集中,有很多人的人脸照片。假设某一个训练集里有K个人,每张照片的都被转换成一个竖直方向上的向量,那么第k个人的多张人脸照片就可以组成一个矩阵Xk,全部人脸模板就可以用一个矩阵表示(要是这里支持写latex就好了):

X = [X1,...,Xk,...,XK]。

B 算法模型

有了模板之后,我们就可以根据输入的测试样本来进行人脸识别了。这里假设y是待识别的测试样本,和X的每一列样本一样,是一张人脸照片转换成的竖直方向上的向量。

上一次教程里,我介绍了最小二乘回归模型。这个简单的模型被我导师在2011年的ICCV大会论文[6]里指出可以有效地应用在人脸识别里。基本模型非常简单:

上图是一个优化模型,X = [X1,...,Xk,...,XK]是所有类别的人脸的所有照片组成的矩阵,也叫训练矩阵;y是输入的测试样本,是一个和X每一列一样大小的向量;p是输入的测试样本在训练样本下的表达系数,也是一个向量,维数等于训练集中样本的个数。在这个模型里主要求上述优化模型的解,也非常简单:

向量p画出来的大概样子是这样的(大家可以忽略):

物理涵义就是输入样本可以被训练集里的样本线性表达。

在得到p之后,我们下一步该怎么用p进行人脸识别呢?

请注意p是在训练集中所有的人脸照片上的表达系数向量,那么p在每个人的人脸照片Xi里的表达可以用pi来表达。那么y在不同类里可以得到不同的重构。即y在第i个人的人脸照片里的重构人脸是yi=Xi*pi。如果y是第i个人的人脸照片,那么y应该约等于yi,即y被第i个人的人脸照片Xi重构出来的误差就会最小。这就是人脸识别的最关键原理。

接下来人脸识别的步骤就很简单而直观了,即分别计算每一个人的人脸照片重构y的误差,然后规定y就是误差最小的那一类人脸照片所属于的那个人:

人脸识别例子

我先给出一幅图,让大家有一个直观的印象。

在上图中,左边是输入的测试样本y,中间的每一张都是一个人的人脸照片Xi,那么y在全部训练集X=[X1,...,XK]上可以根据上面的最小二乘回归模型得到一个表达系数向量p。然后我们可以计算y在每一张人连照片Xi上的重构误差,误差越大,相似性越低,误差越小,相似性越高。比如在上图中,y恰好与X2(数据库里第一行左二)的误差最低,相似度达到了96%,那么y就是数据库里第一行左二的那个人的人脸照片,与我自己的辨别相符,达到了人脸识别的目的。


人脸识别的重要性

人脸识别有多重要?人脸识别不仅在安防,海关等重要场合里发挥了很大的作用,而且在找回遗失的孤儿上起到关键作用。这里不得不称赞一下人工智能技术最近在找回丢失儿童方面所作出的贡献[7],这里面有一项很关键的技术就是人脸识别,尤其是跨年龄人脸识别技术(当然,最后还是要用DNA匹配技术深度确认)。

据我所知,腾讯优图实验室应该是目前国内做人脸识别最好的机构之一[8]。

昨天非常荣幸收到腾讯优图某位高管的邮件,邮件里他邀请我去腾讯优图面试。希望我以后能在人脸识别领域做出对社会真正有贡献的技术。

参考文献:

[1] 尹璋琦, 与高中生合作发表学术论文, https://zhuanlan.zhihu.com/p/28315413

[2] Turk M, Pentland A. Eigenfaces for recognition. Journal of cognitive neuroscience, 1991, 3(1): 71-86.

[3] 自动人脸识别基本原理,https://b2museum.cdstm.cn/identification/rlsb-2.htm

[4] https://zh.wikipedia.org/wiki/%E4%BA%BA%E8%84%B8%E8%AF%86%E5%88%AB,维基百科。

[5] 人工智能依然需要被“监督”,微信公众号“君君玩科技”。

[6] Zhang L, Yang M, Feng X. Sparse representation or collaborative representation: Which helps face recognition? IEEE international conference on computer vision (ICCV), 2011.

[7] http://www.sohu.com/a/133773386_500237

[8] 准确率99.80%!腾讯优图再次刷新人脸识别世界纪录, http://tech.qq.com/a/20170330/033980.htm

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容