为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

波斯汪 2018-10-02 15:07:28
深度学习是怎么识别人脸的
查看完整描述

1 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

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

卷积神经网络(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

效果图:

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

深度学习

深度学习算法步骤:

对图像进行轮廓定位态校正;

全局粗定位;

局部精细定位。

作者:YI_LIN
来源:简书



查看完整回答
反对 回复 2018-10-22
  • 1 回答
  • 0 关注
  • 655 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信