GhostVLAD for set-based face recognition 中提到了文章解决的是template-based face recognition。

VLAD: vector of locally aggregated descriptors. 由Jegou et al.在2010年提出,其核心思想是aggregated(积聚),主要应用于图像检索领域。

文章的3个贡献:

  • 提出一种网络来聚合并embed网络输出的面部特征向量至一个compact的固定长度的表示。
  • 提出一个新奇的GhostVLAD层,其中包含ghost clusters,不对聚合做贡献。文中展示了一种高质量的自动加权方式来使得高质量的图像比低质量的图像贡献更多。并且这个ghost clusters可以提高网络能力来解决比较差质量的图像。
  • 文中探索了特征维度,簇的数目,不同训练技术对识别性能的影响。最后作者在IJB-B数据集上远超sota的identification和cerification指标。

那么这种set(template) based face recognition的难处何在?在于集合里的人脸可能有不同的姿态,表情,光照,甚至质量的差异也很大。如果我给low-quality和high-quality一样的weight,那肯定会hurt performance。所以网络应该更关注于informative ones。

比较set之间的相似性一个直接的做法就是我将每个subject的所有人脸特征都存储起来,然后比较两个subject的每一对图像,这么做是非常耗存储和时间。因此聚合方法能够产生compact template representation。更重要的是,从image set获取的representation应当更加具有判别性。同一subject的template descriptors应当互相close,反之则far apart。尽管一些工作利用average pooling和max pooling可以聚合到一个比较compact的template representation,本文寻找一种更好的方案。本文灵感来源于图像检索中的编码方法:Fisher Vector encoding和T-embedding 增加从related和unrelated图像块提取到的描述子的可分性。于是作者也在利用了一种相似的encoding:NetVLAD来设计网络。作者拓展NetVLAD结构to include ghost clusters。将这些低质量人脸视为ghost clusters。尽管没有明确对template里的faces进行加权,这种特性自动会出现。即低质量人脸会contribute less。网络以端到端的方式训练,仅用identity-level labels。在IJB-A,IJB-B上面都有很大提升。

大致结构如上图:对一个template中的每个图片提取特征,然后利用GhostVLAD层来聚合这些descriptors到单一固定长度的vectors。最后的D维template描述子由FC层来削减维度,并附有BN和L2正则。

这个网络应该有如下性质:

  • 输入任意数量图像,输出固定长度的template descriptor来表征输入的image set
  • 输出的template descriptor应当是compact的,或低维,使得存储较小便于更快的template comparisions。
  • 输出的template descriptor应当是discriminative的,使得同一subject的templates之间的相似性大于与其他不同subjects之间的相似性。(内聚性)

上面三条性质的实现方案分别如下:

  • 利用一个修改后的NetVLAD层:GhostVLAD来聚合人脸描述子
  • 通过一个trained layer实现维度缩减
  • 因为整个网络end-to-end被训练,并且因为GhostVLAD层能够down-weight低质量图像的contribution,所以可以实现discriminative

本文的核心部件:GhostVLAD:NetVLAD with ghost clusters

这是个可训练的aggregation layer。给定N个DF维的面部向量,计算一个单一的DF乘K维的输出。它基于NetVLAD层实现了一个编码过程,类似于VLAD encoding。所以是可微可训练的。这个NetVLAD已被证实比average和max pooling的效果要好。这里简要回顾一下论文NetVLAD(NetVLAD: CNN architecture for weakly supervised place recognition)。

作者拓展NetVLAD with "ghost" clusters为GhostVLAD。即作者在原有的K个类簇中额外的加了G个“ghost”类簇来形成soft assignments。

使用ghost clusters的一个直觉就是使得网络更容易调整template中的每个face example。这通过assigning examples to be ignored to the ghost clusters来实现的。例如对于一个highly blurry的人脸图像,将会被很大程度上assigned to a ghost cluster,使得它在non-ghost的clusters的权重就会趋近于0。那这样就使得它对于template representation的贡献是可忽略不计的。

一些训练细节:

为了perform set-based training,重复在线采样属于同一identity的固定数目的图像。

测试细节:

对于IJB-A和IJB-B做“1:1 face verification”和“1:N face identification”。

  • 1:1 face verification的目的是决定两个templates是否属于同一人。通过设定templates之间的相似性阈值实现。验证性能由ROC曲线评估,也就是验证true accept rates(TAR)和false accept rates(FAR)的trade off。
  • 1:N identification的做法是对于probe set的templates,要对给定的gallery中所有templates做评价。模型的评价方法有:true positive identification rate(TPIR)和false positive identification rate(FPIR)以及Rank-N。

结果:明显对低质量图像降低了权重。

论文:A Good Practice Towards Top Performance of Face Recognition: Transferred Deep Feature Fusion

A template refers to a collection of all media (images and/or video frames) of an interested face captured under different conditions that can be utilized as a combined single

representation for matching task.

GhostVLAD for set-based face recognition的更多相关文章

  1. Improved RGB-D-T based Face Recognition 论文笔记

    本文将基于深度学习的卷积神经网络(CNN)应用于基于RGB-D-T的多模态人脸识别问题. 此外,引入了基于CNN的识别模块与各种纹理特征(LBP,HOG,HAAR,HOGOM)的后期融合,在基准RGB ...

  2. Activity Recognition行为识别

    暑假听了computer vision的一个Summer School,里面Jason J. Corso讲了他们运用Low-Mid-High层次结构进行Video Understanding 和 Ac ...

  3. Recent papers on Action Recognition | 行为识别最新论文

    CVPR2019 1.An Attention Enhanced Graph Convolutional LSTM Network for Skeleton-Based Action Recognit ...

  4. {ICIP2014}{收录论文列表}

    This article come from HEREARS-L1: Learning Tuesday 10:30–12:30; Oral Session; Room: Leonard de Vinc ...

  5. 深入浅出QOS详解(转)

    QOS学习笔记 (工作时间之余,总结了这些,累的食指快脱节了,现在还在恢复中,为的就是让文章质量再提高点,希望对大家有帮助!文章太长,为方便,我附件上文章原文.) QOS,服务质量.顾名思义,就是为了 ...

  6. (zhuan) Speech and Natural Language Processing

    Speech and Natural Language Processing obtain from this link: https://github.com/edobashira/speech-l ...

  7. "Regressing Robust and Discriminative 3D Morphable Models with a very Deep Neural Network" 解读

    简介:这是一篇17年的CVPR,作者提出使用现有的人脸识别深度神经网络Resnet101来得到一个具有鲁棒性的人脸模型. 原文链接:https://www.researchgate.net/publi ...

  8. ECCV 2014 Results (16 Jun, 2014) 结果已出

    Accepted Papers     Title Primary Subject Area ID 3D computer vision 93 UPnP: An optimal O(n) soluti ...

  9. CVPR 2017 Paper list

    CVPR2017 paper list Machine Learning 1 Spotlight 1-1A Exclusivity-Consistency Regularized Multi-View ...

随机推荐

  1. sudo的使用

    1. sudo:临时提权(提升权限)的工具通常,实际操作中,采用sudo的管理方式,临时的允许某个用户操作某些指令时,拥有root权限. 2. 使用方法: 配置sudo,决定,哪些用户,可以使用roo ...

  2. python--面向对象编程之学生选课系统练习

    1.系统目录结构 文件夹注解: bin--系统管理员和学生的主程序代码 config--系统的配置文件 db--系统的数据文件 admin--管理员的数据文件 student--学生的数据文件 lib ...

  3. Codeforces Round #603 (Div. 2) B. PIN Codes

    链接: https://codeforces.com/contest/1263/problem/B 题意: A PIN code is a string that consists of exactl ...

  4. [Unit test] jasmine createSpyObj

    beforeEach(() => { contextStub = { debug: false, engine: jasmine.createSpyObj('engine', [ 'create ...

  5. 搭建java环境时,DOS输入java有反应,javac没反应的解决办法。

    2018-11-12 搭java环境踩了许多坑,之前搭环境时在命令台输入java有反应,javac没反应,后来试了很多方法都一样,然后就把java的所有的环境变量都删了,在控制面板里的卸载程序把所有的 ...

  6. Numpy | 03 数据类型

    numpy 支持的数据类型比 Python 内置的类型要多很多,基本上可以和 C 语言的数据类型对应上,其中部分类型对应为 Python 内置的类型. 下表列举了常用 NumPy 基本类型: 名称 描 ...

  7. vue-element-admin

    https://github.com/deadzq/vue-element-admin-1.git vue-element-admin使用. cnpm install npm run dev

  8. CF732D Exams 题解

    CF732D Exams 题目描述 Vasiliy has an exam period which will continue for \(n\) days. He has to pass exam ...

  9. JMeter压测工具安装及使用总结

    一.安装 进入apache官网https://www.apache.org/dist/jmeter/binaries下载Windows版本JMeter: 二.配置环境变量 下载之后解压,配置环境变量 ...

  10. Spark 部署即提交模式意义解析

    Spark 的官方从 Cluster Mode Overview 中,官方向我们介绍了 cluster 模式的部署方式. Spark 作为独立进程在集群上运行,他们通过 SparkContext 进行 ...