论文笔记:Selective Convolutional Descriptor Aggregation for Fine-Grained Image Retrieval

本文提出了一种无监督的细粒度图像检索方法——选择性卷积描述符聚合(SCDA),通过定位主要对象并清除背景噪声来提取有用特征。SCDA在多个细粒度数据集上表现出色,同时其特征对应于可视属性。该方法包括选择性地选择和聚合卷积描述符,并通过多层集成提高性能。实验结果证明了SCDA在细粒度检索任务上的有效性,并且可以应用于通用图像检索。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Selective Convolutional Descriptor Aggregation for Fine-Grained Image Retrieval

选择性卷积描述符聚合用于细粒度图像检索

0 摘要

无监督式的细粒度图片检索

本文提出了选择性卷积描述符聚合(SCDA)方法:

  1. 定位图片中主要对象,清除背景中的噪声保留有用描述符
  2. 选中的描述符聚合并降维为一个短特征向量

在6个细粒度数据集上验证了SCDA的有效性。可视化特征表明它们对应于可视属性(甚至可以解释SCDA的高平均精度)。在通用图像检索数据集上,SCDA效果达到SOTA。

1 引言

提出了细粒度图像检索FGIR(无监督):给定相同物种的数据库图像并进行查询,返回与查询种类相同的图像,不借助其他监督信息。

提出选择性卷积描述聚集方法,定位主要对象提取区别特征。

贡献:

  1. 定位主要对象的方法,无监督式
  2. 降维的实践
  3. 视觉属性的响应

也可以当作一种迁移学习。

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,jvi,j=[0...0xi,jck...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=N1i,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归一化。

image-20210116162708403

其他小改进:合并了原始图像的水平翻转的“ SCDA flip +”;合并来自更多不同层(例如pool4)的特征。检索性能略有改善,而特征维数变得很大。

4 实验

4.2 细粒度检索性能

image-20210116162053012

5 结论

提出无监督的SCDA方法,效果很好、语义视觉属性、可推广到通用图像检索上。

未来方向:

  1. 选择深度描述符的权重来寻找目标部分
  2. 用于更复杂的视觉任务的预先训练模型的可能性。这是朝着learnware开发迈出的重要一步。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值