当前位置: 首页 > 科技观察

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

时间:2023-03-14 12:56:46 科技观察

视觉目标检测系统旨在识别和定位图像中所有预定义类别的目标。检测到的对象通常由一组边界框和相关联的类标签来描述。鉴于任务的难度,大多数现有方法都是经过精心设计和高度定制的,在架构和损失函数的选择上使用了大量的先验知识。图灵奖获得者GeoffreyHinton和GoogleResearch的几位研究人员最近提出了一个简单通用的对象检测框架Pix2Seq。与显式集成相关任务先验知识的现有方法不同,该框架只是将对象检测转换为以观察到的像素输入为条件的语言建模任务。其中,对象的描述(如边界框和类标签)被表示为一系列离散的标记,该研究还训练了一个神经网络来感知图像并生成所需的序列。论文地址:https://arxiv.org/abs/2109.10852这种方法主要是基于一种直觉,如果神经网络知道目标的位置和内容,那么只需要教它如何阅读目标即可。除了使用特定于任务的数据增强之外,该方法对任务做出了最少的假设。然而,在COCO数据集上的测试结果表明,新方法可与高度专业化和优化的检测算法相媲美。Pix2Seq框架本研究中提出的Pix2Seq框架将对象检测视为一种语言建模任务,它以像素输入为条件。上面描述的Pix2Seq架构和学习过程有四个主要组成部分,如下图2所示,包括:ImageAugmentation:常见于训练计算机视觉模型,本研究使用图像增强来丰富一组固定的训练样本。示例(例如随机缩放和裁剪)。序列构建和增强:由于图像的对象注释通常被表征为一组边界框和类标签,本研究将它们转换为一系列离散标记。架构:该研究使用编码器-解码器模型架构,其中编码器感知像素输入,解码器生成目标序列(一次一个标记)。目标/损失函数:训练模型以最大化标记的对数似然。基于目标描述的序列构建在常见的目标检测数据集中,如PascalVOC、COCO等,图像中往往存在不同数量的目标。这些目标由一组边界框和类标签表示,Pix2Seq将它们表示为离散标记的序列。类标签自然表示为离散标记,但边界框不是。边界框由其两个角点(即左上角和右下角)或其中心点加上高度和宽度确定。本研究提出将用于指定角点的x,y坐标的连续数离散化。具体来说,一个目标被表征为一个由5个离散的token组成的序列,即[y_min,x_min,y_max,x_max,c],其中每个连续的角坐标被统一离散化为[1,n_bins]之间的整数,c是类索引.该研究对所有标记使用共享词汇表,因此词汇表大小等于bin数+类数。这种用于边界框的量化方案可以在仅使用少量词汇的情况下实现高精度。例如,一张600×600的图像只需要600个bin即可实现零量化误差。这比词汇量为32K或更大的现代语言模型要小得多。不同量化级别对边界框的影响如下图3所示。鉴于每个对象描述都表示为一个短的离散序列,多个对象的描述需要序列化以构建给定图像的单个序列。因为对象的顺序对于检测任务本身并不重要,所以我们使用随机排序策略(每次显示图像时对象的顺序都是随机的)。此外,他们还探索了其他确定性排名策略,但假设随机排名策略与任何确定性排名一样有效,给定一个可用的神经网络和自回归模型(这里,网络可以根据观察到的目标进行学习,以模拟分布其余目标)。最后,由于不同的图像通常具有不同数量的对象,因此生成的序列将具有不同的长度。为了表明序列的结束,研究人员加入了一个EOS代币。下面的图4显示了使用不同排序策略的序列构建过程。体系结构、目标和推理在这里,我们将目标描述构建的序列视为一种“方言”,转向在语言建模中运行良好的通用体系结构和目标函数。这里使用编解码器架构。编码器可以是通用的感知像素图像编码器,并将它们编码成隐藏表示,例如ConvNet(LeCunetal.,1989;Krizhevskyetal.,2012;Heetal.,2016)、Transformer(Vaswanietal..,2017年;Dosovitskiy等人,2020年),或它们的组合(Carion等人,2020年)。在生成方面,研究人员使用了现代语言建模中广泛使用的Transformer解码器(Radford等人,2018年;Raffel等人,2019年)。它一次生成一个标记,具体取决于前一个标记和编码图像表示。这消除了对象检测器结构(例如边界框提议和边界框回归)的复杂性和自定义,因为标记是从具有softmax的词表生成的。类似于语言建模,给定图像和先前的标记,Pix2Seq被训练以预测具有最大似然损失的标记,即其中x是给定图像,y和y^~分别是相关的输入序列和目标序列l是目标序列长度。在标准语言建模中,y和y^~是相同的。此外,wj是序列中第j个标记的预分配权重。我们设置wj=1,某物j,但可以根据它们的类型(例如坐标与类标记)或相应目标的大小来加权标记。在推理过程中,研究人员从模型似然中抽样标记,即。也可以通过使用具有最大似然性的标记(arg最大采样)或使用其他随机采样技术来实现。研究人员发现,使用内核采样(Holtzman等人,2019年)比argmax采样(附录b)更能提高召回率。当生成EOS令牌时,序列结束。一旦生成序列,它直接提取和反量化对象描述(即获得预测的边界框和类标签)。EOS令牌的顺序增加将允许模型决定何时终止,但在实践中发现模型经常在没有预测所有目标的情况下终止。这可能是由于:注释噪音(例如,注释者没有识别所有目标);确定或定位某些目标的不确定性。因为召回率和精度对于目标检测都很重要,所以如果没有良好的召回率,模型就不可能获得良好的整体性能(例如,平均精度)。获得更高召回率的一个技巧是通过人为地降低EOS代币的可能性来延迟EOS代币的采样。然而,这通常会导致噪音和重复预测。序列增强引入的修改如下图5所示,详述如下:研究人员首先创建合成噪声目标以通过以下方式增强输入序列:向现有地面实况目标添加噪声(例如,随机缩放或移动它们的边界框);生成完全随机的边界框(具有随机关联的类标签)。值得注意的是,其中一些有噪声的目标可能与一些ground-truth目标相同或重叠,模拟有噪声和重复的预测,如下图6所示。改变推理。使用序列增强,研究人员能够显着延迟EOS令牌,在不增加噪音和重复预测频率的情况下提高召回率。因此,他们使模型预测到最大长度,从而产生固定大小的目标列表。当从生成的序列中提取边界框和类标签时,我们将噪声类标签替换为所有真值类标签中可能性最高的真值类标签。他们还使用所选类别标签的可能性作为目标的排名分数。实验结果主要与两种被广泛认可的baseline方法进行对比,即FacebookAI在2020年提出的DETR和更早的FasterR-CNN。结果示于下表1中。Pix2Seq实现了与这两种基线方法相当的性能,其中它在小型和中型对象上的性能与R-CNN相当,但在大型对象上的性能更好。与DETR相比,Pix2Seq在中型和大型对象上的表现相当或稍差,但在小型对象上的表现明显更好(4-5AP)。下面图7a中序列组合的消融实验探索了坐标量化对性能的影响。在这个消融实验中,研究人员考虑了640像素的图像。该图显示量化到500个或更多bin就足够了,500个bin(每个bin约1.3个像素)不会引入明显的近似误差。事实上,只要bin的数量与像素的数量(沿着图像的最长边缘)一样多,就不会因为边界框坐标的量化而产生明显的误差。在训练过程中,我们还考虑了序列组合中不同的目标排序策略。这些包括1)随机,2)区域(即尺寸减小的对象),3)dist2ori(即从边界框左上角到原点的距离),4)类(名称),5)类+区域(即对象排序首先按类,如果同一类有多个目标,则按区域排序),6)类+dist2ori。下面的图7b显示了平均精度(AP),图7c显示了前100个预测的平均召回率(AR)。随机排序在精度和召回率方面都达到了最佳性能。研究人员推测,通过确定性排序,模型可能难以从先前流血目标的错误中恢复,而通过随机排序,它们可以在以后检索。Enhancedablationexperiments研究人员使用的主要图像增强方法是scalejittering,因此比较了不同scalejittering的强度(1:1表示无标度抖动)。下面的图8a显示模型过度拟合(即验证AP低但训练AP高)而没有在正确的尺度上抖动。我们预计强图像增强将在本研究中有用,因为Pix2Seq框架对任务做出了最少的假设。研究人员还探索了使用和不使用序列增强训练时模型性能的变化。对于没有序列增强训练的模型,他们在推理过程中调整EOS令牌似然的偏移量以运行模型以进行更多预测,从而产生一系列召回。如下图8b所示,在没有顺序增强的情况下,当AR增加时,模型会出现显着的AP下降。当使用序列增强时,模型能够避免噪声和重复预测,实现高召回率和高精度。解码器交叉注意力图的可视化在生成新标记时,基于Transformer的解码器使用对先前标记的自注意力和对编码视觉特征图的交叉注意力。研究人员想要可视化模型预测新标记时的交叉注意力(层和头的平均值)。下面的图9显示了生成前几个标记时的交叉注意力图。可以看出,在预测第一个坐标token(即y_min)时,attention表现出很强的多样性,但随后很快集中并固定在target上。研究人员进一步探索了模型“通过坐标聚焦指定区域”的能力。他们将图像统一划分为N×N矩形区域网格,每个矩形区域由边界框的顺序坐标指定。然后在读取每个区域的坐标序列后,他们将解码器的注意力可视化在视觉特征图上。最后,他们打乱图像的像素以消除现有物体的干扰,并为了清晰起见移除2%的最高注意力。有趣的是,如下图10所示,该模型似乎能够关注不同尺度的已制定区域。