1.一种图像视觉特征的量化与近似最近邻搜索方法,包括以下步骤:步骤A:码字分配增强型残差量化码书训练;具体包括:步骤A1,初始码书训练;步骤A2,码书优化;
步骤B:利用步骤A所得码书对图像视觉特征进行量化与编码;
步骤C:图像视觉特征的查询;
所述步骤A1所述的初始码书训练过程为:
步骤A1‑1:对图像视觉特征集X进行聚类,将得到的聚类中心作为第一层量化器的码书;
步骤A1‑2:利用第一层量化器量化图像视觉特征集X,分别得到X中各特征距离最近的和次近的聚类中心,计算所述各特征距离最近的和次近的聚类中心之间四分之一点作为均值等分向量,所述各特征的均值等分向量与最近聚类中心均为候选码字;
步骤A1‑3:计算所述均值等分向量与最近聚类中心的分配系数 ,根据所述分配系数选择候选码字作为近似向量集 ,并计算量化误差向量集 作为第二层初始码书训练输入;
步骤A1‑4:对量化误差向量集 进行聚类,得到k个中心作为第二层码书,重复所述步骤A1‑2、A1‑3得到第二层量化误差向量集 ;
重复以上步骤,直到最终得到L层初始码书 ;
所述步骤A1‑3中,分配系数 计算过程为:
分别计算图像视觉特征到均值等分向量的欧式距离 和到距离最近码字的欧式距离,若 ,分配系数值为1,反之分配系数值为0;
所述分配系数 值为1时使用所述均值等分向量作为图像视觉特征的量化结果,反之使用所述最近聚类中心作为图像视觉特征的量化结果;
所述步骤A2包括:
对步骤A1所得L层码书,自第一层至第L层为止,依次重复以下步骤A2‑1和步骤A2‑2:步骤A2‑1:计算当前层初始码书训练的量化结果和总体训练误差向量集之和,对Ul重新训练,更新当前层码书;
所述步骤A2‑1具体包括:对图像视觉特征训练集中每个特征向量,计算其第l层的量化输出 与总体训练误差向量集中对应的向量进行累加求和,得到该层训练输入向量集 ;利用该层码书 量化该输入向量集 得到量化编码 ,并根据下式更新该层码书 中每个中心;
其中,将 中量化编码相同的 对应的输入向量集为集合 ,表示集合 中所有向量的均值向量,m表示集合 中向量的个数, 表示 中量化结果为码字 的输入向量集中第h个向量;
步骤A2‑2:根据优化后当前层码书更新该层的量化结果,再次计算总体训练误差向量集;
所述步骤A2‑2具体包括:根据步骤A1‑1和步骤A1‑3,对该层训练输入向量集中每个向量的量化结果和量化误差,其中,量化误差构成的集合作为总体训练误差向量集;
步骤A2‑3:将所述步骤A2‑1、A2‑2顺序完成从第一层到第L层码书优化视为一次迭代优化过程,多次迭代直到码书精度收敛到预设的阈值时停止优化;
所述步骤B包括:
利用步骤A得到的已训练完成的码书对图像视觉特征 进行量化与编码;
所述对图像视觉特征进行量化和编码包括,利用所述码字分配增强型残差量化码书训练得到的L层码书,逐层量化图像视觉特征,得到L层量化结果,量化过程如下:步骤B1:在所述训练得到的第一层码书中找到同图像视觉特征 欧式距离最近和次近聚类中心,所述最近和次近聚类中心的ID作为图像视觉特征 在该层的编码;
步骤B2:根据所述步骤A1‑3过程得到图像视觉特征 在第一层量化中的量化结果和量化误差向量 ;
步骤B3:对第一层量化误差向量 重复步骤B1、B2过程得到第二层量化结果和量化误差向量 ;
重复上述步骤B1‑B3直至最后第L层,直至得到像视觉特征 的第L层量化结果和编码;
所述步骤C中,采用非对称距离计算方式计算查询图像视觉特征同图像视觉特征库中特征的距离后进行排序,得到最近邻搜索结果;
所述非对称距离计算方式为:根据步骤B所得量化结果,计算查询视觉图像特征与近似向量的欧式距离,用该距离近似表示查询视觉图像特征到图像视觉特征库中各特征的欧式距离,搜索欧式距离最近的图像视觉特征,所得为最近邻搜索结果;
所述步骤C具体包括:
计算查询图像视觉特征q与v的重构向量 之间的欧式距离来近似表示q与v的欧式距离,具体如下式所示:其中 表示欧式距离,Q表示量化器;
图像视觉特征库中特征向量v经过L层量化之后,其重构向量 计算如下:其中 表示向量v在第l层选择 或者 的分配系数;
根据所述重构向量,查询图像视觉特征q到特征向量v的距离表示为:其中第二项 在量化阶段提前计算并保存在查找表中;后两项中的 ,, 在给定查询图像视觉特征q时,根据码书计算并存入查找表中,在计算距离时查找对应的值;根据查询图像视觉特征q与数据库特征的距离计算,返回待查询数据库中距离最近的特征作为查询结果。