腾讯提超强少样本目标检测算法,公开1000类检测训练集FSOD | CVPR 2020

news/2024/7/1 5:23:52

作者 | VincentLee

来源 | 晓飞的算法工程笔记

不同于正常的目标检测任务,few-show目标检测任务需要通过几张新目标类别的图片在测试集中找出所有对应的前景。为了处理好这个任务,论文主要有两个贡献:

  • 提出一个通用的few-show目标检测算法,通过精心设计的对比训练策略以及RPN和检测器中加入的attention模块,该网络能够榨干目标间的匹配关系,不需要fine-tune就可以进行靠谱的新目标检测。实验表明,early stage的attention模块能够显著提升proposal的质量,而后面的多关系检测(multi-relation detector)模块则能有效抑制和过滤错误的背景

  • 提供了一个1000类的少样本训练集FSOD,论文提出的模型的性能提升有一定程度得益于此训练集,是一个前所未有的训练集

FSOD: A Highly-Diverse Few-Shot Object Detection Dataset

尽管目前目标检测的训练集已经非常庞大,但是对于少样本目标检测算法的使用而言,这些训练集的类别都太少了。因此,论文构造了一个少样本目标检测专用的训练集

Dataset Construction

新训练集基于ImageNet(选了531类)和Open Images dataset V4(选了469类),但训练集间的类别不同,为了防止合并后存在漏标的情况,先对label进行分析和合并成树状结构,补充标注,然后去掉标注质量差的图片,包括包含目标太小()的图片。将类别分为训练集和测试集,先用COCO的类别作为基础训练集,防止pretrain的影响,然后尽量选择与当前训练集差距较大的类别作为测试集,共包含200类,再选择另外800类作为训练集。

Dataset Analysis

新训练集的数据情况如图3和表1,主要有两个特性:

  • High diversity in categories,类别覆盖的领域很多,包括动物、衣服、武器等,且训练集和测试集的类别来自不同的领域

  • Challenging setting,数据集在box大小和宽高比上有很多种,26.5%的图片包含至少3个目标,且有大量非目标类别的物体,干扰性很大

方法论


Problem Definition

给予包含目标特写的辅助图片(support image)以及可能包含类目标的查询图片,任务是找出查询图片中所有辅助图片对应的类别目标,并且标记其准确的位置。如果辅助集包含个类别,每个类提供张图片,则称为K-way N-shot检测。

Deep Attentioned Few-Shot Detection

论文提出新attention网络,该网络能够在RPN模块和多关系检测模块中学习辅助集与查询集间的通用的匹配关系。网络为包含多分支的权重共享框架,一个分支用于查询集,其它则用于辅助集(为了方便,图4只画了一个分支),对于同类别的辅助分支,使用平均特征图作为辅助特征图。查询分支的权重共享主干为Faster R-CNN(包括RPN),使用这个分支来训练辅助集和查询集的匹配关系,能够学习到同类别的通用知识。

  • Attention-Based Region Proposal Network


在少样本目标检测中,RPN能够产生潜在的相关box用于接下来的检测任务,不仅要分辨前景和背景,还要过滤不属于辅助集的前景。如果没有足够的辅助集信息,RPN将会产生大量不相关的proposal。为了解决这个问题,提出了attention RPN,能够使用辅助图片的信息来过滤背景以及不相关的前景,产生更少但更准的候选目标.

Attention RPN的核心是计算相似度特征图,对于辅助特征图以及查询特征图,相似度特征图计算如上。辅助特征用来作为核在查询特征图上进行类似depth-wise卷积的滑动。在实际中,查询特征采用RPN的输入特征,用于卷积的辅助特征大小为,由global average产生,在获得attention特征后,使用卷积进一步提取特征,然后接objectness分类和box预测,attention RPN的loss 会跟Faster R-CNN一样加入到模型的训练中

  • Multi-Relation Detector

RPN后面一般会接一个检测器用于对proposal进行重新评估和调整,而论文则希望检测器能够有强大的类别区分能力,提出了多关系检测器(multi-relation detector)来度量相似性.该检测器包含3个attention相似性模块,将3个模块的分数求和作为最终的匹配分数。对于大小均为的辅助特征和查询特征

  • global-relation head,用于学习全局匹配的深层embedding。将concatenate成特征,然后平均池化成,最后用加ReLU的两层全连接层输出最后的分数

  • local-correlation head,学习pixel-wise和depth-wise的关系,即对应位置的关系。首先使用卷积分别操作,使用前面的Attention RPN的相似性计算进行depth-wise的相似性计算获得相似性特征图,,最后用单层全连接层获得分数

  • patch-relation head,用于学习非线性的块匹配,即一对多的关系。将concatenate成特征,然后输出到表8的块关系模块中,表8的卷积层后面都接ReLU,所有卷积层和池化层都进行0填充,模块将特征图从下采样为(这里池化层的s1/p0感觉描述不清楚,等源码放出来再看看),最后同时接两个全连接层,一个全连接产生匹配分数,另外一个产生bbox的预测

论文对3种head的重要性进行了实验,可以看到这3种head能很好地互补,结合起来能够完整地表达目标间的关系。

Two-way Contrastive Training Strategy

通常少样本训练策略为每次输入为,论文认为模型应该同时学习识别同类别和区分不同类别,提出2-way对比训练策略。

如图7,该策略每轮随机选择一张查询图片、一张辅助图片以及一张别的类别的辅助图片组成三元组,查询图片中只有类目标标记为前景。在训练时,不仅学习间的相似性,也学习间的差异性。由于背景proposal的数量比较大,占据着训练过程,所以控制为1:2:1比例,根据匹配分数从高到低选择。每个proposal的损失为,匹配损失使用二值交叉熵。

论文对不同的训练策略进行了对比,2-way 5-shot对比训练策略效果最优,并且可以看到attention RPN也是有效的,提升了1.9。

实验

Training Details

查询图片短边为600像素,长边上限1000像素,辅助图片裁剪目标区域加16像素的位置,resize然后0填充至,在推理时,相同类别的辅助集使用平均特征集

Comparison with State-of-the-Art Methods

  这里表格的finetune是指直接在测试集上进行finetune

Realistic Applications


More Categories vs More Samples?

结论

论文提出了新的少样本目标检测算法,创新点包括Attention-RPN、多关系检测器以及对比训练策略,另外还构建了包含1000类的少样本检测数据集FSOD,在FSOD上训练得到的论文模型能够直接迁移到新类别的检测中,不需要fine-tune。

论文地址:https://arxiv.org/abs/1908.01998

【end】

原力计划

《原力计划【第二季】- 学习力挑战》正式开始!即日起至 3月21日,千万流量支持原创作者!更有专属【勋章】等你来挑战

推荐阅读

  • 2019年度CSDN博客之星TOP10榜单揭晓,你上榜了吗?

  • Javascript函数之深入浅出递归思想,附案例与代码!

  • 不看就亏系列!这里有完整的 Hadoop 集群搭建教程,和最易懂的 Hadoop 概念!| 附代码

  • 智能合约编写之Solidity的基础特性

  • 微信七年「封链」史

  • 计算机博士、加班到凌晨也要化妆、段子手……IT 女神驾到!

  • 你点的每个“在看”,我都认真当成了AI


http://lihuaxi.xjx100.cn/news/272550.html

相关文章

利用OpenCV+ConvNets检测几何图形

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达导读人工智能领域中增长最快的子领域之一是自然语言处理(NLP),它处理计算机与人类(自然)语言之间的交互&#x…

滴滴技术牛逼吗?看它开源了哪些有意思的项目

点击上方“方志朋”,选择“设为星标”回复”666“获取新整理的面试文章作为卓越的一站式移动出行和生活平台,滴滴在亚洲、拉美和澳洲为超过5.5亿用户提供出租车、快车、专车、豪华车、公交、代驾、企业级、共享单车、共享电单车、汽车服务、外卖、支付等…

MIT博士生、北大校友,利用自监督算法,解决了数据集中这一常见的“难题”...

点击上方“视学算法”,选择加"星标"或“置顶”重磅干货,第一时间送达萧箫 转载整理自 杨宇喆 量子位 报道 | 公众号 QbitAI训练模型时,你是否也遭遇过这样的“尴尬”时刻:好不容易找到了自己想要的数据集,结…

编程入门:准备学Python入门编程 为什么前辈一直劝我不行?

最近,有不少小伙伴问我,说零基础学编程,第一门语言学哪个好?有人推荐学Python,理由是Python简单,对新人友好,上手快,那Python到底适不合适不合适新人学呢? 我今天就这个问…

Jacobian矩阵和Hessian矩阵

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达前言还记得被Jacobian矩阵和Hessian矩阵统治的恐惧吗?本文清晰易懂的介绍了Jacobian矩阵和Hessian矩阵的概念,并循序渐进的推导了牛顿法的最优化算…

口罩检测识别率惊人,这个Python项目开源了

作者 | 一颗小树x,CSDN 博主编辑 | 唐小引来源 | CSDN 博客昨天在 GitHub 上看到一个有趣的开源项目,它能检测我们是否有戴口罩,跑起程序测试后,发现识别率挺高的,也适应不同环境,于是分享给大家。首先感谢…

设计文档

因为内容过多,只发一部分,详见设计文档。 本详细设计说明书编写的目的是说明程序模块的设计考虑,包括程序描述、输入/输出、算法和流程逻辑等,为软件编程和系统维护提供基础。 本说明书是设计阶段的成果,说明了功能分配…

AS1.0(2.0)中的XML示例

虽然Flash早就升级为AS3.0&#xff0c;但是FMS的服务端编程依然仅支持AS1.0(2.0)&#xff0c;服务端与.net通讯的最简单方式莫过于请求一个RESTful的webService或wcf&#xff0c;通过它们返回的xml来获取数据。 var _xml:XML new XML("<ArrayOfstring xmlns\"htt…