论文阅读(4):Scalable Face Image Retrieval using Attribute-Enhanced Sparse Codewords
论文:Scalable Face Image Retrieval using Attribute-Enhanced Sparse Codewords
论文地址:
Scalable Face Image Retrieval using Attribute-Enhanced Sparse Codewords
大规模人脸检索方法:
A.System Overview
1.用Viola-Jones detector 进行人脸检测;
2. 用Active Shape Model提取人脸关键点;
3. 用Face Mean Shape方法,进行人脸对齐;
4. 在左、右眼,鼻子,左、右嘴角五个人脸成分上,每个成分提取7*5 grids,每一个grids提取出59-dimension 的LBP 描述符;
5. 对每一个上述的局部描述符进行属性增强的稀疏编码;
6. 用属性嵌入的倒排索引进行高效的检索
B.Attribute-enhanced Sparse Coding
本节首先介绍稀疏编码如何用于检索系统,再解释本文提出的属性增强的稀疏编码方法,得到具有语义性的图像编码。
1)Sparse Coding for Face Image Retrieval
稀疏编码的思想是:用个中心的线性组合来拟合图像特征。主要解决以下优化问题:
- 人脸图像中第个patch
- 要学习出来的字典,包含个-维中心
- 一张人脸图像上个patches的稀疏表示
式(2)中包含了两个部分:
- 字典学习,即学习字典
- 稀疏编码学习,即学习
由于训练字典非常耗时,本文通过对image patches进行随机采样来生成字典,然后固定住,对稀疏编码进行优化。
因为在本文中,取值为1600,且对人脸图像上所有patch(575 = 175)都要有一个字典,因此倒排索引的规模为175 * 1600 = 280,000.
2)Attribute-enanced Sparse Coding (ASC)
- 为了将人脸属性考虑到稀疏编码中,本文首先提出字典选择(Dictionary Selection, ASC-D),迫使属性值不同的图像包含不同的codewords。ASC-D 把字典中的中心根据属性值分成正、负两部分,如下图的(b)所示,蓝色表示属性值为正,红色表示属性值为负:
例如,人脸在某个属性上的值为正,他就会用到字典终端饿前半部分中心;若在该属性上的值为负,则用到字典中后半部分中心。如果是多属性的情况,稀疏表示就会根据属性的数量分成几个部分,每一部分依赖于它对应的属性值。
优化函数被修改成一下形式:
解释:
其实就是在原稀疏编码公式的基础上对稀疏表示增加了权重。这个权重依赖于当前第个patch的属性值。如果属性值,则稀疏表示只用到字典中的前半部分中心;否则使用字典中的后半部分。
缺点:
(1)对可能存在的属性检测误差并不鲁棒;
(2)这种方式只将属性编码作为二进制的指示器,但实际上可以更好地利用连续属性值。
2.本文进而提出将人脸属性的相对值整合到上式的中,松弛到一个软权重版本:
C.Attribute-embeded Inverted Index
1)Image Ranking and Inverted Index
解释:
计算得到图像的稀疏表示后,将稀疏码中的非零元素作为codeword码字,用码字集来表示一张图像,两张图像之间的相似度就用上式来计算得到。使用倒排结构,可以对图像根据上式相似度分数进行高效地排序。
2)Attribute-embeded Inverted Index
为了将属性信息嵌入到倒排索引中,每一张图像除了一个稀疏码字以外,还用一个维的二值符号来表示它的属性:
解释:
当两个图像的属性距离小于一个阈值时,就计算他们的稀疏码字之间的相似度,否则为0.