人工智能时代,带你打开初窥人脸识别之门!

人工智能,是计算机领域近几年炙手可热的技术。我认为它近几年的一个重要引爆点是谷歌的阿尔法狗大战李世石。如今人工智能的应用领域越来越广,如无人机(大疆),智能语音(科大讯飞),智能家居(小米),谷歌眼镜,仿真机器人(亚马逊)等等。

今天来聊一聊其中的一个重要分支-人脸识别技术。人脸识别应用如今已经在金融,安检等领域大量投产,国内知名的公司有:旷世,商汤科技,云从,依图等等。

银行人脸识别

人脸识别的一些应用场景:

人工智能时代,带你打开初窥人脸识别之门!

智能机器人开启银行服务“新模式”

人工智能时代,带你打开初窥人脸识别之门!

全国首个“刷脸”智能通道落户山大,学生进出宿舍要“刷脸”

大致流程:首先获取一张待识别的图片,先图像预处理使得照片更清晰,经过预处理后从图片中检测到人脸区域,下一步对人脸区域根据模型提取特征值,通过分类器进行识别判断,最后得到识别结果。

人工智能时代,带你打开初窥人脸识别之门!

对应上述流程需要的技术关键点主要有3个部分:

1.人脸检测。基于滑动窗口及卷积神经网络进行训练,同时利用图片预处理保证高效和准确性,

2.人脸特征提取。可借鉴一些国外的开源的特征提取算法。

3.多种数据进行增量模型训练。人脸分类结合多种模型并通过完全自主训练可以确保准确性,另外还能够实现年龄、情绪等相关延伸功能识别。

先介绍一下图像预处理:通常利用图像增强及锐化等方式,使得原始图片处理的更加清晰,边界更明显,然后对图片进行镜像处理增加图片对比方式,最后对图片进行裁剪和缩放提升人脸检测的效率。

人脸检测是人脸识别里面最早出现的技术了,从早期的模板匹配逐渐过渡到目前数据驱动的方法,常用的方法有cnn,mtcnn等。目前cnn有很多开源的框架直接拿过来用即可,不需要深入研究每层的计算原理,比如把不同类型的水果照片进行反复训练就能通过照片识别出来,当然训练是反复迭代的过程,比如apple训练之后可能会把橘子认成苹果,但是不断迭代学习会最终达到目标。

卷积神经网络相对于普通神经网络有两大利器可以降低参数数目:

1.局部感知:一般认为人对外界的认知是从局部到全局的,而图像的空间联系也是局部的像素联系较为紧密,而距离较远的像素相关性则较弱。因而,每个神经元其实没有必要对全局图像进行感知,只需要对局部进行感知,然后在更高层将局部的信息综合起来就得到了全局的信息。

2.权值共享:全局图像是640*360,但局部图像大小只有10*10,10*10个参数只针对局部图像,如果全局图像中各个局部图像之间的权值共享,即10*10个参数在不同局部图像上参数应用相同,则在全局图像上通过全局共享则只需要10*10个参数。

下面介绍人脸检测流程:

首先是数据准备,我们知道人脸检测是通过滑动窗口,但是由于每个图片人脸大小不一,所以为了适应窗口的大小,我们将图片进行逐级缩小构建一个图像金字塔,然后逐个对每张图片进行检测,具体流程包括:选择观察窗口,然后分别采用不同的网络模型进行窗口的率选动作,采用逐级增强的模型对窗口进行评判是否符合人脸标准。

人工智能时代,带你打开初窥人脸识别之门!

在人脸检测之后还要进行清晰度判断及眼镜检测等,过滤掉模糊的照片,带眼镜的阈值会进行调整。

人工智能时代,带你打开初窥人脸识别之门!

模型训练是人脸特征提取的核心部分,首先是构建训练数据集。(网上有一些可用的公开数据集),通过真实的数据结合公开数据进行训练既能保证人脸的识别的通用性又能提升专业性,当然模型训练是一个比较慢的过程,需要反复调整参数进行迭代。

训练分类过程:

很多框架都提供了灵活的学习率设置方法,学习率也就是参数更新速度。可以先使用较大的学习率来得到一个比较优的解,随着迭代的继续逐步减小学习率,使得模型在后期更加稳定比如指数衰减法。目前,常见的分类模型主要有knn,svm,联合贝叶斯及cnn四种。

Knn是最简单的,通过欧氏距离进行分类;

联合贝叶斯相对复杂,需要训练,既关注个体差异也关注自身差异;

Svm也是需要训练,和联合贝叶斯有一个缺陷就是类别很少的时候会出现不准确的情况;

Cnn是一个适应性比较强的模型,需要训练。

另外针对目标的年龄,情绪,行为和动线也可以进行研究,从而构建图像分析处理体系。

人工智能时代,带你打开初窥人脸识别之门!

人工智能时代,带你打开初窥人脸识别之门!


分享到:


相關文章: