PIX2SEQ: A LANGUAGE MODELING FRAMEWORK FOR OBJECT DETECTION笔记


!!!好多看不懂的啊这篇)

摘要

Pix2Seq:是一种简单而又通用的目标检测框架。与现有的显式整合关于任务的先验知识的方法不同,我们简单地将对象检测转换为基于观察到的像素输入的语言建模任务。目标描述(例如,边界框和类标签)被表示为离散标记序列,我们训练一个神经网络来感知图像并生成所需的序列。我们的方法主要基于这样一种直觉,即如果一个神经网络知道目标在哪里和是什么,我们只需要教它如何读出它们

在这里插入图片描述
图1:用于目标检测的Pix2Seq框架示意图。神经网络感知一幅图像,并生成一系列对应于边界框和类标签的标记。

1 简介

视觉目标检测系统的目标是识别和定位图像中预定义类别的所有对象。检测到的目标通常由一组边界框和相关的类标签来描述。考虑到任务的难度,现有的大部分方法都是经过精心设计和高度定制的,在架构选择和损失函数方面具有大量的先验知识。

尽管现有的系统在无数领域都有应用,从自动驾驶汽车到医学图像分析,再到农业,但专业化和复杂性使它们难以集成到一个更大的系统中,或推广到与一般智能相关的更广泛的任务

本文提倡一种新的方法,基于直觉,即如果一个神经网络知道目标在哪里和是什么,我们只需要教它来读出它们。通过学习“描述”目标,模型可以学习将“语言”建立在像素观察上,从而产生有用的目标表示。这是通过我们的Pix2Seq框架来实现的。给定一个图像,我们的模型生成对应于目标描述(如对象边界框和类标签)一系列的离散标记,让人联想到图像字幕系统。本质上,我们将目标检测转换为基于像素输入的语言建模任务,其模型架构和损失函数是通用的且相对简单的,而没有专门为检测任务进行设计。因此,人们可以很容易地将该框架扩展到不同的领域或应用程序,或将其合并到一个支持一般智能的感知系统中,从而为广泛的视觉任务提供一个语言接口

***为了解决Pix2Seq的检测任务,我们首先提出了一种量化和序列化方案,该方案将边界框和类标签转换为一系列离散标记序列。然后,我们利用一个编码器-解码器架构来感知像素输入和生成目标序列。目标函数只是以像素输入和前面的标记为条件的标记的最大似然。虽然架构和损失函数都是与任务无关的(而不假设关于对象检测的先验知识,例如,边界框),但我们仍然可以将特定于任务的先验知识与下面提出的序列增强技术相结合,该技术可以在训练过程中改变输入和目标序列。通过广泛的实验,我们证明了这个简单的Pix2Seq框架可以在COCO数据集上实现具有竞争力的结果,包括更快的R-CNN(Ren等人,2015)和DETR(Carion数据集上,2020)***。

2 THE PIX2SEQ FRAMEWORK

Pix2Seq的体系结构和学习过程有四个主要组件(图2):

  • 图像增强:正如在训练计算机视觉模型中常见的那样,我们使用图像增强来丰富一组固定的训练样例(例如,使用随机缩放和裁剪)。
  • 序列构造和增强:由于图像的目标注释通常被表示为一组边界框和类标签,因此我们将它们转换为一系列离散的标记。
  • 架构:我们使用一个编码器-解码器模型,其中编码器感知像素输入,解码器生成目标序列(一次一个标记)。
  • 目标/损失函数:对模型进行训练,以最大化基于图像和前面的标记的对数似然(具有softmax交叉熵损失)。
    在这里插入图片描述

2.1 目标描述中的序列构造

在一般的目标检测数据集中,图像有许多物体,表示为一系列边框和类标签。在Pix2Seq中,我们将它们表示为离散标记序列。

虽然类标签自然地表示为离散标记,但边界框则不是。边界框由其两个角点(即左上角和右下角)决定,或由其中心点加上高度和宽度决定。我们建议离散化连续数,用于指定角点的x,y坐标(如果使用另一种方框格式,则与高度和宽度类似)。具体来说,一个对象被表示为5个离散标记的序列,即[ymin、xmin、ymax、xmax、c],其中每个连续的角坐标被均匀离散为[1、n_bins]之间的一个整数,c是类索引。我们对所有标记使用共享词汇表,因此词汇量大小等于箱数+类数。这种边界框的量化方案允许我们使用小词汇,同时实现高精度。例如,一个600×600的图像只需要600个箱子就可以实现零量化误差。这比词汇表大小为32K或更高的现代语言模型要小得多。不同的量化水平对边界框放置的影响如图3所示。
在这里插入图片描述
将每个物体描述表示为一个短的离散序列,我们接下来需要序列化多个物体描述,为一个给定的图像形成一个单一的序列。由于物体的顺序对于检测任务本身并不重要,所以我们使用随机排序策略(每次显示图像时对顺序物体进行随机化)。我们也探索了其他的确定性排序策略,但我们假设,给定一个强大的神经网络和自动回归建模(其中网络可以学习建模所观察到的剩余对象的分布)

最后,由于不同的图像通常有不同数量的对象,生成的序列将有不同的长度。为了表示序列的结束,我们因此合并了一个EOS标记。在不同的排序策略下的顺序构建过程如图4所示。
在这里插入图片描述

2.2 架构、目标和推理

我们将从物体描述中构建的序列视为一种“方言”,然后转为在语言建模中有效的通用架构和目标函数。

架构

我们使用了一个编码器-解码器架构。编码器可以是一个通用的图像编码器,感知像素并将其编码为隐藏表示。对于生成,我们使用了一个广泛用于现代语言建模的Transformer解码器。它基于前面的标记和编码的图像表示,一次生成一个标记。这消除了现代物体检测器架构中的复杂性和定制化,例如,边界框建议和回归,因为标记是从具有 softmax 的单个词汇表生成的。

目标

在这里插入图片描述

推断

在这里插入图片描述

2.3 用于整合任务优先级的序列增强

EOS标记允许模型决定何时终止生成,但在实践中,我们发现模型倾向于在不预测所有对象的情况下完成生成。这可能是由于:

  1. 注释噪声(例如,注释者没有识别所有的对象)
  2. 在识别或定位某些对象时的不确定性。

由于查全率和精度对目标检测都很重要,因此如果没有良好的查全率,模型就不能获得较强的整体性能(例如,平均精度)。为了鼓励更高的召回率,一个技巧是通过人为降低EOS标记的可能性来延迟其采样。然而,这往往会导致嘈杂的和重复的预测。

在某种程度上,精确率和召回率之间的这种艰难权衡是我们的模型与任务无关,不知道检测任务本身的结果。为了缓解这个问题,我们简单地引入了一种序列增强技术,从而结合了有关任务的先验知识。传统自回归语言建模(即没有序列增强)中的目标序列 y~ 与输入序列 y 相同。并且序列中的所有标记都是真实的(例如,从人工注释转换而来)。通过序列增强,我们在训练期间增强输入序列以包括真实和合成噪声标记。我们还修改了目标序列,以便模型可以学习识别噪声标记而不是模仿它们。这提高了模型对嘈杂和重复预测的鲁棒性(特别是当 EOS 标记被延迟以增加召回时)。序列增强引入的修改如图 5 所示,详述如下。
在这里插入图片描述

改变序列构建

改变推断

3 实验

3.1 实验装置

3.2 主要比较

3.3 序列构建的消融

3.4 AUGMENTATIONS的消融

3.5 解码器交叉注意图的可视化

4 相关工作

目标检测

现有的目标检测算法在选择体系结构和损失函数中包含了关于任务的显式先验知识。为了预测一组边界盒,现代探测器架构专门设计以产生大量方案或窗口中心。通常需要非最大抑制来防止重复的预测。虽然DETR避免了复杂的边界框建议和非最大抑制,但它仍然需要一组学习过的“对象查询”,特别是对于目标绑定。这些检测器都需要子网络来回归边界框和类标签。Pix2Seq通过拥有一个通用的图像编码器和序列解码器,以及一个用于产生坐标标记和类标签的单一softmax,从而避免了这种复杂性。

除了架构之外,现有的检测器的损失函数也是为匹配边界框而高度定制的。例如,损失函数通常基于边界盒回归、联合交叉和基于集的匹配。Pix2Seq避免了特殊的损失,表明一个具有软最大交叉熵的直接最大似然目标可以很好地工作。

我们的工作还与目标检测中的循环模型有关,其中系统学习一次预测一个目标。如上所述,这些方法中的架构和损失函数通常都是针对检测任务而定制的。此外,这些方法并不是基于Transformers,也没有在更大的数据集上根据现代baseline进行评估。

语言模型

我们的工作受到了现代语言建模最近成功的启发。虽然最初用于自然语言,但基础方法已被证明能够建模各种顺序数据,如机器翻译、图像字幕等等。我们的工作丰富了这个组合,并证明了即使是非序列数据(通过将一组对象转换为一系列标记)的工作。我们为我们的模型增加了输入和目标序列,以纳入特定任务的先验知识;在语言模型中已经使用了类似的序列破坏方案,并与噪声对比学习和GANs中的鉴别器有一些相似性。

5 结论

本文介绍了Pix2Seq,一个简单而通用的对象检测框架。通过将对象检测转换为一种语言建模任务,我们的方法在很大程度上简化了检测管道,消除了现代检测算法中的大部分专门化。虽然它在具有挑战性的COCO数据集上建立良好的基线上取得了具有竞争性的结果,但架构和训练程序仍然可以优化以提高其性能。

我们认为,所提出的Pix2Seq框架不仅适用于对象检测,而且还可以应用于其他产生低带宽输出的视觉任务,这些输出可以表示为一个相对简洁的离散标记序列(例如,关键点检测、图像字幕、视觉问题回答)。为此,我们希望将Pix2Seq扩展为解决各种视觉任务的通用和统一的接口。此外,目前训练Pix2Seq的方法完全基于人类注释,我们希望减少这种依赖性,允许模型也从受益于更多的未标记数据中获益。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值