图像检索(一)--综述

转自:https://baijiahao.baidu.com/s?id=1619752354929282906&wfr=spider&for=pc

图像检索算法因何而起?

网络时代,随着各种社交网络的兴起,网络中图片,视频数据每天都以惊人的速度增长,逐渐形成强大的图像检索数据库。针对这些具有丰富信息的海量图片,如何有效地从巨大的图像数据库中检索出用户需要的图片,成为信息检索领域研究者感兴趣的一个研究方向。

什么是图像检索算法?

图像检索,简单的说,便是从图片检索数据库中检索出满足条件的图片,图像检索技术的研究根据描述图像内容方式的不同可以分为两类:

一类是基于文本的图像检索技术,简称TBIR,

一类为基于内容的图像检索技术,简称CBIR。

随着图像检索技术的发展和逐渐成熟,已经形成了多个基于图像检索的研究方向和应用场景,并且投入实用,在遥感影像、安防监控、检索引擎、电子商务、医学等方方面面起着十分重要的作用。

两类图像检索技术

基于文本的图像检索(TBIR)技术,其主要原理为利用文本描述,如文本描述图片的内容、作者等等的方式来检索图片;

基于图像的内容语义的图像检索技术(CBIR),利用图片的颜色、纹理及图片包含的物体、类别等信息检索图片,如给定检索目标图片,在图像检索数据库中检索出与它相似的图片。

基于图像的内容语义的图像检索包括相同物体图像检索和相同类别图像检索,检索任务分别为检索同一个物体地不同图片和检索同一个类别地图片。例如,行人检索中检索的是同一个人即同一个身份在不同场景不同摄像头下拍得的图片属于相同物体的图像检索,而在3D形状检索中则是检索属于同一类的物品,如飞机等。

图像检索技术的步骤

图像检索技术主要包含几个步骤,分别为:输入图片、特征提取、度量学习、重排序。

特征提取:即将图片数据进行降维,提取数据的判别性信息,一般将一张图片降维为一个向量;

度量学习:一般利用度量函数,计算图片特征之间的距离,作为loss,训练特征提取网络,使得相似图片提取的特征相似,不同类的图片提取的特征差异性较大。

重排序:利用数据间的流形关系,对度量结果进行重新排序,从而得到更好的检索结果。

深度学习与图像检索

随着深度学习的引入,基于深度学习的图像检索技术,主要是将深度学习方法应用在图像检索中的特征提取模块,利用卷积神经网络提取图片特征。主要步骤即给定一张图片,通过卷积神经网络对图片进行特征提取得到表征图片的特征,利用度量学习方法如欧式距离对图片特征进行计算距离,对图片距离进行排序,得到初级检索结果,再根据图片数据的上下文信息和流形结构对图像检索结果进行重排序,从而提高图像检索准确率,得到最终的检索结果。

(1)相同物体图像检索      

相同物体图像检索是指对查询图像中的某一物体,从图像库中找出包含有该物体的图像。这里用户感兴趣的是图像中包含的特定物体或目标,并且检索到的图片应该是包含有该物体的那些图片。如1.3图所示,给定一幅”蒙娜丽莎”的画像,相同物体检索的目标就是要从图像库中检索出那些包含有”蒙娜丽莎”人物的图片,在经过相似性度量排序后这些包含有”蒙娜丽莎”人物的图片尽可能的排在检索结果的前面。相似物体检索在英文文献中一般称为物体检索(Object Retrieval),近似样本搜索或检测(Duplicate Search or Detection)也可以归类于相同物体的检索,并且相同物体检索方法可以直接应用到近似样本搜索或检测上。相同物体检索不论是在研究还是在商业图像搜索产业中都具有重大的价值,比如购物应用中搜索衣服鞋子、人脸检索等。对于相同物体图像检索,在检索相同的物体或目标时,易受拍摄环境的影响,比如光照变化、尺度变化、视角变化、遮挡以及背景的杂乱等都会对检索结果造成较大的影响,图1.3左图给出了这几种变化的例子,此外,对于非刚性的物体,在进行检索时,物体的形变也会对检索结果造成很大的影响。

(2)相同类别图像检索  

相似图像检索的目标是从图像库中查找出那些与给定查询图像属于同一类别的图像。这里用户感兴趣的是物体、场景的类别,即用户想要获取的是那些具有相同类别属性的物体或场景的图片。为了更好的区分相同物体检索和相同类别检索这两种检索方式区,仍以图1.3左图所举的”蒙娜丽莎”为例,用户如果感兴趣的就是”蒙娜丽莎”这幅画,那么检索系统此时工作的方式应该是以相同物体检索的方式进行检索,但如果用户感兴趣的并不是”蒙娜丽莎”这幅画本身,而是”画像”这一类图片,也就是说,用户所感兴趣的已经是对这幅具体的画进行了类别概念的抽象,那么此时检索系统应该以相同类别检索的方式进行检索。相同类别图像检索目前已广泛应用于图像搜索引擎,医学影像检索等领域。      

对于相同类别图像检索,面临的主要问题是属于同一类别的图像类内变化巨大,而不同类的图像类间差异小。如图1.3右图所示,对于”湖泊”这一类图像,属于该类别的图像在表现形式上存在很大的差异,而对于图1.3右图下面所示的”dog” 类和”woman”类两张图像,虽然它们属于不同的类,但如果采用低层的特征去描述,比如颜色、纹理以及形状等特征,其类间差异非常小,直接采用这些特征是很难将这两者分开的,因此相同类别图像检索在特征描述上存在着较大的类内变化和较小的类间差异等挑战。

提升检索性能的一些思考

1、 检索目标背景杂乱

(1)在实例检索中,复杂的背景噪声直接影响了最终的搜索性能。因此很多队伍首先尝试使用目标检测(比如faster-rcnn)RPN定位感兴趣的区域,然后在进一步地学习特征,比较相似度。另外,当没有bounding box训练数据时,弱监督的目标定位也是一种有效的方法。

(2)预处理:自动定位用户感兴趣的商品,去除背景、多主体等因素的影响,也有利于抽取的语义特征的对齐。语义对齐方式,常见操作有商品检测框对齐、旋转对齐、局部关键点对齐等。(淘宝搜图用户可以手动调整选择检测框)

2、 类内差异性与类间相似性(高层语义和低层特征融合)    

 很多方法都是用最后一个卷积层或全连接层的特征进行检索,而由于高层的特征已经损失了很多细节信息(对于更深的网络,损失更严重。高层语义和低层特征融合很重要。不同层的特征图谱(feature map)进行融合,这不仅利用了高层特征的语义信息,还考虑了低层特征的细节纹理信息,使得实例搜索更精准。GoogLeNet-22网络,对于最后的8层特征图(从Inception 3b到Inception 5b),首先使用最大池化对这些不同尺度的特征图分别进行子采样(转换为相同尺寸的特征图),并使用的卷积对这些采样结果进一步地处理。然后对这些特征图做线性加权(由的卷积完成),最后在此基础上,使用sum pooling得到最终的图像特征。在训练时,我们根据所提供的训练数据,通过优化基于余弦距离的triplet ranking loss来端到端学习这些特征。因此在测试时,可以直接使用特征之间的余弦距离来衡量图像的相似度。(例如一件衣服除了一件是圆领另一件是V领,其他颜色,纹理都是一摸一样的,领口形状就是高层语义,颜色纹理就是低层特征。要想达到好的检索效果最好都要兼顾。(类似特征金子塔FPN))

3、 特征降维  

 特征提取得到的特征表示经常是含有很多组不同分量的高纬矢量,高纬度对后面的分析带来不便,分量之间也可能相互关联,需要特征降维。维度低且判别性好的特征才能保证检索的性能与效率。用于降维学习的数据一般是商品同款数据;常用的降维方式有线性判别分析(LDA)、图像分类与度量学习(无监督马氏度量,PCA主成分分析特征抽取:进行去均值化, 即计算所有数据的平均值, 并把?个数据减去该平均值;计算协方差矩阵S; 计算S 的特征值和特征向量 并按特征值大小降序排列;选择前K (K为降维后的维数)个特征值对应的特征向呈组成变换矩阵; 使用变换矩阵对原数据进行变换)等

4、 提升速度

(1) 特征聚类,如果数据库数据量比较小,用于检索的特征纬数也比较小可以使用穷举法直接检索。但是如果数据很多,特征纬度很高的情况下,这种方法就很慢,可以用聚类缩小搜索范围。K-means 聚类,(选择k个点作为初始质心,将每个点指派到最近的质心,形成k个簇,重新计算每个簇的质心,反复操作,直到簇不发生变化,或者到最大迭代次数。优点容易实现,缺点可能收敛到局部最小值,大规模数据收敛慢)。找出和待搜索图像距离最小的聚类中心,之后计算待搜索图像和这个聚类中心所对应的簇中的每个图像的距离,返回若干距离最小的作为结果。

(2) 通过识别目标主体的品类,使得在检索时可以在该类别的数据子库进行搜索,提升检索的效果与效率。

5、 将图像相关文字描述与图像的低层特征融入到一个CBIR系统中。(百度,淘宝可以先输入图片之后,再输入文字描述)

6、 反馈技术。

图像检索最终的用户是人,通过交互手段来捕获人对图像内容的认知。体现出人与系统的协同工作,打分,在线学习,检索性能的评价指标。(强化学习,给搜索结果一个reward)

7、 一阶池化特征和二阶池化特征融合      

二阶池化方法通过捕捉图像二阶统计变量,如协方差等,往往可以取得更好的搜索准确率。

8、联合特征学习和属性预测      

与DeepFashion类似,同时学习特征和预测图片的属性(多任务训练),从而得到更具区分性的特征。(loss函数为Softmax loss 和度量学习 loss相加)

猜你喜欢

转载自blog.csdn.net/App_12062011/article/details/88264536