HTML
-
本文中将在GIST和VLAD两个公开数据集[23]上评估应用了投影增强型残差量化在码书训练和完全检索方面的性能。如表 1所示,GIST和VLAD两个数据集包含3个子集,其中,训练集用于训练码书;数据库集是用于获取从中检索同查询点近似的特征向量;查询集用于对检索算法进行性能评估。
datesets GIST VLAD dimension of vectors 960 4096 size of database set 1000000 1295000 size of training set 500000 200000 size of query set 1000 849 Table 1. Information of experimental datasets
所有实验都是在一台Intel Core i5 2.8GHZ CPU, 32G内存的PC,MATLAB 2011环境下完成的。
-
图 4和图 5反映了GIST和VLAD数据集上投影维度D∈{23, 24, 25, 26, 27, 28, 29}对总体量化误差的影响。实验参量设置中,投影增强型残差量化的每层码书中聚类中心数量k固定为256,码书层数为L∈{4, 8, 16}。
如图 4和图 5所示,当码书层数固定时(如L=8),随着PCA投影的维度从512维~8维的变化,总体误差呈现出先减少后增加的曲线变化。观察发现,当投影维度D=128维时,GIST和VLAD数据集上总体量化误差最小。
-
图 6和图 7反映了GIST和VLAD数据集上投影维度D∈{23, 24, 25, 26, 27, 28, 29}对检索精度(用召回率Rrecall@n(n=100)表示,其中n表示检索返回的结果数量)的影响。实验参量设置中,投影增强型残差量化的每层码书中聚类中心数量k固定为256,码书层数为L∈{4, 8, 16}。
如图 6和图 7所示,从投影维度512维开始,检索精度先是随着维度降低而不断提升直到投影维度为128维,随后检索精度随着投影维度的降低而不断降低。对比图 6和图 7,参量D的变化对VLAD数据集上检索精度的影响比GIST更大。
-
针对最近邻搜索的性能对比,将投影增强型残差量化(projected enhanced residual vector quantization, PERVQ)与其它4种方法(见表 2)从检索精度和检索效率(检索时间)两个方面进行比较。在表 2所示4种方法的相关文献[4, 17-19]中,依据参考文献中实验数据,综合检索速度和检索精度平衡,都是采用8个子码书, 并且每个子码书都是由256个聚类中心构成。
methods description PQ[4] composed by 8 sub-quantizers in which each codebook is consisted of 256 centers RVQ[17] composed by L(L=8) level sub-quantizers in which each codebook is consisted of 256 centers ERVQ[19] composed by L(L=8) level sub-quantizers in which each codebook is consisted of 256 centers orthogonal RVQ[18] composed by L(L=8) level sub-quantizers in which each codebook is consisted of 256 centers Table 2. Description of compared methods
所有方法均采用相同的编码长度,检索精度用召回率Rrecall@n指标进行评估。
为公平起见,PERVQ采用同PQ,RVQ,ERVQ和正交RVQ相同的码书参量,即L=8层码书构成的8级子量化器,并且每层码书的码书规模设置为256。
-
PERVQ建立在ERVQ的基础上,解决ERVQ在原始高维向量空间训练码书带来的码书训练时间效率受特征向量维度制约的问题,旨在提升码书的训练效率的同时,综合投影误差和量化误差对低维向量空间的码书进行优化。
图 8为GIST数据集上RVQ, ERVQ以及投影到各个向量维度D∈{23, 24, 25, 26, 27, 28, 29}上,训练8层码书对应码书所花费的时间。相比RVQ,由于ERVQ和PERVQ都增加了码书优化步骤用于提升码书精度,因而额外增加了优化码书阶段的时间开销。从图 8可以观察到,将PCA和ERVQ结合后,PERVQ训练码书花费的时间要明显少于ERVQ,此外,当D∈{23, 24, 25}时,PERVQ训练码书所花费的时间比RVQ少。
-
从图 6可以观察到,在GIST数据集上,当L=8,各层码书规模为256个聚类中心,PERVQ在D=128时,具有最优的近似最近邻完全检索精度。图 9为在GIST数据集上不同方法的检索精度。PERVQ采用8层码书,每层码书初始聚类中心数为256。从图 9可以看出,PQ方法检索性能明显不如其它方法,RVQ和ERVQ由于考虑了量化误差,在相同编码长度下,其检索精度有了较大提升,优于积量化。PERVQ不仅考虑了总体量化误差,也考虑了投影误差,检索精度较残差量化方法好于RVQ, ERVQ和PQ。PERVQ同orthogonal RVQ具有相当的检索精度,但orthogonal RVQ是在原始高维向量空间进行多层码书训练和优化。
-
在GIST数据集上对不同方法的检索时间进行了比较,所有方法的参量设置同上,检索时间如表 3所示。
methods search time/ms Rrecall@100 PQ 33.6 0.32 RVQ 35.0 0.68 ERVQ 34.3 0.70 PERVQ D=8 31.1 0.70 PERVQ D=16 32.2 0.70 PERVQ D=32 33.8 0.71 PERVQ D=128 44.7 0.72 orthogonal RVQ 34.2 0.73 Table 3. Comparison of search time on GIST
PERVQ, ERVQ, RVQ和orthogonal RVQ在应用完全检索时都是利用向量的近似表示来计算查询向量和库向量之间的近似欧氏距离。不同之处在于ERVQ, RVQ以及orthogonal RVQ的查找表构造是在高维空间进行,而PERVQ的查找表是在低维空间进行构造,因而PERVQ生成查找表比ERVQ和RVQ具有更快的速度,但是PERVQ将查询向量投影到低维空间相比RVQ和ERVQ需要花费额外的投影时间。因此当构造查找表对效率的提升程度大于向量投影对时间效率影响程度时,PERVQ比ERVQ, RVQ以及orthogonal RVQ具有更好的检索速度。
由表 3可见,PERVQ的近似最近邻完全检索在投影维度D∈{23, 24, 25}时,其检索时间花费少于PQ, RVQ和ERVQ。结合图 6和图 9,当D∈{23, 24, 25},PERVQ仍具有同ERVQ和orthogonal RVQ相当的检索精度。