苹果、俄勒冈州立提出AutoFocusFormer: 摆脱传统栅格,采用自顺应下采样的图象分隔

AFF 在小物体识别上向前再迈一步。

传统 RGB 图象以栅格(raster)形式储存,像素点的分布在整个图象上匀称统一。然而,这种匀称分布往往与图象实际内容的密度分布相去甚远。尤其是在现今常用的深度网络中,在编码部分经过频繁的下采样(downsampling)后,小物体占据的点极少,而大物体占据的点很多。如下图中,背景中繁忙的人群只剩下极少量的点表示,而画面下方大量的点被信息量极低的地面占用。如果从存储的特性个数和算力的角度来考虑这个图象识别的过程,那么可以想见地面特性被大量的存储,大部分的算力被用来算计这些地面。而真正关键的人群,由于点少,分到的特性就少,用于算计的算力也就很少。

苹果、俄勒冈州立提出AutoFocusFormer: 摆脱传统栅格,采用自顺应下采样的图象分隔

由于没有足够的点来描述差别小物体的特性,导致深度网络在小物体或距离摄像头很远的物体上效果不佳。这个问题在图象识别中颇为本质,因为无论什么相机或者其它的视觉传感器,都无法避免 「近大远小」—— 对于近处的物体,传感器返回的采样点(像素)多,而对于远处的物体,采样点(像素)较少。因此识别远处物体天然就比较困难。然而标准模型中频繁的下采样实际上让远处或者小物体上的点更加的少了, 从而加剧了这种困难。

目前主流的解决方案是:1)提高图象分辨率;2)增加模型参数量。这两种方案让图象在多次下采样后拥有更多的点,而更多的参数量允许在每一个点上存储更多的信息 — 如多个物体的特性信息。然而,这两种方案均会极大的增加网络的算计量,减慢物体识别的速度,同时,大量无意义的算计被浪费在了大物体表面那些匀称单一,毫无特性的部分。

即使在主流图象识别已经全面转向 Transformer 的时代,传统栅格和匀称下采样仍在图象识别网络中大量运用,这大概是因为简单的匀称下采样易于实现(例如运用 strided convolution),而且鉴于栅格的结构利用在 GPU 上算计。然而,栅格结构实际上阻碍了更加高效的分配算计量的方式,并且导致了上述识别小物体和远处物体问题只能用 brute-force 的方法来解决。即使文献中有很多效果很好的鉴于 deformable convolution 或 deformable attention 的方案,它们还是受限于图象的栅格表示形式,导致经常还要把图象转换回栅格形式以进行下采样和上采样的操作。

认识到传统栅格带来的问题,可供考虑的另一种方案是采用更加灵活的点云的形式来储存图象特性。点云的形式允许图象在差别部分运用差别的密度,从而在无特性大平面上减少采样点,而在远处或小物体聚集的区域多保留采样点。然而,由于点云的表示形式和主流的栅格完全差别,改用点云形式的图象识别方案面临很多问题,如,如何划分点云上的邻域?如何学习一种自顺应的下采样方式来实现上述的功能?如何处理差别区域邻域尺度差别的问题?如何解码?

苹果公司和俄勒冈州立大学的研究者们提出了一套完整的运用点云进行图象分隔的方案,解决了上述的诸多问题,并提出了可以根据图象分隔的损失函数进行端到端学习的下采样算法、局部注意力 Transformer 层和鉴于点云的 Transformer 解码器(decoder)。

苹果、俄勒冈州立提出AutoFocusFormer: 摆脱传统栅格,采用自顺应下采样的图象分隔

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

代码地址:https://github.com/apple/ml-autofocusformer

他们在 ADE20K 和 Cityscapes 数据集上达到了胜于普通栅格算法的效果,尤其是在很难并有很多远处小物体的 Cityscapes 数据集上,仅用一个 42.6M 参数的小模型就超过了 SOTA 算法 Mask2Former 运用 197M 参数大模型的效果。在 PapersWithCode 排名中,AutoFocusFormer-Base 模型在 Instance Segmentation benchmark 中超过了所有未运用 Mapillary Vista 额外训练数据的 Large 或更大的模型:

苹果、俄勒冈州立提出AutoFocusFormer: 摆脱传统栅格,采用自顺应下采样的图象分隔

模型

这篇论文所提出的 AutoFocusFormer 模型,是一款鉴于 Transformer 的自顺应模型。通过多次自顺应下采样,可以迅速将高分辨率的图象精简为少量的特性点云,并且,模型会自动根据任务目标(损失函数)来调整在图象差别区域内的采样密度,从而生成的特性点云会在信息量丰富的区域更加稠密,而在不那么重要的区域稀疏。

之前的数种鉴于 Transformer 的自顺应模型(如 AdaViT,DynamicViT,A-ViT)通常采用 global attention,即在 self-attention 中,所有 token 都会去 attend 其它所有 token,而这带来的二次复杂度,使模型无法高效应用于高分辨率的图象分隔任务中。这些方法通过训练一个可导的 binary mask 来区分 「重要」 和 「不重要」 的 token,从而在模型推论中舍弃那些获值为零的点。然而,由于梯度无法传导,这些方法无法在训练过程中进行连续多次的下采样。并且,这些方法还需要额外的损失函数来限制 mask 的巨细。

而 AutoFocusFormer 的设计成功规避了这些缺点:AFF 运用局部注意力(local attention),将每一个 token 的 attention 限制在固定巨细的邻域上;AFF 运用了一个全新的 neighborhood merging 的方法,得以在训练过程中真正的学习自顺应下采样;AFF 除了任务本身的损失函数,不需要任何其它指导。因此,AutoFocusFormer 是第一款能够在高分辨率输入上运行的,适合用来执行如图象分隔一类像素级预测任务的自顺应下采样模型。

下图展示 AFF 的模型框架结构。AFF 由两个卷积层组成的 patch embedding 开始,经由四个阶段(stage),最后由图象分类或者分隔解码器输出预测结果。每一个 stage 都分为三个模块:平衡聚类(balanced clustering),局部注意力(local-attention) blocks,与自顺应下采样(adaptive downsampling)。其中,最重要的是创新的自顺应下采样模块。

苹果、俄勒冈州立提出AutoFocusFormer: 摆脱传统栅格,采用自顺应下采样的图象分隔

1. 匀称聚类(balanced clustering)

AFF 采用 local attention,意为每一个点只能 attend 它邻域内的 K 个邻居点,以此减少在高分辨率情况下的算计复杂度。因此,比起 global attention,模型需要额外首先为每一个点定义邻域。在点云上,传统方法为 K 近邻(K-nearest neighbors),即根据欧氏距离找到离每一个点最近的 K 个点,然后把它们的集合定义为此 token 的邻域。然而, KNN 算法在高分辨率图象上效率不高。作家们受到一些高效 KNN 算法的启发,首先将点云划分为巨细均等的(小)聚类(例如 8 个点),然后再将每一个点的邻域定义为离它最近的 R 个聚类(如 6 个聚类)。由于聚类巨细均等,每一个 token 都拥有相等数量的邻居,因此不需要运用 zero-padding 浪费 GPU 的内存。另外,由于每一个 token 的邻域互有重叠,信息可以顺利地传导到整个图象上,从而不需要像 Swin 模型那样交替切换邻域地位,从而高效解决了寻找邻域的问题。

为保证每一个聚类中的点数相等,作家们在文章中提出一个创新的匀称聚类算法。传统的聚类算法,如 k 均值和局部敏感哈希 (locality-sensitive hashing) 都需要多轮迭代,并且都不保证每一个 cluster 巨细均等。巨细不均等的 cluster 会导致邻域巨细也差别,从而造成内存上的浪费。而 AFF 运用的方法无需任何迭代,并且保证 cluster 巨细相同。此方法首先运用一条空间填充曲线 (space-filling curve)(如,Hilbert curve)将 2D 画面上的所有 token 连成一个 1D array,然后再直接将这个 array 剪切成目标数量的聚类。这样可以保证每一个聚类中的样本数严格相等。只不过,简单地用曲线连接 token,将会导致生成的 cluster 在各个方向上的周长不够均等。据此,作家们提出空间填充锚(space-filling anchor)的概念,用作 token 和填充曲线之间的缓冲结构。具体方法见 AFF 的文章。

2. 局部注意力

将点云分为巨细均等的聚类后,模型将每一个 token 的邻域定义为离它最近的 R 个聚类。在每一个邻域上,AFF 采用标准的 QKV local self-attention 公式:

苹果、俄勒冈州立提出AutoFocusFormer: 摆脱传统栅格,采用自顺应下采样的图象分隔

公式中,P 是地位编码(positional embedding)矩阵。作家们运用一个简单的全连接层(fully-connected layer),将 token 和邻居间的相对地位信息(x 和 y 坐标的差值)进行编码,使得模型能够在算计 attention 的过程中运用地位信息。

然而,仅仅根据 x 和 y 坐标的差值得出的地位编码并不具备尺度不变性和旋转不变性。这在鉴于栅格的局部注意力模型中不是问题,因为邻域的巨细永远相同。然而,鉴于点云的邻域可能在差别地位和差别图象中尺度差别。此时,模型将无法泛化到巨细差别的同一个物体,或者经过旋转的同一个物体。因此,作家们将相对地位信息扩展到包括两个 token 之间的距离,cosine 和 sine 值:

苹果、俄勒冈州立提出AutoFocusFormer: 摆脱传统栅格,采用自顺应下采样的图象分隔

注意,距离有旋转不变性,而 cosine 和 sine 值有尺度不变性。因此,深度模型能通过这种地位编码,自由地学习选择它需要运用的信息,从而取得更大灵活性。

3. 自顺应下采样(adaptive downsampling)

作为每一个阶段的最后一个模块,自顺应下采样负责将 token 数量减少至原来的 x%。传统的 stride-2 下采样会将数量减少至 1/4,而 AFF 更为灵活的点云结构则对 x% 的值没有限制。试验中,作家们展示了采取 1/4 和 1/5 下采样率的模型的训练结果。

AFF 的自顺应下采样模块分为三步:1. 算计重要性分数,2. 根据重要性选择合并中心(merging center),3. 合并邻域(neighborhood merging)。最后一步如下图所示。

苹果、俄勒冈州立提出AutoFocusFormer: 摆脱传统栅格,采用自顺应下采样的图象分隔

第一步中,模型将每一个 token 的特性矢量(feature vector)输入一个全连接层,再经过 sigmoid 函数,得到一个处于 0 到 1 之间的重要性分数。然后,拥有最高 「重要性」 的 x% 个 token 被选出,作为下一步中的 merging center。最后,模型运用一个 PointConv 层,将每一个被选取的 token 的邻域内所有的特性矢量合并成为一个全新矢量:

苹果、俄勒冈州立提出AutoFocusFormer: 摆脱传统栅格,采用自顺应下采样的图象分隔

注意,在合并过程中,PointConv 层中的每一个邻居点的权值(convolution weights)都经由各自的 「重要性分数」(importance score)调制。若一个 token 的重要性接近于 0,那么它的特性矢量将不会对合并后的矢量特性产生重大影响。这个调制过程使得重要性的梯度可以后向传播到没有被选择的点上,从而模型可以根据任务损失,自动调整参数使相对重要的点得以保留,从而达到根据图片内容和任务目标自顺应下采样的效果。

最后,文章中还提到了 grid prior。作家提出,如果只根据特性算计 「重要性」,而完全忽视点的 2D 地位,将会在无特性的区域内(如大物体表面)造成采样的过度随机。在这种特性均一的区域,理想状况下,模型能够自动退回传统的匀称密度下采样。因此,在选择 token 时,作家在「重要性」 上额外叠加了一层 grid prior,将优先级倾向于那些在传统栅格采样上的点。具体方法参见论文。

4. 解码器(point-based decoder)

传统图象分隔的解码器也鉴于栅格。本文将 Mask2Former 解码器推广到点云,运用 PointConv 代替 3×3 卷积,并在点云上提供了一种实现 deformable attention 的插值方法,从而实现了端到端的、运用自顺应下采样的点云方案学习图象分隔的网络。

试验

作家们在图象分类和图象分隔任务上展示了 AFF 的试验结果。

他们在经典的 ImageNet-1K 数据集上测试 AFF 的图象分类能力。与基线方法 Swin Transformer 相比,无论模型巨细,AFF 都有更佳的表现。尤其,AFF 的 1/5 下采样率的版本,不仅超越了 Swin Transformer 的正确率,并且节省了约 30% 的 FLOPs。

苹果、俄勒冈州立提出AutoFocusFormer: 摆脱传统栅格,采用自顺应下采样的图象分隔

作家们在 ADE20K 数据集上试验 AFF 的语义分隔能力。同样地,无论模型巨细,AFF 的 1/5 下采样率的版本,不仅超越了基线的表现,并且节省了约 30% 的 FLOPs。

苹果、俄勒冈州立提出AutoFocusFormer: 摆脱传统栅格,采用自顺应下采样的图象分隔

最后,作家们在 Cityscapes 数据集上进行了实例分隔和全景分隔的试验。试验结果证明,AFF 的自顺应能力十分适合 cityscapes 中巨细物体差距极大的室外场景。尤为瞩目的是,AFF-Tiny 取得了与 Swin-Base 相当的表现,而仅仅运用了 42.6M 参数的 AFF-Small 模型,取得了与运用 197M 参数的 Swin-Large 相当的表现 —— 节省了约 78% 的参数。

苹果、俄勒冈州立提出AutoFocusFormer: 摆脱传统栅格,采用自顺应下采样的图象分隔

以下两个例子有助于我们直观地感受 AFF 的自顺应能力如何帮助它在 Cityscapes 上识别远处的小物体。在例一中,即使在 4 次下采样之后,依然有足够多的采样点留存在远处那些在图象中非常小的汽车上。因此,模型才能够成功捕获这些物体;相比之下,鉴于栅格的模型则会错失这些距离很远的汽车。

苹果、俄勒冈州立提出AutoFocusFormer: 摆脱传统栅格,采用自顺应下采样的图象分隔

在下例中,AFF 比基线算法 Swin Transformer 识别了更多左侧咖啡店中的人头。比起在中间大块的灰色地面上浪费算力,AFF 更灵活地将更多的采样点分配到了马路边上热闹的露天咖啡店里。

苹果、俄勒冈州立提出AutoFocusFormer: 摆脱传统栅格,采用自顺应下采样的图象分隔

总结

AutoFocusFormer 是第一个运用多层自顺应下采样的,能够在高分辨率输入上运行的,适合用来执行如图象分隔一类像素级预测任务的模型。灵活的数据结构提供了更多样化的下采样率选择,而且试验证明,由于 AFF 能够正确地采样到合适的点,它的 1/5 下采样率模型能够在节省大量算计的前提下,取得超越基线的成绩。综合试验结果来看,AFF 在小物体识别上取得了很大的进步,同时大大节省了 FLOP count 和参数数量。

给TA打赏
共{{data.count}}人
人已打赏
AI

思考一下,联邦进修可以训练大说话模型吗?

2023-7-10 14:34:00

AI

彻底开源,免费商用,上海AI实验室把大模型门槛打下来

2023-7-12 18:44:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
搜索