基于深度卷积神经网络的人脸颜值计算的研究答辩文档资料
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Full connect layer1 Output number:512
Dropout layer1 Dropout ratio: 0.7
Maxout layer4 Group:2;
feature maps:192
人脸颜值CNN示意图
几何特征池
几何特征池:在传统的比例几何特征、特征点距离几何特征的基础上提出了基于几何特征池的 人脸相貌计算模型,并使用Gentleboost进行特征选择,特征池的构成除了比例几何特征、特征 点距离特征,还包括人脸特征点坐标特征。
D2:D1 D4:D5 D9:D6 D6:D7 D5:D7 D7:D5
人脸特征点坐标特征
两种方法性能上的比较
基于人脸相似度检索策略的颜值分类性能依赖 于人脸相似度检索数据库中样本的质量,在数 据库样本数目比较少,或者数据库中样本比较 单一时,颜值分类性能会大打折扣,但是这种 方法比较简单,不用再微调CNN。
人脸颜值计算方法,总的可以概括为两类,特征提取方法与机器学习方法, 特征提取方法关注于把一张高维图像映射到有效的低维的特征空间,目前比较常 见的是几何特征。机器学习方法关注于如何对颜值特征进行推理与评价,分为分 类方法与回归方法。
目前人脸颜值采用的特征主要为几何特征,存在的问题是,并没有考虑到 如皮肤的质感与纹理、影响视觉感光的头发、穿戴的首饰、人脸表情等要素。
(a) 对于很美或很帅颜值类别的ROC曲线
(a) 对于较美或较帅颜值类别的ROC曲线
三种特征的人脸颜值分类精度
(a) 对颜值类别的ROC曲线
特征分布可视化
为了研究CNN特征在人脸相貌分类中取得较 好效果的原因,实验对特征在特征子空间上的分 布进行了分析,使用PCA将特征降到3维进行可 视化。
128X128灰度图输 入
Convolution layer3 Kernel:256×5×5;
stride:1
Max pooling layer3 Kernel:2×2; stride:2
Contrastive Loss layer
margin: 1
Convolution layer1 Kernel:96×9×9; stride:1
提升分类精度的策略
为了提升分类精度,本文使用了两种技巧:1.人脸对齐;2.人脸多区域CNN特征 提取。
人脸对齐是为了克服人脸的旋转问题,具体实现是:先检测出人脸特征点,再计 算人脸双眼的连线与水平的夹角,根据这个夹角,以两眼中点位置为中心,对人脸 图像进行旋转变化。旋转变化公式如下:
人脸对齐示意图
人脸多区域CNN特征提取技术
本文使用了人脸多区域CNN特征提取技术。提取多个人脸区域的深度特征并串联在一起, 这种方法既考虑到了人脸的局部五官的特征也考虑到了人脸的全局面貌,对人脸相貌的辨别 具有很大的帮助。
局部人脸图像区域示意图
全局人脸图像区域示意图
多区域CNN训练过程中分类精度
对于很美或很帅分类精度的变化
2. 大数据。在互联网时代,数据变得更容易获取,大的样本数据意味着大规模网络不会 过拟合,能训练更复杂的任务。
3.GPU计算能力的提升。GPU中的处理器比CPU多得多,可适用于深度学习。
解决方法
1. 基于人脸相似度检索策略的人脸颜值分类方法:
根据相似度高的人脸之间的颜值也是高度相似的这个先验条件(思路), 通过人脸相似度检索技术来计算人脸颜值,具体的,先从人脸数据库中检索出相 似度较高的人脸,再根据检索出来的人脸的颜值标签确定待测的人脸颜值类别。 此方法核心的技术在于训练用于人脸相似度检索的CNN特征。
基于人脸相似度检索策略的人脸 相貌分类
特征如何训练得到:
网络的监督信号有两个,人脸识别监督信号(softmax loss)与人脸验证监督信号(constrastive loss)。 本文将人脸识别作为监督信号的目的是期望让网络学习到的特征对不同人的人脸图像表达尽可能不 同;而把人脸验证也作为监督信号的目的是期望让网络学习到的特征对同一个人不同图像表达尽可 能相同,因此两个监督信号各有作用,缺一不可。
Convolution layer2 Kernel:192×5×5;
stride:1
Max pooling layer4 Kernel:2×2; stride:2
微调CNN模型结构参数达到50万多个,而 人脸颜值样本才1万多个,选用人脸相似度 CNN的权值作为微调的初始值,避免过拟 合,能让网络参数的值处于局部最优的附 近位置。
研究背景与意义
人脸颜值也称为人脸相貌,大众判断一个人的相貌水平是根据五官的特征, 比如判断相貌好的的准则一般有“瓜子脸”、“大眼睛”、“高鼻梁”等;而判 断相貌不好的准则包括“矮鼻子”、“大宽脸”等等。这说明了大众在评价人脸 相貌的时候有共同的准则,这种准则正逐渐得从主观变为客观,许多研究者也越 来越相信人脸相貌水平的高低具有共性并遵循了一定的客观规律,这为人脸颜 值计算提供了依据。
基于颜值CNN特征与几何特征池的人脸颜值分 类方法以颜值分类为监督信号去训练CNN,学 习得到的CNN特征具有颜值的潜在语义信息, 此外,迁移人脸相似度CNN能弥补人脸颜值样 本不足的缺陷。
基于颜值CNN特征与几 何特征池的人脸颜值分
类方法
基于人脸相似度检索策略 的颜值分类方法
两种方法性能上的比较
数据库容量对颜值分类精度的影响
Maxout layer2 Group:2;
feature maps:96
Maxout layer3 Group:2;
feature maps:128
Full connect layer1 Output number:512
Max pooling layer1 Kernel:2×2; stride:2
特征量序号
特征量符号
1
D1
2
D2
3
D3
4
D4
D1
5
D5
D2
6
D6
D8
D6
D3 D4
7
D7
D7
8
D8
9
D9
D9
D5
10
D10
11
D11
12
D12
13
D13
14
D14
比例几何特征、特征点距离特征说明
特征量描述 人脸横向长度 眼角横向内间距 瞳孔到下巴的纵向间距 瞳孔到嘴的纵向间距 嘴到下巴的纵向间距 瞳孔到鼻端的纵向间距 鼻端到嘴的纵向间距 眉毛到鼻端的纵向间距
128X128灰度图输 入
Convolution layer3 Kernel:256×5×5;
stride:1
Max pooling layer3 Kernel:2×2; stride:2
Maxout layer5 Group:2;
feature maps:256
Softmax loss layer Classes number:
CNN能够取得成功的原因: 1. 泛化技术。CNN可以理解为加入了一些泛化技术的二维形式的人工神经网络,泛化
的目的是降低网络的参数,避免过拟合。主要包含:1.权值共享机制:共享卷积核(降低连 接权值参数)。2.采用relu激活函数(解决梯度弥散)。3.其他:maxpool(减小神经元个数)、 dropout(使神经元值随机置零)。
Max pooling layer2 Kernel:2×2; stride:2
Convolution layer4 Kernel:384×5×5;
stride:1
Dropout layer1 Dropout ratio: 0.7
Maxout layer5 Group:2;
feature maps:256
基于颜值CNN特征与几何特征池 的人脸颜值分类
2.基于颜值CNN特征与几何特征池的人脸颜值分类。特征:CNN+几何特征池;分类器:
SVM分类器
人脸图像输入
图像预处理
人脸特征点定位
提取全局图像区域 与局部图像区域
SVM分类器
PCA降维
几何特征与深度特 征结合构成颜值特
征
提取CNN特征
训练好的CNN模型
Max pooling layer1 Kernel:2×2; stride:2
Max pooling layer2 Kernel:2×2; stride:2
Convolution layer4 Kernel:384×5×5;
stride:1
Maxout layer1 Group:2;
feature maps:48
分类性能好的特征在特征空间中具有的特点 为:同一个类别的样本特征相似度高,在特征空 间中彼此的距离近;而不同类别的样本特征在特 征空间中彼此的距离远,判别性好。
几何特征池关于相貌类别的分布图
CNN特征关于相貌类别的分布图
几何特征池与CNN特征合并后关于相貌类别的分布图
人脸图像输入
图像预处理
人脸特征点定位
提取全局图像区域 与局部图像区域
人脸相似度检索数 据库
计算CNN特征 欧氏距离
取数据库中距离最 小的前K个人脸样
本
PCA得到降维后的 CNN
对K个距离通过 softmax计算得到样
本的概率值
提取CNN特征 求K个样本的期望
训练好的CNN模型 输出颜值类标号
基于人脸相似度检索策略的人脸颜值分类流程图
传统BP神经网络输入层是一维的特征向量,隐含层之间采用是全连接形式,隐含层可以 看做输入向量的一种特征表达形式,采用的激活函数为sigmoid或tanh,当试图增加隐含层的 层数想提高分类或回归精度时,会存在梯度弥散问题,随着误差向后传播,梯度会急剧减小, 导致浅层神经元的权重更新非常缓慢,从而不能收敛。因此通常BP神经网络都是三层,输入 层,隐含层,输出层。
解决方法
针对存在的问题,本文提出两种方法分类人脸颜值,分别为基于人脸相似 度检索策略的人脸颜值分类方法、基于CNN颜值特征与人脸几何特征的人脸颜 值分类方法。
CNN理论:
CNN (Convolutional neural network, CNN)目前在图像处理、语音识别、文本挖掘等领 域得到了重要的应用,因此本文提出了基于深度卷积神经网络的人脸相貌计算模型,与传统 人工特征不同的是,大数据中自动学习得到表示人脸相貌的特征向量。
Maxout layer4 Group:2;
feature maps:192
ma x ma x ma x
Maxout 网络示意图
基于人脸相似度检索策略的人脸 相貌分类
训练人脸相似度CNN的数据集:
人脸相似度CNN网络的参数达到50万个,需要大量的样本才能防止过拟合, 本文选用3个人脸图像库的集合作为训练样本,采集自21282个人,图像数 目为782389张,其中20%的图像作为测试集用于判断CNN是否收敛、调参 等。
4
输出颜值类标签
基于颜值CNN特征与几何特征池在线人脸颜值分类流程图
Convolution layer1 Kernel:96×9×9; stride:1
Maxout layer2 Group:2;
feature maps:96
Maxout layer3 Group:2;
feature maps:128
人脸识别公开数据库
数据库
个体数目
图像数目
CASIA-WebFace CelebA
Facescrub 总共
10575 10177
530 21282
494,414 202599 85376 782389
CNN训练采用的硬件配置为Intel Xeon E3-1231 v3处理器、GTX 780显卡、8G 内存、操作系统为windows 7。CNN训练用到的深度学习框架为Caffe[47],训练总 共用时7天左右时间, LFW上获得了97.25%的人脸验证精度。
对于较美或较帅分类精度的变化
对于相貌一般分类精度的变化
对于相貌不好看分类精度的变化
对于所有类别分类精度的变化 多区域CNN训练过程中分类精度的变化图
三种特征的分类效果
实验分析了三种特征在人脸相貌各个类别上的分类效果,本文对几何特征池、颜值CNN特 征、颜值CNN特征与几何特征池的融合这三种特征的分类性能进行了分析,如图4.9。如图4.10 为三种特征在各个人脸颜值类别上的ROC曲线。从图4.9与4.10可见,颜值CNN特征与几何特征 池的融合后分类效果最好。
Softmax loss layer Classes number:
21282
人脸相似度CNN示意图
Maxout layer1 Group:2;
feature maps:48
Convolution layer2 Kernel:192×5×5;
stride:1
Max pooling layer4 Kernel:2×2; stride:2