OpenCVYI技术专题程序员

深度学习是怎么识别人脸的?

2017-04-24  本文已影响8492人  YI_LIN

原文发表在个人博客Technology-机器学习-人脸识别,转载请注明出处。

深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据。

卷积神经网络(CNN)

局部连接

传统的神经网络是全连接,即一层的神经元与上一层的所有神经元都建立连接,这样导致参数非常多,计算量非常大,而CNN是局部连接,一层的神经元只与上一层的部分神经元建立连接,这样可以减少参数和计算量。

Technology-MachineLearning-FaceRegonition-CNN-LocalConnected

权值共享

给一张输入图片,用一个filter去扫时,filter里面的数就叫权重。用该filter对整个图片进行了某个特征的扫描,例如Edge detection,这个过程就是权值共享,因为权重不变。

Technology-MachineLearning-FaceRegonition-CNN-WeightSharing

人脸识别

多个CNN加其他层,遍历而成的人脸识别处理结构:

Technology-MachineLearning-FaceRegonition-CNN-Example

层提取到的信息的演进:

Technology-MachineLearning-FaceRegonition-CNN-Example2

人脸检测

传统算法

识别:滑动窗口+分类器

用一个固定大小的窗口去滑动扫描图像,并通过分类器去分辨是否是人脸。有时候人脸在图片中过小,所以还要通过放大图片来扫描。

Technology-MachineLearning-FaceRegonition-Window&Classifier

训练:特征+Adaboost

传统特征:LBP/HOG/Harr

图片原始的RGB信息,维度太高,计算量过大,且不具备鲁棒性,即光照和旋转,对RGB信息影响非常大。

利用LBP得到二进制值,再转换成十进制:

Technology-MachineLearning-FaceRegonition-LBP-Example

Adaboost

由于移动设备对计算速度有一定要求,所以用多个弱分类器加权叠加来完成一个强分类器,从而保证速度。

Technology-MachineLearning-FaceRegonition-Adaboost

深度学习

特征的选取是比较复杂的,可能需要大量的统计学和生物学知识积累,而深度学习不需要选择特征,这是其很大优势,另外通过GPU代替CPU等方式,可以得到一个更好的效果。

Technology-MachineLearning-FaceRegonition-DeepLeaning-Example

关键点检测、跟踪

传统算法

Cascade regression/ESR/SDM

传统算法步骤:

Technology-MachineLearning-FaceRegonition-KeyPoints

深度学习

深度学习算法步骤:

Technology-MachineLearning-FaceRegonition-DeepLeaning-KeyPoints

典型应用:

LianYou FaceU

人脸语义分割

人脸语义分割:自定确定人脸每个pixel的所属类别(哪个器官)。

基于CDNN训练一个直接model输入图像到输出概率map的模型,然后将图像输入,即可得出pixel-level的分类概率输出。

Technology-MachineLearning-FaceRegonition-SemanticSegmentation

典型应用:

Technology-MachineLearning-FaceRegonition-AttributeRecognition

传统算法

步骤:

深度学习

基于CDNN,直接在一个网络中学习并识别出多个属性。

Technology-MachineLearning-FaceRegonition-AttributeRecognition-DeepLearning

典型应用:

HowOld

活体检测

活体检测:确定识别的物体是活物,而非死物。

Technology-MachineLearning-FaceRegonition-LiveDetection

人脸识别

人脸识别:根据人脸的表观特征自动识别人的身份。

Technology-MachineLearning-FaceRegonition-Example

深度学习

通过深度学习来进学习特征,让同一个人在特征空间中距离非常近,而不同人则非常远,且必须具备不受光照等影响的鲁棒性。

基本步骤

Technology-MachineLearning-FaceRegonition-Process

人脸切割

将人脸切割成小块,每块去学习Model。

Technology-MachineLearning-FaceRegonition-Cutting

特征融合

将每一块学习到的特征,进行特征融合。

Technology-MachineLearning-FaceRegonition-FeatureFusion

训练过程

Technology-MachineLearning-FaceRegonition-Pairwise Technology-MachineLearning-FaceRegonition-Triplet

看了又看:

300行代码实现手写汉字识别
如何在一周内做一款拼音输入法
iOS-线程同步详解

上一篇 下一篇

猜你喜欢

热点阅读