人脸识别究竟是如何实现的?

 惟瑞居士

文章最后更新时间:2016-03-22 12:44,由管理员负责审核发布,若内容或图片失效,请留言反馈!

人脸识别,是视觉模式识别的一个细分问题,也大概是最难解决的一个问题。

其实我们人每时每刻都在进行视觉模式识别,我们通过眼睛获得视觉信息,这些信息经过大脑的处理被识别为有意义的概念。于是我们知道了放在我们面前的是水杯、书本,还是什么别的东西。

我们也无时无刻不在进行人脸识别,我们每天生活中遇到无数的人,从中认出那些熟人,和他们打招呼,打交道,忽略其他的陌生人。甚至躲开那些我们欠了钱还暂时还不上的人。

然而这项看似简单的任务,对机器来说却并不那么容易实现。

对计算机来讲,一幅图像信息,无论是静态的图片,还是动态视频中的一帧,都是一个由众多像素点组成的矩阵。比如一个1080p的数字图像,是一个由1980*1080个像素点组成矩阵,每个像素点,如果是8bit的rgb格式,则是3个取值在0-255的数。

机器需要在这些数据中,找出某一部分数据代表了何种概念:哪一部分数据是水杯,哪一部分是书本,哪一部分是人脸,这是视觉模式识别中的粗分类问题。

而人脸识别,需要在所有机器认为是人脸的那部分数据中,区分这个人脸属于谁,这是个细分类问题。

人脸可以分为多少类呢?

取决于所处理问题的人脸库大小,人脸库中有多少目标人脸,就需要机器进行相应数量的细分类。如果想要机器认出每个他看到的人,则这世界上有多少人,人脸就可以分为多少类,而这些类别之间的区别是非常细微的。由此可见人脸识别问题的难度。

更不要提,这件事还要受到光照,角度,人脸部的装饰物等各种因素的影响。这也不难解释为什么人脸识别技术目前还没有大量应用在日常生活中,大部分人只能在科幻电影中接触人脸识别了。

完成人脸识别的工作,要经过几个步骤。首先计算机需要在图像或视频中找到人脸的位置,这部分工作一般叫做人脸检测。如前所述,这是一种粗分类,具体到人脸检测中,实际上是二分类,计算机只需要判断目标图像是或者不是人脸。但由于并不能事先确定人脸的大小和位置,计算机需要以每个可能的人脸大小对全图进行扫描,逐个判断子窗口所截取的图像是否为人脸。而每次扫描过程,子窗口移动的步长可能是几个像素。

所以你可以大致想象下,作一张图的人脸检测,计算机需要作多少次二分类判断。

人脸检测步骤从一张图中获得人脸的位置和大小,并将该部分图像送给后续步骤,包括:人脸部件点定位,人脸图像的对齐和归一化,人脸图像质量选取,特征提取,特征比对。所有步骤完成后,才能得知该人脸的身份。

当然,我们也可以单独使用人脸检测功能来完成某些应用,比如当前大部分照相机,及手机摄像头都有人脸检测功能,可以自动获得人脸位置,从而对图片作一些自动调焦和优化。甚至对人脸做一些初步的判断,比如性别、年龄,甚至颜值。

文章版权声明:除非注明,否则均为演示站原创文章,转载或复制请以超链接形式并注明出处。
培训师工具屋

培训师工具屋V

聚焦你的特长,成为培训师,
感染和帮助到更多人。

30天更新
3335 文章总数
建站天数

最近更新

热门浏览

标签列表

取消
微信二维码
微信二维码
支付宝二维码