(Few-shot detection)Review: Few-shot Object Detection via Feature Reweighting

DeepinScreenshot_select-area_20191205114637.png

Ref

1. 提出研究的问题

对于few-shot分类而言,可以采用学习prototype的方式学习一个中心,但是如果用于目标检测,很难匹配和定位一个物体。因为在图像中会有很多的干扰因素和非目标物体。

2. 提出方案

  • Feature Extractor module

    Feature Extractor从 query images中提取meta features ,表示为 F R w h m F \in R^{w*h*m}

    文章中的的Extractor是采用YOLO v2的darknet, 用 D ( I ) D(I) 表示;

  • Reweighting Module d从support set中提取全局信息并embeded成reweighting coefficient,表示为 ω ( i ) R m \omega (i) \in R^m

    文章中reweighting是简单的几层网络层,用 M ( I i , M i ) M(I_i,M_i) 表示,下图右下角 I i I_i 表示图像, M i M_i 表示mask;

  • Prediction Module

    跟YOLO v2相似,预测的值增加one-versus-all classification score c i c_i 表示对应目标属于类别i的概率;

    总共预测六个值: { o i , x i , y i , h i , w i , c i } = p ( F i ) i = 1 , . . . , N \{o_i,x_i,y_i,h_i,w_i,c_i\} = p(F_i) i= 1,...,N ;

DeepinScreenshot_select-area_20191205115308.png

  • 为什么有检测新目标的能力?

    根据paper的损失函数:

    DeepinScreenshot_select-area_20191205120317.png

    DeepinScreenshot_select-area_20191205120332.png

    DeepinScreenshot_select-area_20191205120344.png

    我认为base training过程主要是训练base -> novel的能力和localization的能力;

    而在few-shot fine-tuning更像是pretrained模型通过support sets预训练fine-tune的过程,当然两者的数据集不能有交集。

3. 总结

模型其实是做一种Transfer Learning的思想,与原来detection不同的是,训练方式不同,数据组成的方式不同。

数据分为base classes和novel classes,对于每一个task或者episode,包含Support sets和Query sets两部分,

DeepinScreenshot_select-area_20191205125011.png

网络模型和损失函数上述2.提出方案所示;

整个学习过程分为两个阶段:

  • base training phase

    在此阶段,仍采用base classes进行episode的方式训练,目的是让模型学会通过reweighting vector找到感兴趣的区域;

  • few-shot fine-tuning

    在此阶段,训练数据包括base classes和novel classes,对于novel classes来说,只有k个标注的bounding boxes,对于base classes的数据,也有k个bounding boxes,训练过程和第一阶段相同。support images和boundingbox的数据从base classes和novel classes的数据中随机选取,进行fine-tune;

4. 实验结果

DeepinScreenshot_select-area_20191205125914.png

DeepinScreenshot_select-area_20191205125921.png

  • 分析结果

    DeepinScreenshot_select-area_20191205130026.png

    表明作者提出的few-shot模型在速度和性能上都能超过原来的YOLO v2模型;

  • Which layer output features to reweight

    DeepinScreenshot_select-area_20191205130317.png

  • Loss functions

    DeepinScreenshot_select-area_20191205130334.png

  • Input form of reweighting module

    DeepinScreenshot_select-area_20191205130342.png

这么多的对比实验,实践出真知啊。

发布了741 篇原创文章 · 获赞 185 · 访问量 30万+

猜你喜欢

转载自blog.csdn.net/Fire_to_cheat_/article/details/103539814