1.论文介绍

这篇文章主要解决了,图像检索过程当中的突发(Burstiness)问题。在BoW模型当中,一个视觉元素在同一个图片中多次出现可能会降低匹配的质量。

2.图像检索的框架

局部特征和特征与视觉中心的对应
作者通过使用Hessian-afine 检测子来计算SIFT特征。作者在数据集Flickr上通过k-means方法学习到20k大小的视觉词典。对于新的特征,使用欧氏距离来获得这个特征属于的视觉中心。这样就会把一个特征空间分割成多个视觉中心。用 q(x)
表示特征向量 x
的视觉中心的索引。

Hamming Embedding
Hamming Embedding 提供了特征的二进制表示,并通过计算特征之间的海明距离来过滤同一个视觉中心当中距离比较远的图片。Hamming Embedding的匹配的过程如下:
对于一个特征描述子的表示s(x)
,以及特征的直觉中心表示 q(x)

vote(x,y)={votedifq(x)==q(y)andh(s(x),s(y))<ht,ht=24unvotedotherwise


上面的公式表明对于待查询的特征,对于和这个特征是同一个视觉中心的特征,他们之间的海明距离小于 ht=24
那么这个特征就会给他所在的图片投票。

加权Hamming Embedding
上述的Hamming Embedding匹配的结果当中只会有投票和不投票两种情况,但是考虑到如果相似的特征,海明距离应该会近,因此,海明距离表明特征的相似度。所以我们可以把计算的海明距离考虑进去。所以可以使用如下的关于海明距离的权重来衡量两个特征之间的相似度。

w(hd)=exp(h2dσ)


可以看出来距离越近相似度越高,可以认为是tf的一个扩展。
下面就是结合idf来获得一个特征和另一个特征之间的得分。进而来给特定的图片投票。

score(x,y)=w(h(s(x),h(s(y)))ifq(x)==q(y)×idf(q(x))2andh(s(x),s(y))ht0otherwise

弱几何校验
弱几何校验是简单的检测旋转和尺度变换。对于匹配上的特征点,会进行这一点的检测,并判断是否有旋转和尺度变换,舍弃不满足旋转和尺度变换关系的匹配点。
得分的归一化
对于上述特征点的得分(score(x,y)),会把整张图片的得分进行归一化,会除以视觉单词的出现的次数直方图的 L2
模长。

特征的多个视觉中心
在查询的过程当中,对于传统的方法,只是把一个特征归属到一个视觉中心当中。也有把一个特征归属到k近邻个视觉中心的情况。这里作者使用上文叙述得到的加权的海明距离作为查找近邻的权重,把一个查询的特征归属到多个视觉中心,然后加以权重。这个阶段只会在查询的过程当中进行。并不会再构建倒排索引的过程当中进行。

同时作者会对于查询特征和视觉中心的距离进行限制,避免把特征归属到不相关的视觉中心当中。这个限制是使用一个距离 d
和一个控制因子α

对于最近的一个视觉中心 d0
,这个特征和其他视觉中心的距离 d<αd0
的时候才把这个特征也归属到这个视觉中心当中。
作者在试验中设置 α=1.2
,在实验的过程当中,对于视觉中心的大小位20k时,可以得到平均每个特征会归属到4.3个视觉中心。

空间校验
空间校验是,通过一个二维的仿射变换矩阵来验证两个匹配的点集合之间的正确性。由于这个过程当中需要找到这个二维矩阵,复杂度很高,作者只在前200个返回结果当中,进行使用。

3.突发情况的解决

作者根据上述出现的突发情况的问题,给出三种解决方案。
第一种是除去多个匹配,第二种和第三种,是减少图片内和图片间的突发情况。

除去多个匹配
在BoF过程当中,一个特征描述符可能给同一个图片多次投票,所以这就使得投票不具有太高的质量。
为了防止这种多次匹配的点。可以限制每个特征点给图片投票的次数,每个特征点只给一张特定图片投票一次。也就是说,每个描述子不能给数据库中同一张图片多次投票,这样就可以限制多次投票。
在实际的过程当中,对于一个查询特征,找到海明距离最近的特征,然后丢弃其他所有的候选特征。也就是其他候选特征近不会进行投票了。

图片内的突发
作者统计
对于查询图片的特征, xi
表示查询图片 x
的第i
个描述子。
yb,j
表示数据库当中图片 b
的第j
个描述子。
使用 m(i,b,j)
表示第i个特征和图片b的第j个特征的得分,如果 q(x)!=q(b)
那么 m(i,b,j)=0
,如果 q(x)==q(b)
但是两者之间的海明距离大于阈值,那么 m(i,b,j)=0
,对于 m(i,b,j)0
的情况。我们统计这个查询描述子的得分。

tq(i,b)=j/q(yb,j)=q(xi)m(i,b,j)


通过变换可以得到一个匹配的最后得分:

m(i,b,j):=m(i,b,j)m(i,b,j)tq(i,b)


作者在试验的过程当中使用到了其他的变换,以此来提高得分的可靠性。

图片间的突发
对于图片之间的突发情况,可以通过使用idf来解决。idf可以减少一个特征多次出现的权重。但是这个方法并没有考虑到匹配质量和特征空间中特征的近邻关系。所以他不能应用到海明距离上面。下面做这提出来了,关于idf的扩展的一种方法:
对于一个查询特征,定义这个特征在数据库中查询得分:

tb(i)=bjm(i,b,j)


tb(i)
:表示这个特征和所有库里面的特征匹配的的得分。
符号定义见上面的公式。
更新得分:

m(i,b,j):=m(i,b,j)m(i,b,j)t(i)


这个公式对于一个特征给多个图片进行投票,进行了惩罚。看成是idf的扩展。

4.实验

4.1数据集**

4.1.1. Kentucky object recognition benchmark

这个数据集包含2550个目标。每个目标会有四个不同角度的图片表示。

4.1.2. Oxford building dataset

这个数据集从Flickr上下载,每张查询图片是一个矩形区域的建筑物。正确的结果就是包含这个建筑物的其他图片。
这个数据集进行了裁剪,变换,这个数据集只包含55个查询图片。

4.1.3.Holidays dataset

1491张风景图片,分为500个类别,每个类中的第一张图片作为查询图片。类内图片为查询相似图片。

4.1.4.大规模检索数据集

作者融合了Flickr1M的图片,作为影响集合,来测试算法的可扩展性。

4.1.5.评估方法

所有的数据集都会使用mAP的方法进行测试。
Kentucky数据集作者会使用返回结果的前四张图片的正例的平均数。

4.2.参数的影响

4.2.1Hamming Embedding 权重影响

对于Hamming Embedding 权重对于mAP的影响。
作者在实验中设置 σ=10..20
,关于mAP的变化如下图:

可以看出来,在 σ=16
的时候效果比较好。
同时作者在海明距离的阈值上面进行了实验。结果如下图:

对于传统的单一归属视觉中心,可以得到threshold=24比较好,但是对于一个特征可以归属多个视觉中心的方法,threshold=22比较好。从实验结果可以看出来,提高阈值大小获得的mAP值会急剧下降,这是因为大的阈值无法过滤一些噪声点。作者在后面的实验中选择threshold=24,可以过滤到93%的不匹配的点。

4.2.2 突发函数的影响

作者在后面的两种方法中提出了对的分进行更行的函数,这里作者给出了几种其他的更新函数。实验结果如下:

其中 N(i,b)
:表示视觉中心 q(xi)
在图片b中出现的次数。
可以看主来函数#3,#4,#5得到近似的结果。

4.3.和传统的方法比较

4.3.1BoF 方法的Baseline

如下图所示:

4.3.2海明权重和特征多归属(MA)

海明权重和特征多归属在holidays和Oxford数据集上的在mAP上有0.06的提高。
上述的两个数据集上mAP可以达到0.606比之前的只是用Hemming Embedding,MA不加权的0.493

4.3.2突发情况的结果

Kentucky数据集:得到 Ns=3.54
比另一篇文章使用contextual dissimilarity measure要低,但是,这种方法在大的数据集上只能使用非迭代的方式。而作者的方法在大的数据集上具有更好的扩展性结果是 Ns=3.40

Oxford数据集:得到的mAP=0.647比其他报告的最好结果0.493要好。
Holidays数据集:得到的mAP=0.839比其他报告的最好结果0.751要好。

大规模的数据
作者添加Flickr1M的数据集在上述三个数据集,进行实验。具体结果如下图:


可以看出来,作者提出的方法,随着数据集的增加,得到的结果下降的速度小于其他的方法。从而说明了作者提出方法的可扩展性。

On the burstiness of visual elements相关推荐

  1. QML官方系列教程——Use Case - Visual Elements In QML

    附网址:http://qt-project.org/doc/qt-5/qtquick-usecase-visual.html Use Case - Visual Elements In QML -- ...

  2. (转)双线性汇合(bilinear pooling)在细粒度图像分析及其他领域的进展综述

    本博文转载自:https://www.itcodemonkey.com/article/11427.html 细粒度图像分类旨在同一大类图像的确切子类.由于不同子类之间的视觉差异很小,而且容易受姿势. ...

  3. 双线性汇合(bilinear pooling)在细粒度图像分析及其他领域的进展综述

    作者简介: 张皓 南京大学计算机系机器学习与数据挖掘所(LAMDA) 研究方向为计算机视觉和机器学习,特别是视觉识别和深度学习 个人主页:goo.gl/N715YT 细粒度图像分类旨在同一大类图像的确 ...

  4. bilinear 神经网络_双线性汇合(bilinear pooling)在细粒度图像分析及其他领域的进展综述...

    细粒度图像分类旨在同一大类图像的确切子类.由于不同子类之间的视觉差异很小,而且容易受姿势.视角.图像中目标位置等影响,这是一个很有挑战性的任务.因此,类间差异通常比类内差异更小.双线性汇合(bilin ...

  5. 双线性汇合(bilinear pooling)在细粒度图像分析及其他领域的进展综述——SIGAI推荐

    目录 1. 数学准备 1.1 符号 1.2 数学性质 1.3 双线性 2. 双线性汇合 2.1 细粒度分类中的双线性汇合 2.2 不同阶的汇合 3. 精简双线性汇合 3.1 PCA降维 3.2 近似核 ...

  6. CVPR 2016 摘要阅读

    为了说明看过CVPR2016全部文章的摘要,总结一下,摘要只保留了创新点部分. ORAL SESSION Image Captioning and Question Answering Monday, ...

  7. CVPR 2016 全部文章摘要阅读

    为了说明看过CVPR2016全部文章的摘要,总结一下,摘要只保留了创新点部分. ORAL SESSION Image Captioning and Question Answering Monday, ...

  8. **IOS:xib文件解析(xib和storyboard的比较,一个轻量级一个重量级)

    使用Xcode做iOS项目,经常会和Xib文件打交道,因为Xib文件直观的展现出运行时视图的外观,所以上手非常容易,使用也很方便,但对于从未用纯代码写过视图的童鞋,多数对Xib的理解有些片面. Xib ...

  9. alexa技能个数_如何在您的技能中使用Alexa演示语言

    alexa技能个数 by Garrett Vargas 通过Garrett Vargas 如何在您的技能中使用Alexa演示语言 (How to use Alexa Presentation Lang ...

最新文章

  1. 谁是2020年最强Python库?年度Top10出炉
  2. C++primer 10.2.1节练习
  3. FFmpeg简易播放器的实现5-音视频同步
  4. 【总结】有三AI秋季划人脸算法组3月直播讲了哪些内容,计算机视觉你不可能绕开人脸图像...
  5. 开启MSDTC的方法
  6. iphone开机白苹果_摔过的iPhone,手机不开机、白苹果、听筒无声,多重问题一次搞定...
  7. mysql三-3:完整性约束
  8. Android之 Fragment
  9. 要求程序员加班?你就大错特错了
  10. 一步一步使用标c编写跨平台图像处理库
  11. ios识别人脸自动拍照_证件识别是指能实现拍照自动输入身份信息
  12. [PSP3000完美破~解]5.03彻底告别刷机!让3K和V3可关机
  13. A88xm-plus 主板采用Clover实现 m2 固态硬盘启动
  14. Mapabc——地图标注
  15. word刷子刷格式_Word文档中用格式刷快速编辑数据格式的方法
  16. Flutter时间日期格式化等操作(一个月的最后一天日期,时间段内所有日期...)
  17. java web play_玩转Java Web应用开发:Play框架
  18. Codeforces Round #741 (Div. 2) A. The Miracle and the Sleeper
  19. 天呐!惊人的Springboot测试.Springboot测试类之@RunWith注解
  20. jMeter性能测试之思考时间

热门文章

  1. 梁漱溟:人生的三种态度 | 合道的生活
  2. python按字母顺序排列_如何在Python中按字母顺序排列文件?
  3. 将若干字符串按照字母顺序输出
  4. Python全栈开发-Mysql知识点总结(中)
  5. Win11系统右键没有解压选项!!!???
  6. FastAPI 教程翻译 - 用户指南 26 - 安全性
  7. Gluster (一)安装
  8. 好书分享、能量传递-《软技能 代码之外的生存指南》自我营销篇
  9. linux系统安装systemback,使用systemback制作Ubuntu自定义系统镜像和系统备份(抄)...
  10. php数据统计模板,PHP如何使用Echarts生成数据统计报表