DeepID的目标是人脸验证(判断两张图片是否是一个人),同时衍生出人脸识别(多次人脸验证)。使用近期比较火的卷积神经网络学习特征,输入一张图片,产出160维的特征向量,然后使用现成的浅层机器学习组合贝叶斯进行分类。由于卷积神经网络计算的特征紧凑且区分度大,所以得到的效果较好。同时,为了得到更好的效果,DeepID采用增大数据集的方法,一是增加新的数据,celebFaces(87628张图片,5436个人),celebFaces+(202599张图片,10177个人);二是裁剪图片,多区域、多尺度、多通道裁剪,然后将计算的向量组合,使用PCA降维。
1.DeepID流程
图1
图1描述的是特征提取的过程,每层的数字表示的是每个卷积网络神经元的数量,随着层数的增加,神经元的数量会减少,最终产出160维度的向量。
2.DeepID网络结构
图2 网络结构
图2描述的是DeepID的网络结构,和卷积神经网络的结构类似,却别在于倒数第二层的DeepID层,同时和最后第四层的卷基层和第三层的Max-pooling层全连接,层数越高对于特征的概括越高(视野越大),包含的神经元也越少,容易造成信息损失,加上第三层的的特征,降低了信息损失。
3.DeepID实验
DeepID使用CelebFaces数据集,包含87628张图片,5436个人,采用80%即4349个人作为卷积神经网络的训练集,其余20%用于识别模型训练。
在特征提取过程中,首先检测5个人脸特征点,即两个眼睛中心点,1个鼻子和2个嘴巴边界点,基于两眼的中心和嘴边界两个点的中心做对其。然后将人脸分成60个patch,