图像 检测 - DETR: End-to-End Object Detection with Transformers - 端到端目标检测的Transformers(arXiv 2020)
- 摘要
- 1. 引言
- 2. 相关工作
- 2.1 集预测
- 2.2 Transformers和并行解码
- 2.3 目标检测
- 3. DETR模型
- References
声明:此翻译仅为个人学习记录
文章信息
- 标题:DETR: End-to-End Object Detection with Transformers (arXiv 2020)
- 作者:Nicolas Carion*, Francisco Massa*, Gabriel Synnaeve, Nicolas Usunier, Alexander Kirillov, and Sergey Zagoruyko (* Equal contribution)
- 文章链接:https://arxiv.org/pdf/2005.12872.pdf
- 文章代码:https://github.com/facebookresearch/detr
(推荐:亦可参考 图像 处理 - 开源算法集合)
摘要
我们提出了一种新的方法,将目标检测视为一个直接集预测问题。我们的方法简化了检测流程,有效地消除了对许多手工设计的组件的需求,如非最大值抑制程序或锚生成,这些组件对我们关于任务的先验知识进行了明确编码。新框架称为DEtection TRansformer或DETR,其主要组成部分是基于集合的全局损失,通过二分匹配强制进行唯一预测,以及transformer 编码器-解码器架构。给定一组固定的学习目标查询,DETR对目标和全局图像上下文的关系进行推理,以直接并行输出最终的预测集。与许多其他现代检测器不同,新模型概念简单,不需要专门的库。DETR在具有挑战性的COCO目标检测数据集上展示了与完善且高度优化的Faster R-CNN基线相当的准确性和运行时性能。此外,DETR可以很容易地推广,以统一的方式产生全景分割。我们表明,它显著优于竞争基线。训练代码和预训练模型可在https://github.com/facebookresearch/detr.
1. 引言
目标检测的目标是为每个感兴趣的目标预测一组边界框和类别标签。现代检测器通过在一大组提议[37,5]、锚[23]或窗口中心[53,46]上定义代理回归和分类问题,以间接的方式解决这一集合预测任务。它们的性能受到崩溃接近重复预测的后处理步骤、锚集的设计以及将目标框分配给锚的启发式方法的显著影响[52]。为了简化这些流水线,我们提出了一种直接集预测方法来绕过代理任务。这种端到端的哲学在复杂结构的预测任务(如机器翻译或语音识别)方面取得了重大进展,但在目标检测方面尚未取得重大进展:以前的尝试[43,16,4,39]要么添加了其他形式的先验知识,要么在具有挑战性的基准上与强大的基线相比没有竞争力。本文旨在弥合这一差距。
图1. DETR通过将公共CNN与transformer架构相结合,直接预测(并行)最终检测集。在训练过程中,二分匹配将预测唯一地分配给真值框。不匹配的预测应产生“无目标”(∅)类预测。
我们通过将目标检测视为直接集预测问题来简化训练管道。我们采用了一种基于transformer[47]的编码器-解码器架构,这是一种用于序列预测的流行架构。Transformer的自注意力机制显式地对序列中元素之间的所有成对交互进行建模,使这些架构特别适合于集合预测的特定约束,例如去除重复预测。
我们的DEtection TRansformer(DETR,见图1)一次预测所有目标,并使用集损失函数进行端到端训练,该函数在预测目标和真值目标之间执行二分匹配。DETR通过丢弃对先验知识进行编码的多个手工设计的组件(如空间锚或非最大抑制)来简化检测流水线。与大多数现有的检测方法不同,DETR不需要任何自定义层,因此可以在任何包含标准CNN和transformer类的框架中轻松复制。(在我们的工作中,我们使用了标准深度学习库中Transformer[47]和ResNet[15]主干的标准实现。)
与以前关于直接集预测的大多数工作相比,DETR的主要特征是二分匹配损失和transformers与(非自回归)并行解码的结合[29,12,10,8]。相比之下,先前的工作侧重于使用RNNs[43,41,30,36,42]的自回归解码。我们的匹配损失函数唯一地将预测分配给真值目标,并且对预测目标的排列是不变的,因此我们可以并行发射它们。
我们在最流行的目标检测数据集之一COCO[24]上评估了DETR,并与竞争激烈的Faster R-CNN基线[37]进行了比较。Faster R-CNN经过了多次设计迭代,自最初发布以来,其性能得到了极大的提高。我们的实验表明,我们的新模型达到了类似的性能。更准确地说,DETR在大型目标上表现出明显更好的性能,这一结果可能是由transformer的非局部计算实现的。然而,它在小目标上的性能较低。我们预计,未来的工作将以FPN[22]开发Faster R-CNN的方式改进这一方面。
DETR的训练设置与标准目标检测器在多个方面不同。新模型需要超长的训练时间表,并且受益于transformer中的辅助解码损耗。我们深入探讨了哪些组件对演示的性能至关重要。
DETR的设计理念很容易扩展到更复杂的任务中。在我们的实验中,我们表明,在预训练的DETR之上训练的简单分割头在全景分割[19]上的性能优于竞争性基线,这是一项具有挑战性的像素级识别任务,最近越来越受欢迎。
2. 相关工作
我们的工作建立在几个领域的先前工作的基础上:用于集合预测的二分匹配损失、基于transformer的编码器-解码器架构、并行解码和目标检测方法。
2.1 集预测
没有规范的深度学习模型可以直接预测集合。基本的集合预测任务是多标签分类(例如,参见[40,33]以获取计算机视觉背景下的参考文献),其中基线方法,一对一,不适用于诸如元素之间存在底层结构(即,接近相同的框)的检测等问题。这些任务的第一个困难是避免近乎重复的情况。大多数当前的检测器使用诸如非最大抑制之类的后处理来解决这个问题,但直接集预测是免后处理的。他们需要全局推理方案,对所有预测元素之间的交互进行建模,以避免冗余。对于恒定大小的集合预测,密集全连接网络[9]是足够的,但代价高昂。一种通用的方法是使用自回归序列模型,如递归神经网络[48]。在所有情况下,损失函数都应通过预测的排列保持不变。通常的解决方案是基于匈牙利算法[20]设计损失,以找到真值和预测之间的二分匹配。这增强了排列不变性,并保证每个目标元素具有唯一匹配。我们遵循二分匹配损失方法。然而,与大多数先前的工作相反,我们放弃了自回归模型,并使用具有并行解码的transformers,我们将在下面进行描述。
2.2 Transformers和并行解码
Transformers是由Vaswani等人引入的。[47]作为一种新的基于注意力的机器翻译构建块。注意力机制[2]是聚集来自整个输入序列的信息的神经网络层。Transformers引入了自注意力层,类似于非局部神经网络[49],它扫描序列的每个元素,并通过聚合整个序列的信息来更新它。基于注意力的模型的主要优点之一是它们的全局计算和完美的内存,这使得它们比长序列上的RNN更适合。在自然语言处理、语音处理和计算机视觉的许多问题中,Transformers正在取代RNN[8,27,45,34,31]。
Transformers最初用于自回归模型,遵循早期的序列到序列模型[44],逐个生成输出令牌。然而,在音频[29]、机器翻译[12,10]、单词表示学习[8]以及最近的语音识别[6]等领域,令人望而却步的推理成本(与输出长度成比例,且难以批量处理)导致了并行序列生成的发展。我们还将transformers和并行解码相结合,以在计算成本和执行集合预测所需的全局计算的能力之间进行适当的权衡。
2.3 目标检测
大多数现代目标检测方法都是相对于一些初始猜测进行预测的。两级检测器[37,5]预测框w.r.t.提案,而单级方法预测w.r.t.锚[23]或可能的目标中心网格[53,46]。最近的工作[52]表明,这些系统的最终性能在很大程度上取决于这些初始猜测的确切设置方式。在我们的模型中,我们能够去除这种手工制作的过程,并通过对输入图像而不是锚的绝对框预测来直接预测检测集,从而简化检测过程。
基于集合的损失。几个目标检测器[9,25,35]使用了二分匹配损失。然而,在这些早期的深度学习模型中,不同预测之间的关系仅用卷积层或全连接层建模,手工设计的NMS后处理可以提高其性能。最近的检测器[37,23,53]使用真值和预测之间的非唯一分配规则以及NMS。
可学习的NMS方法[16,4]和关系网络[17]显式地对不同预测之间的关系进行建模。使用直接集合损耗,它们不需要任何后处理步骤。然而,这些方法采用了额外的手工制作的上下文特征,如提议框坐标,以有效地对检测之间的关系进行建模,同时我们寻找减少模型中编码的先验知识的解决方案。
递归检测器。与我们的方法最接近的是用于目标检测[43]和实例分割[41,30,36,42]的端到端集合预测。与我们类似,他们使用基于CNN激活的编码器-解码器架构的二分匹配损失来直接生成一组边界框。然而,这些方法只在小型数据集上进行了评估,而没有对照现代基线进行评估。特别是,它们基于自回归模型(更准确地说是RNNs),因此它们没有利用最近的transformers进行并行解码。
3. DETR模型
两个因素对于检测中的直接集合预测至关重要:(1)集合预测损失,它迫使预测框和真值框之间进行唯一匹配;(2) 预测(一次通过)一组目标并对其关系建模的体系结构。我们在图2中详细描述了我们的体系结构。
图2. DETR使用传统的CNN主干来学习输入图像的2D表示。该模型对其进行平坦化,并在将其传递到transformer编码器之前用位置编码对其进行补充。然后,transformer解码器将少量固定数量的学习位置嵌入作为输入,我们称之为目标查询,并额外处理编码器输出。我们将解码器的每个输出嵌入传递到共享前馈网络(FFN),该网络预测检测(类和边界框)或“无目标”类。
References
- Al-Rfou, R., Choe, D., Constant, N., Guo, M., Jones, L.: Character-level language modeling with deeper self-attention. In: AAAI Conference on Artificial Intelligence (2019)
- Bahdanau, D., Cho, K., Bengio, Y.: Neural machine translation by jointly learning to align and translate. In: ICLR (2015)
- Bello, I., Zoph, B., Vaswani, A., Shlens, J., Le, Q.V.: Attention augmented convolutional networks. In: ICCV (2019)
- Bodla, N., Singh, B., Chellappa, R., Davis, L.S.: Soft-NMS improving object detection with one line of code. In: ICCV (2017)
- Cai, Z., Vasconcelos, N.: Cascade R-CNN: High quality object detection and instance segmentation. PAMI (2019)
- Chan, W., Saharia, C., Hinton, G., Norouzi, M., Jaitly, N.: Imputer: Sequence modelling via imputation and dynamic programming. arXiv:2002.08926 (2020)
- Cordonnier, J.B., Loukas, A., Jaggi, M.: On the relationship between self-attention and convolutional layers. In: ICLR (2020)
- Devlin, J., Chang, M.W., Lee, K., Toutanova, K.: BERT: Pre-training of deep bidirectional transformers for language understanding. In: NAACL-HLT (2019)
- Erhan, D., Szegedy, C., Toshev, A., Anguelov, D.: Scalable object detection using deep neural networks. In: CVPR (2014)
- Ghazvininejad, M., Levy, O., Liu, Y., Zettlemoyer, L.: Mask-predict: Parallel decoding of conditional masked language models. arXiv:1904.09324 (2019)
- Glorot, X., Bengio, Y.: Understanding the difficulty of training deep feedforward neural networks. In: AISTATS (2010)
- Gu, J., Bradbury, J., Xiong, C., Li, V.O., Socher, R.: Non-autoregressive neural machine translation. In: ICLR (2018)
- He, K., Girshick, R., Doll´ar, P.: Rethinking imagenet pre-training. In: ICCV (2019)
- He, K., Gkioxari, G., Doll´ar, P., Girshick, R.B.: Mask R-CNN. In: ICCV (2017)
- He, K., Zhang, X., Ren, S., Sun, J.: Deep residual learning for image recognition. In: CVPR (2016)
- Hosang, J.H., Benenson, R., Schiele, B.: Learning non-maximum suppression. In: CVPR (2017)
- Hu, H., Gu, J., Zhang, Z., Dai, J., Wei, Y.: Relation networks for object detection. In: CVPR (2018)
- Kirillov, A., Girshick, R., He, K., Doll´ar, P.: Panoptic feature pyramid networks. In: CVPR (2019)
- Kirillov, A., He, K., Girshick, R., Rother, C., Dollar, P.: Panoptic segmentation. In: CVPR (2019)
- Kuhn, H.W.: The hungarian method for the assignment problem (1955)
- Li, Y., Qi, H., Dai, J., Ji, X., Wei, Y.: Fully convolutional instance-aware semantic segmentation. In: CVPR (2017)
- Lin, T.Y., Doll´ar, P., Girshick, R., He, K., Hariharan, B., Belongie, S.: Feature pyramid networks for object detection. In: CVPR (2017)
- Lin, T.Y., Goyal, P., Girshick, R.B., He, K., Doll´ar, P.: Focal loss for dense object detection. In: ICCV (2017)
- Lin, T.Y., Maire, M., Belongie, S., Hays, J., Perona, P., Ramanan, D., Doll´ar, P., Zitnick, C.L.: Microsoft COCO: Common objects in context. In: ECCV (2014)
- Liu, W., Anguelov, D., Erhan, D., Szegedy, C., Reed, S.E., Fu, C.Y., Berg, A.C.: Ssd: Single shot multibox detector. In: ECCV (2016)
- Loshchilov, I., Hutter, F.: Decoupled weight decay regularization. In: ICLR (2017)
- L¨uscher, C., Beck, E., Irie, K., Kitza, M., Michel, W., Zeyer, A., Schl¨uter, R., Ney, H.: Rwth asr systems for librispeech: Hybrid vs attention - w/o data augmentation. arXiv:1905.03072 (2019)
- Milletari, F., Navab, N., Ahmadi, S.A.: V-net: Fully convolutional neural networks for volumetric medical image segmentation. In: 3DV (2016)
- Oord, A.v.d., Li, Y., Babuschkin, I., Simonyan, K., Vinyals, O., Kavukcuoglu, K., Driessche, G.v.d., Lockhart, E., Cobo, L.C., Stimberg, F., et al.: Parallel wavenet: Fast high-fidelity speech synthesis. arXiv:1711.10433 (2017)
- Park, E., Berg, A.C.: Learning to decompose for object detection and instance segmentation. arXiv:1511.06449 (2015)
- Parmar, N., Vaswani, A., Uszkoreit, J., Kaiser, L., Shazeer, N., Ku, A., Tran, D.: Image transformer. In: ICML (2018)
- Paszke, A., Gross, S., Massa, F., Lerer, A., Bradbury, J., Chanan, G., Killeen, T., Lin, Z., Gimelshein, N., Antiga, L., Desmaison, A., Kopf, A., Yang, E., DeVito, Z., Raison, M., Tejani, A., Chilamkurthy, S., Steiner, B., Fang, L., Bai, J., Chintala, S.: Pytorch: An imperative style, high-performance deep learning library. In: NeurIPS (2019)
- Pineda, L., Salvador, A., Drozdzal, M., Romero, A.: Elucidating image-to-set prediction: An analysis of models, losses and datasets. arXiv:1904.05709 (2019)
- Radford, A., Wu, J., Child, R., Luan, D., Amodei, D., Sutskever, I.: Language models are unsupervised multitask learners (2019)
- Redmon, J., Divvala, S., Girshick, R., Farhadi, A.: You only look once: Unified, real-time object detection. In: CVPR (2016)
- Ren, M., Zemel, R.S.: End-to-end instance segmentation with recurrent attention. In: CVPR (2017)
- Ren, S., He, K., Girshick, R.B., Sun, J.: Faster R-CNN: Towards real-time object detection with region proposal networks. PAMI (2015)
- Rezatofighi, H., Tsoi, N., Gwak, J., Sadeghian, A., Reid, I., Savarese, S.: Generalized intersection over union. In: CVPR (2019)
- Rezatofighi, S.H., Kaskman, R., Motlagh, F.T., Shi, Q., Cremers, D., Leal-Taix´e, L., Reid, I.: Deep perm-set net: Learn to predict sets with unknown permutation and cardinality using deep neural networks. arXiv:1805.00613 (2018)
- Rezatofighi, S.H., Milan, A., Abbasnejad, E., Dick, A., Reid, I., Kaskman, R., Cremers, D., Leal-Taix, l.: Deepsetnet: Predicting sets with deep neural networks. In: ICCV (2017)
- Romera-Paredes, B., Torr, P.H.S.: Recurrent instance segmentation. In: ECCV (2015)
- Salvador, A., Bellver, M., Baradad, M., Marqu´es, F., Torres, J., Gir´o, X.: Recurrent neural networks for semantic instance segmentation. arXiv:1712.00617 (2017)
- Stewart, R.J., Andriluka, M., Ng, A.Y.: End-to-end people detection in crowded scenes. In: CVPR (2015)
- Sutskever, I., Vinyals, O., Le, Q.V.: Sequence to sequence learning with neural networks. In: NeurIPS (2014)
- Synnaeve, G., Xu, Q., Kahn, J., Grave, E., Likhomanenko, T., Pratap, V., Sriram, A., Liptchinsky, V., Collobert, R.: End-to-end ASR: from supervised to semi-supervised learning with modern architectures. arXiv:1911.08460 (2019)
- Tian, Z., Shen, C., Chen, H., He, T.: FCOS: Fully convolutional one-stage object detection. In: ICCV (2019)
- Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A.N., Kaiser, L., Polosukhin, I.: Attention is all you need. In: NeurIPS (2017)
- Vinyals, O., Bengio, S., Kudlur, M.: Order matters: Sequence to sequence for sets. In: ICLR (2016)
- Wang, X., Girshick, R.B., Gupta, A., He, K.: Non-local neural networks. In: CVPR (2018)
- Wu, Y., Kirillov, A., Massa, F., Lo, W.Y., Girshick, R.: Detectron2. https://github.com/facebookresearch/detectron2 (2019)
- Xiong, Y., Liao, R., Zhao, H., Hu, R., Bai, M., Yumer, E., Urtasun, R.: Upsnet: A unified panoptic segmentation network. In: CVPR (2019)
- Zhang, S., Chi, C., Yao, Y., Lei, Z., Li, S.Z.: Bridging the gap between anchor-based and anchor-free detection via adaptive training sample selection. arXiv:1912.02424 (2019)
- Zhou, X., Wang, D., Kr¨ahenb¨uhl, P.: Objects as points. arXiv:1904.07850 (2019)