位置感知的自监督transformer
前言 论文提出了通过预测图像部分的相对位置来预训练网络进行语义分割。
欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。
论文:https://arxiv.org/pdf/2212.02400.pdf
代码:https://github.com/google-research/scenic/tree/main/scenic/projects/loca
论文出发点
预训练通常用于提高像素级模型推理的性能和标签效率。然而,图像级预训练是否是具有空间理解的识别任务的最佳策略尚不清楚。一项研究表明,一些经过图像分类预训练的模型,虽然在图像级下游任务中表现出色,但在目标检测方面表现不佳,而目标检测需要空间推理。
预训练通常使用全局目标的主要原因是:标注在图像级别上比在像素级别上更容易收集。事实上,在SOTA中通常使用的图像分类或图像-文本数据集比密集标注的数据集大了几个数量级,涵盖了更多的类别。因此,释放大规模密集空间感知预训练潜力的一种方法可能是去掉标注,正如自监督学习(SSL)方法所提出的那样。
SSL的一个成功分支,通常被称为“对比学习”,其工作原理是通过数据增强来匹配从同一图像中获得的不同图像的表示。Caron等人已经表明,用对比方法训练的视觉transformer(ViT)的注意图中出现了分割掩模。
然而,本文在初步实验中发现,在对语义分割任务进行微调后,显著注意图与优异的表现并不相关。因此,作者假设,这是因为对比方法在全局层面上没有明确使用空间关系。
本文的主要贡献
1.本文探索了一种替代内容重建的方法,以鼓励空间Transformer特征的出现,即预测相对图像部分的位置。
2.将模型实现为一个分类问题,其中查询图像中的每个patch都经过训练,以预测其相对于参考图像的位置。
3.可以通过掩码查询的参考patch特征来控制任务的难度和结果特征的属性。
SSL与位置预测
SSL中的开创性工作提出利用空间线索来生成pretext任务。值得注意的是,受word2vec的启发,Doersch等人训练了一个网络,以预测同一图像中一对patch的相对位置,而Noroozi和Favaro通过重新排列图像中的一组混叠作物,将这种方法扩展到解决“拼图”。Zhai等人提出对ViT进行预处理,以预测其输入patch的位置,仅考虑其视觉外观,即通过丢弃位置嵌入。作者将该策略与本文的LOCA机制进行了比较,如图2所示。
图2。单一与查询-参考patch位置预测机制的概念比较:(a)在单一图像中,如Zhai等人;(b)在查询图像中相对于LOCA中的参考图像。
方法
查询参考机制
本文提出了一种查询参考机制来预测图像部分的定位。具体来说,查询通过预测一个查询图像相对于另一个参考图像的位置来工作,如图1所示。因为查询和参考是由两个独立的扩增图生成的,所以它们通常具有不同的图像统计信息(即不同的比例、区域或颜色直方图)。这迫使网络更少地依赖低级线索(色差、颜色和边缘一致性)来解决定位任务,而更多地依赖于识别对象部分及其组织。
查询的任务是在参考图像中定位自己,因此损失仅在两个图像的相交处定义。此外,为了有利于图像部分表示的出现,限制了查询的空间范围。然后,选择是对参考图像进行采样,使其覆盖原始图像的大面积,而查询图像则覆盖原始图像中的一小部分。
图1。LOCA通过预测查询图像相对于参考图像的位置来工作。
查询和参考之间的对应关系
根据视觉transformer,查询图像和参考图像被划分为分辨率为P×P的非重叠patch。更准确地说,参考图像被平坦化为Nref。在查询图像上应用“patch化”过程,生成一系列Nqpatch。
通过回溯生成xref和xq的数据扩充图,识别这两个图像之间的patch级别对应关系。使用连续的最近插值实现函数h,因为xq和xref的修补网格通常不完全对齐。这种效果可以在图1的示例中看到。
patch位置预测
将查询定位问题实现为Nref -way分类任务,其中每个查询patch表示必须预测在参考图像中覆盖相同内容的patch的位置。为此,查询的patch表示需要能够“查看”参考的patch表示。使用单个交叉注意转换块(用g表示)实现这种查询参考交互,其查询从Zq计算,键和值从Zref获得。将查询表示法表示为G = G (Zq, Zref)∈Rd×Nq,并将W∈Rd×Nref表示为最后的“位置分类”层。训练网络使以下位置预测损失最小化:
平均不同查询图像和批处理的损失,并通过反向传播学习f, g和W参数。还使用特征预测损失来鼓励在不同图像中覆盖相似内容的patch保持一致。
掩码查询可见的参考patch
在实践中,作者发现该网络可以近乎完美地解决问题(见图3中的验证精度)。
图3。单一vs查询参考patch位置预测机制。
对于这两种机制,报告了位置预测精度(左)和转移到ADE20k上的语义分割后的性能(右)对于不同的掩码比η。由于查询和参考之间的不同图像统计量以及受约束的patch交互,查询-参考使得训练前目标更具挑战性(位置预测任务的准确性较低)。
patch特性预测
受UP-DETR框架的启发,作者在定位框架中增加了patch特征预测目标,以获得更多的语义表示。patch功能不仅应该能够定位自己,而且还应该能够匹配不同上下文中处于相似位置的功能。使用基于patch的MSN框架来实现这一点。作者在初步实验中观察到,这种选择对最终性能的影响最小,选择MSN是因为它的稳定性。
实验
表1. Localization loss。
图5。可视化LOCA的预测。
表2。与以往语义分割结果的比较。
表3。在ADE20k上进行少量的语义分割。
表4。语义分割中的定位与分类。
表5。消融实验。
图6。扩展实验。
欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。
【技术文档】《从零搭建pytorch模型教程》122页PDF下载
QQ交流群:444129970。群内有大佬负责解答大家的日常学习、科研、代码问题。
模型部署交流群:732145323。用于计算机视觉方面的模型部署、高性能计算、优化加速、技术学习等方面的交流。
其它文章
用少于256KB内存实现边缘训练,开销不到PyTorch千分之一
DAMO-YOLO | 超越所有YOLO,兼顾模型速度与精度