DEtection TRansformer(简称DETR)是一种深度学习模型,专门用于目标检测任务。与传统的目标检测系统不同,DETR将Transformer架构作为其核心组件,以一种独特而高效的方式处理目标检测问题。Transformer架构最初是为自然语言处理(NLP)任务设计的,因其自注意力机制而闻名,这使得它能够捕捉序列或数据集中元素之间的复杂关系和依赖性。在DETR中,Transformer的自注意力机制在理解图像中对象的内容和空间关系方面发挥着关键作用。
DETR在目标检测方面的处理方式与传统系统如Faster R-CNN或YOLO有所不同。DETR将目标检测问题框架为一个直接的集合预测问题,它将图像中的所有对象视为一个集合,并旨在一次性预测它们的类别和边界框。DETR引入了“对象查询”的概念,这些查询代表了模型需要预测的对象。对象查询的数量通常是固定的,与图像中的对象数量无关。Transformer的自注意力机制被应用于对象查询和从输入图像中提取的空间特征(称为键和值)。这种自注意力机制允许DETR学习对象及其空间位置之间的复杂关系和依赖性。
使用自注意力机制收集的信息,DETR同时预测每个对象查询的类别和位置(边界框)。这种并行预测方式与传统的目标检测器不同,后者通常依赖于顺序处理。为了确保每个预测的边界框对应于图像中的真实对象,DETR使用二分图匹配将预测的框与训练数据中的真值对象关联起来,这有助于在训练期间提炼模型。
DETR的架构通过一个卷积神经网络(CNN)编码器开始处理输入图像。CNN编码器的主要作用是从图像中提取高级特征表示。这些特征保留了图像中对象的空间信息,并为后续操作奠定了基础。CNN以其捕获层次视觉特征的能力而闻名。由于Transformer本身不具备空间理解能力,DETR在CNN编码器的输出上添加了位置编码。这些位置编码告知模型图像不同部分之间的空间关系。编码对于Transformer理解对象的绝对和相对位置至关重要。
DETR引入了“对象查询”、“键”和“值”的概念。这些组件是Transformer中自注意力机制的核心。对象查询是模型旨在预测的对象的可学习表示。对象查询的数量通常预先确定,并且不依赖于图像中的对象数量。键和值对应于从CNN编码器的输出中提取的空间特征。键代表图像中的空间位置,而值包含特征信息。这些键和值用于自注意力,使模型能够权衡不同图像区域的重要性。
DETR架构的核心在于其多头自注意力的使用。这种机制使DETR能够捕捉图像中对象之间的复杂关系和依赖性。每个注意力头可以同时关注图像的不同方面和区域。多头自注意力使DETR能够理解局部和全局上下文,提高其目标检测能力。
为了确保每个预测的边界框对应于图像中的真实对象,DETR采用了一种称为二分图匹配的技术。这个过程将预测的边界框与训练数据中的真值对象关联起来,有助于在训练期间提炼模型。
在探讨了DETR的基础和操作原理之后,检查这一广泛采用的目标检测框架固有的优势和缺点变得至关重要。掌握DETR的优点和局限性可以使在选择适合独特计算机视觉需求的方法时做出明智的选择。
DETR的主要优势包括端到端的目标检测,它提供了一种端到端的解决方案,消除了单独的区域提议网络和后处理步骤的需求。这简化了整体架构并简化了目标检测流程。由于Transformer架构,DETR可以同时预测图像中所有对象的类别和边界框。这种并行处理导致比顺序方法更快的推理时间。DETR中自注意力机制的使用使其能够捕捉对象及其空间上下文之间的复杂关系。这导致目标检测准确性的提高,特别是在拥挤或重叠对象的场景中。
DETR的主要缺点包括高计算资源需求,训练和使用DETR可能需要大量的计算资源,特别是对于大型模型和高分辨率图像。这可能限制了没有访问强大硬件的研究人员和实践者的可访问性。固定的对象查询数量,DETR需要事先指定对象查询的数量,这可能是处理包含不同数量对象的场景时的限制。查询数量不正确可能导致漏检或效率低下。
在DETR最初发布时,主要目标是超越Faster R-CNN基线。然而,在当前背景下,增强的Faster R-CNN ResNet50 FPN V2与DETR模型相比表现出更优越的性能。让继续详细检查性能比较。
从上面的图像中,可以观察到有四个不同的DETR模型正在考虑。首先是使用ResNet50骨干网络构建的基本DETR模型。第二种变体使用了ResNet101骨干网络。“DC5”表示一个改进但较慢的模型。这个变体采用了膨胀C5阶段的使用,增强了CNN骨干网络最后阶段的特征图分辨率。随后的放大两倍导致对较小对象的更准确检测。值得注意的是,DC5模型并不会导致参数数量的增加。仔细检查后,很明显,带有ResNet101骨干网络的DETR DC5模型,以其令人印象深刻的44.9 mAP,成为整个集合中表现最好的模型。