Selective Convolutional Descriptor Aggregation for Fine-Grained Image Retrieval
文章目录
选择性卷积描述符聚合用于细粒度图像检索
0 摘要
无监督式的细粒度图片检索
本文提出了选择性卷积描述符聚合(SCDA)方法:
- 定位图片中主要对象,清除背景中的噪声保留有用描述符
- 选中的描述符聚合并降维为一个短特征向量
在6个细粒度数据集上验证了SCDA的有效性。可视化特征表明它们对应于可视属性(甚至可以解释SCDA的高平均精度)。在通用图像检索数据集上,SCDA效果达到SOTA。
1 引言
提出了细粒度图像检索FGIR(无监督):给定相同物种的数据库图像并进行查询,返回与查询种类相同的图像,不借助其他监督信息。
提出选择性卷积描述聚集方法,定位主要对象提取区别特征。
贡献:
- 定位主要对象的方法,无监督式
- 降维的实践
- 视觉属性的响应
也可以当作一种迁移学习。
2 相关工作
深度学习用于图像检索
大多数图像检索方法基于局部特征(eg, SIFT)和基于这些局部特征的特征聚合策略(VLAD、FV)。CNN成功之后,图像检索也包含了深度学习,深度描述符可以用于图像检索并且取得满意效果(MOP-CNN及其他变体)。
本文的方法对卷积描述符是选择有用的并移除背景噪声,不像之前的有用的没用的都用上。通用图像检索方法对细粒度图像检索任务并不适用。
细粒度图像的任务
细粒度分类:区别特征表示方法、对齐目标、基于部分表示。都需要图像级别的标签,没有无监督式的方法。
细粒度搜索:层次式数据库(细粒度数据集+通用数据集)元类—细粒度子类
细粒度检索:单一物种图像
3 方法
3.1 预备知识
- 特征图
- 激活
- 描述符:激活的 d d d维分量向量
特征图 h × w × d h\times w\times d h×w×d的两种解读视角: d d d个大小 h × w h\times w h×w的二维图 S S S; h × w h\times w h×w个包含 d d d维向量的单元 X = { x ( i , j ) } X=\{x_{(i,j)}\} X={x(i,j)}。
3.2 选择卷积描述符
特征图的激活区域可能暗示着有语义的目标部分,但也有可能是背景噪声。即使是同一特征通道,表示的部分也可能不同,甚至是噪声。对特征通道的选择至关重要。
尽管单通道不是很有用,但多个通道在同一区域高响应,可以相信该区域是对象而非背景,聚合图
A
=
∑
n
=
1
d
S
n
A=\sum_{n=1}^dS_n
A=∑n=1dSn(也就是把特征图跨层求和,从3D压扁成2D,大小还是hw)。特定位置的激活响应越高,对应区域成为对象一部分的可能性越大。计算
A
A
A中所有位置的平均值
a
ˉ
\bar a
aˉ作为阈值,以确定哪些位置定位对象,得到掩模
M
M
M
M
i
,
j
=
{
1
,
A
i
,
j
>
a
ˉ
0
,
.
o
.
w
M_{i,j}=\begin{cases}1,A_{i,j}>\bar a\\0, .o.w\end{cases}
Mi,j={1,Ai,j>aˉ0,.o.w
(之前在看MMAL的时候,用到的方法就是这个,用的是两层的交集,也是后面3.4的内容,找到出处了)
将 M M M经过双线性插值放大到与输入图像等大,再收集 M M M的最大连通分支,得到 M ~ \tilde M M~。使用 M ~ \tilde M M~选择有意义的卷积描述符( M ~ i , j = 1 \tilde M_{i,j}=1 M~i,j=1的位置向量) F = { x ( i , j ) ∣ M ~ i , j = 1 } F=\{x_{(i,j)}|\tilde M_{i,j}=1\} F={x(i,j)∣M~i,j=1}, F F F表示选中的描述符集合。
3.3 描述符聚合
F = { x ( i , j ) ∣ M ~ i , j = 1 } F=\{x_{(i,j)}|\tilde M_{i,j}=1\} F={x(i,j)∣M~i,j=1}。编码或者池化方法:
- VLAD:k-means寻找 K K K个聚类中心, x i , j → v i , j = [ 0...0 x i , j − c k . . . 0 ] x_{i,j}\to v_{i,j}=[0...0\quad x_{i,j}-c_k\quad ...0] xi,j→vi,j=[0...0xi,j−ck...0],最终表示 ∑ i , j v i , j \sum_{i,j}v_{i,j} ∑i,jvi,j
- FV:高斯混合模型,二阶统计信息
- 池化方法(均值、最大值): p a v g = 1 N ∑ i , j x i , j p_{avg}=\frac1N\sum_{i,j}x_{i,j} pavg=N1∑i,jxi,j和 p m a x = max i , j x i , j p_{max}=\max_{i,j}x_{i,j} pmax=maxi,jxi,j。都是d维向量。
再经过 l 2 l_2 l2正则化,比较余弦相似性。全局最大池化和平均池化可实现更好的检索性能。
3.4 多层集成
将
M
~
p
o
o
l
5
\tilde M_{pool_5}
M~pool5和
M
r
e
l
u
5
_
2
M_{relu_{5\_2}}
Mrelu5_2组合在一起以获得
r
e
l
u
5
_
2
relu5\_2
relu5_2的最终掩模。首先将
M
~
p
o
o
l
5
\tilde M_{pool_5}
M~pool5上采样到
M
r
e
l
u
5
_
2
M_{relu_{5\_2}}
Mrelu5_2大小,只有当二者都是1的,该位置才被选择。我们将relu5 2和pool5的SCDA功能合并为一个表示形式,用“ SCDA +”表示:
S
C
D
A
+
←
[
S
C
D
A
p
o
o
l
5
,
α
×
S
C
D
A
r
e
l
u
5
_
2
]
SCDA^+\gets[SCDA_{pool_5},\alpha\times SCDA_{relu_{5\_2}}]
SCDA+←[SCDApool5,α×SCDArelu5_2]
α
\alpha
α是系数,之后对连接特征进行
l
2
l_2
l2归一化。
其他小改进:合并了原始图像的水平翻转的“ SCDA flip +”;合并来自更多不同层(例如pool4)的特征。检索性能略有改善,而特征维数变得很大。
4 实验
4.2 细粒度检索性能
5 结论
提出无监督的SCDA方法,效果很好、语义视觉属性、可推广到通用图像检索上。
未来方向:
- 选择深度描述符的权重来寻找目标部分
- 用于更复杂的视觉任务的预先训练模型的可能性。这是朝着
learnware
开发迈出的重要一步。