网络机器人吧社区

让机器看懂你:深度学习视角下的人脸识别原来这么有趣

外星人设计实验室 2019-02-10 15:53:58




作者:晨酱chakki




最近带着任务去了解深度学习,本来是想学习教育领域的相关理论知识,结果发现了一片新天地,被致力于人工神经网络研究的深度学习所吸引......


看到“深度学习”中的“学习”二字,人们大都会自然想到教育领域的纯理论研究。实则不然,深度学习概念是源于人工神经网络的研究,是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,模仿人脑的机制来解释数据,例如图像,声音和文本。



此外,深度学习是机器学习中一种基于对数据进行表征学习的方法。观测值(例如一幅图像)可以使用多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。而使用某些特定的表示方法更容易从实例中学习任务(例如,人脸识别或面部表情识别)。


深度学习的好处是用非监督式或半监督式的特征学习和分层特征提取高效算法来替代手工获取特征。


我晃了一波知乎了解到Facebook研发出一种能够在一个人的照片中识别出你朋友的神奇能力。之前,人们需要手动点击朋友的照片,输入他们的名字,然后加上标签。现在,只要一上传照片,Facebook就会神奇地标注出照片上这个人的每一个朋友。这种技术被称为人脸识别。一个人的朋友被标记了几次之后,Facebook的算法就能够识别朋友的脸。



以人脸识别为例,它的技术流程蛮有意思,我们可以通过下面的每个步骤学习到不同的机器学习算法。


第一步:人脸识别会首先找到一张图片中的所有人脸,即进行人脸检测。


人脸检测是相机很好的一个功能。2000 年初的时候, 当保罗·比奥拉(Paul Viola)和迈克尔·琼斯(Michael Jones) 发明了一种能够快速在廉价相机上运行的人脸检测方法之后,人脸检测在成为了主流。当相机自动选中人脸时,它可以确保在拍摄时对焦到所有人脸,进而找到想要传递到流水线下一步的图像区域。


[该步机器会利用方向梯度直方图算法(HOG给图片编码,以创建图片的简化版本。再使用这个简化的图像,找到其中看起来最像通用 HOG 面部编码的部分。


方向梯度直方图(Histogram of Oriented Gridients)是目前计算机视觉、模式识别领域很常用的一种描述图像局部纹理的特征。它先计算图片某一区域中不同方向上梯度的值,然后进行累积,得到可以代表这块区域直方图。]



第二步:对于每一张脸来说,无论光线明暗或面朝别处,它依旧能够识别出是同一个人的脸。


[该步机器会通过面部特征点估计(face landmark estimation)的算法找到脸上的主要特征点,找出脸部的姿势。(这一算法的基本思路是找到 68 个人脸上普遍存在的特定点(称为特征点, landmarks)——包括下巴的顶部、每只眼睛的外部轮廓、每条眉毛的内部轮廓等。)一旦我们找到这些特征点,就利用它们把图像扭曲,使眼睛和嘴巴居中。]



第三步:把上一步得到的面部图像放入神经网络中进行编码,神经网络知道如何找到 128 个特征测量值,再保存这 128 个测量值。


[最简单的人脸识别方法,就是直接把我们在第二步中发现的未知人脸,与我们已经标注了的人脸图片作比较。当我们发现未知的面孔与一个以前标注过的面孔看起来及其相似的时候,它肯定是同一个人。


实际上这种方法有一个巨大的问题。像 Facebook 这种拥有数十亿用户和数万亿张照片的网站,是不可能去循环比较每张先前标记的脸的,这会浪费很长的时间。他们需要的是在毫秒内识别人脸,而不是几个小时。


在为几千个人的数百万图像重复该步骤数百万次之后,神经网络学习了如何可靠地为每个人生成 128 个测量值。机器学习专业人士把每张脸的 128 个测量值称为一个嵌入embedding)。将复杂的原始数据(如图片)缩减为可由计算机生成的一个数列的方法。对于同一个人的任何十张不同的照片,它都应该会给出大致相同的测量值。]



最后我们就可以依据过去已经测量过的所有脸部,将这张脸的特点与已知的所有人脸进行比较,找出哪个人的测量值和我们要测量的面部最接近,以确定这个人的姓名。


[通过任何基本的机器学习分类算法都能达成这一目标(如线性SVM分类器),并不需要太花哨的深度学习技巧。我们可以训练一个能从一个新的测试图像中获取测量结果,并找出最匹配的那个人的分类器。分类器运行一次只需要几毫秒,得到的结果就是人的名字了。]





突然想到前段时间阿里UCAN设计论坛会议,里面提到UED的未来中“利用新的技术如生物识别、行为识别,综合起来变成下一代的人机交互界面,是未来阿里的突破方向”。与此同时,在国际上,IBM、google等公司都进行了DNN语音识别的研究,并且速度飞快。国内方面,阿里巴巴,科大讯飞、百度、中科院自动化所等公司或研究单位,也在进行深度学习在语音识别上的研究。


可见,深度学习在识别技术上的应用和发展不容小觑。深度学习在自然语言处理等领域还主要应用于机器翻译以及语义挖掘等方面。


文章最后向对深度学习有兴趣的小伙伴分享一些我了解到的干货~


>>百度深度学习平台PaddlePaddle


它是并行分布式全功能深度学习框架,易学易用,高效灵活,里面会提供一些公开课和资源。支持海量图像识别分类,机器翻译和自动驾驶等多个领域的业务需求全面开源。


网址:http://ai.baidu.com/paddlepaddle



>>台大的李宏毅教授的课程主页


(来源:知乎 链接:https://www.zhihu.com/question/26006703/answer/162454310)


可以说是最好的中文深度学习资料。他的课程设置非常合理,内容由浅入深,他会将算法的原始paper点出来,内容很全,大概会涵盖近几年最新的paper。他也会教一些深度学习工具的使用,15年教theano,17教tensorflow以及keras。他的课程主页上有ppt,video,homework,非常适合初学者使用。如果你的数学很差,他的课程主页有线性代数和机器学习,这两门课会补很多数学知识。


网址:

http://speech.ee.ntu.edu.tw/~tlkagk/courses.html


具体如何入门并深入了解深度学习,大家可以参照知乎的这篇话题喔~

https://www.zhihu.com/question/26006703




史论课本周预告:


#招牌史论课即将迎来第9、10节课程

  以下为本周课程主题:


人工智能与设计


PART 1 历史与发展

1、思想雏形

2、什么是人工智能

3、图灵测试

4、五大发展阶段


PART 2 现状与理论

1、人工智能13个细分领域及代表公司

2、影视剧介绍

3、范凌/同济x特赞设计与人工智能实验室/《科技中的设计报告2017》





点咨询击设计类史论课




往期精彩内容

外星人2018届考研垄断性捷报 & 快题特训班正式推出
不能错过的数码巴比肯展览都有什么?

安藤忠雄:自由和挑战是我一生的主题

Q&A | 这是一份来自同济学长学姐的问答,你所关心的全部同济设计考研问题,我们告诉你答案

都说考研英语很头疼?来自约克的神秘嘉宾为你答疑解惑



编辑:Dory、Link


Copyright © 网络机器人吧社区@2017