Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Ting Chen等作者

Hinton团队CV新作:用语言建模做目标检测,性能媲美DETR

目标检测的「尽头」是语言建模?近日,Hinton 团队提出了全新目标检测通用框架 Pix2Seq,将目标检测视作基于像素的语言建模任务,实现了媲美 Faster R-CNN 和 DETR 的性能表现。

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


图灵奖得主 Geoffrey Hinton 和谷歌研究院的几位研究者近日提出了一个用于目标检测的简单通用框架 Pix2Seq。与显式集成相关任务先验知识的现有方法不同,该框架简单地将目标检测转换为以观察到的像素输入为条件的语言建模任务。其中,将对目标的描述(例如边界框和类标签)表示为离散 token 的序列,并且该研究还训练神经网络感知图像并生成所需的序列。


论文地址:https://arxiv.org/abs/2109.10852

该方法主要基于一种直觉,即如果神经网络知道目标的位置和内容,那么就只需要教它如何读取目标。除了使用特定于任务的数据增强之外,该方法对任务做出了最少的假设。但在 COCO 数据集上的测试结果表明,新方法完全可以媲美高度专业化和优化过的检测算法。

Pix2Seq 框架


该研究提出的 Pix2Seq 框架将目标检测作为语言建模任务,其中以像素输入为条件。上图所描述的 Pix2Seq 架构和学习过程有四个主要组成部分,如下图 2 所示,包括:

  • 图像增强:在训练计算机视觉模型中很常见,该研究使用图像增强来丰富一组固定的训练样例(例如,随机缩放和剪裁)。

  • 序列构建和增强:由于图像的目标注释通常表征为一组边界框和类标签,该研究将它们转换为离散 token 的序列。

  • 架构:该研究使用编码器 - 解码器的模型架构,其中编码器感知像素输入,解码器生成目标序列(一次一个 token)。

  • 目标 / 损失函数:该模型经过训练以最大化 token 的对数似然。



基于目标描述的序列构建

在常见的目标检测数据集中,例如 Pascal VOC、COCO 等,图像中往往具有数量不一的目标,这些目标被表征一组边界框和类标签,Pix2Seq 将它们表示为离散 token 的序列。

类标签自然地被表示为离散 token,但边界框不是。边界框由其两个角点(即左上角和右下角)或其中心点加上高度和宽度确定。该研究提出离散化用于指定角点的 x、y 坐标的连续数字。具体来说,一个目标被表征为一个由 5 个离散的 token 组成的序列,即 [y_min, x_min, y_max, x_max, c],其中每个连续的角坐标被均匀地离散为[1, n_bins] 之间的一个整数,c 为类索引。该研究对所有 token 使用共享词表,因此词汇量大小等于 bin 的数量 + 类(class)的数量。边界框的这种量化方案使得在实现高精度的同时仅使用较小的词汇量。例如,一张 600×600 的图像只需要 600 个 bin 即可实现零量化误差。这比具有 32K 或更大词汇量的现代语言模型小得多。不同级别的量化对边界框的影响如下图 3 所示。


鉴于每个目标的描述表达为一个短的离散序列,接下来需要将多个目标的描述序列化,以构建一个给定图像的单一序列。因为目标的顺序对于检测任务本身并不重要,因此研究者使用了一种随机排序策略(每次显示图像时目标的顺序是随机化的)。此外,他们也探索了其他确定性排序策略,但是假设随机排序策略和任何确定性排序是一样有效的,给定一个可用的神经网络自回归模型(在这里,网络可以学习根据观察到的目标来为剩余目标的分布建模)。

最后,因为不同的图像通常有不同的目标数量,所生成的序列会有不同的长度。为了表示序列的结束,研究者合并了一个 EOS token。

下图 4 展示了使用不同排序策略的序列构建过程。


架构、目标和推理

此处把从目标描述构建的序列作为一种「方言」来处理,转向在语言建模中行之有效的通用体系架构和目标函数

这里使用了一种编解码器架构。编码器可以是通用的感知像素图像编码器,并将它们编码成隐藏的表征形式,比如 ConvNet (LeCun et al. ,1989; Krizhevsky et al. ,2012; He et al. ,2016) ,Transformer (Vaswani et al. ,2017; Dosovitskiy et al. ,2020) ,或者它们的组合(Carion et al. ,2020)。

在生成上,研究者使用了广泛用于现代语言建模 (Radford 等人,2018; Raffel 等人,2019) 的 Transformer 解码器。它每次生成一个 token,取决于前面的 token 和编码的图像表征。这消除了目标检测器结构中的复杂性和自定义,例如边界框提名(bounding box proposal)和边界框回归(bounding box regression),因为 token 是由一个带 softmax 的单词表生成的。

与语言建模类似,给定一个图像和前面的 token,Pix2Seq 被训练用来预测 token,其具有最大似然损失,即


其中 x 是给定的图像,y 和 y^~ 分别是相关的输入序列和目标序列,l 是目标序列长度。在标准语言建模中,y 和 y^~ 是相同的。此外,wj 是序列中为 j-th token 预先分配的权重。我们设置 wj = 1,something j,但是可以根据 token 的类型 (如坐标 vs 类 token) 或相应目标的大小来权重 token。

在推理过程中,研究者从模型似然中进行了 token 采样,即。也可以通过使用最大似然性 (arg max 采样) 的 token,或者使用其他随机采样技术来实现。研究者发现使用核采样 (Holtzman et al., 2019) 比 arg max 采样 (附录 b) 更能提高召回率。在生成 EOS token 时,序列结束。一旦序列生成,它直接提取和反量化了目标描述(即获得预测边界框和类标签)。


序列增强

EOS token 会允许模型决定何时终止,但在实践中,发现模型往往在没预测所有目标的情况下终止。这可能是由于:

  1. 注释噪音(例如,注释者没有标识所有的目标) ;

  2. 识别或本地化某些目标时的不确定性。因为召回率和准确率对于目标检测来说都很重要,一个模型如果没有很好的召回率就不可能获得很好的整体性能(例如,平均准确率)。


获得更高召回率的一个技巧是通过人为地降低其可能性来延迟 EOS token 的采样。然而,这往往会导致噪声和重复预测。

序列增强引入的修改如下图 5 所示,详细情况如下:


研究者首先通过以下两种方式创建合成噪声目标来增加输入序列: 

  1. 向现有的地面真值目标添加噪声(例如,随机缩放或移动它们的包围盒) ;

  2. 生成完全随机的边框(带有随机相关的类标签)。值得注意的是,其中一些噪声目标可能与一些 ground-truth 目标相同或重叠,模拟噪声和重复预测,如下图 6 所示。



变化推理。使用序列增强,研究者能够大幅度地延迟 EOS token,提升召回率,并且不会增加噪声和重复预测的频率,因此,他们令模型预测到最大长度,产生一个固定大小的目标列表。当从生成的序列中提取边界框和类标签时,研究者用在所有真实类标签中具有最高似然的真实类标签替换噪声类标签。他们还使用选定类标签的似然作为目标的排名分数。

实验结果

研究者主要与两个被广泛认可的基线方法进行比较,分别是 Facebook AI 于 2020 年提出的 DETR 和更早期的 Faster R-CNN。

结果如下表 1 所示,Pix2Seq 实现了媲美这两个基线方法的性能,其中在小型和中型目标上的表现与 R-CNN 相当,但在大型目标上表现更好。与 DETR 相比,Pix2Seq 在中型和大型目标上表现相当或略差,但在小型目标上表现明显更好(4-5 AP)。


序列构成的消融实验

下图 7a 探索了坐标量化对性能的影响。在这一消融实验中,研究者考虑使用了 640 像素的图像。该图表表明量化至 500 或以上 bin 就足够了,500 个 bin(每个 bin 大约 1.3 个像素)时不会引入显著的近似误差。事实上,只要 bin 的数量与像素数(沿着图像的最长边)一样多,就不会出现由边界框坐标量化导致的显著误差。

训练期间,研究者还考虑了序列构成中的不同目标排序策略。这些包括 1)随机、2)区域(即目标大小递减)、3)dist2ori(即边界框左上角到原点的距离)、4)类(名称)、5)类+区域(即目标先按类排序,如果同类有多个目标,则按区域排序)、6)类+dist2ori。

下图 7b 展示了平均精度(AP),7c 展示了 top-100 预测的平均召回率(AR)。在精度和召回率这两方面,随机排序均实现了最佳性能。研究者推测,使用确定性排序,模型可能难以从先前流失目标的错误中恢复过来,而使用随机排序,则可以在之后检索到它们。


增强的消融实验

研究者主要使用的图像增强方法是尺度抖动(scale jittering),因此比较了不同的尺度抖动强度(1:1 表示无尺度抖动)。下图 8a 展示了模型在没有合适尺度抖动时会出现过拟合(即验证 AP 低但训练 AP 高)。研究者预计,强大的图像增强在这项研究中非常有用,这是因为 Pix2Seq 框架对任务做了最小假设。

研究者还探究了「使用和不使用序列增强训练」的模型性能变化。对于未使用序列增强训练的模型,他们在推理过程中调整 EOS token 似然的偏移量,以运行模型做更多预测,从而产生一系列召回率。如下图 8b 所示,在无序列增强时,当 AR 增加时,模型会出现显著的 AP 下降。使用序列增强时,模型能够避免噪声和重复预测,实现高召回率和高精度。


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

在生成一个新的 token 时,基于 Transformer 的解码器在前面的 token 上使用自注意力,在编码的视觉特征图上使用交叉注意力。研究者希望在模型预测新的 token 时可视化交叉注意力(层和头的平均值)。

下图 9 展示了生成前几个 token 时的交叉注意力图,可以看到,在预测首个坐标 token(即 y_min)时,注意力呈现出了非常强的多样性,但随后很快集中并固定在目标上。


研究者进一步探索了模型「通过坐标关注指定区域」的能力。他们将图像均匀地划分为 N×N 的矩形区域网格,每个区域由边界框的序列坐标制定。然后在读取每个区域的坐标序列之后,他们将解码器的注意力在视觉特征图上实现可视化。最后,他们打乱图像的像素以消除对现有目标的干扰,并为了清晰起见消除了 2%的 top 注意力。

有趣的是,如下图 10 所示,模型似乎可以在不同的尺度上关注制定区域。

理论Transformer目标检测Geoffrey Hinton
相关数据
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

自注意力技术

自注意力(Self-attention),有时也称为内部注意力,它是一种涉及单序列不同位置的注意力机制,并能计算序列的表征。自注意力在多种任务中都有非常成功的应用,例如阅读理解、摘要概括、文字蕴含和语句表征等。自注意力这种在序列内部执行 Attention 的方法可以视为搜索序列内部的隐藏关系,这种内部关系对于翻译以及序列任务的性能非常重要。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

先验知识技术

先验(apriori ;也译作 先天)在拉丁文中指“来自先前的东西”,或稍稍引申指“在经验之前”。近代西方传统中,认为先验指无需经验或先于经验获得的知识。先验知识不依赖于经验,比如,数学式子2+2=4;恒真命题“所有的单身汉一定没有结婚”;以及来自纯粹理性的推断“本体论证明”

噪音技术

噪音是一个随机误差或观测变量的方差。在拟合数据的过程中,我们常见的公式$y=f(x)+\epsilon$中$\epsilon$即为噪音。 数据通常包含噪音,错误,例外或不确定性,或者不完整。 错误和噪音可能会混淆数据挖掘过程,从而导致错误模式的衍生。去除噪音是数据挖掘(data mining)或知识发现(Knowledge Discovery in Database,KDD)的一个重要步骤。

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

图像增强技术

图像增强技术用于增强图像中的有用信息,它可以是一个失真的过程,其目的是要改善图像的视觉效果,针对给定图像的应用场合。它通过有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。

自回归模型技术

自回归模型,是统计上一种处理时间序列的方法,自回归模型被广泛运用在经济学、资讯学、自然现象的预测上。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

目标检测技术

一般目标检测(generic object detection)的目标是根据大量预定义的类别在自然图像中确定目标实例的位置,这是计算机视觉领域最基本和最有挑战性的问题之一。近些年兴起的深度学习技术是一种可从数据中直接学习特征表示的强大方法,并已经为一般目标检测领域带来了显著的突破性进展。

量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

推荐文章
暂无评论
暂无评论~