图片搜索/图片相似度计算学习笔记(2019-12-20-v1)

  今天下午抽空补充学习了一下图片相似度计算的原理和技术,主要用于以图搜图的应用场景。这里简短的总结一下。后续可能会继续更新补充。

一、图片搜索问题的基本步骤与原理

(1)把1幅图像经过特征提取技术量化成一组高维向量(如2048维)
(2)通过大规模向量搜索引擎支持大规模图像搜索
(3)识别出图像相关信息
(4)继续做一些细粒度的图像识别与分析,检索出相似的图片进行推荐。

二、图片搜索问题的分类

(1)根据文字信息,如关键词、标签、图片内容描述等进行搜图
(2)基于图像内容的图像检索
(3)综合图文检索。简单来说就是既结合文字描述又结合图像内容。

三、计算图片相似度的常用关键技术

  计算图片相似度一般基于图像直方图和哈希算法两种基本技术,后者更加常用,因此着重介绍。
  哈希算法是一个密码学中常见的概念,简单来说就是我输入一堆数字,不同的信息一定会最后输出固定位数的不同的信息,起到类似指纹的效果。在图片相似度计算的应用中,会根据和哈希函数输出一个叫汉明距离的东西。如果两张图片的汉明距离越小,那么相似度越高,反之亦然。一般来讲,如果汉明距离为0,两张图片完全相同,小于5则比较相近,大于10则说明是完全不同的图片。具体而言,在图片相似度计算中应用的哈希算法又分成三种:

(1)均值哈希算法
均值哈希算法
(2)差异哈希算法——精度较高、速度较快
差异哈希算法
(3)感知哈希算法——精度高、对图片尺寸变化有较强的鲁棒性,但是速度较慢
感知哈希算法

  此外,现在常常用比如CNN等算法来先完成特征提取,再完成图片相似检索。一个常用的例子如下:
①使用CNN提取出每张图像的高层次特征向量
②使用PCA进行降维处理去掉没用的噪声特征
③根据欧氏距离计算图片间的相似度
④使用平均净度MPA统计本次检索的准确率

四、实验步骤中的一些其他的注意的问题

1、数据增强

  机器学习算法往往与数据的质和量高度相关,数据增强就是这样一种技术,通过该技术可以有效增加数据中有效数据的数量。具体而言在于图像相似度计算的应用中,数据增强的操作包含了:标注框处理、随机裁剪、缩放变换、伸缩变换、色彩调整、随机反转、光照扰动等。

2、类不平衡的问题

  如果直接训练类别不平衡的原数据,那么模型很容易会记住哪些包含样本较多的类别,而对样本较少的类别则会出现学习不充分的问题。造成类别识别的样本误差增大。具体而言,在图片相似度计算这个任务上,常用图像增强、上采样(图像放大)、下采样(图像缩小)、多渠道采样等综合方式来平衡数据

3、其他

  除了图片的颜色、纹理、形状等低层次的特征,通常用户的意图和情感信息在实际应用中也发挥了极大的作用,但图片传递的高层语义信息很容易被忽略,主要包括了图片的情感色彩、主题事件、风格特征等(如甜美风、街头风、文艺风等)
  

五、参考文献

  因为时间有限,所以只看了3篇参考文献,其中比较新也比较有用的只有以下一篇:
[1]汪亚楠. 基于卷积神经网络的电商图像识别研究[D].华中科技大学,2018.

你可能感兴趣的:(图片搜索/图片相似度计算学习笔记(2019-12-20-v1))