目录
简介:
首先,本文目的是利用人脸集合,采用基于模板的人脸识别方法,改进NetVLAD提取人脸模板特征向量。
涉及的知识点:
1.VLAD:局部聚合描述子向量,利用硬分配。
2.NetVLAD:结合CNN的VLAD网络结构,利用软分配。
3.GhostVLAD:本文,在聚类中心中加入ghost 聚类中心,削弱低质量图像在模板中的权重。
创新点:
加入了ghost聚类中心,能够有效的减小低质量图片在人脸模板中的比重,增强高质量图片的比重。
前言:
现在的人脸识别方法有很多,有利用单张人脸图片做注册,其余照片计算与注册照片计算相似度比对。也有提取特征之后做相似度匹配的方法。当然也有很多利用人脸数据集合做人脸识别的方法,例如说混合高斯模型,奇异值分解等等。当聚合多个人脸图像时,有些信息对人脸识别是没有用的,并且诸如此类的方法,都是依赖于一个预训练的人脸描述器,也没有联合考虑权重的影响。
所以,基于一个要给不同质量的图片赋予不同权重的直觉,作者提出利用端到端的方式来自动学习这些信息的权重,从而优化人脸模板特征。
- VLAD:是一种广泛应用在图像检索中的特征提取之后的编码方法,减少存储量,提高检索效率。该方法采用0/1的硬分类方法将图像特征向量分配到每个聚类中心,之后做残差求和等后续形成编码。
VLAD公式:
其中:系数ak值为0,1两种类型。所以称为硬分配。
- NetVLAD:为了将VLAD能够运用到CNN网络中,将硬分类转换为利用softmax的软分配,形成可微的结构,从而可以利用卷积操作和反向传播自动求参的功能。本文的思想和建模方法是值得探究和学习的,建议阅读文章。
NetVLAD形成聚合向量V的公式:
NetVLAD的网络:
与VLAD的区别就在于将VLAD的ak改写为softmax的软分配系数。在网络中表现为用K个1*1的卷积核卷积之后再进过softmax层得到软分配系数。将该系数与残差(图像特征向量x和聚类中心c的差值)相乘,最后累加得到V(D*K)的矩阵。最后进过两次归一化操作得到一个维度为(K*D)的向量。
本文改进:
基于一个图像集合中的图像质量的不一致,导致在模板中各个图像产生的影响不一样。为了进一步的扩大这个权重的差别,也就是增大模板中质量好的图像的权重,减小低质量图像的权重,本文提出来了ghost的聚类中心。
所谓的ghost的聚类中心就是指一些假设存在但是实际没有的中心点,主要目的就是让低质量图片可以归类在这类中心点上,从而在软分配的时候,对实际的k个归类点的得分都降低。比如说,x在原有k个中心点上的得分分别为0.3 0.3 0.4,加入了g=1的ghost中心之后,x在k个中心的得分表示为0.2 0.2 0.3,所以减弱了这个影响。(这是我的理解)
结合本文结构来说就是:
在上面的图中,ghost的中心点仅仅参与软分配的权重计算而不参与残差的计算,所以实际上还是K个点参与的VLAD。
在公式上可以理解为将NetVLAD的计算公式中,
ak,bk为(k+g)个,而ck只有k个。也可以理解为k+g全部参与运算之后去除属于g部分的结构,使得V还是(k*d)的矩阵。
最后,本文通过可视化结果表示了,加入ghost之后的效果。
上面一列是没有ghost的时候的图像权重,下一列是取一个ghost的时候的权重。可以明显发现低质量模糊的图像权重瞬间降低。
此外就是,本文的实验结果和参数的设置可以查阅文章。