论文阅读《Meta R-CNN : Towards General Solver for Instance-level Low-shot Learning》

Meta Rcnn

本文的模型基于 Fsater/Mask Rcnn,提出了一种 PRN(Predictor-head Remodeling Network)模块。用元学习的方法对 RoI 上产生的特征图进行处理,再输入到后面的预测部分中完成预测。

RPN 模块接收包含 low-shot 物体的图像及其标注,是一个全卷积网络并与 Faster Rcnn 的特征提取模块共享权重,来产生不同类别的注意力向量(class attentive vectors)。得到的注意力向量与所有的 RoI 特征进行注意力计算,产生每个类的检测结果。

在小样本检测的任务上,传统的元学习模型往往只能识别只含单一物体的图片,不能分解复杂的信息。但是 Faster/Mask Rcnn 可以利用 RPN 检测图片中的不只一个物体,因为 RPN 产生的 RoI 只包含一个物体,就可以用来进行元学习。这也是本文的动机,将元学习与 Faster Rcnn 结合。

具体实现

网络结构

对于图像分类任务,一个元学习器 h(x_{i},D_{meta};\theta ),输入一张属于 D_{train} 的图片 x_{i} 和整个元数据集 D_{meta},这个元学习器应通过学习可以将 D_{train} 中的图片分类到 D_{meta} 的类别 C_{meta} 上。之后用 D_{novel} 取代 D_{meta},迁移其泛化能力到新数据集上,但目前为止的方法都效果不佳。对于目标检测任务,上述定义扩展为 h(\hat{z}_{i,j},D_{meta};\theta ),其中 \hat{z}_{i,j} 是 RPN 输出的特征图。

将 RPN 输出的特征图 \hat{z}_{i,j} 与 PRN 输出的注意力向量 v^{meta} 相结合,来检测新颖类别。

其中 θ 和 φ 分别为 Faster Rcnn 和 PRN 的参数(大部分都是重合的,因为共享了参数)。

PRN 模块 f(D_{meta};\phi ),整个元数据集都是其输入,元数据集包含 C_{meta} 个类,每类 K 个目标物体(数据是四维,RGB 和掩膜 mask)及标注。因此如果 C_{meta} 为 m,PRN 模块输入 m*k 个四维数据。为了减少计算负担,将输入减为224*224。在使用该模块时,首先将数据输入到与 Faster Rcnn 共享参数的 backbone 里(即图中 shared 连接的两部分),增设一个通道域的软注意力层计算来产生 object attentive vector。该软注意力层先使用空间池化操作将物体特征图与 RoI 对齐,之后对特征图进行 element-wise sigmoid 操作来得到 object attentive vector。再将这 m*k 个 object attentive vector 中同一类的向量使用平均池化得到 class attentive vectors。

将产生的 class attentive vectors 与 RPN 输出的特征图进行通道域点乘(Channel-wise product,见附录。但是这里好像指的还是 element-wise sigmoid ?)再喂到后面 Faster Rcnn 的检测模块里面,完成类别预测和位置回归。

损失函数

使用交叉熵损失函数来惩罚 object attentive vectors 对类别预测的偏差 L(\O)_{meta},见下表 Ablation(2),分别为 without 和 with。

类别和位置损失和 Faster Rcnn 中保持一致,其中 λ 表示是否了激活分割分支:

训练策略

分为两阶段元训练和元测试,在元训练阶段只考虑基类的数据来构建 D_{meta} 和 D_{train},如果图像中出现新颖类别的物体则忽略,且当训练图片改变时,C_{meta} 和 D_{meta} 也要跟着改变。将基类数据同时输入 D_{meta} 和 D_{train},使 PRN 和 Faster Rcnn 同时对同一类别的数据计算损失函数,学习表征。训练策略如下图:

元测试阶段则基类和新颖类中的物体都要考虑,即 C_{meta}=C_{base}\cup C_{novel} 。这是因为包含 unknown objects 的测试图像中的可能涵盖所有可能的类别。PRN 接收所有类别的 K-shot 目标,生成对应 class attentive vectors。用 object attentive vectors 来替代 class attentive vectors 来与 RPN 的特征图进行 Channel-wise product 计算,输入 Faster Rcnn 检测模块完成推理。

 

实验结果

对比了在 PASCAL VOC 和 MS COCO 这两个数据集上的四个 baseline:

  • FRCN+joint。使用基类和新颖类数据一起训练 Faster Rcnn。
  • FRCN+ft。第一阶段使用基类训练,第二阶段使用新颖类微调。且这两个阶段与本文模型的两个训练阶段迭代次数相同。
  • FRCN+ft-full。第一阶段使用基类训练,第二阶段使用新颖类微调。但第二阶段训练至完全收敛。
  • YOLO-Low-shot。采用 YOLOv2,也采用元学习的方法。只不过是在整张图像上,而是不像 Meta Rcnn 那样在 RoI 上使用元学习的策略。

一些消融实验:

PASCAL VOC

Table 3. 是 Table 1. 中 Setup 1 的各类别详细数据。FRCN+joint 在基类的检测中达到了 SOTA,但是在新颖类别上的精度太低。类别不均衡是导致这种现象的原因,并且新颖类别数据过少使得其在新颖类别上的泛化能力大打折扣。同时 Meta Rcnn 的 mAP 最高,表明 Meta R-CNN 没有牺牲整体性能来进行小样本学习。

MS COCO

COCO 数据集上的任务更具有挑战性,因为其包含更复杂的情况,如遮挡,模糊和小物体。

附录

  • Channel-wise product。网上查到的资料也不多,只能到时看代码再理解。

倒是查到了一些 Channel-wise Attention 的内容,论文《SCA-CNN: Spatial and Channel-wise Attention in Convolutional Networks for Image Captioning》里的图:

图中 channel wise attention 就会使得提取到物体特征的 feature map 的权重加大,这样最后output结果就会准确不少。

前面 channel wise attention 只会关注到图像的一个小部分,而 spatial attention 的作用为关键部分配更大的权重,让模型的注意力更集中于这部分内容。spatial attention 是以特征图的每个像素点为单位,对特征图的每个像素点都配一个权重值,因此这个权重值应该是一个矩阵,大小是图片的大小;channel wise attention 则是以特征图为单位,对每个 channel 都配一个权重值,因此这个权重值应该是一个向量。

简单点来说,channel wise attention是在回答“是什么”,而spatial attention是在回答“在哪儿”。

而之所以使用 multi-layers 的原因是底层网络提取到的更多是底层的细节,而高层网络才能提取到全局的语义信息,那么只有低层 kernel 提取到更多物体边缘特征,高层才能更好地抽象出帅哥来。如果只在最后一个卷积层做 attention,其特征图的感受野已经很大了(几乎覆盖整张图像),那么特征图之间的差异就比较小,不可避免地限制了 attention 的效果,所以对 multi-layer 的特征图做 attention 是非常有必要的。参考:深入理解注意力机制 - 知乎

  • 上文字体加粗带问号的地方需要从代码中寻找解释。
  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Faster R-CNN是一种基于区域建议网络(Region Proposal Networks,RPN)的物体检测算法,旨在实现实时物体检测。它通过预测每个区域是否含有物体来生成候选框,并使用卷积神经网络(CNN)来确定候选框中的物体类别。Faster R-CNN在提高检测精度的同时,也显著提高了检测速度。 ### 回答2: 在计算机视觉领域中,目标检测一直是热门研究的方向之一。近年来,基于深度学习的目标检测方法已经取得了显著的进展,并且在许多实际应用中得到了广泛的应用。其中,Faster R-CNN 是一种基于区域建议网络(Region Proposal Networks,RPN)的目标检测方法,在检测准确率和速度之间取得了很好的平衡,能够实现实时目标检测。 Faster R-CNN 的基本框架由两个模块组成:区域建议网络(RPN)和检测模块。RPN 主要负责生成候选目标框,而检测模块则利用这些候选框完成目标检测任务。具体来说,RPN 首先在原始图像上以多个尺度的滑动窗口为基础,使用卷积网络获取特征图。然后,在特征图上应用一个小型网络来预测每个位置是否存在目标,以及每个位置的目标边界框的坐标偏移量。最终,RPN 根据预测得分和位置偏移量来选择一部分具有潜在对象的区域,然后将这些区域作为候选框送入检测模块。 检测模块的主要任务是使用候选框来检测图像中的目标类别和位置。具体来说,该模块首先通过将每个候选框映射回原始图像并使用 RoI Pooling 算法来获取固定大小的特征向量。然后,使用全连接神经网络对这些特征向量进行分类和回归,以获得每个框的目标类别和精确位置。 相比于传统的目标检测方法,Faster R-CNN 具有以下优点:首先,通过使用 RPN 可以自动生成候选框,避免了手动设计和选择的过程;其次,通过共享卷积网络可以大大减少计算量,提高效率;最后,Faster R-CNN 在准确率和速度之间取得了很好的平衡,可以实现实时目标检测。 总之,Faster R-CNN 是一种高效、准确的目标检测方法,是深度学习在计算机视觉领域中的重要应用之一。在未来,随着计算机视觉技术的进一步发展,Faster R-CNN 这类基于深度学习的目标检测方法将会得到更广泛的应用。 ### 回答3: Faster R-CNN是一种结合了深度学习和传统目标检测算法的新型目标检测方法,旨在提高目标检测速度和准确率。Faster R-CNN采用了Region Proposal Network(RPN)来生成候选区域,并通过R-CNN网络对候选区域进行分类和定位。 RPN是一种全卷积神经网络,用于在图像中生成潜在的候选区域。RPN通常在卷积特征图上滑动,对每个位置预测k个候选区域和其对应的置信度得分。这样,对于输入图像,在不同大小和宽高比的Anchor上预测候选框,可以在计算上更有效率。 R-CNN网络利用卷积特征图作为输入,对RPN生成的候选区域进行分类和精确定位。与以前的目标检测方法相比,Faster R-CNN使用了共享卷积特征,使得整个检测网络可以端到端地进行训练和优化,缩短了训练时间,同时也更便于理解和改进。 Faster R-CNN不仅具有较高的准确性,还具有较快的检测速度。在各种基准测试中,Faster R-CNN与其他目标检测算法相比,都取得了优异的性能表现。总之,Faster R-CNN将目标检测引入了一个新的阶段,为实时目标检测提供了一个良好的基础。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值