毕业论文
您现在的位置: 语言识别 >> 语言识别市场 >> 正文 >> 正文

Pix2Seq一种新的目标检测语言接口

来源:语言识别 时间:2022/6/8

目标检测是一项长期存在的计算机视觉任务,它试图识别和定位图像中所有感兴趣的对象。当试图识别或定位所有对象实例,同时避免重复时,会出现复杂性。现有的方法,如更快的R-CNN和DETR,都经过精心设计,在架构和功能的选择上高度定制。现有系统的这种专业化造成了两个主要障碍:(1)它增加了系统不同部分的调整和培训的复杂性(例如,区域建议网络、与GIOU损失的图形匹配等),以及(2)它会降低模型的泛化能力,需要重新设计模型以应用于其他任务。

在ICLR上发表的“Pix2Seq:对象检测的语言建模框架”中,我们介绍了一种从完全不同的角度处理对象检测的简单通用方法。与现有的任务特定的方法不同,我们将对象检测转换为一个基于观察到的像素输入的语言建模任务。我们证明,与现有高度专业化和优化的检测算法相比,Pix2Seq在大规模对象检测COCO数据集上取得了具有竞争力的结果,并且通过在更大的对象检测数据集上预训练模型,可以进一步提高其性能。为了鼓励这方面的进一步研究,我们也很高兴向更广泛的研究社区发布Pix2Seq的代码和预先训练的模型,以及一个交互式演示。

Pix2Seq概述

我们的方法基于这样一种直觉,即如果神经网络知道图像中的对象在哪里和什么,人们可以简单地教它如何读出它们。通过学习“描述”对象,模型可以学习根据像素观察结果进行描述,从而获得有用的对象表示。给定一幅图像,Pix2Seq模型输出一系列对象描述,其中每个对象都使用五个离散标记进行描述:边界框角点的坐标[ymin,xmin,ymax,xmax]和一个类标签。

通过Pix2Seq,我们提出了一种量化和序列化方案,将边界框和类标签转换为离散标记序列(类似于标题),并利用编码器-解码器体系结构感知像素输入并生成对象描述序列。训练目标函数只是以像素输入和前面的标记为条件的标记的最大可能性。

从对象描述构造序列

在常用的对象检测数据集中,图像具有可变数量的对象,表示为一组边界框和类标签。在Pix2Seq中,由边界框和类标签定义的单个对象表示为[ymin,xmin,ymax,xmax,class]。然而,典型的语言模型设计用于处理离散的标记(或整数),无法理解连续数。因此,我们没有将图像坐标表示为连续的数字,而是将0和1之间的坐标标准化,并将它们量化为几百或几千个离散单元中的一个。然后将坐标转换为离散的标记,就像对象描述一样,类似于图像标题,然后可以由语言模型解释。量化过程是通过将归一化坐标(例如,ymin)乘以箱数减1,并将其四舍五入到最接近的整数(详细过程可在本文中找到)来实现的。

在×的图像上,使用不同数量的箱子对边界箱的坐标进行量化。有少量垃圾箱/代币,例如个垃圾箱(~1像素/箱),即使是小物体也能达到高精度。

量化后,随每个训练图像提供的对象注释被排序为一系列离散标记(如下所示)。由于对象的顺序与检测任务本身无关,因此每次在训练期间显示图像时,我们都会随机化对象的顺序。我们还在末尾添加一个序列结束(EOS)标记,如下所示:不同的图像通常有不同数量的对象,因此序列长度也不同。

左侧图像中检测到的对象的边界框和类标签以右侧显示的顺序表示。我们的工作中使用了随机对象排序策略,但也可以使用其他排序方法。

推理和目标模型

我们将从对象描述中构建的序列视为“方言”,并通过一个功能强大的通用语言模型(带有图像编码器和自回归语言编码器)来解决这个问题。与语言建模类似,Pix2Seq经过训练,可以在给定图像和前面的标记的情况下,以最大似然损失预测标记。在推断时,我们从模型似然中抽取标记。当生成EOS令牌时,采样序列结束。生成序列后,我们将其拆分为5个标记块,用于提取和反量化对象描述(即获取预测的边界框和类标签)。值得注意的是,体系结构和损失函数都是任务不可知的,因为它们不假定关于对象检测的先验知识(例如边界框)。在本文中,我们描述了如何将特定于任务的先验知识与序列增强技术结合起来。

结果

尽管简单,Pix2Seq在基准数据集上取得了令人印象深刻的实证性能。具体来说,我们在广泛使用的COCO数据集上,将我们的方法与建立良好的基线、更快的R-CNN和DETR进行比较,并证明它实现了具有竞争力的平均精度(AP)结果。

由于我们的方法将最小的归纳偏差或物体检测任务的先验知识融入到模型设计中,因此我们进一步探索了使用大规模物体检测COCO数据集对模型进行预训练如何影响其性能。我们的结果表明,这种训练策略(以及使用更大的模型)可以进一步提高性能。

Pix2Seq可以在人口密集且复杂的场景中检测对象,如下图所示。

结论和今后的工作

使用Pix2Seq,我们将对象检测转换为一种语言建模任务,该任务以像素输入为条件,模型架构和损失函数是通用的,并且没有专门针对检测任务进行设计。因此,人们可以很容易地将该框架扩展到不同的领域或应用,其中系统的输出可以由相对简洁的离散标记序列(例如,关键点检测、图像字幕、视觉问答)表示,或者将其纳入支持一般智能的感知系统,为此,它为各种视觉和语言任务提供了语言接口。我们还希望Pix2Seq的代码、预先训练的模型和交互式演示的发布将激发这方面的进一步研究。

原文链接:

转载请注明:http://www.0431gb208.com/sjszlff/506.html