论文:Zero-Annotation Object Detection with Web Knowledge Transfer

地址:https://arxiv.org/abs/1711.05954

一、简介

这是ECCV2018上面的一篇论文。通过 web 知识迁移实现零标注的对象检测问题,作者提出一种对象检测方法,通过获取web图片,在目标任务上不需要任何的人为标注。为了进行有效的从web图片上的知识迁移,作者提出一个多实例多标签的域适应学习框架。

图一:多实例多标签的域适应学习框架
论文笔记:Zero-Annotation Object Detection with Web Knowledge Transfer

整个多实例多标签域适应框架如上图所示,首先基于给定数据类别集, 通过自动检索方法去获取web图片[6,9,35,26]。整个框架可以分为以下三个主要部分:

  1. 使用web图片训练一个a weakly supervised detection(WSD) detection 模型。
  2. 使用instance-level domain adaptation (DA) 流去最小化instance-level特征差异。
  3. 通过迁移 WSD 得到的detection 模型,来使用 simultaneous transfer (ST) 流去判别无监督目标样本。

直接用web图片训练得到的WSD detection 是一个最简单的baseline 模型,如果把它直接应用在目标任务中,会得到非常差的结果。主要是因为没有考虑到web图片与目标任务的域差异问题,为了解决这一问题,作者提出使用对抗网络来解决instance-level domain adaptation (DA) 问题,主要包含两个组件,一个是域判别器,用来判别对象特征来自web图片还是目标域。另一个是特征生成器使得源域和目标域特征对齐,以至于域判别器无法分清特征来着哪个域。除此之外,作者还提出了一个创造性的组件:前景目标注意力机制(attention on foreground objects),该机制强调目标区域的迁移,抑制背景区域的迁移。然而Instance-level domain adaption 却带来一个新的问题,因为没有具体类别的约束,特征生成器生成的特征忽略了不同目标类别的语义信息。什么意思呢?就是它不仅将来自不同领域的特征一起带到同一个区域,而且还混合了来自不同类别的子流形,比如 web 图片的中的“牛”与目标域中的“羊”特征混淆在了一起。所以为了解决这个问题,作者提出了同时学习具体类别的假标签去保存类别的语义结构(simultaneous transfer, ST)。

二、方法

这一部分我将仔细介绍作者提出的几个重要的组件。首先看看在特征学习之后,网络分成三个分支流,分别对应WSD(in blue)、DA(in yellow)、ST(in purple)。

图二:三个分支结构
论文笔记:Zero-Annotation Object Detection with Web Knowledge Transfer

值得注意的是,学习到的特征会根据region proposal 取不同的特征,通过spp layer得到一个统一的维度 d, 然后将 R 个region特征连接在一起,才得到上图最左边的proposal feature learning 特征,最后得到的特征维度为 R*d。

2.1 Weakly supervised detection(WSD) trained on web images

使用 web 图片去进行WSD,作者使用了 WSDDN 方法,对应的论文笔记:论文笔记:Weakly Supervised Deep Detection Networks(WSSDN)

蓝色部分,学习到的特征经过两个全连接层,分别得到两个分数矩阵 SclsSlocRm×CS^{cls} 、S ^ { l o c } \in \mathbb { R } ^ { m \times C }, 然后再进行softmax操作:

pi,ccls=esi,cclsk=1Cesi,kcls,pi,cloc=esi,clock=1mesk,cloc p _ { i , c } ^ { c l s } = \frac { e ^ { s _ { i , c } ^ { c l s } } } { \sum _ { k = 1 } ^ { C } e ^ { s _ { i , k } ^ { c l s } } } , \quad p _ { i , c } ^ { l o c } = \frac { e ^ { s _ { i , c } ^ { l o c } } } { \sum _ { k = 1 } ^ { m } e ^ { s _ { k , c } ^ { l o c } } }

使用element-wise相乘的方式和并两个分支:

pi,c=pi,cclspi,cloc p _ { i , c } = p _ { i , c } ^ { c l s } \cdot p _ { i , c } ^ { l o c }

然后通过求和得到image-level的类别预测概率:

pc=i=1mpi,c p _ { c } = \sum _ { i = 1 } ^ { m } p _ { i , c }

最终使用多类交叉熵为 loss :

LWSD=c=1C[y(c)log(pc)+(1y(c))log(1pc)] L _ { W S D } = - \sum _ { c = 1 } ^ { C } \left[ y ( c ) \log \left( p _ { c } \right) + ( 1 - y ( c ) ) \log \left( 1 - p _ { c } \right) \right]

y(c){0,1}y(c) \in \{0, 1\} 表示图像中类别 c 的标签。

因为在目标域没有任何的标签,所以loss的optimize 仅在 web 图片上训练。

具体每一步的作用和原因,请看:我的论文笔记:论文笔记:Weakly Supervised Deep Detection Networks(WSSDN)

2.2 Instance-level adversarial domain adaptation

图三:DA 流的细节
论文笔记:Zero-Annotation Object Detection with Web Knowledge Transfer

使用全连接层 fcdfc_d去分类特征 xix_i(第 i 行)来自哪一个类, 得到yit{0,1}y_i^t \in \{0, 1\},如果 yit=0y_i^t = 0,说明特征来自web图片,否则来自目标域。

对应的对抗 loss 可以写为:

minϕfwmaxϕfcdExDt[log(pt)]+ExDw[log(1pt)] \min _ { \phi _ { f } ^ { w } } \max _ { \phi _ { f c _ { d } } } \mathbb { E } _ { x \sim D ^ { t } } \left[ \log \left( p ^ { t } \right) \right] + \mathbb { E } _ { x \sim D ^ { w } } \left[ \log \left( 1 - p ^ { t } \right) \right]

ExDt[log(pt)]=i1[yit=1]log(pit) \mathbb { E } _ { x \sim D ^ { t } } \left[ \log \left( p ^ { t } \right) \right] = \sum _ { i } \mathbb { 1 } \left[ y _ { i } ^ { t } = 1 \right] \log \left( p _ { i } ^ { t } \right)

ExDw[log(1pt)]=i1[yit=0]log(1pit) \mathbb { E } _ { x \sim D ^ { w } } \left[ \log \left( 1 - p ^ { t } \right) \right] = \sum _ { i } \mathbb { 1 } \left[ y _ { i } ^ { t } = 0 \right] \log \left( 1 - p _ { i } ^ { t } \right)

其中 ϕfw\phi _ { f } ^ { w } 代表特征学习器的参数,ϕfcd\phi_{f c _ { d }} 代表判别器 fcdfc_d 判别器的参数。

这个minmax域对抗loss是用交替迭代的方式来优化的,主要分为两个步骤:

  1. 最大化loss,更新参数ϕfcd\phi_{f c _ { d }} 以至于判别器可以分清特征来自哪个域
  2. 固定ϕfcd\phi_{f c _ { d }} ,最小化loss,更新参数 ϕfw\phi _ { f } ^ { w } 来混淆特征。

不像已经在图像分类领域的域适应方法,仅仅对齐image-level的特征,而本文对齐instance-level的特征,所以作者提出前景目标注意力机制。如图三所示前景目标注意力机制使用来自WSD流的检测分数,计算前景目标概率 pifp_i^f ( c=1pi,c\sum _ { c = 1 } ^ { \infty } p _ { i , c }, 区域 i 的所有类别分数和),然后再经过一个softmax层。目的是为了发现最有可能存在目标的区域,将 pfp^f 与 minimax loss结合得到:

minϕfwmaxϕfcdExDt[pflog(pt)]+ExDw[pflog(1pt)] \min _ { \phi _ { f } ^ { w } } \max _ { \phi _ { f c _ { d } } } \mathbb { E } _ { x \sim D ^ { t } } \left[ p ^ { f } \cdot \log \left( p ^ { t } \right) \right] + \mathbb { E } _ { x \sim D ^ { w } } \left[ p ^ { f } \cdot \log \left( 1 - p ^ { t } \right) \right]

2.3 Simultaneous transfer(ST) by pseudo supervision

前面有说到,域适应减小了目标域和源域整体的特征差异,得到域不变的特征表示。所以DA流最终可能会使得特征无法判别,因此作者保存了不同类别的语义结构信息。

图四:ST 流的细节
论文笔记:Zero-Annotation Object Detection with Web Knowledge Transfer

作者使用来自WSD得到的 伪标签 作为监督学习来保存类结构信息,甚至加强特征的判别能力。

从WSD流得到检测分数pi,cp_{i, c},选择每个目标类的最高分数区域,标记为:ic=argmaxipi,ci _ { c } = \operatorname { argmax } _ { i } p _ { i , c }。设置一个阈值 t 来决定一个图片中一个类是否出现,如果pi,c>tp_{i, c} > t 代表对应的区域 ici_c 被选为伪ground truth boxes,随机选择一些背景样本作为其他的bounding boxes。

loss 为:

LST=iPc=0C1[yiST=c]log(pi,cST) L _ { S T } = - \sum _ { i \in P } \sum _ { c = 0 } ^ { C } \mathbb { 1 } \left[ y _ { i } ^ { S T } = c \right] \log \left( p _ { i , c } ^ { S T } \right)

这里 yST{0,1,2,...C}y^{ST} \in \{0, 1, 2, ...C\}, 0代表背景标签,P 是选择区域的集合。pi,cSTp_{i, c}^{ST} 是来自全连接层 fctfc_t 之后的 softmax 类别概率输出。

三、实验

数据集:

  • 源数据:web 图片
  • 目标数据:PASCAL VOC 2007 and 2012

Baseline and upper-bound

论文笔记:Zero-Annotation Object Detection with Web Knowledge Transfer

使用了两个网络VGG_M 和 VGG_16,使用web图片进行WSD,得到 baseline ,使用VOC数据集的image-level标签作为上限。

结果分析

论文笔记:Zero-Annotation Object Detection with Web Knowledge Transfer
结果中可以看到“WSD+DA”反而使性能有轻微的下降,这个在前面DA实现有讨论过。作者说DA有可能将具有相似外貌的目标类混淆,比如vehicle 和 animal ????,而如完全不同的类 TV monitor 可以看出DA的贡献。

从Table2和Table3也可以看出,ST流对性能有着显著的提高,注意到这里用了多个ST流,灵感来自与 Multiple instance detection network with online instance classifier refinement ,使用多个ST流,生成多次伪标签来refinement 保存的类别语义信息。

论文笔记:Zero-Annotation Object Detection with Web Knowledge Transfer
作者进行了Ablation experiments,都能看出DA、ST、前景注意力机制FA的作用。同时还与传统的WSD方法进行比较,证明了该方法在目标数据没有标签的情况下,也能达到WSD的效果。

相关文章: