更改

大数据与机器智能

添加28字节2016年10月26日 (三) 04:11
/* 人脸识别解决方案 */
FACEHandler::FACEHandler()为最重要的函数
*原理
#对原始数据分离训练集和测试集 #转换为caffe可以处理的lmdb格式 #根据设定的Net网络和Solver配置文件进行训练 #得到训练的模型
*步骤
在我们组选择好训练数据和测试数据之后,就需要进行数据处理了,处理方法主要分为3个步骤。 #人脸检测 #人脸特征点检测 #人脸的对齐 采用卷积神经网络(CNN)方法,并且采用CNN最后一层的激活值输出作为features,不同的人脸区域放入CNN中提取特征,形成了互补、过完全的特征表示(form complementary and over-complete representations)。通过深度卷积网络来学习高级的过完全特征(有监督),CNN的最后一层激活值作为输出,
*具体细节
采用多尺度,多人脸区域,训练多个CNN网络,最后得出一张人脸图像的多维度特征。 CNN的结构如下:
*说明:
Face patches 是进过对齐过后的的人脸块,也就是说已左(右)眼为中心的人脸区域块,嘴角为中心的人脸区域块等等,这样就有多个不同的输入块输入到CNN中。最后再把不同的块所输出的特征连接起来,就形成了一个最终一张人脸的特征。然后再用各种分类器对其特征进行分类。采用argmax,softmax。
*输入图像:
多个人脸正方形块(因为后面要考虑到是全局图像还是局部图像,且需要考虑到尺度问题),其中局部图像是关键点(每个图像一个关键点)居中,不同的区域大小和不同的尺度图像输入到CNN中,其CNN的结构可能会不相同,最后将所有的特征级联起来。
*特点:
在训练CNN中,训练数据的类别越多,其性能越好,但是会在训练模型中出现问题,也就是太慢。CNN的输出是特征,而不是输出类别。分类采用Joint Bayesian 来进行人脸的verification;也采用了神经网络来比较,但是联合贝叶斯的效果比较好;
=====小结=====
56
个编辑