Abstract
CNN能够提取出有效的特征描述子来表示图像,但是对于compatible with geometry-aware re-ranking 几何感知重排序方法。预训练得到的特征属于短向量表示,这样的模型传统的图像搜索系统性能较好。
本文重新回顾了检索过程,初始搜索和重排序,使用的都是CNN中得到的原始信息。
本文构建了紧致的特征向量,用这些向量来编码图像区域,在这个过程中不需要重复将图像送入网络中。
另外,利用积分图像来解决卷积层激励的max-pooling,更有效地定位物体位置。
定位得到的bounding box 用于图像的重排序。
本文显著提升了CNN-based 识别性能,在Oxford5k and Paris6k datasets结果表现较好。
Introduction
很多的 state-of-the-art 方法都是基于BOW,主要是因为BoW具有局部不变性的特征以及large视觉词汇。
这些方法包含两个过程:
- initial filtering stage :根据相似度对图像数据集排序
- improve
- incorporating weak geometric information
- compact approximations of the local descriptors
- learning smart codebooks
- improve
- re-ranking stage:进一步细化排序
- Geometric matching models 几何匹配模型
- query expansion
不仅仅是分类,图像检索也使用CNN特征或者CNN中间层的特征。
基于全连接层或者卷积层构建全局或者局部特征。
CNN-based 特征有时比预训练的CNN效果还要好。
主要问题:但是有些方法并没有重排序过程中使用到的几何感知模型。
本文:
- 根据卷积层激励提出一个紧致图像表示,不需要重复输入图像到网络中。在初始检索以及重排序中都使用图像的原始表示。就是说,CNN表示的特征向量用在这俩个过程中。
- 使用了积分图像来近似max-pooling,用于物体定位
- 定位的方法用于图像重排序,定义了查询扩张QE方法
related work
CNN based representation
CNN的全连接层的特征可以用于很多的场景中,比如场景识别,物体检测,语义分割等,对于图像检索,全连接层用于构建全局描述子(一般会有降维)。全连接层特征作为区域描述子和图像集合描述子直接进行比较,或者将全连接层表示成VLAD向量然后再进行比较。
从卷积层提取的特征比全连接层的特征在特定物体和场景检测中有更好的效果。
有结果显示当图像表示经过白化之后,sum-pooling 效果比 max-pooling 好,但是sum-pooling仍然不是最佳选择,Kalantidis 等人提出了 spatial and feature channel weighting,大大提高了性能。
总结:
- 两种特征:卷积层特征、全连接层特征
- 两种池化方式:sum-pooling > max-pooling,但是sum-pooling仍然不是最优
Localization
滑动窗口原则用于物体定位,但是窗口会有很多,使用积分图像的方法来解决,积分图像适用于通过 sum-pooling 操作得到的特征向量。
Efficient Subwindow Search (ESS) 是一种全局优化方案,使用分支定界搜索避免大量的搜索操作,使用到了积分图像。
使用积分图像是因为对于图像特征执行了 sum-pooling 操作。
本文中使用了积分图像对 CNN激励(不是对整个图像)执行max-pooling操作。
有些工作的定位操作是独立的,本文提出的定位方法是基于初始搜索中使用到的特征表示。
Background - MAC
the feature vector constructed by a spatial max-pooling over all locations,没有位置信息。具有平移不变性(因为对卷积filters执行了max-pooling)
考虑的是最后一层卷积层。
No crop or change of aspect ratio is required 不需要对图像进行裁剪或者长宽比变化
Encoding regions into short vectors
region feature vector
region:是指将MAC的范围缩小了,还是spatial 操作,包含有K个channel,形成多个 K 维的向量。
region feature vector 能够覆盖更多的图像区域,因为有很多的可接受域。
R-MAC:regional maximum activation of convolutions
本文提出的 区域结构 是基于CNN特征映射,不是基于原始图像。
sample square regions at L different scales, 在L个不同的尺度上进行采样。均匀采样,区域重叠率为 40%。
m: number of regions
在尺度
l
l
中均匀采样
l×(l+m−1)
l
×
(
l
+
m
−
1
)
个 宽度为
2min(W,H)/(l+1)
2
m
i
n
(
W
,
H
)
/
(
l
+
1
)
的区域
- 获得区域之后,计算每个区域的特征向量
- 执行 l2-normalization, PCA-whitening and l2-normalization
- combine the collection of regional feature vectors into a single image vector by summing them and l2-normalizing in the end.
This choice keeps the dimensionality low which is equal to the number of feature channels.
However, we show in our experiments that the resulting representation, referred to as R-MAC, offers a significant better performance than the corresponding MAC with same dimensionality.
Note, the aggregation of the region vectors can be seen as a simple kernel that cross matches all possible regions, including across different scale.
object localization
使用积分图像近似max-pooling,进而对物体进行定位
Approximate integral max-pooling
- construct the integral image of the 2D tensor whose value at position
p
p
is equal to
χi(p)α,p∈R
χ
i
(
p
)
α
,
p
∈
R
可以使用积分图像了,仅仅通过四项就可以得到求和。进而近似这个区域的最大值,进而得到所有channel的这个区域的最大值,进而得到R-MAC
window detection
q 是相应查询图像 Q 的MAC特征向量。计算选择的每个区域的MAC与待查询单个物体的MAC的相似度。
将相似度最大的区域映射回原始图像中,精度为 (WWI,HHI) ( W W I , H H I ) ,所以区域大小不同,精度也不同,提供的是一个粗略的定位(在原始图像中定位Q中出现的物体的位置)
相似度计算的时候,没有考虑到图像 I I 中所有的视觉内容, 所以免受背景杂斑(background clutter)的影响。
暴力求解optimal region 需要大量的计算,区域的数量量级在 O(W2H2) O ( W 2 H 2 )
AML: approximate max-pooling localization.
- 对区域的数量进行限制,使用启发式方法细化最优的区域。
- 候选区域是通过 t 次搜索均匀采样得到。
- 如果区域的长宽比例大于 s, 则将这个区域舍弃。
- 细化最优区域的参数是使用坐标下降的方式。- 启发式方式,允许最多 3 个units 的变化
- refinement process 细化过程被重复 5 次
Retrieval, location and re-ranking
initial retrieval
对所有的数据图像计算他们的MAC或者R-MAC特征向量,对查询图像提取同样的特征向量,在 filtering stage,使用cosine 距离计算相似度,得到初始搜索结果。
Re-ranking
spatial verification with local features.
从初始检索中,得到了top-N个排序图像,将AML作用到成对的查询图像和图像集。
查询图像被表示成 MAC 向量,因为在 AML 中会使用到,图像集合中的图像有
χ
χ
表示。
对于每个重排序图像,根据与查询图像最为相似的区域,得到一个相似分数。由此也可以进行一个粗略的定位(在原始图像中定位Q中出现的物体的位置)
remarks:
filtering stage: whitened MAC or R-MAC,定位过程使用了经过 l2-normalized MAC 之后计算得到的相似度
一旦查询物体被定位了,然后,查询区域和检测到的区域之间的相似度通过 whitened MAC or R-MAC 计算得到, 依赖于 选择的 filtering method。
相似分数被用于重排序。
区域特征仅在查询过程中构建,可以根据积分图像的方法得到。
query expansion
重排序得到了 top ranked 的位置, 然后,收集 5 个 top-ranked 图像, 将它们和查询图像融合,计算平均值,之后,利用得到的平均值再次进行重排序,得到 top N个图像。
Implementation details
实验中发现将
χ
χ
的阈值设为大于128,以及将每个值映射到与其相近的小于其的整数(floor operation) 损失不是很明显。
所以可以计算
αth
α
t
h
power with a lookup table 并且加速构建积分图像。
通过在相同的 lookup table 上执行二分法来近似
αth
α
t
h
root
通过
χ
χ
得到的相应映射是稀疏的,通过将响应量化到8个值中减少存储开销。这样以来,更多的元素会映射到相同的值。所以,使用差分编码 delta coding 存储非零值的位置,每个非零元素仅仅 1 byte。
一个 1024 * 768 的图像对应于 30 * 22 特征通道响应映射
最终,需要 32kB 存储一幅图像。
在重排序的时候,每次构建一个积分图像 at a time,使用 双精度 来表示积分图像中的元素。
Experiments
Experimental setup
- datasets
- Oxford Buildings
- Paris dataset
- Oxford105k
- Paris106k
- 使用mAP
- localization accuracy: bounding boxes
- PCA learn on Paris6k and test on Oxford5k and vice versa 反之亦然
- pre-CNN
- AlexNet
- VGG16
- extracted representation from the last pooling layer
- 256 feature channels for AlexNet
- 512 feature channels for VGG16.
Localization accuracy
- first,perform exhaustive search 穷举搜索 to detect the globally optimal window.
- then,使用本文提出的方法得到少量的区域,对最好的一个进行细化。
provide a large speed-up while maintaining a high overlap with the optimal detection
evaluate the localization accuracy
- cross-match all 5 query images that exist per building
- Exhaustive evaluation achieves an IoU equal to 52.6% (52.9%) and the speeded-up approach achieves 51.3% (51.4%) on Oxford5k (Paris6k) datasets
Retrieval and re-ranking
- The MAC vectors are l2-normalized, PCA-whitened and l2-normalized once more
- original image size (1024) provides higher performance
- In order to decompose the components of R-MAC, we construct R-MAC by aggregating only regions of l=3 l = 3 .
- l 不同得到的mAP不同