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

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

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

一、简介

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

图一:多实例多标签的域适应学习框架

整个多实例多标签域适应框架如上图所示,首先基于给定数据类别集, 通过自动检索方法去获取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)。

图二:三个分支结构

值得注意的是,学习到的特征会根据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)

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

p i , c c l s = e s i , c c l s ∑ k = 1 C e s i , k c l s , p i , c l o c = e s i , c l o c ∑ k = 1 m e s k , c l o c 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 } } } pi,ccls=k=1Cesi,kclsesi,ccls,pi,cloc=k=1mesk,clocesi,cloc

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

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

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

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

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

L W S D = − ∑ c = 1 C [ y ( c ) log ⁡ ( p c ) + ( 1 − y ( c ) ) log ⁡ ( 1 − p c ) ] 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] LWSD=c=1C[y(c)log(pc)+(1y(c))log(1pc)]

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

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

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

2.2 Instance-level adversarial domain adaptation

图三:DA 流的细节

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

对应的对抗 loss 可以写为:

min ⁡ ϕ f w max ⁡ ϕ f c d E x ∼ D t [ log ⁡ ( p t ) ] + E x ∼ D w [ log ⁡ ( 1 − p t ) ] \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] ϕfwminϕfcdmaxExDt[log(pt)]+ExDw[log(1pt)]

E x ∼ D t [ log ⁡ ( p t ) ] = ∑ i 1 [ y i t = 1 ] log ⁡ ( p i t ) \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) ExDt[log(pt)]=i1[yit=1]log(pit)

E x ∼ D w [ log ⁡ ( 1 − p t ) ] = ∑ i 1 [ y i t = 0 ] log ⁡ ( 1 − p i t ) \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) ExDw[log(1pt)]=i1[yit=0]log(1pit)

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

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

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

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

min ⁡ ϕ f w max ⁡ ϕ f c d E x ∼ D t [ p f ⋅ log ⁡ ( p t ) ] + E x ∼ D w [ p f ⋅ log ⁡ ( 1 − p t ) ] \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] ϕfwminϕfcdmaxExDt[pflog(pt)]+ExDw[pflog(1pt)]

2.3 Simultaneous transfer(ST) by pseudo supervision

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

图四:ST 流的细节

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

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

loss 为:

L S T = − ∑ i ∈ P ∑ c = 0 C 1 [ y i S T = c ] log ⁡ ( p i , c S T ) 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) LST=iPc=0C1[yiST=c]log(pi,cST)

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

三、实验

数据集:
  • 源数据:web 图片
  • 目标数据:PASCAL VOC 2007 and 2012
Baseline and upper-bound

https://image-1252763146.cos.ap-chengdu.myqcloud.com/blog/20181124/5.png

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

结果分析

https://image-1252763146.cos.ap-chengdu.myqcloud.com/blog/20181124/6.png
结果中可以看到“WSD+DA”反而使性能有轻微的下降,这个在前面DA实现有讨论过。作者说DA有可能将具有相似外貌的目标类混淆,比如vehicle 和 animal ?,而如完全不同的类 TV monitor 可以看出DA的贡献。

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

https://image-1252763146.cos.ap-chengdu.myqcloud.com/blog/20181124/7.png
作者进行了Ablation experiments,都能看出DA、ST、前景注意力机制FA的作用。同时还与传统的WSD方法进行比较,证明了该方法在目标数据没有标签的情况下,也能达到WSD的效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值