论文提出了新的少样本目标检测算法,创新点包括Attention-RPN、多关系检测器以及对比训练策略,另外还构建了包含1000类的少样本检测数据集FSOD,在FSOD上训练得到的论文模型能够直接迁移到新类别的检测中,不需要fine-tune
来源:晓飞的算法工程笔记 公众号
论文: Few-Shot Object Detection with Attention-RPN and Multi-Relation Detector
不同于正常的目标检测任务,few-show目标检测任务需要通过几张新目标类别的图片在测试集中找出所有对应的前景。为了处理好这个任务,论文主要有两个贡献:
尽管目前目标检测的训练集已经非常庞大,但是对于少样本目标检测算法的使用而言,这些训练集的类别都太少了。因此,论文构造了一个少样本目标检测专用的训练集
新训练集基于ImageNet(选了531类)和Open Images dataset V4(选了469类),但训练集间的类别不同,为了防止合并后存在漏标的情况,先对label进行分析和合并成树状结构,补充标注,然后去掉标注质量差的图片,包括包含目标太小( ≤ 0.05 % \le 0.05\% ≤0.05%)的图片。将类别分为训练集和测试集,先用COCO的类别作为基础训练集,防止pretrain的影响,然后尽量选择与当前训练集差距较大的类别作为测试集,共包含200类,再选择另外800类作为训练集
新训练集的数据情况如图3和表1,主要有两个特性:
给予包含目标特写的辅助图片(support image) s c s_c sc以及可能包含 c c c类目标的查询图片 q c q_c qc,任务是找出查询图片中所有辅助图片对应的类别目标,并且标记其准确的位置。如果辅助集包含 K K K个类别,每个类提供 N N N张图片,则称为K-way N-shot检测
论文提出新attention网络,该网络能够在RPN模块和多关系检测模块中学习辅助集与查询集间的通用的匹配关系。网络为包含多分支的权重共享框架,一个分支用于查询集,其它则用于辅助集(为了方便,图4只画了一个分支),对于同类别的辅助分支,使用平均特征图作为辅助特征图。查询分支的权重共享主干为Faster R-CNN(包括RPN),使用这个分支来训练辅助集和查询集的匹配关系,能够学习到同类别的通用知识
在少样本目标检测中,RPN能够产生潜在的相关box用于接下来的检测任务,不仅要分辨前景和背景,还要过滤不属于辅助集的前景。如果没有足够的辅助集信息,RPN将会产生大量不相关的proposal。为了解决这个问题,提出了attention RPN,能够使用辅助图片的信息来过滤背景以及不相关的前景,产生更少但更准的候选目标
Attention RPN的核心是计算相似度特征图,对于辅助特征图 X ∈ t S × S × C X\in t^{S\times S\times C} X∈tS×S×C以及查询特征图 Y ∈ t H × W × C Y\in t^{H\times W\times C} Y∈tH×W×C,相似度特征图 G G G计算如上。辅助特征 X X X用来作为核在查询特征图上进行类似depth-wise卷积的滑动。在实际中,查询特征采用RPN的输入特征,用于卷积的辅助特征大小为 1 × 1 1\times 1 1×1,由global average产生,在获得attention特征后,使用 3 × 3 3\times 3 3×3卷积进一步提取特征,然后接objectness分类和box预测,attention RPN的loss L r p n L_{rpn} Lrpn会跟Faster R-CNN一样加入到模型的训练中
RPN后面一般会接一个检测器用于对proposal进行重新评估和调整,而论文则希望检测器能够有强大的类别区分能力,提出了多关系检测器(multi-relation detector)来度量相似性.该检测器包含3个attention相似性模块,将3个模块的分数求和作为最终的匹配分数。对于大小均为 7 × 7 × C 7\times 7\times C 7×7×C的辅助特征 f s f_s fs和查询特征 f q f_q fq:
论文对3种head的重要性进行了实验,可以看到这3种head能很好地互补,结合起来能够完整地表达目标间的关系
通常少样本训练策略为每次输入为 ( q c , s c ) (q_c,s_c) (qc,sc),论文认为模型应该同时学习识别同类别和区分不同类别,提出2-way对比训练策略
如图7,该策略每轮随机选择一张查询图片 q c q_c qc、一张辅助图片 s c s_c sc以及一张别的类别的辅助图片 s n s_n sn组成三元组 ( q c , s c , s n ) , c ≠ n (q_c, s_c, s_n),c\ne n (qc,sc,sn),c=n,查询图片中只有 c c c类目标标记为前景。在训练时,不仅学习 ( q c , s c ) (q_c,s_c) (qc,sc)间的相似性,也学习 ( q c , s n ) (q_c,s_n) (qc,sn)间的差异性。由于背景proposal的数量比较大,占据着训练过程,所以 ( p f , s p ) (p_f,s_p) (pf,sp)、 ( p b , s p ) (p_b,s_p) (pb,sp)和 ( p b , s n ) (p_b,s_n) (pb,sn)控制为1:2:1比例,根据匹配分数从高到低选择。每个proposal的损失为 L = L m a t c h i n g + L b o x L=L_{matching}+L_{box} L=Lmatching+Lbox,匹配损失使用二值交叉熵
论文对不同的训练策略进行了对比,2-way 5-shot对比训练策略效果最优,并且可以看到attention RPN也是有效的, A P 50 AP_{50} AP50提升了1.9
查询图片短边为600像素,长边上限1000像素,辅助图片裁剪目标区域加16像素的位置,resize然后0填充至 320 × 320 320\times 320 320×320,在推理时,相同类别的辅助集使用平均特征集
这里表格的finetune是指直接在测试集上进行finetune
论文提出了新的少样本目标检测算法,创新点包括Attention-RPN、多关系检测器以及对比训练策略,另外还构建了包含1000类的少样本检测数据集FSOD,在FSOD上训练得到的论文模型能够直接迁移到新类别的检测中,不需要fine-tune
如果本文对你有帮助,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】