triplet loss 图像检索_论文阅读_端到端图片检索

论文地址:https://arxiv.org/abs/1610.07940
项目地址:http://www.xrce.xerox.com/Deep-Image-Retrieval.

基于深度视频表征的端到端图片检索出自2017年cs.CV发表的论文《End-to-end Learning of Deep Visual Representations for Image Retrieval》。该文中的模型效果很好,知识点十分密集,实验数据和结果也非常细致丰富,论文也被频繁引用。

该文中没有太多新发明的算法,以工程实现和效果描述为主,从清洗数据,到实现R-MAC算法,并使用孪生网络和triplet损失函数实现了端到端(end-to-end)的图片检索,还加入了后处理。在Oxford 5k, Paris 6k和Holidays数据集上分别达到了94.7, 96.6, 94.8的mAP高分。

文中包括很多具体实践技术和实验细节,比如对比降维后的效果,调整学习率之后的变化,测试图片和训练图片的不同处理等等,作者使用M40 NVIDIA GPU/12 G,所有模型训练时间在一周以内,也是我们可以复现的环境,总之干货很多。

数据清洗

论文中将建筑数据集作为搜索内容,首先进行数据清洗。使用了SIFT,Hessian仿射关键点检测,来确定同组数据,以及剔除噪声(虽然工作量很大,但只需要在数据预处理阶段做一次);计算图间的相关性之后,使用清洗后的数据做关系图:图中节点为图片,连线为图片间的关系,然后对低分的边做剪枝,以保证描述同一场景的图片都有明显的视觉关联,处理后最终保留了49,000张图片,共586种地标注,关联关系如下图所示:

v2-a718cb4bab28cac512c8f354d6cee7cd_b.jpg
大教堂的外部和内部

使用region of interest (ROI)方法标注图中建筑物所在的区域,开始在包含同一建筑物的两张图中分别建立区域Bi,Bj(如下中红虚线框所示),它们是包含图中关键点的最小矩形,并计算仿射变换Aij,不断按以下公式迭代更新区域大小直至收敛:

v2-e352fca1097b4fbe67d68a85fff4ae9e_b.png

其中α是一个很小的更新步长,通过计算使几何中值融入图像范围。最终效果如图中绿框所示。

v2-5d92948949efb11730c9489706ab79fd_b.jpg

建立模型

由于整个网络的每个组成部分(目标区域、神经网络实现PCA降维、聚合、归一化等)皆可导,因此建立了End-to-end的整体模型。

损失函数

模型的损失函数使用排序损失(ranking loss)的triplet方法,它把两张相关图和一张无关图编成一组代入模型,计算结果应该是两张相似的图用R-MAC提取出的特征的距离更近。如下图所示。

v2-47fcfbe99098887b0fc5dfdc8eafa345_b.jpg

图中灰色部分为共享参数的网络,其中CONV是提取特征的卷积层,Shift+FC功能类似PCA。误差计算公式如下:

v2-27d3f63f901be2a8577cb3b04a5d8da6_b.png

其中q表示待检索图片,+为正例(同类图片),-为反例(无关图片),d为描述值,m是距离阈值。分别依据以下三式调节网络参数:

v2-8fcc602d40742d38f74b1eb69747a023_b.png

最终代入用于比较相似度的孪生网络(Siamese network)。

其中如何选择每次输入网络的三张图片的具体方法是:先用当前模型对图片池中的图片提取特征,并从中选择N个三图组(triplets),计算误差,并选择误差最大的前N组代入模型调参。理论上每次代入前都应使用此方法选择实例,但由于计算代价太高,每迭代一定次数重新计算一次。

R-MAC

R-MAC论文在2016年发表时,使用了Alexnet和VGG网络提取特征,因此精度不高,文中使用了ResNet-101,并对由此变大的内存需求在程序中做了优化。

除了直接延用R-MAC,论文中还进行了一些改进,比如使用RPN方法优化R-MAC的局部区域计算,该方法有效地利用了标注数据。如下图所示,先用数据集中的标注数据训练区域识别模型,然后将它作为一个模块插入最终模型。RPN的计算量很大,同时又需要有效地利用目标框标注数据,单独训练更为合理;后期并入网络后,在提供候选框同时,还能给出可能性打分score,从而得到最可能的区域,而非限定的具体某个区域。

v2-77e8cd828eb3ca9931ed46b6249f23a5_b.jpg

此外,还加入了多分辨率描述:缩放图片以适配各种大小的物体。虽然从原理上看R-MAC有缩放不变性,但由于输入底层网络时图片大小的差异,提取到的特征也不相同,文中将图片按不同尺度缩放,经过处理后,再将它们合并为同一图片的特征。

后处理

模型在后处理方面,使用了QE和DBA。

Query expansion(QE)查询扩展,是图像后处理的标准方法,它先使用待检索图片寻找Top-N个与其最相似的图片(最近邻),然后计算待检索图片与它们的均值作为特征,并再次搜索相似图(文中未使用空间验证)。其原理是用其邻居的特征来扩展待检图片的特征。计算扩展特征时,除了使用均值方法,还可以根据邻居与图片距离的远近赋予不同的权值。

Database-side feature augmentation(DBA)数据库端的特征扩充,简单地说就是在数据库端使用邻居的特征来扩展图片本身的特征,其原理与QE类似。是否使用DBA,还要看数据库是否实时变化,以及同类别数据的多寡。

v2-aea3cff30ea82ba12447b4df9bc64108_b.jpg

上图展示了具体的实验效果,k是QE的近邻数,k’是DBA近邻数,可以看到,在不同数据集中效果有很大差异,总体上看,加入1个近邻后,分数都会提高,但加入更多近邻效果不一定变好,需要视同类别数据的多少而定,论文中推荐在DBA中使用较大值,在QE中使用较小值。

论文的最后还讨论了使用PCA和PQ压缩数据维度的方法。

模型效果

下表列出了该模型与之前模型的对比效果。

v2-8d5eb32287fa6fb81ebb60de2cb8d536_b.jpg
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值