深度人脸识别的 Caffe 实现(附模型开源地址及论文下载)
来源:互联网 发布:python中关键字参数 编辑:程序博客网 时间:2024/05/17 01:23
【新智元导读】本论文对人脸识别和验证任务提出一种新的损失函数,即中心损失。中心损失和softmax损失联合监督学习的CNN,其对深层学习特征的人脸识别能力大大提高。对几个大型人脸基准的实验已经令人信服地证明了该方法的有效性。
题目:A Discriminative Feature Learning Approachfor Deep Face Recognition
作者:Yandong Wen, Kaipeng Zhang, Zhifeng Li*, YuQiao
新智元微信公众号回复1015,可下载论文。
论文摘要
卷积神经网络(CNN)已经广泛应用于计算机视觉领域,显著提高了现有计算机视觉水平。在大多数可用的CNN中,softmax损失函数被用作训练深度模型的监视信号。为了增强深度学习特征的识别能力,本论文为人脸识别任务提出一种新的监视信号,称作中心损失函数(center loss)。具体地说,中心损失函数学习每类数据的深层特征的中心,同时惩罚深层特征和它们对应的类中心间的距离。更重要的是,我们证明了这种中心损失函数是可训练的,而且在CNN中非常容易优化。通过Softmax损失函数和中心损失函数的联合监视,我们可以训练足够强大的CNN,得到两个关键学习目标的深层特征以及尽可能高的类间分散性和类内紧密性,这对人脸识别来说非常重要。令人鼓舞的是,我们这种联合监视的CNN在几个重要人脸识别基准上取得了最高的准确率,包括Labeled Faces inthe Wild (LFW),YouTube Faces (YTF),和MegaFace Challenge。尤其是,我们的新方法在小型训练集(少于500000幅图像、少于20000个人)协议下的MegaFace(最大的公共领域基准)上得到了最好结果,相比以前的结果有显著的提高,这为人脸识别和人脸验证任务带来新的发展。
CNN架构
图:人脸识别任务中使用的CNN架构(来自论文,下同)
用LFW和YTF数据集实验
LFW和YTF中的部分人脸图像,绿色框是同个人,红色反之,白色框的人脸用于测试:
实验结果
实验中,model A是单一使用softmax损失函数监视的模型,model B是softmax损失和对比损失联合监视的模型,model C是softmax损失和中心损失联合监视的模型。实验结果显示,model C的性能比model A和modelB性能更好,在LFW和YTF中都能得到更高的准确率。
用MegaFaceChallenge数据集实验
MegaFace中的人脸图像样本:
我们对使用不同方法的模型进行了人脸识别和人脸验证实验,结果如下:
人脸识别任务中不同模型的正确率
人脸验证任务中不同模型的正确率
结果显示,使用 softmax 损失函数和中心损失函数联合监视的 model C 能得到更高的正确率。
总结
本论文中我们对人脸识别和验证任务提出一种新的损失函数,即中心损失。中心损失和softmax损失联合监督学习的CNN,其对深层学习特征的人脸识别能力大大提高。对几个大型人脸基准的实验已经令人信服地证明了该方法的有效性。
开源
这篇论文发表于2016欧洲计算机视觉大会(ECCV 2016),论文作者于10月12日和13日开源了训练模型和提取深层特征demo。
开源地址:https://github.com/ydwen/caffe-face
训练模型
1. 安装Caffe,请按照安装指南(http://caffe.berkeleyvision.org/installation.html)进行,确保在使用我们的代码前已经正确安装caffe。
2. 下载人脸数据集,e.g. CAISA-WebFace,VGG-Face, MS-Celeb-1M, MegaFace.
3. 预处理训练人脸图像,包括检测、对齐等。这里我们强烈推荐MTCNN,它是用于人脸识别和对齐非常高效的开源工具。
4. 创建训练集和验证集的列表,放到face_example /data /
5. 指定train和val的数据源
6. 指定FC6层的目标数量
7. 指定中心损失层目标数量和损失权重
8. 训练模型
提取深层特征
1. 编译及配置matcaffe
2. 在face_example/extractDeepFeature.m中指定相应的路径
3. 在Matlab运行extractDeepFeature.m
原文地址:http://mp.weixin.qq.com/s?__biz=MzI3MTA0MTk1MA==&mid=2651987971&idx=2&sn=6bc195ca142f7a3a05407d483aafeedf&chksm=f12154f2c656dde4f45c730e7b0203dbe2dc8c4f0146dd17af02083a08b8a26859ecdca35073&scene=0#rd
- 深度人脸识别的 Caffe 实现(附模型开源地址及论文下载)
- 深度学习与人脸识别系列(4)__利用caffe训练深度学习模型
- 深度学习与人脸识别系列(4)__利用caffe训练深度学习模型
- 深度学习与人脸识别系列(3)__利用caffe训练深度学习模型
- C++实现基于深度学习的人脸识别系统(Dlib+Caffe+Opencv)
- 机器学习&深度学习近三年被引最多论文 Top 20,图像识别、GAN等(附下载)
- 【深度学习】基于深度学习的人脸识别系统系列(Caffe+OpenCV+Dlib)
- 近6年被引用次数最多的深度学习论文top100(附下载地址)
- 基于Caffe的人脸识别实现
- 基于Caffe的人脸识别实现
- 深度 | 一篇文章带你进入无监督学习:从基本概念到四种实现模型(附论文)
- 【Caffe实践】基于Caffe的人脸识别实现
- 【Caffe实践】基于Caffe的人脸识别实现
- 【Caffe实践】基于Caffe的人脸识别实现
- 【Caffe实践】基于Caffe的人脸识别实现
- 【Caffe实践】基于Caffe的人脸识别实现
- 基于深度学习的人脸表情识别(天津大学硕士学位论文)
- 基于深度学习的人脸识别系统系列(Caffe+OpenCV+Dlib)——【三】使用Caffe的MemoryData层与VGG网络模型提取Mat的特征
- 知乎上的100条简短深刻的回答
- Java 社区平台 - Sym 1.7.0 发布
- Swift Style Guide
- 网页查重-simhash算法的java实现
- Okhttp的Post请求参数在Interceptor中修改
- 深度人脸识别的 Caffe 实现(附模型开源地址及论文下载)
- 浅谈命令查询职责分离(CQRS)模式
- 使用ListView控件展示数据
- 51 nod 1306 高楼和棋子(反向思考的DP)@
- hive的几种文件格式
- 用 Swift 实现轻量的属性监听系统
- 正则表达式的概念用法和工具下载
- 第15周项目1-验证算法(1)
- ROS实践(6)-自建示例