目标检测2。0新范式!DETRTransformer目标检测
1、本文速览
本文重新审视目标检测领域存在的问题,提出了一种基于Transformer的端到端目标检测网络,没有NMS非极大值抑制、没有anchor生成等多先验知识的约束,大大简化了目标检测pipeline。在COCO数据集上与FasterRcnn性能相当,且很容易地迁移到全景分割任务上。为后续目标检测提供了一种强大的baseline。
论文:https:arxiv。orgabs2005。12872
代码:https:github。comfacebookresearchdetr
2、本文背景
传统目标检测的流程,以fasterrcnn举例:
训练数据集上聚类生成anchorbackbone提取特征利用RPN网络搜寻所有的框并筛选regeionproposal在regeionproposal上得到每个框的类别和置信度。
存在的问题:
训练数据集聚类预定义anchor,难以泛化到其他数据集上;
在每个像素点上都枚举预定义anchor;造成大量无效的候选框,增加算法复杂度;
NMS过滤来自RPN产生的大量冗余框。
基于此,DETR提出一个简洁的pipeline,无需先验知识、手工操作,通过transformer编解码结构和二分图匹配优化,直接得到目标检测框和类别属性。
文章的两大核心思想为:
应用transformer编解码结构,保证了全局建模能力;
二分匹配(匈牙利算法),确保了一一对应。
DETR各部件总结
3、DETR框架
DETR包含四个模块,CNN提取特征的backbone、transformerencoder、transformerdecoder和预测头FFN。
3。1CNNbackbone
Transformer模块与输入特征图的分辨率呈平方级关系,当输入分辨率过大时,会产生巨大的内存消耗,所以先用CNN进行特征提取并缩减尺寸,再输入Transformer进行全局建模。ResnetBackbone的输出通道为2048,特征图高和宽都变为原来的132。
3。2transformerencoder
结构上,DETR在两个FFN层之后输出分类和BBox回归信息。Encoder和Decoder上,positionalencoding在原本的transformer中是直接与inputembeding相加,但是在DETR中,positionalencoding与imagefeatures拼接到一起。DETRDecoder上,还添加自定义的objectqueeries查询模块。
transformer原结构
DETRtransformer结构
Backbone输出的特征图维度为CHW,其中C表示2048个token,再经过一个11的卷积进行降维,然后输入到TransformerEncoder提取全局特征关系。transformerencoder由四个部分组成:MultiHeadSelfAttention多头注意力模块、objectqueries查询模块、AddNorm模块、FFN前向传播模块。
(1)MultiHeadSelfAttention多头注意力模块
在NLP中,自注意力机制就是通过某种运算来直接计算得到句子在编码过程中每个位置上的注意力权重,然后再以权重和的形式来计算得到整个句子隐含的向量表示。模型在对当前位置的信息进行编码时,会过度地将注意力集中于自身的位置,因此作者提出了通过多头注意力机制来解决这一问题。
backbone特征图进入Encoder模块后分成三份,一份直接作为V值向量,其余两份与位置编码向量直接相加,分别作为K(键向量),Q(查询向量)。
(2)objectqueries查询模块
ObejectQuery可以理解为是对anchor的编码,Query的参数是可学习的。ObejectQuery是queryembeding,是一个torch。nn。Embedding的对象,该对象保存了固定的查找表lookup。这个模块用来保存词嵌入,且可以通过下标检索到它们。模块的输入是一个带有下标的列表,输出是对应的词嵌入。类实例化之后可以根据字典中元素的下标来查找元素对应的向量。queryembeding是一个张量,维度为(numqueries,hiddendim),numqueries是预设的最大bbox的个数,在DETR中设为100。
(3)FFN前向传播模块
FFN前向传播模块是由3层感知器、线性层、relu激活层组成的。其中预测框由标准化中心坐标、高度、宽度组成,线性层使用softmax预测标签类别。
3。3transformerdecoder
在DETR中,作者输入100个ObjectQuery,对应的Transformerdecoder输出100个经过注意力解码后的token,经过FFN模块就能得到100个BBox框的位置和类别分数。
4、二值图分配和损失函数
4。1二值图分配
DETR如何把预测出来的100个prediction框与groundtruth做匹配,然后计算损失?如何知道prediction框与groundtruth一一匹配?首先将groundtruth也扩充成100个检测框,同时使用了一个额外的特殊类标签来表示在未检测到任何对象,认为是背景类别。这样预测和真实都是两个100个元素的集合了。然后采用匈牙利算法进行二分图匹配,对预测集合和真实集合的元素进行计算,使得匹配损失最小。
4。2损失函数
分类loss:CEloss交叉熵损失;
回归loss:预测框与GT的中心点和宽高的L1loss以及GIoUloss。
5、实验
Fastrcnn与DETR性能的比较,Fastrcnn与DETR表现相当。DETRDC5R101在AP上略高于FasterRCNNR101FPN0。8个点,在AP50上略高0。8个点。
可视化每个预测对象的解码器注意力(来自COCOval集的图像)。使用DETRDC5模型进行预测。对于不同的对象,注意力分数用不同的颜色编码。解码器通常处理对象的四肢,例如腿和头,可以看出transformer注意力对局部特征的感知能力很强。
DETRR101生成的全景分割的结果。分割的细节边缘也非常清晰准确。
在COCOval数据集上,与SOTA模型UPSNet和PanopticFPN进行比较,使用与DETR相同的数据增强来重新训练PanopticFPN,以18倍的时间表进行公平比较。UPSNet使用1x时间表,UPSNetM是具有多尺度测试时间增强的版本。
6、结论
DETR是一种基于transformer和二值图分类匹配损失的目标检测的新设计,可直接用于集合预测。在COCO数据集上实现了与优化的FasterRCNNbaseline相当的结果。DETR易于实施且具有灵活可扩展的架构。此外,与FasterRCNN相比,selfattention对全局信息的处理,使得它在大目标上有更好的效果。这种新的检测器设计也带来了新的挑战,特别是关于小目标的训练、优化和性能。
7、计算流程详解
流程如下:
(1)图片预处理后维度(1,3,800,1066),输入resnet50:(1,2048,25,34)。11卷积降维提取提取特征,特征图的维度(256,25,34);
(2)rowembed与colembed两个positionembeding向量维度均为(50,128),backbone的输出的特征图尺寸不超过5050。11卷积的划分rowembed与colembed;
(3)分别复制rowembed:(25,128)colembed(34,128)到相应维度到(25,34,128),concat得到positionembed(25,34,256)。把positionembed(850,256)的850个位置编码向量展平。
(4)将11卷积的特征图原本CHW的编码改为HWC的编码。将词嵌入向量与positionembed相加,得到包含了位置信息的词嵌入向量。给定输出框个数为100个,即querypos为100。
(5)将(4)中得到了词嵌入向量与训练好的objectqueries直接输入到transformer网络中。transformer的输出(100,1,256)。将transformer的输出分别输入到FFN,分别进行类别的回归和边界框。
微信公众号关注视觉算法学堂,带你学习更多人工智能CV技术干货!
古代囚犯的待遇如何?秦朝最严格,宋朝却能白吃白喝在阅读此文前,诚邀您点击一下关注,既方便您进行讨论与分享,又给您带来不一样的参与感,感谢您的支持。中华文化博大精深,诞生了许许多多的规章制度和文明精神,而自古以来,中国各个时代也都
数字化转型,是一个伪命题!作者丨任文青Andy数字化必须是具体的过去一年,我写了很多数字化的案例。最近有朋友加我微信,说有机会一起聊聊数字化转型的话题。我说,数字化可以一起探讨,但是数字化转型,我不知道它具
春到电白万物新踏春赏花正当时黄花风铃花海,生机勃勃。市民公园里,红绿相映的垂枝红千层惹人注目。旦场镇人民路旁,木棉花盛情绽放。市民公园一角,阳光下的桃花勾勒出春的剪影。东湖公园紫荆花与白塔勾勒出春日画卷。水东
朱元璋年轻时都干了些什么?朱元璋年轻时的主要工作是为地主刘德放牛,但刘德对朱元璋并不好,甚至经常打骂他,那么他当了皇帝之后是怎么对待刘德的呢?可蓝玉是幸运的,他有一个名震天下的好姐夫常遇春,常遇春作为朱元璋
孙殿英盗掘帝陵,引起举国哗然,他真的是靠送礼逃脱掉追责的吗?1928年7月,小军阀孙殿英用进行军事演习的名义,带着军队和火炮炸药,盗掘了清东陵,用炸药炸开了慈禧和乾隆墓,前后共花了7天7夜的时间,盗窃了大量稀世珍宝。孙殿英盗墓是民国时期的一
70年,彝族母语之乡喜德县经济增长1302倍丨卫星之眼见证大凉山70年进化史封面新闻记者席秦岭罗石芊周翼从1952年10月1日建区起,凉山彝族自治州在历史长河里,已跋涉了70年。在凉山建州七十年之际,封面新闻华西都市报和中共凉山州委宣传部联袂推出卫星之眼见
半路认回的蒋家第四代违背祖父遗言,行为被外界批数典忘祖!不得不说,这个男人拿的人生剧本简直像一部网文小说。下面这几条,随便挑出任何一条都够劲爆,却每一条全都出自他。他身世特殊,是蒋介石的曾孙,蒋经国的孙子。但在人生的前半段,他却不是姓蒋
中国共产党中国共产党是中国工人阶级的先锋队,是中国人民实现民族独立人民解放社会进步的根本力量。一九二一年春,中国共产党成立于上海。中国共产党领导下推动中国近代以来发展的内战和革命,正式成立中
成语故事五十步笑百步春秋战国时期,诸侯争霸战争不断,百姓流离失所苦不堪言。孟子是当时有名的政治家,并且主张民为贵,社稷次之,君为轻的民本思想,看着百姓因战争逃散,更是于心不忍,于是孟子决定周游列国,希
1949年蒋介石败退台湾,手里还剩多少军力?说出来让人难以接受在阅读此文前,诚邀您请点点右上方的关注,既方便您进行讨论与分享,还能及时阅读最新内容,感谢您的支持。1949年12月10日,眼看解放军部队即将冲进成都,自知已经无法继续抵御解放军部
1950年传闻上海要处决两位要犯,杜月笙听后一病不起,数月后去世在阅读此文前,诚邀您点击一下关注,既方便您进行讨论与分享,又给您带来不一样的参与感,感谢您的支持。1950年冬,国民党特务找到了当时身在香港的上海滩大亨杜月笙,言之凿凿地告诉他说上