查看原文
其他

CVPR 2019 | 小样本域适应的目标检测

文永亮 PaperWeekly 2022-03-17


作者丨文永亮

学校丨哈尔滨工业大学(深圳)硕士生

研究方向丨目标检测、GAN


引言


最近笔者也在寻找目标检测的其他方向,一般可以继续挖掘的方向是从目标检测的数据入手,困难样本的目标检测,如检测物体被遮挡,极小人脸检测,亦或者数据样本不足的算法。
这里笔者介绍一篇小样本(few-shot)数据方向下的域适应(Domain Adaptation)的目标检测算法,这篇新加坡国立大学 & 华为诺亚方舟实验室的论文 Few-shot Adaptive Faster R-CNN 被收录于 CVPR 2019,解决的具体问题场景是在普通常见场景下的汽车目标检测。



我们只有少量雾天暴雨极劣天气环境下的汽车样本,那么我们可以使用成对采样(pairing-sampling)的方法,源域(source domain)即普通场景下的汽车样本 Cars 和目标域(target domain)即恶劣天气下的汽车样本成对()组成负样本,另一方面源域下成对组成正样本,使用 GAN 的结构,判别器(discriminator)尽可能去分辨正负样本的不同,也就是分辨出源域和目标域的样本,生成器(generator)是尝试去迷惑判别器。这就是这个算法的主要思想,主要是把域适应的思想应用到了目标检测上。


论文源码还没完全开源,只找到了个官方的 repo:https://github.com/twangnh/FAFRCNN

思考


在介绍文章具体网络设计和损失函数的设计之前,我们可以带着一个问题去思考。


用 GAN 的结构,数据样本使用作为正样本、作为负样本也可以使判别器(discriminator)分辨出源域和目标域的样本,为什么这里要组成对的去训练?


算法设计


▲ Fig 1. Few-shot Adaptive Faster R-CNN (FAFRCNN) 的整体网络结构(其中的SMFR模块后面会介绍到)


在目标检测的任务中,论文作者把域适应问题分成两个层次
  • 图像级别的域适应

  • 实例级别的域适应


具体可以看下面 Fig2 的第一行和第三行,图像级别下的域迁移是整体图像各个像素组成的域迁移,实例级别的域迁移是汽车样本下的域迁移。


▲ Fig 2. 中间为两张来自Cityspaces和Foggy Cityspaces的图片。第一行为图像级别的域迁移,第三行为实例级别的域迁移。


图像级别的域适应


图像级别的域适应(Image-level Adaptation) 是为了完成 image-to-image 的转换,论文提出了 split pooling(SP)的方法,作用是为了随机放置 grid,做法也是十分简单,grid cell 的宽为 w,高为 h,然后随机生成 sx 和 xy,grid 根据 sx 和 sy 调整位置。

▲ Fig 3. grid的选择


得到 grid 之后,论文把 grid 与 Faster R-CNN中选取 anchor boxes 一样,采取了三种 scale 和三种 ratio,split pooling 对应在提取的特征 f(x) 中也是有大(l)、中(m)、小(s)三种 scale:


后面就可以用对抗训练的方式训练生成器和判别器了,但是因为目标域的样本是小样本数据,所以这里提出了成对训练的方式,即源域对和源域-目标域对判别器判断样本来源,生成器是特征提取器器目标是混淆判别器。



另外论文在图像级别的域适应用了三个 GAN,实用性不知道如何。
实例级别的域适应


跟 Faster R-CNN 中不同的是:foreground ROIs 要求更高的 IOU 阈值(比如原本 IOU 要求是 0.5 的,现在可能要 0.7)。获得了 ROI 特征之后会根据 ROI 的 label 分组,源域目标特征是,目标域目标特征为,如果一共有 C 类,i∈[0,C],第 0 类为背景,其实跟图像级别的成对方式一样,源域对和源域目标域对,其中,以下为域判别器的损失函数:



以下为 feature generator 的损失函数:



源域模型特征正则化


这个部分就是 Fig 1 中的 SMFR 模块,全称为 Source Model Feature Regularization,他的作用是正则化源域模型,具体来说,就是源域样本经过论文的域适应 adaptation 之后的特征提取器和初始时拥有的仅有源域样本训练的特征提取器要尽可能的一致,这样才能使模型更加鲁棒,文章用了 L2 正则。



但是因为是目标检测模型,我们更关注的是图片的前景目标本身,所以我们要求的是源域样本经过特征提取器之后的前景部分变化不大。



其中 M 为前景的 mask,k 为正例掩码位置的个数。

实验结果


实验中数据集采用以下 5 种:
  • Scenario-1: SIM10K to Udacity (S→U); 

  • Scenario-2: SIM10K to Cityscapes (S→C); 

  • Scenario-3: Cityscapes to Udacity (C→U);

  • Scenario-4: Udacity to Cityscapes (U→C);

  • Scenario-5: Cityscapes to Foggy Cityscapes (C→F). 


以下都是采用 AP 作为对比评价指标。


▲ Fig 4. 左边是SP技术在Scenario-1和Scenario-2的效果。右边是SP技术在Scenario-3和Scenario-4的效果。sp表示的是split pooling,ins表示加入实例级别的域适应,ft表示加入fine-tunning loss。


可以看出,在加入 SP 技术之后 AP 得到明显的提高,比 ADDA [1] 高了 5 个点。


▲ Fig 5. 论文提出的方法在Scenario-5中的各个实例的AP指标对比从UDA_setting中看到其实并不是全部都能取到最优成绩。


▲ Fig 6. 引入pairing理论的效果


▲ Fig 7. SMFR的效果


总结思考


回答文首的问题,相信很多读者读完全文之后肯定也知道答案了,paper 题目就是基于小样本学习方向的,其实需要成对训练的目的就是增加训练样本,如果源域样本有 n 个,目标域样本有 m 个(n>m),那么最后负样本的个数仅仅只有 m 个,因为是小样本,训练出来的效果也会十分的差。但是如果成对训练(pairing-sampling),正样本为(,),理论上样本数量为,为 s 负样本为,理论上样本数量为(,),虽然经过这样笛卡尔积之后的正负样本比没有变,但是负样本数量却是增多了。这也是整篇文章的主要思想,pairing-sampling 的去训练。


参考文献


[1]. Eric Tzeng, Judy Hoffman, Kate Saenko, and Trevor Darrell. Adversarial discriminative domain adaptation. In Computer Vision and Pattern Recognition (CVPR), volume 1, page 4, 2017.

[2]. https://github.com/twangnh/FAFRCNN




点击以下标题查看更多往期内容: 





#投 稿 通 道#

 让你的论文被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。


📝 来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向) 

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接 

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志


📬 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site 

• 所有文章配图,请单独在附件中发送 

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通




🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



关于PaperWeekly


PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。


▽ 点击 | 阅读原文 | 下载论文

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存