1.一种人脸向量快速比对方法,包括的步骤如下:人脸图片经过卷积网络算法处理,生成高维向量,自研增强型汉明算法处理;分布式数据库哈希处理;加载到CPU内存和向量比对;
自研增强型汉明算法处理:所述算法是使在原来的高维空间中随机均匀的画多个平面,具体有多少个数用参数k来表示;高维空间中的每一点和这些平面就会有一个位置划分关系,点在平面上还是在平面下,分别对应1和0,这样每一个点就会形成一个长度为k的一个编码,被叫做汉明编码,其实就是一串0,1组成的二进制编码;如果把每一个汉明编码看作是一个集合,这样就相当于把原始高维空间中的相近的点以一个很大的概率都映射到了同一个集合里了;
分布式数据库哈希处理:数据放置按照KEY值即设定的规则进行哈希计算和路由,从而达到分散到多个数据库目的;通过分布式数据库,将数据分给用处不同的数据库,以每个桶ID下存放相似图片的向量值;索引时根据目标图片的向量以桶ID快速索引到相似的向量,使用此种索引机制来大幅提高图片查找的速度;
加载到CPU内存:把数据加载到内存,每次存取实质是对内存进行操作,免除了数据库的IO操作;向量比对:假设深度学习算法生成的图片向量数据集D里有N个1024维的向量,N大于一千万,向量中各个维度上的数据都是32位浮点数,定义向量x与向量y之间对比为欧几里得距离;将上述N个向量存进数据库,且快速对比1000万图片,在数据N找到与需对比向量欧式距离最小的向量即定义为比对成功,若需要只输出相似度最高的一张图片,则在所有相似图片的dist值中取最接近0的那张输出即可,使待查找向量与数据集矩阵相乘。