论文:Zero-Annotation Object Detection with Web Knowledge Transfer
地址:https://arxiv.org/abs/1711.05954
一、简介
这是ECCV2018上面的一篇论文。通过 web 知识迁移实现零标注的对象检测问题,作者提出一种对象检测方法,通过获取web图片,在目标任务上不需要任何的人为标注。为了进行有效的从web图片上的知识迁移,作者提出一个多实例多标签的域适应学习框架。
图一:多实例多标签的域适应学习框架
 |
整个多实例多标签域适应框架如上图所示,首先基于给定数据类别集, 通过自动检索方法去获取web图片[6,9,35,26]。整个框架可以分为以下三个主要部分:
- 使用web图片训练一个a weakly supervised detection(WSD) detection 模型。
- 使用instance-level domain adaptation (DA) 流去最小化instance-level特征差异。
- 通过迁移 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)。
图二:三个分支结构
 |
值得注意的是,学习到的特征会根据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)
蓝色部分,学习到的特征经过两个全连接层,分别得到两个分数矩阵 Scls、Sloc∈Rm×C, 然后再进行softmax操作:
pi,ccls=∑k=1Cesi,kclsesi,ccls,pi,cloc=∑k=1mesk,clocesi,cloc
使用element-wise相乘的方式和并两个分支:
pi,c=pi,ccls⋅pi,cloc
然后通过求和得到image-level的类别预测概率:
pc=i=1∑mpi,c
最终使用多类交叉熵为 loss :
LWSD=−c=1∑C[y(c)log(pc)+(1−y(c))log(1−pc)]
y(c)∈{0,1} 表示图像中类别 c 的标签。
因为在目标域没有任何的标签,所以loss的optimize 仅在 web 图片上训练。
具体每一步的作用和原因,请看:我的论文笔记:论文笔记:Weakly Supervised Deep Detection Networks(WSSDN)
2.2 Instance-level adversarial domain adaptation
图三:DA 流的细节
 |
使用全连接层 fcd去分类特征 xi(第 i 行)来自哪一个类, 得到yit∈{0,1},如果 yit=0,说明特征来自web图片,否则来自目标域。
对应的对抗 loss 可以写为:
ϕfwminϕfcdmaxEx∼Dt[log(pt)]+Ex∼Dw[log(1−pt)]
Ex∼Dt[log(pt)]=i∑1[yit=1]log(pit)
Ex∼Dw[log(1−pt)]=i∑1[yit=0]log(1−pit)
其中 ϕfw 代表特征学习器的参数,ϕfcd 代表判别器 fcd 判别器的参数。
这个minmax域对抗loss是用交替迭代的方式来优化的,主要分为两个步骤:
- 最大化loss,更新参数ϕfcd 以至于判别器可以分清特征来自哪个域
- 固定ϕfcd ,最小化loss,更新参数 ϕfw 来混淆特征。
不像已经在图像分类领域的域适应方法,仅仅对齐image-level的特征,而本文对齐instance-level的特征,所以作者提出前景目标注意力机制。如图三所示前景目标注意力机制使用来自WSD流的检测分数,计算前景目标概率 pif ( ∑c=1∞pi,c, 区域 i 的所有类别分数和),然后再经过一个softmax层。目的是为了发现最有可能存在目标的区域,将 pf 与 minimax loss结合得到:
ϕfwminϕfcdmaxEx∼Dt[pf⋅log(pt)]+Ex∼Dw[pf⋅log(1−pt)]
2.3 Simultaneous transfer(ST) by pseudo supervision
前面有说到,域适应减小了目标域和源域整体的特征差异,得到域不变的特征表示。所以DA流最终可能会使得特征无法判别,因此作者保存了不同类别的语义结构信息。
图四:ST 流的细节
 |
作者使用来自WSD得到的 伪标签 作为监督学习来保存类结构信息,甚至加强特征的判别能力。
从WSD流得到检测分数pi,c,选择每个目标类的最高分数区域,标记为:ic=argmaxipi,c。设置一个阈值 t 来决定一个图片中一个类是否出现,如果pi,c>t 代表对应的区域 ic 被选为伪ground truth boxes,随机选择一些背景样本作为其他的bounding boxes。
loss 为:
LST=−i∈P∑c=0∑C1[yiST=c]log(pi,cST)
这里 yST∈{0,1,2,...C}, 0代表背景标签,P 是选择区域的集合。pi,cST 是来自全连接层 fct 之后的 softmax 类别概率输出。
三、实验
数据集:
- 源数据:web 图片
- 目标数据:PASCAL VOC 2007 and 2012
Baseline and upper-bound

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

结果中可以看到“WSD+DA”反而使性能有轻微的下降,这个在前面DA实现有讨论过。作者说DA有可能将具有相似外貌的目标类混淆,比如vehicle 和 animal ????,而如完全不同的类 TV monitor 可以看出DA的贡献。
从Table2和Table3也可以看出,ST流对性能有着显著的提高,注意到这里用了多个ST流,灵感来自与 Multiple instance detection network with online instance classifier refinement ,使用多个ST流,生成多次伪标签来refinement 保存的类别语义信息。

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