CVPR 2019 论文解读 | 小样本域适应的目标检测
Posted manwingloeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CVPR 2019 论文解读 | 小样本域适应的目标检测相关的知识,希望对你有一定的参考价值。
引文
? 最近笔者也在寻找目标检测的其他方向,一般可以继续挖掘的方向是从目标检测的数据入手,困难样本的目标检测,如检测物体被遮挡,极小人脸检测,亦或者数据样本不足的算法。这里笔者介绍一篇小样本(few-shot)数据方向下的域适应(Domain Adaptation)的目标检测算法,这篇新加坡国立大学&华为诺亚方舟实验室的paper《Few-shot Adaptive Faster R-CNN》被收录于CVPR2019,解决的具体问题场景是我们有在普通常见场景下的汽车目标检测,我们只有少量雾天暴雨极劣天气环境下的汽车样本,那么我们可以使用成对采样(pairing-sampling)的方法,源域(source domain)即普通场景下的汽车样本\\(Car_s\\)和目标域(target domain)即恶劣天气下的汽车样本\\(Car_t\\)成对\\((Car_s,Car_t)\\)组成负样本,另一方面源域下成对组成正样本\\((Car_s,Car_s)\\),使用GAN的结构,判别器(discriminator)尽可能去分辨正负样本的不同,也就是分辨出源域和目标域的样本,生成器(generator)是尝试去迷惑判别器。这就是这个算法的主要思想,主要是把域适应的思想应用到了目标检测上。
? 论文源码还没完全开源,只找到了个官方的repo:https://github.com/twangnh/FAFRCNN
思考
在介绍文章具体网络设计和损失函数的设计之前,我们可以带着一个问题去思考。
- 用GAN的结构,数据样本使用\\(Car_s\\)作为正样本、\\(Car_t\\)作为负样本也可以使判别器(discriminator)分辨出源域和目标域的样本,为什么这里要组成对的去训练?
算法设计
在目标检测的任务中,论文作者把域适应问题分成两个层次:
- 图像级别的域适应
- 实例级别的域适应
具体可以看下面Fig2的第一行和第三行,图像级别下的域迁移是整体图像各个像素组成的域迁移,实例级别的域迁移是汽车样本下的域迁移。
图像级别的域适应
? 图像级别的域适应(Image-level Adaptation) 是为了完成image-to-image的转换,论文提出了split pooling(SP)的方法,作用是为了随机放置grid,做法也是十分简单,grid cell的宽为w,高为h,然后随机生成sx和xy,grid根据sx和sy调整位置。
? 得到grid之后,论文把grid与Faster R-CNN中选取anchor boxes一样,采取了三种scale和三种ratio,split pooling对应在提取的特征\\(f(x)\\)中也是有大(l)、中(m)、小(s)三种scale: \\(sp_l(f(x)),sp_m(f(x)),sp_s(f(x))\\)。
? 后面就可以用对抗训练的方式训练生成器和判别器了,但是因为目标域的样本是小样本数据,所以这里提出了成对训练的方式,即源域对\\(G_s_1=(g_s,g_s)\\)和源域-目标域对\\(G_s_2=(g_s,g_t)\\)。判别器判断样本来源,生成器是特征提取器器目标是混淆判别器。
\\[
g_s\\sim sp_kf(X_s),g_t\\sim sp_k(f(X_T)),k=\\l,m,s\\
\\]
\\[ L_sp_sd=-\\mathbbE_x\\simG_s1[logD^sp_s(x)]-\\mathbbE_x\\simG_s2[log(1-D^sp_s(x))] \\]
\\[
L_im_d=L_sp_sd+L_sp_md+L_sp_ld
\\]
? 另外论文在图像级别的域适应用了三个GAN,实用性不知道如何。
本文会在一周后重新编辑,欲览全文可转至推文:
以上是关于CVPR 2019 论文解读 | 小样本域适应的目标检测的主要内容,如果未能解决你的问题,请参考以下文章
CVPR2019论文解读:单眼提升2D检测到6D姿势和度量形状