本节介绍基于球哈希的二值编码(Spherical Hashing based Binary Codes,SHBC)人脸识别算法,提升了现有二值特征人脸识别算法在非约束环境下的判别(辨别)能力。现有基于二值特征学习的人脸识别算法均是对人脸图像进行重新表达,并未在模型训练的过程中引入任何身份信息。因此,现有二值特征人脸识别算法的判别能力较弱,难以应对非约束环境下的单一类内因素极端变化问题。本节算法主要从以下两个方面进行思考。
因为S-SHBC算法只关注于针对PDVs的投影过程,只需求解公式(2-29)中的数据投影矩阵W。公式(2-29)可以将其转换为广义特征值问题(generalized eigenvalue problem):
式中,ε为正则化常数用于避免数值计算问题。设为ε=0.0001。特征向量wl可以广义特征值被求解得到。与PCA算法一样,数据投影矩阵W和标签投影矩阵V同样都是正交的,从而能够保证二值特征中每个比特的方差最大化。
另一方面,利用超球体来定义二值编码而不是利用基于超平面的公式(2-20)来定义。相比于超平面,超球体能够定义更多且更紧致的闭合区域。如果想在d维特征空间中定义一个闭合区域,则需要d+1个超平面。且超球体定义的闭合区域拥有更小的面积,即位于相同区域的数据点之间具有较小的距离。图2-16展示了基于超平面和超球体的具有相同二值编码的数据点之间的平均欧氏距离。如图2-16所示,在基于超球体的二值编码算法中,相同二值编码的数据点之间平均欧式距离更小。对于人脸识别任务而言,平均欧氏距离越小,算法越有可能为两个同类图像分配相同的二值编码,即算法具有更强的判别能力。基于CCA投影和基于超球体定义二值编码的方式,都使得在特征空间中同一个超球体(即相同的二值编码)中包含了更多的同类数据点,从而提升二值特征的判别能力。
基于球哈希的二值编码人脸识别算法的基本流程如图2-13所示。首先,提取基于实数值的像素差值向量;然后利用基于球哈希的二值编码算法将像素差值向量量化为二值特征;最后,利用聚类和池化的方法,对二值特征进行基于词典模型形式的表达。本节仅介绍IQBC算法的核心部分——基于球哈希的二值编码过程。
图2-16 超平面(Locality Sensitive Hashing和Iterative Quantization)和超球体(Spherical Hashing)二值编码算法在具有相同二值编码的数据点之间的平均欧氏距离
1.目标函数的建立
从特征表达项、量化误差项和约束项这三个方面进行思考,建立SHBC算法的目标函数。在保证量化误差最小的情况下,学习L个基于超球体的二值映射方式,从而提升现有二值特征学习算法判别能力,并使其输出的特征中能够具有更多的类别信息和区分能力。SHBC二值编码过程的输入为经过基于无监督的PCA降维或有监督的CCA降维后的长度为d的特征向量X,经过d个SHBC哈希函数的量化,将每个xi投影为二值特征bi=[bi,1,bi,2,…,bi,L]∈{-1,1}。不同于诸如IQBC算法这种基于超平面的二值特征学习算法利用公式(2-20)确定二值编码,SHBC算法中每一个二值编码均由超球体半径ri和超球体的球心pi决定,即
式中,d(pi,x j)表示球心pi和数据x j之间的欧氏距离。当数据x j与球心pi的距离小于超球体半径ri时,数据x j自然位于超球体内部,其二值编码为1,否则为-1。
量化误差项:量化误差项的大小描述的是二值特征与原始PDVs之间的信息损失情况。如图2-16所述,超球体这种特殊的二值编码方式使得原始空间中距离接近的数据点,其二值特征在特征空间中的距离也是接近的。因此,基于超球体学习得到的二值特征能够最大限度的保留了原始PDVs的统计分布特性和数据结构信息。因此,SHBC算法隐含地带有最小化量化误差的属性,故在SHBC的目标函数中并无显式的量化误差项。
特征表达项:对于一个二值特征向量而言,如果所有比特位中-1元素个数和1元素个数相等,会使得输出的二值特征在相同维度的情况下,具有最多种的编码组合。从而能够为不同类别的PDVs分别提供了其专属的二值编码,即提升了算法的判别能力。因此,为了让学习得到的SHBC二值特征具有更强的判别能力,要求每一个SHBC二值特征中所有比特位中-1元素个数和1元素个数应大致相等。因此,SHBC算法的特征表达项的数学表达式如下:
(www.xing528.com)
约束项:对于一个二值特征向量而言,描述能力强是判别能力强的必要条件。如果一个二值特征向量无法对人脸图像中的关键信息进行有效的表达,该特征的判别能力更是无从谈起。当比特之间相互正交(独立)时,在相同长度的特征表示下,二值特征能够携带最多的信息。因此,对二值特征施加正交约束,从而保证了SHBC算法的二值特征在具有较强的判别能力的同时,还具有一定的描述能力。假设概率事件Vi表示第i比特位bi=+1,而概率事件Vj则表示第j比特位bj=+1。而概率事件Vi与概率事件Vj相互独立即等价于第i比特位与第j比特位相互独立,即Pr(Vi∩Vj)=Pr(Vi)·Pr(Vj)。因此,正交约束的数学表达式如下:
综上所述,SHBC算法中共有三个优化项——量化误差项、特征表示项和约束项。由于SHBC算法的量化误差项采用隐含的形式进行表达,只需要考虑其他两个优化项即可,即联立等式(2-32)和等式(2-33),获得SHBC算法的目标函数。
2.目标函数的优化
SHBC算法的目标函数(即等式(2-33))中有两个变量需要优化,即球心pi和超球体半径ri。首先,SHBC算法对超球体球心pi进行初始化。对于第i个超球体的球心pi而言,从训练样本中不重复地随机挑选g个样本,将这些不重复样本的中位数(median)作为超球体的球心:
使用两个中间变量ci和ci,j,用于衡量目标函数的优化情况:
式中,|*|表示给定集合的势(cardinality)。ci为在训练集X中有多少样本的第i位比特为+1;ci,j为在训练集X中有多少样本的第i位比特和第j位比特同时为+1。ci用于衡量公式(2-32)的情况,ci,j则用于衡量公式(2-33)的情况。如上所述,PDVs的训练样本集中X中有NM个样本。因此,SHBC算法的目标函数则可以转化为如下形式:
式中,α表示最大边缘的松弛程度。通过交叉验证,确定松弛系数α=0.05。在候选集J中的最优分割点^j应该使得训练样本与分割边缘最大化,即
因此,第i个超球体半径为
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。