• 深度学习论文笔记--Recover Canonical-View Faces in the Wild with Deep Neural Network


     

    文章来源:CVPR2014

    作者:Zhenyao Zhu,Ping Luo,Xiaogang Wang,Xiaoou Tang

    (香港中文大学果然牛啊,CVPR一刷一大堆)

    主要内容:

    提出了利用深度学习(还是CNN)来进行人脸图像重构正面人脸,然后利用重构的正面人脸图像来进行人脸的verification,当然能够取得更高的准确率(比没有用正脸去verification),文章提出利用DL来学习从任意脸到canonical 脸的转换,可以认为是一个回归问题(也不一定非得用DL方法来做)。

    现有的方法有两种:1. 考虑生成3D脸模型;2. 直接在2D图像空间上进行(这篇文章采用的方法)。

    主要步骤:

    1. 正面人脸的选择依据,2.人脸正面脸重构。

    1. 关于正面人脸的选择准则:1. 左右对称性,2. 图像的秩Rank,3,结合1和2(文章采用的方法)。

    所以采用的度量公式如下:

    其中Yi是人脸图像,P,Q 矩阵是参数,第一项表示对称性,第二项表示图像的秩,lamda 则表示这两个准则的tradeoff。

    在文章中,作者只是采用M值最小的。(可能会有问题,或者说有改进的空间,文章中作者也说了,可以采用线性组合等来计算正面人脸)

    2. 正面人脸重构:

    正面人脸选择之后,就可以进行训练是深度学习网络了,其准则是:

    其中W是深度神经网络的参数,Yi是选择的正面脸。

    网络的结构如下所示:

    其包含3个卷积层,其中头两个采用max pooling ,最后一个采用全连接,不共享权值,具体的网络结构跟经典的没有太大的改进。

    verification的过程:

    1. 对于每一个训练图像对,重构正面脸,然后提取5个特征点Landmark,然后基于这些Landmark提取Patch。

    2. 利用每个patch对来训练网络,多个特征最后被级联在一起形成最后的特征。

    3. 使用PCA降维和利用SVM分类(二分类问题)。

    实验细节:不是采用LFW中的图像来训练DL模型,而是采用其它的人脸图像库CelebFaces来进行训练,在LFW中能够取得96.45%的准确率。

    最后看下他们的重构效果

     
  • 相关阅读:
    Python—字符编码转换、函数基本操作
    零散知识点
    Python—集合的操作、文件的操作
    Python—字典的操作
    Python—字符串的操作
    Spring基础—— 在 Spring Config 中使用外部属性文件
    Spring基础—— Bean 的作用域
    Spring基础——在 IOC 容器中 Bean 之间的关系
    Spring基础——在 Spring Config 文件中基于 XML 的 Bean 的自动装配
    Spring基础——一个简单的例子
  • 原文地址:https://www.cnblogs.com/chenriwei/p/3792411.html
Copyright © 2020-2023  润新知