零样本目标检测--GTNet: Generative Transfer Network for Zero-Shot Object Detection

一些必要知识:

(1)零样本学习(Zero shot learning)

       一篇是 Lampert 2009年在CVPR上发表的Learning to Detect Unseen Object Class by Between-Class Attribute Transfer 
这是最早提出 Zero Shot Learning 这一问题和概念的文章,核心思想就是用类间属性迁移来进行未知类别预测。具体地说,可以利用一个学习器,学习出一个动物是否具有马的外形,利用第二个学习器学习出一个动物是否具有斑纹,利用第三个学习器学习一个动物是否具有黑白间隔的颜色。当一张斑马的图片分别输入到这三个学习器之后,我们可以得到这张图片里的动物具有马的外形,斑纹以及黑白间隔的颜色。如果此时我们有一张表,这张表里记录着每一种动物这三种属性的取值,我们就可以通过查表的方式,将这张图片对应到斑马这一类别。这里的属性表,是可以事先总结好的,因为收集大量的未知类别的图片是困难的,但是仅仅总结每一类别相应的属性却是可行的。

       同样是2009年,Hinton在NIPS上发表的Zero Shot Learning with Semantic Output Codes,核心思想就是用词向量进行未知类别预测。词向量(word2vec)是指将自然语言中的字词转为计算机可以理解的数字向量,并且其中意思相近的词将被映射到向量空间中相近的位置。具体地说,将训练标签编码为词向量,基于训练数据和词向量训练学习器。测试时输入测试数据,输出为预测的词向量,计算预测结果与未知类别词向量的距离,属于距离最近的类别。通过语义信息来搭建未见过类别和已见过类别的联系

      由以上两种可得,零样本学习的简单模式为:images space和label space分别为初始的图像空间和标签空间,在零样本学习中,一般会通过一些方法将图片映射到特征空间中,这个空间称为feature embeding;同样的标签也会被映射到一个label embeding当中,学习feature embeding和label embeding中的线性或非线性关系用于测试时的预测转化取代之前的直接由images space 到 label space的学习。如下图所示,一般把label embeding所在的空间叫做嵌入空间

 

(3)WGAN

       对于GAN

        CGAN首次提出为GAN增加限制条件,从而增加GAN的准确率。原始的GAN产生的数据模糊不清,为了解决GAN太过自由这个问题,一个很自然的想法就是给GAN加一些约束,于是便有了这篇Conditional Generative Adversarial Nets,这篇工作的改进非常straightforward,在生成模型和判别模型分别为数据加上标签,也就是加上了限制条件。实验表明很有效。

 

       为了避免梯度消失问题,Arjovsky等人提出使用 Wasserstein距离替代原始的损失函数来衡量真假样本数据分布之问的距离,并通过简单的判别器参数裁剪实现。为了不降低判别器的能力,他们进一步改进了上述模型,提出了WGAN—GP,用梯度惩罚项替代参数裁剪操作。显然,条件生成网络(CVAE,CGAN)和改进的生成对抗训练机制(WGAN—GP)为稳定地合成具有丰富语义的视觉样本提供了巨大的可能性。

 

(4)Faster-RCNN

        R-CNN:利用selective search 算法在图像中从上到下提取2000个左右的建议框;将每个建议框缩放(warp)成227*227的大小并输入到CNN,将CNN的fc7层的输出作为特征;将每个建议框提取的CNN特征输入到SVM进行分类;对于SVM分好类的建议框做边框回归,用Bounding box回归值校正原来的建议窗口,生成预测窗口坐标。

       FAST-RCNN:利用selective search 算法在图像中从上到下提取2000个左右的建议框;将整张图片输入CNN,进行特征提取;把建议框映射到CNN的最后一层卷积特征图上;通过RoI pooling层使每个建议框生成固定尺寸的特征图;利用Softmax Loss(探测分类概率) 和Smooth L1 Loss(探测边框回归)对分类概率和边框回归(Bounding box regression)联合训练,使用多任务损失函数。

       差别:R-CNN把一张图像分解成大量的建议框,每个建议框拉伸形成固定大小的图像都会单独通过CNN提取特征,实际上这些建议框之间大量重叠,特征值之间完全可以共享,造成了运算能力的浪费。FAST-RCNN将整张图像归一化后直接送入CNN,在最后的卷积层输出的feature map上,加入建议框信息,使得在此之前的CNN运算得以共享。R-CNN中独立的SVM分类器和回归器需要大量特征作为训练样本。FAST-RCNN把类别判断和位置回归统一用深度网络实现,不再需要额外存储。而且由于ROI pooling的提出,不需要再input进行Corp和wrap操作,避免像素的损失,巧妙解决了尺度缩放的问题。

       FASTER-RCNN:将整张图片输入CNN,进行特征提取;用RPN先生成一堆Anchor box,对其进行裁剪过滤后通过softmax判断anchors属于前景(foreground)或者后景(background),是一个二分类;同时,另一分支bounding box regression修正anchor box,形成较精确的proposal,把建议窗口映射到CNN的最后一层卷积特征图上;通过RoI pooling层使每个RoI生成固定尺寸的特征图;利用Softmax Loss(探测分类概率) 和Smooth L1 Loss(探测边框回归)对分类概率和边框回归(Bounding box regression)联合训练。

       获取Anchors之后,接着进一步对Anchors进行越界剔除和使用nms非最大值抑制,剔除掉重叠的框;比如,设定IoU为0.7的阈值,即仅保留IoU不超过0.7的局部最大得分的box(粗筛)。最后留下大约2000个anchor,然后再取前N个box(比如300个);这样,进入到下一层ROI Pooling时region proposal大约只有300个。
       bbox回归使得到的检测框A与GT框G尽可能接近,就是学习平移量和缩放系数,学到一种变换使得A变成G‘

       当输入的anchor A与 G 相差较小时,可以认为这种变换是一种线性变换, 那么就可以用线性回归来建模对窗口进行微调。

       对于训练bounding box regression网络回归分支,输入是cnn feature Φ,监督信号是Anchor与GT的差距,即训练目标是:输入 Φ的情况下使网络输出与监督信号尽可能接近。那么当bouding box regression工作时,再输入Φ时,回归网络分支的输出就是每个Anchor的平移量和变换尺度,显然即可用来修正Anchor位置了。

        对于大小为 M*N*C 的特征,RPN输出: 大小为 M*N*2K 的positive/negative softmax分类特征矩阵、大小为 M*N*4K 的regression坐标回归特征矩阵,恰好满足RPN完成positive/negative分类+bounding box regression坐标回归。

       Proposal层包含三个输入:分类结果,回归偏移量以及im_info。im_info保存了此次缩放的所有信息,作用是:判断将anchors映射回原图是否超出边界。

       RoI Pooling层则负责收集proposal,并计算出proposal feature maps,送入后续网络。感兴趣区域在目标检测中理解为候选框,原图经过卷积层得到特征图后,相应的ROI就会在feature map上有映射,这个映射过程是roi pooling的一部分,roi pooling后续部分会进行max pooling,进而得到我们需要的feature map,送入后面继续计算。具体表述为:根据ROIS提供的候选框坐标,映射到FeatureMap,然后进行max-pooling。结果是,从具有不同大小的矩形框中,我们可以快速获得具有固定大小的相应特征映射。

(5)类语义嵌入FastText(使用 fastText 训练的文本描述嵌入作为类语义嵌入)

        One hot representation:one-hot编码就是保证每个样本中的单个特征只有1位处于状态1,其他的都是0。

        Dristributed representation可以解决One hot representation的问题,它的思路是通过训练,将每个词都映射到一个较短的词向量上来。这个过程称为word embedding(词嵌入),即将高维词向量嵌入到一个低维空间。而得到最后的词向量的训练过程中引入了词的上下文。

        word2vec是简化的神经网络&

  • 7
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值