CV君 2025-10-18 07:06 江苏
一个模型,上采样所有特征,即插即用!
今天和大家聊一篇非常有意思的新工作,来自马克斯·普朗克计算机科学研究所、谷歌、苏黎世联邦理工学院和慕尼黑工业大学的研究者们联手打造的 AnyUp。
顾名思义,“AnyUp”就是“任意上采样”的意思。它的核心亮点在于,这是一个通用的特征上采样模型,能够处理来自任意视觉编码器(比如DINO、CLIP)的特征,在任意分辨率之间进行上采样,而且最关键的是——无需为特定的编码器进行重新训练。这解决了现有方法一个很大的痛点。
一起来看看这项工作的基本信息:
论文标题: AnyUp: Universal Feature Upsampling
作者: Thomas Wimmer, Prune Truong, Marie-Julie Rakotosaona, Michael Oechsle, Federico Tombari, Bernt Schiele, Jan Eric Lenssen
机构: 马克斯·普朗克计算机科学研究所, 苏黎世联邦理工学院, 谷歌, 慕尼黑工业大学
研究背景
大家知道,像DINO、CLIP这类强大的预训练视觉模型,已经成为计算机视觉领域的基石。但它们通常基于Transformer架构,为了计算效率,输出的特征图分辨率往往比较低(比如16x16或32x32)。这对于需要像素级预测的下游任务,如语义分割、深度估计等,是一个天然的限制。
为了解决这个问题,学术界提出了不少特征上采样的方法。但现有方法,特别是那些基于学习的方法(如FeatUp, LoftUp, JAFAR),通常存在一个“绑定”问题:它们需要针对某一个特定的特征提取器(encoder)进行训练。如果你想换一个编码器,比如从DINOv2换到SigLIP,对不起,请重新训练你的上采样模型。这不仅耗时耗力,有时甚至不可行(比如最新的大模型没有开放训练接口)。
AnyUp的出现,就是为了打破这种“一对一”的束缚,目标是创建一个“万能”的上采样器,训练一次,就能服务于所有视觉模型。
AnyUp的核心方法
AnyUp的整体架构基于一个Attention机制,这和近期的JAFAR、LoftUp等工作思路相似。但它通过几个关键设计,实现了“编码器无关”(encoder-agnostic)的特性。
特征无关层 (Feature-Agnostic Layer)
这是实现通用性的核心。传统的上采样模型在处理输入特征时,通常会用一个卷积层,但这个卷积层的输入通道数是固定的,所以只能处理特定维度的特征。
AnyUp设计了一个巧妙的“特征无关层”。它的工作方式是:
对输入特征的 每一个通道 (channel) 都独立地与一组共享的、可学习的卷积核 (basis filters) 进行卷积。
对每个通道的卷积结果,在“卷积核维度”上进行Softmax归一化。
最后,将 所有通道 的结果进行平均,得到最终的输出。
通过这种方式,无论输入特征有多少个通道(维度),输出的维度都是固定的,并且模型能够学习到跨通道的通用结构信息,而不是绑定在特定特征的语义上。CV君认为这个设计非常简洁且有效。
局部窗口注意力 (Local Window Attention)
之前的方法(如JAFAR)使用全局注意力,即高分辨率图像中的每个像素可以关注到低分辨率特征图中的任何一个位置。作者发现,这有时会导致模型错误地关联上图像中距离很远且不相关的区域,产生伪影。
AnyUp对此进行了简化,将注意力计算限制在一个 局部窗口 内。这样做不仅提升了效率,也让模型的学习任务变得更简单,因为它只需要关注局部信息,从而避免了不必要的“远距离联想”,使得上采样结果更稳定。
基于图像块的训练策略
在训练中如何获得用于监督训练的“真值”高分辨率特征呢?直接用大尺寸图像输入编码器计算,成本太高。AnyUp采用了一种高效的策略:
从一张高分辨率图像
I
中,随机裁剪出一个小块I'
。将完整图像
I
缩放到与I'
同样的分辨率,并提取低分辨率特征p
。将
p
通过AnyUp上采样到目标分辨率,得到q
。同时,直接从图像块
I'
提取“真值”特征ĝ
。监督信号来自于上采样结果
q
中对应I'
的区域q'
与ĝ
之间的差异。
这个策略非常高效,因为它避免了对超大分辨率图像进行特征提取。
实验效果如何?
AnyUp在多个下游任务上都展示了卓越的性能和泛化能力。
视觉质量对比
从PCA可视化的特征图可以看出,相比之前的方法(如LoftUp、JAFAR、FeatUp),AnyUp生成的特征图边缘更锐利,细节保留得更好,并且没有出现明显的伪影或特征分布偏移。
下游任务性能
在语义分割、深度估计和表面法线估计等任务上,AnyUp全面超越了之前的SOTA方法。
语义分割: 在ADE20k数据集上取得了SOTA表现。
深度和法线估计: 同样达到了SOTA,这表明AnyUp很好地保留了特征的局部几何信息,而这正是LoftUp等方法所欠缺的。
下面是更多在语义分割和深度估计任务上的定性结果,可以看到AnyUp的结果在细节和边界上都非常出色。
强大的泛化能力
这是AnyUp最令人印象深刻的地方。
跨模型泛化: 一个仅在DINOv2特征上训练的AnyUp模型,可以直接用于上采样SigLIP、DINOv3等完全不同的编码器特征,并且性能依然强大,甚至接近或超过了为这些特定模型专门训练的上采样器。
跨分辨率泛化: AnyUp支持从任意分辨率到任意分辨率的上采样,在各种分辨率组合下都保持了强大的性能。
特征空间保持: 实验证明,AnyUp上采样后的特征很好地保留了原始低分辨率特征的分布,这意味着一个在低分辨率特征上训练好的线性分类器(probe)可以直接用在高分辨率特征上,性能几乎无损,甚至有所提升。
消融实验
消融研究证实了AnyUp每个设计的重要性,无论是特征无关层、局部窗口注意力还是数据采样策略,都对最终性能有显著贡献。
总结
总而言之,AnyUp通过简洁而创新的设计,实现了一个真正意义上的“即插即用”的通用特征上采样器。它不仅性能达到了SOTA,更重要的是其出色的泛化能力,极大地提升了预训练视觉模型在下游任务中的易用性和灵活性。作者已经开源了代码,感兴趣的同学可以去试试看!
大家对这个“万能”上采样方法怎么看?欢迎在评论区留下你的看法!