以图搜图浅述(一)

以图搜图的实现概要步骤

准备环节:

提取图片的特征值【提取结果为多维向量,可以理解为[0.9, 0.32, 0.11, 0.99, ...]】,两个图片的特征值越接近,说明两个图片越相似。

然后把所有已知图片的特征值存储起来。

搜索环节:

想搜索与新图像相似的已保存的图像,首先计算新图片的特征值,然后与所有已知图片的特征值进行比较,找出最相似的前N张图片。

特征值相似度的比较,业界常用的是计算两个特征值之间的余弦距离, 余弦距离越大,说明两个特征值越相似。

如何理解呢?

想象两个二维向量,在平面直角坐标系下,A,B两个点,当两个点重合时,途中的两条线重合,夹角为0,夹角的余弦值为1,这时两个点最相似,依次类推,A B 距离很近时,其夹角度数很小,余弦值很大,这两个二维向量相似度很高。将此推广到N维,我们看不到两条线的夹角了,但是可以想象,道理一致。


下一篇将重点说说如何把N维向量存储到elasticsearch中,以及如何搜索。

你可能感兴趣的:(以图搜图浅述(一))