论文阅读《End-to-End Object Detection with Transformers》

论文阅读:DETR:End-to-End Object Detection with Transformers transformer 端到端目标检测 DETR 阅读详情

DETR 采用 transformer 的 encoder-decoder 结构和在预测与 ground truth 间使用二分图匹配算法来实现检测,易于实现并且很容易就可以扩展到分割任务上。

DETR 检测大物体效果不错的原因是 transformer 的 non-local 的计算架构,对小物体的检测效果不好可以尝试在 FPN 上做文章,就像 FPN 之于 Faster Rcnn。

Learnable NMS methods [15,4] and relation networks [16] explicitly model relations between different predictions with attention.

4:《Soft-NMS — improving object detection with one line of code》

15:《Learning non-maximum suppression》

16:《Relation networks for object detection》

DEtection with TRansformers

将目标检测看作是一个 set prediction 问题,每一个 set 包含 bounding boxes 和对应的标签。只要包含 CNN 的 backbone 和 transformer 结构的网络都可以很容易的实现 DETR,PyTorch 中的推理代码也只有不到50行。

结构如上图,主要包含:backbone、encoder-decoder transformer 和 FNN。

backbone

就是一个传统的 CNN,文章中采用的是 ResNet。

encoder-decoder transformer & FNN

和经典的 Transformer 差别不大,用 attention 的好处就是,attention 可以看到全局信息,大框小框,不管什么奇形怪状的框,分分钟搞出来。

decoder 的输入包含三个部分,encoder 的输出,positional encodings 和 object queries。这个 object queries 是个比较神奇的东西,它是学出来的。我们先来看一下在这些object queries下,预测出来的框是什么样子的。

上图中,每个图都是一个 object query 在 COCO 2017 val 预测出来的框的结果。图中的每个点都是一个框的中心点,绿色表示小框,红色表示横向的大框,蓝色表示纵向的大框。可见每个 query 都有自己的特点,比如第一个 query 会一直问左边的小框里是什么,第二个会问中间的大框是什么,等等。我们可以把每个 object query看成一个关注于某个区域,某些大小物体的提问者。然后这些提问者就是模型训练出来的提问者,各有所长。

比如我们数据集总共有100个类别的物体需要预测,decoder 部分是输入是 100 个 object queries,那么这 100 object queries 经过 decoder 之后会预测出若干类别的物体和位置信息。

encoder 中的包含 positional encoding 是因为 transformer 结构是置换不变形的。

Since the decoder is also permutation-invariant, the N input embeddings must be different to produce different results.

decoder 输出的 embedding 融合了 object queries(是一个 output positional encoding)空间编码,之后被 FFN 处理成 label 和 bounding box。FFN 是由一个包含 ReLU 的三层感知机和一个全连接层组成的,输出还包含了一个 no object 类,跟 background 类起的作用相同。每一个 decoder layer 都被一个共享权重的层归一化,之后送到 prediction heads(classification 和 box prediction,即 FNN)中。

encoder 更多关注的是 global attention,而 decoder 更多关注 local。

loss function

DETR 一次可以推断 N 个 fixed-size set,这个 N 比一张图片内物体的数量要大得多。有两个关键点:一是 predicted 和 ground truth 之间要对应,二是修正 bounding box。

  • Object detection set prediction loss

matching cost。在这 N 个 set 的排列中找到损失最小的排列 \hat{\sigma}:

采用匈牙利算法来实现最优分配,\sigma (i) 是索引。这里的匈牙利算法和下面的 Hungarian loss 不是一回事,只是为了实现预测和 gt 的最优分配,这里的 Lmatch 匈牙利算法的损失函数。Lmatch 是两两匹配的损失:

Hungarian loss。而这里是模型训练使用的 loss。\hat{p}_{\sigma (i)}(c_{i}) 是排列索引\sigma (i)中对c_{i}类的可能性,在 Lmatch 找到了损失最小的排列\hat{\sigma}后,固定这个排列。将损失的第一项变为 -log,上面的损失函数没有采用 -log 的原因是使得损失中的类预测项(第一项)与框回归项(第二项)的权重基本相等,因为实验中更好的性能。再来优化如下损失函数:

In practice, we down-weight the log-probability term when ci = ∅ by a factor 10 to account for class imbalance. This is analogous to how Faster R-CNN training procedure balances positive/negative proposals by subsampling.

  • Bounding box loss

因为 L1 损失对 large box 和 small box 有不同的尺度,即使它们的相对误差差不多。因此采用 L1 损失和 IoU 损失结合起来组成 Lbox:

两个\lambda是超参数,这两个损失项是根据 batch 内 object 的数量来完成归一化的。

  • Auxiliary decoding losses

在训练时的 decoder 中使用 auxiliary losses,用来帮助模型输出正确的每一类物体的数量。 

auxiliary losses 出自《Character-level language modeling with deeper self-attention》。

Experiments

采用了空洞卷积(图中的 DC5)来增加特征图分辨率,增加了对小目标的精度,但是有计算开销,一个 trick。训练时采用 random crop augmentations,精度涨了1AP左右。用16张 V100 训练了三天。。。还有一个 trick:

At inference time, some slots predict empty class. To optimize for AP, we override the prediction of these slots with the second highest scoring class, using the corresponding confidence. This improves AP by 2 points compared to filtering out empty slots.

测试了一点小样本的性能,比如 COCO 中只包含13张长颈鹿的图片,但是仍然找到了其他数据集中全部24张图片内包含的长颈鹿。

Ablations

  • encoder layers

去掉 encoder,AP 会降低。并且 encoder 对解码重叠的物体很有用,下图是 encoder 最后一层的特征图:

  • decoder layers

对比了如果加上 NMS 后的精度,随着层数的增加,NMS 带来的增益逐渐降低,因为它排除了很多 positive 的 predication。

decoder 跟 encoder 比起来,更关注也只需要关注局部,来提取 boundbox 和类别:

  • positional encodings

一共有两种 positional encoding:encoder 中的 spatial positional encodings 和 decoder 中的 output positional encodings (object queries),这里与 Transformer 中的编码方式不太一样。文中尝试了不同的编码方式与编码组合,精度均有降低。

DETR for panoptic segmentation

全景分割任务,与 Faster Rcnn 一样,DETR 也可以在 decoder 中增加一个 mask head 来完成分割任务,并且可以同时分割 COCO 数据集中的 stuff 和 thing。

Predicting boxes is required for the training to be possible, since the Hungarian matching is computed using distances between boxes.

具体的网络结构如下:

其输入是 decoder 的输出,之后通过一个多头注意力模块,产生每一个待分割物体的注意力热力图。并且增加了一个类似 FPN 的卷积网络来提升精度,这个卷积网络输出的 mask 分辨率是原图的1/4。

The final resolution of the masks has stride 4 and each mask is supervised independently using the DICE/F-1 loss and Focal loss.

为了得到最后的分割预测,对 mask 中每一个像素点使用了一个 argmax 操作:

compute the per-pixel argmax to determine in which mask each pixel belongs.

模型的分割效果如下:

采用 Panoptic Quality(PQ)来评价,将其拆分为 th(thing)和 st(stuff)。

The result break-down shows that DETR is especially dominant on stuff classes, and we hypothesize that the global reasoning allowed by the encoder attention is the key element to this result.

附加

  • Transformer 之前的博客里写过。
  • 匈牙利算法之前的博客里写过。

匈牙利匹配算法是离散数学中图论部分的一个经典算法,描述的问题是一个二分图的最大匹配。就是这个二分图分成两部分,一部分是我们对100种 object query 预测的结果,另一部分是实际的标签。由于我们一开始是不知道这100 个 object query 输入的时候应该预测那些类别的物体,有可能一开始第一个 token 预测的是 A 物体,第二个 token 预测的是 C 物体,总而言之是无序的。我们就要根据实际的 label,找到预测结果中和他最接近的计算 loss。其他没匹配上的则不计算 loss回传梯度:

  • 全景分割

语义分割(semantic segmentation),常用来识别天空、草地、道路等没有固定形状的不可数事物(stuff)。语义分割的标记方法通常是给每个像素加上标签。
实例分割(instance segmentation),人、动物或工具等可数的、独立的明显物体(things)。实例分割通常用包围盒或分割掩码标记目标。
全景分割(Panoptic Segmentation)其实就是把这两个方向结合起来,生成统一的、全局的分割图像,既识别事物,也识别物体。

  • PQ

全景分割的评价指标。首先是常规的 IoU > 0.5,然后结合 TF、FN、FP 搞出了一个 PQ 标准。(PQ 是 Panoptic Quality,即全景质量的简称。)

颜色相同的区域IoU & gt

PQ 的具体公式为:

另外,PQ可以分解为分割质量(segmentation quality,SQ)和识别质量(recognition quality,RQ)的乘积,便于进一步评估分割和识别环节的表现。

即 PQ = SQ * RQ。

Oracle19c-集群节点重新添加 Oracle RAC集群在极端情况下,如硬件、主机,集群软件损坏,导致集群节点永久无法使用,需要对集群节点进行修复,删除节点集群信息并重新加入集群,以恢复集群原有的架构。 本文主要讲述一套两节点的Oracle19c RAC集群,节点一orcl01由于主机异常无法正常启动,在对主机进行重装之后,需要将orcl01节点重新加入集群的操作步骤。环境信息: 操作系统:Linux 7 RAC集群:19C 主机节点:orcl0... 阅读详情

相关推荐

CATIA_DELMIA_V5R2019安装包下载及安装教程破解

CATIA_V5R2019/DELMIA_V5R2019安装包下载及安装教程破解

一只机械工装熊的博客 8367

基于 DETR 的开放世界目标检测

如果您也对人工智能和计算机视觉全栈领域感兴趣,强烈推荐您关注有料、有趣、有爱的公众号『CVHub』,每日为大家带来精品原创、多领域、有深度的前沿科技论文解读及工业成熟解决方案!欢迎添加小编微信号:cv_huber,一起探讨更多有趣的话题!

专注计算机视觉全栈知识分享 1627

Halcon频域滤波实战:5分钟搞定傅里叶变换与功率谱分析(附完整代码)

本文提供Halcon频域滤波的实战指南,重点讲解如何利用傅里叶变换与功率谱分析快速解决图像处理难题。通过核心算子fft_image和power_real,演示了从空间域转换到频域、分析功率谱以定位周期性噪声,并构造滤波器进行精准去除的完整流程,附有可直接运行的代码示例。

docker8compose的博客 215

【详细解读DETR,基于transformer的目标检测网络】DETR: End-to-End Object Detection with Transformers

【详细解读DETR,基于transformer的目标检测网络】DETR: End-to-End Object Detection with Transformers

m0_48086806的博客 7万+

概率论基础-严士健 第二版 习题与补充1.6答案

概率论基础-严士健 第二版 习题与补充1.6答案 1.不独立。 设有一均匀正八面体,其第1,2,3,4面染红色,第1,2,3,5面染白色,第1,6,7,8面染黑色,现在以A,B,C分别表示投一次正八面体出现红、白、黑的事件,则 P(A)=P(B)=P(C)=12.P(A) = P(B) = P(C) = \frac{1}{2}.P(A)=P(B)=P(C)=21​. P(ABC)=18=P(A)P...

weixin_42341993的博客 2515

【SOC估算】基于EKF与神经网络融合的锂电池SOC高精度估计及Matlab实现

本文探讨了基于EKF与神经网络融合的锂电池SOC高精度估计方法。通过结合扩展卡尔曼滤波(EKF)的模型驱动优势和神经网络的数据驱动学习能力,实现了对电池荷电状态(SOC)的精准预测。Matlab仿真验证了该混合算法在各种工况下均能显著降低估计误差,提升电池管理系统性能。

play7的博客 695

基于EasyCV复现DETR和DAB-DETR,Object Query的正确打开方式

DETR是最近几年最新的目标检测框架,第一个真正意义上的端到端检测算法,省去了繁琐的RPN、anchor和NMS等操作,直接输入图片输出检测框。DETR的成功主要归功于Transformer强大的建模能力,还有匈牙利匹配算法解决了如何通过学习的方式one-to-one的匹配检测框和目标框。...

科技很有意思 2146

RT-DERT安卓部署教程

这个文档中的代码案例,实现了拍照和选图识别,两个功能,可以看效果图。UI做了美化:显示类别机和数量。代码下载地址:通过网盘分享的文件:android_rtdert.zip链接: https://pan.baidu.com/s/1k6e-d_lov1OPgUmit5i_cA?pwd=hpfi 提取码: hpfi–来自百度网盘超级会员v8的分享。

AIOT魔法师 196

【Positional embedding】

Positional embedding 本文归纳了transformer-based的模型中的positional-embedding。 首先明白第一点: Q: Why need positional embedding in Transformer? A: 跟 CNN/RNN 不同,self-attention并不会记录位置信息。 位置编码可以使self-attention记忆位置信息。 Transformer’s positional embedding Attention Is All You Ne

gesshoo的博客 3099

RK3568 低功耗设计全解析:DVFS 策略与 PMIC 电源管理

本文深入解析RK3568处理器的低功耗优化方案。从硬件架构分析入手,阐述四核Cortex-A55的功耗特性及分层电源域设计。重点介绍DVFS动态调压调频技术,包括Linux内核配置方法及场景化策略设计。详细讲解RK809 PMIC的电源管理优化,提供外设电源域控制与休眠唤醒配置的实战案例。通过智能终端应用实例,展示待机功耗从280mA降至65mA的优化效果,并推荐功率测试工具。文章强调需要平衡性能与功耗,结合场景定制策略,并指出AI负载预测等未来优化方向,为RK3568开发者提供系统性的低功耗解决方案。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 2073

STM32入门教程:智能汽车控制

智能汽车是近年来快速发展的领域之一,它结合了嵌入式系统、传感器和通信技术,通过智能化的控制算法和决策系统实现自主导航、避障、环境感知等功能。在这篇教程中,我们将以 STM32 微控制器为核心,通过编写代码案例来介绍智能汽车的控制原理和实现方法。步骤三:决策与执行 最后,我们根据传感器数据做出相应的决策,并执行相应的动作。案例:智能汽车的避障功能 在这个案例中,我们将实现智能汽车的避障功能。感知系统负责感知汽车周围的环境,包括障碍物的距离、车辆的角度等信息。下面我们通过一个具体的案例来演示代码的编写。

2401_85258012的博客 929

DPText-DETR原理及源码解读(一)

DETR是FACEBOOK基于transformer做检测开山之作,Deformable DETR加速收敛并对小目标改进,TESTR实现了端到端的文本检测识别,DPText-DETR做了精度更高的文字检测

北落师门XY的博客 3452

RK3568 OpenHarmony3.2 蓝牙模块AP6275S适配(已更新)

OpenHarmony3.2 Release版默认是适配AP6275s这款蓝牙芯片的,但是打开蓝牙,发现无法扫描到设备、连接设备。目前平台soc为RK3568,根据项目要求,自定义外设。接下来将以解决bug为目的,学习和记录OpenHarmony平台下蓝牙模块的适配流程。RK809 CLK:32.768KHzUART1M1:与蓝牙模块通讯的串口:GPIO4_B6:GPIO4_A5WAKE_GPIO:未定义,硬件拉高1.8V: 未定义,悬空主要是打开串口,/dev/ttyS1,得到文件描述符fd。

Martian_Jonas的博客 2247

【论文阅读笔记】End-to-End Object Detection with Transformers

现有大多数检测算法,都依赖于一些初始猜测。不管是基于proposal的二阶目标检测算法,还是anchor-based、anchor-free的一阶目标检测算法,都是没有直接去预测集合预测的,而是设计了一个替代的任务(回归和类别概率)来解决目标检测问题。现代目标检测器的检测性能很受后处理步骤的影响,比如(1)密集预测边界框的消除;(2)anchor集合的额设计;(3)将目标分配给anchor的启发性方法;

时光机 °的博客 1855

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

End-to-End Object Detection with Transformers论文阅读笔记

论文下载地址: https://arxiv.org/abs/2005.12872 代码下载地址: https://github.com/facebookresearch/detr 摘要:该算法简化了目标检测算法的流程,同时将那些需要手动设计的技巧nms(极大值抑制)和anchor成功的删除掉,实现端到端自动训练和学习。DETR算法使基于集合的全局损失函数,通过二部图匹配和编码解码网络结构来强制进行唯一的预测。 给定一小组固定的经过学习的object queries(后面会讲到什么是object que.

donkey_1993的博客 6657

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

论文阅读笔记:End-to-End Object Detection with Transformers

论文阅读笔记:End-to-End Object Detection with Transformers

HollowKnightz的博客 3126

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

End-to-End Object Detection with Transformers 论文阅读

该论文为跨界论文,将机器翻译的Transformer结构用在了目标检测以及语义分割上,在COCO数据集上超越了Faster R-CNN。将Transformer应用到计算机视觉方面,简化了检测的流程(不需要很多手动设计的组件,如非最大抑制,或者锚)。该网络基于集合的全局损耗,通过二分匹配和Transformer中的编码解码器架构来进行预测。 网络结构 该论文由CNN与Transformer组成,由CNN提取特征,再通过Transformer结构将特征进行编码预测。 下图为网络各部分具体的结构。 1.主干

w_study_ty的博客 402

【论文阅读】End-to-End Object Detection with Transformers

【论文精读】End-to-End Object Detection with Transformers简介DETR模型网络结构损失函数全景分割 本文于2020年出自FACEBOOK AI,方法相当新颖,融合了由NLP领域兴起并风靡其他各个领域的transformer结构,与常规目标检测不同的是,它摒弃了现在主流的目标检测器中的Anchor生成、NMS等操作,不同于R-CNN系列,也不同于YOLO系列,亦区别于其他Anchor-Free模型,做到真正的End-to-end,堪称目标检测的新范式。DETR将检测

weixin_42681291的博客 738

【论文阅读】(DETR)End-to-End Object Detection with Transformers

但是这些传统算法往往需要prior和post-process流程,导致额外的计算量,需要复杂的代码来部署模型。如图是decoder的注意力可视化结果,可以看到query更关注于物体的边边角角,为目标定位提供了有效信息。除了AP75和APs,DETR在同样的参数规模下都超过了Faster RCNN,但是计算量和检测速度更慢。DETR为目标检测提供了简洁有效的端到端检测框架,且达到了主流检测器的水平,但仍然有较多改进空间。DETR则完全不需要这些,从输入到输出,一气呵成,简洁优雅。匈牙利算法可参考[3]

TKK的博客 1365

End-to-End Object Detection with Transformers 论文阅读笔记

End-to-End Object Detection with Transformers 论文阅读笔记 这是ECCV2020的一篇文章,从被引程度看可以说是一篇神作了,是开创性的一篇论文,提出了一种新的end-to-end的目标检测框架。 目前的目标检测多数是非end-to-end的,因此受预设的anchor和nms的后处理等先验的影响较大。文章将目标检测任务当作一个set prediction任务(set prediction就是需要预测一个具有任意数量元素的集合的任务,比如翻译),这是不同于以往目

read, note and comment papers 714

【论文阅读】DETR (ECCV2020)|End-to-End Object Detection with Transformers

题目:End-to-End Object Detection with Transformers 作者:Facebook AI – Nicolas Carion , Francisco Massa , Gabriel Synnaeve, Nicolas Usunier, Alexander Kirillov, and Sergey Zagoruyko motivation: 作者想直接预测无序集合 method: 亮点我觉得有2: 1)采用了transformer的模型架构; 2)采用匈牙利算法的无序预

一碗白开水一 751

DETR: End-to-End Object Detection with Transformers (论文阅读笔记)

DETR 是Facebook AI 研究院于2020年提出的一种端到端的目标检测新方法,它省略了大量人工设计的组件并且不需要NMS后处理。 论文地址:https://arxiv.org/pdf/2005.12872.pdf 摘要 我们提出了一种将目标检测视为直接集预测(set prediction)问题的新方法。我们的方法简化了检测pipeline,有效地消除了对许多手工设计组件的需求,例如非最大抑制程序(NMS)或anchor生成(anchor generation),这些组件明确地编码了我..

weixin_40671425的博客 4176

论文阅读:(DETR)End-to-End Object Detection with Transformers

我们提出了一种将目标检测看作集合预测(set prediction)问题的新方法。我们的方法简化了目标检测的流水线,有效地消除了许多需要手工设计的组件,如非极大值抑制算法或锚框(anchor)生成算法这类需要根据任务显式编码的先验知识。新框架的主要组成部分被称为DEtection TRansformer或DETR,包括一个通过二部图匹配进行唯一预测的基于集合的全局损失,以及一个Transformer编码器-解码器结构。

fishfuck的博客 506

论文阅读:End-to-End Object Detection with Transformers

Paper Title End-to-End Object Detection with Transformers 转载,讲的很好 https://blog.youkuaiyun.com/zjuPeco/article/details/107209584 author Nicolas Carion, Francisco Massa, Gabriel Synnaeve, Nicolas Usunier, Alexander Kirillov, and Sergey Zagoruyko ...

qq_35284431的博客 374

End-to-End Object Detection with Transformers(DETR)论文阅读与理解

DETR

weixin_45074568的博客 1092

HOTR: End-to-End Human-Object Interaction Detection with Transformers论文阅读笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、本文的内容二、研究方法1.detection as set prediction2.HOTR 结构训练HOTR欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UM.

weixin_59340037的博客 1543
上一篇: 论文阅读《Matching Networks for One Shot Learning》
下一篇: 论文阅读《Prototypical Networks for Few-shot Learning》
不说话装高手H
博客等级 码龄7年 43粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值