微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 同济大学研究团队的"瘦身神器":只用16%的参数,让AI视觉模型"看清世界"的精度提升7倍

同济大学研究团队的"瘦身神器":只用16%的参数,让AI视觉模型"看清世界"的精度提升7倍

2026-07-06 10:51
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-07-06 10:51 科技行者

这项由同济大学计算机科学与技术学院主导的研究成果以arXiv预印本形式于2026年6月22日公开发布,论文编号为arXiv:2606.22749,题为《RaysUp: Ultra-light Universal Feature Upsampling via Geometry-Aware Ray Representation》,感兴趣的读者可通过该编号查阅完整论文。

**一个不得不先讲的故事:AI的眼睛为什么"看不清"**

假设你拿到一张仅有16×16像素的极度模糊照片,试图从中辨认出照片里停着哪种鸟。你或许能猜出大致轮廓,却很难判断是麻雀还是燕子,更别提数清羽毛的纹理了。现代最强大的AI视觉模型,比如谷歌、Meta和OpenAI背后广泛使用的那些"基础视觉模型"(可以把它们理解为AI界的"万能眼睛"),面临的正是这种困境。

这些模型在训练时,会把输入的图片切割成一块块小方格(专业上叫"patch"),就像把一幅画剪成邮票大小的碎片,然后对每块碎片进行理解和编码。处理完之后,输出的"特征图"——也就是模型对图像的理解结果——分辨率往往极低,可能只有原图的1/14甚至1/32。这就好比把一幅高清油画理解成了一张16格的马赛克拼图:大意能懂,细节全无。

然而,许多真实世界的视觉任务偏偏需要精确到每一个像素:要给照片中每个物体准确标出边界(语义分割),要估算照片中每个点距离镜头多远(深度估计),要分析每个表面的朝向(法线估计)……这些任务就像外科手术,需要精准的"手术刀",而不是模糊的"大致判断"。

这就产生了一个核心矛盾:AI模型理解图像的"眼睛"虽然聪明,却是"近视眼"——它理解图像语义的能力很强,但输出的空间分辨率太低,满足不了精细任务的需求。

同济大学的研究团队针对这个矛盾,提出了一种名为**RaysUp**的方案。这个方案的思路可以用一句话来概括:**不改变AI模型的眼睛本身,而是给它配一副精良的"放大镜",把低分辨率的"马赛克理解"无损地还原成高清细节图**。更关键的是,这副放大镜既轻薄又快速,仅用了现有最先进同类方案16%的参数量,推理速度却快了约7倍。

**一、 现有的"放大方案"都有哪些问题**

在RaysUp之前,研究界已经尝试过多种给低分辨率特征"升清"的办法,但每种方案都有明显的短板,就像厨师手边只有几种有缺陷的刀具。

最简单的方案是双线性插值——本质上就是"凑近看模糊的马赛克然后用周围格子的颜色平均填补空白"。这种方法极快,但完全没有智能,生成的高分辨率特征模糊、边界涣散,就像把一张低像素图片直接放大后失真的效果。

更聪明一些的方案是"有学习能力的上采样",代表方法有FeatUp、LoftUp、JAFAR等。这些方案通过神经网络学习如何把低分辨率特征恢复成高分辨率,效果确实比插值好不少。但它们有一个共同的缺陷:**每种AI基础模型都需要重新训练一次**。换句话说,你为DINOv2(Meta的视觉模型)训练好的放大镜,换成CLIP(OpenAI的视觉模型)就不好用了,得从头再来。对于一个每隔一段时间就会出新版本、新架构的领域,这种方案显然不够灵活。

最接近RaysUp定位的竞争者是AnyUp,它实现了"不管哪种基础模型都能用同一个放大镜"的目标,也支持任意分辨率输出。但代价是架构很"重"——参数量达到0.87M,在448×448分辨率下推理速度只有5帧/秒,在896×896分辨率下只有1帧/秒,遇到2K分辨率直接内存溢出,根本跑不起来。

RaysUp的目标,是同时解决以上所有问题:既不依赖特定模型、支持任意分辨率,还要轻量、快速,同时在精度上不输给甚至超过这些前辈。

**二、 从"平面照片"到"3D射线":RaysUp的核心灵感**

RaysUp最有意思的地方,是它换了一个看问题的角度——**把图像上采样从一个"二维平面问题"变成了一个"三维几何问题"**。

传统的特征上采样方法,本质上都是在二维的图片坐标系里工作:哪个像素点靠近哪个像素点,就用周围点的信息来填充。但这里有一个根本性的误差:**在二维图片上相邻的两个点,在真实三维空间中可能相距甚远**。

举个直观的例子:一张室内照片里,窗框的边缘左侧是白墙,右侧是窗外的蓝天。在图片坐标系中,这两个像素点挨得非常近,但它们在现实三维空间中分别代表了一个在室内几十厘米处的墙壁,和一个在室外几百米外的天空——两者完全没有物理上的关联。如果用二维坐标系做上采样,就会错误地用蓝天的信息去"填补"白墙的细节,导致边界模糊和不自然的混合。

RaysUp的做法是:把每个像素点从"图片上的一个点"重新定义为"从相机出发、穿过这个像素的一条三维光线"。这个概念叫做"射线(ray)",是计算机图形学和NeRF(神经辐射场,一种用AI重建三维场景的技术)里的核心概念。

把上采样问题翻译成射线语言:AI基础模型给出的低分辨率特征,相当于对场景做了"粗粒度射线采样"(每隔很远才发出一条射线来探测场景);我们想要的高分辨率特征,相当于"细粒度射线采样"(更密集地发出射线,探测到更多细节)。上采样的任务,就变成了**把稀疏的射线探测结果,合理地"插值"到密集射线网格上**——而这个插值过程,应当遵循三维几何的规律,而不仅仅是二维平面的距离关系。

这个思路的精妙之处在于:从相机打出的射线,天然地携带着三维空间的几何信息。两条方向相近的射线,在真实世界中对应的往往是同一物体表面上的相邻点;而方向差异大的射线(比如一条指向近处的桌子,一条指向远处的窗户),即使在二维图片上挨得很近,在三维空间中也相距甚远,不应该互相"借用"信息。

RaysUp的全部设计,都围绕着这个"射线"框架展开,共由三个核心模块构成。

**三、 第一块拼图:用"四路侦察兵"替代"单一视角"**

要让放大镜工作,首先需要一个"引导者"——一种能告诉放大镜"原图里的细节到底长什么样"的高分辨率信息源。在RaysUp里,这个引导者是原始输入的RGB彩色图像,而处理这张图像的模块叫做**空间解耦引导编码器(Spatially Decoupled Guidance Encoder)**。

研究团队在分析前人方案时发现了一个有趣的现象:在JAFAR这类方法里,使用标准3×3卷积核(可以把卷积核理解为一个小小的"感知窗口",用来捕捉局部图案)来提取图像引导特征时,这个窗口对不同位置的"敏感程度"并不均匀。具体来说,窗口四个角落的感知权重(0.97-0.99)明显高于中心位置(0.78)。这种"重视边缘、忽视中心"的倾向,导致提取出的特征在中心区域缺乏足够的通道混合,最终让上采样后的特征图出现"破洞"——也就是某些区域信息丢失、出现不连续的斑块。

RaysUp的解决方案是把这个单一的"感知窗口"拆分成四条专职"侦察路线"并行工作。第一条路线负责感知正中心(使用1×1的小窗口),确保中心区域的信息得到充分处理;第二条路线专门沿水平方向扫描(使用1×3的横条窗口);第三条路线专门沿垂直方向扫描(使用3×1的竖条窗口);第四条路线负责感知对角方向(使用带间隔的2×2窗口)。四条侦察路线各司其职,最后把收集到的信息合并在一起。

这样做的结果是:中心位置的权重被提升到1.00(满分),水平、垂直和对角方向的感知权重维持在0.89-0.99的高水平,整体特征提取变得均匀而完整,再也不会出现"破洞"问题。更令人满意的是,这种"四路并行"的设计还大幅降低了参数量——标准3×3卷积需要27×Dg个参数(Dg是特征维度),而四路解耦编码器只需要约8.25×Dg个参数,节省了约69.4%的参数开销。"四路侦察兵"不仅干得更好,还比单兵作战便宜得多。

**四、 第二块拼图:可以"变焦"的注意力机制**

引导编码器提取出高分辨率的图像引导特征之后,下一步是用这些特征来"指导"低分辨率的AI特征进行放大。RaysUp采用了一种叫做**任意分辨率交叉注意力(Any-Resolution Cross-Attention)**的机制来完成这个任务。

"注意力机制"是现代AI里一个非常核心的概念,可以用一个类比来理解:假设你要复原一张模糊的老照片,你手边有一张拍摄同一场景的清晰新照片作为参考。你的工作是:对于模糊照片里的每一个区域,在清晰照片里找到最相似、最相关的区域,然后用清晰照片里的细节来填补模糊之处。"注意力机制"做的事情与此完全一致——它让输出特征图上的每个位置,去"询问"输入特征图里哪些位置与自己最相关,然后加权收集信息。

"交叉注意力"的意思,是"询问者"(查询,Query)和"被询问者"(键值,Key-Value)来自不同的来源:高分辨率输出位置作为Query,低分辨率AI特征作为Key和Value。这样就能实现:高分辨率输出的每个像素点,都去低分辨率特征图里找到对应的语义信息,从而"学到"应该在这个位置呈现什么样的特征。

"任意分辨率"的实现方式则相当巧妙:不管输出分辨率是多少(224×224、448×448,还是896×896),都只需要对引导特征图做一次自适应平均池化(类似于"适当缩放")就能生成对应的Query和Key,不需要重新训练任何东西。这就像一个变焦镜头,无论你要拍多大的照片,镜头本身的光学原理是不变的,只需要调整焦距就行。

**五、 第三块拼图:给每条射线一个独特的"几何身份证"**

前面两个模块解决了"如何引导"和"如何交互"的问题,但还有一个深层次的问题没有解决:如何让注意力机制真正理解三维几何关系,而不仅仅是二维坐标关系?

这就是**射线位置编码(RayPE, Ray Positional Encoding)**要解决的问题。

在AI里,"位置编码"是一种给序列或空间中的每个位置打上独特标记的技术,目的是让模型知道"这个信息来自哪里"。传统的位置编码(比如RoPE)使用的是二维图片坐标(第几行、第几列),本质上是把图片理解成一个平铺的二维格子,不携带任何三维信息。

RayPE的做法是:把每个像素点的"身份"从"图片里的第i行第j列"替换为"从相机出发经过这个像素的一条三维射线"。这条射线由两部分描述:射线的起点(也就是相机在三维空间中的位置)和射线的方向(也就是从相机指向这个像素所对应的三维空间方向)。把这两个三维向量拼在一起,就得到了一个6维的"射线描述符",专业上叫做6D Plücker坐标。

每个像素因此得到了一张独特的"三维几何身份证",不仅记录了它在图片里的位置,还记录了它在三维空间中对应的观察方向。两个像素的"身份证"越相似,说明它们在三维空间中的观察方向越接近,对应的往往是同一物体表面;反之,即使两个像素在图片里紧挨着,如果它们的射线方向差异大(比如前景的物体边缘),它们的"身份证"也会截然不同,注意力机制就不会错误地让它们互相借用信息。

具体的编码过程采用了一种叫做"多频谐波相位编码"的技术:用一组从低频到高频排列的数学函数(类似于傅里叶分析中的不同频率分量)来处理射线描述符,从而在多个空间尺度上捕捉几何变化。编码结果再通过旋转调制(这是RoPE位置编码的精髓:用旋转矩阵把位置信息"烙印"进特征向量的相位中,而不是简单地相加)作用于引导特征,就完成了从二维坐标到三维射线的质变。

这个设计的妙处在于:它完全不增加参数量,只是改变了位置信息的表示方式,却让模型在做特征上采样时自动遵循三维几何规律。消融实验(即逐一关掉某个模块来测试其贡献的实验)证明,去掉RayPE后平均性能下降了约1.12个百分点,而换成传统的RoPE只能恢复其中一部分性能,用其他射线编码方案(SinRays)效果也不如RayPE,说明RayPE的三维几何先验是真正有效的。

**六、 第四块拼图:局部邻域里的"几何感知聚合"**

有了引导特征、任意分辨率的交叉注意力框架,以及三维射线位置编码,最后一步是真正执行特征聚合——把低分辨率AI特征"搬运"到高分辨率的目标位置上。

RaysUp采用了**几何感知邻域交叉注意力(Geometry-Aware Neighborhood Cross-Attention)**来完成这一步。

全局注意力的计算量与分辨率的平方成正比:如果要把1024×1024的Query与32×32的Key做全局注意力,计算量是(1024×1024)×(32×32)=约10亿次乘加运算,代价极高。邻域注意力的做法是:对于每个高分辨率Query位置,不去询问所有Key位置,而只询问其在低分辨率Key图中对应位置附近的k×k个邻域(RaysUp中k=6,即36个邻居)。这样计算量从O(HanyWany × HlrWlr)降低到了O(HanyWany × k?),大幅提升了效率。

为了让高分辨率Query和低分辨率Key的邻域正确对齐,RaysUp引入了膨胀因子:当输出分辨率是输入分辨率的s倍时,邻域采样步长也设为s倍,确保覆盖的空间范围保持一致。这就像用一个放大镜看地图时,你需要让放大镜移动的步幅也按比例放大,才能让视野始终对准同一片区域。

而RayPE编码后的Query和Key特征,使得注意力权重的计算自然地反映了三维射线方向的相似性:方向接近的射线(对应同一物体表面的点)之间注意力权重高,方向差异大的射线(跨越深度不连续区域的点)之间注意力权重低。整个聚合过程由此在物理上对应"沿着光滑变化的射线方向进行特征传播",保持了三维几何一致性。

**七、 训练:只需一块GPU,一个小时**

RaysUp的训练策略同样体现了"轻量"的设计哲学。训练在标准的ImageNet数据集上进行,使用一块NVIDIA A100 GPU,耗时约1小时(对比之下,AnyUp需要约5小时,LoftUp训练流程更为复杂)。

训练时,随机选取高分辨率图片,用2到4倍的随机缩小比例生成低分辨率版本,将两者都输入冻结的基础视觉模型(不修改模型参数),分别得到目标高分辨率特征和源低分辨率特征。然后让RaysUp用低分辨率特征和高分辨率原图重建出高分辨率特征,用重建结果与目标特征之间的余弦相似度损失和L2距离损失的组合来优化RaysUp的参数。

研究团队还设计了一个进阶的"局部裁剪"训练策略:额外从高分辨率图片中随机裁剪局部小块,以这些局部小块提取的特征作为额外监督信号,迫使RaysUp学会对任意子区域的局部细节也能精确重建。采用这个策略后,在多个语义分割数据集上的性能进一步提升,例如Cityscapes上的mIoU从61.88提升到63.04,ADE20K上从42.34提升到42.60,额外训练约4小时。

**八、 实验结果:全面超越对手,以极小代价**

RaysUp在五大类密集预测任务上进行了系统评估,对手包括双线性插值、FeatUp、LoftUp、JAFAR和AnyUp。

在**语义分割**任务上,研究团队在COCO-Stuff、Pascal-VOC、ADE20K和Cityscapes四个数据集上测试了用线性探针(仅在冻结特征上接一个1×1卷积层)进行分割的性能。RaysUp在几乎所有数据集上都达到了最佳或第二好的结果,例如Pascal-VOC上mIoU为84.64(超过AnyUp的84.18和JAFAR的83.89),Cityscapes上mIoU为61.88(超过AnyUp的60.62)。

在**深度估计和表面法线估计**任务上,体现了RaysUp的射线几何设计的独特优势。在NYUv2数据集的深度估计任务中,RaysUp绝对深度RMSE为0.4658,低于AnyUp的0.4781和JAFAR的0.4693;相对深度RMSE为0.3195,同样优于所有对手。在表面法线估计中,RaysUp的RMSE为27.69,超过AnyUp的27.83和JAFAR的27.80。这些几何密集型任务上的优势,正是三维射线位置编码设计成效的直接体现。

在**视频目标分割**任务中,RaysUp在DAVIS数据集上的J&F均值为71.47,超过AnyUp的70.98和LoftUp的70.92,展现出更强的时序一致性。这背后的原理是:由于RaysUp产生的特征具有更好的几何一致性,跨帧的特征匹配更为精准,物体边界在不同帧之间的传播也更加稳定。

在**零样本开放词汇分割**任务中,RaysUp将提取的特征接入ProxyCLIP框架进行测试,在COCO-Stuff、Pascal-VOC、ADE20K、Cityscapes等数据集上的表现与LoftUp和JAFAR相当或略有差距。研究团队分析认为,LoftUp在这类任务上的优势来自于训练时引入了SAM(Segment Anything Model)生成的掩码作为额外监督,这是RaysUp(仅用自监督重建目标训练)没有的"外挂",因此在语义分割等任务上的少量差距是公平比较下合理的结果。

**在VFM通用性上**,与唯一同样具备跨模型通用能力的对手AnyUp进行了对比。测试覆盖DINOv2、DINOv3、SigLIP2、PE Spatial四种基础模型,以及ViT-S、ViT-M、ViT-L三种规模。在所有12个测试组合中,RaysUp在Pascal-VOC语义分割(mIoU)和NYUv2深度估计(RMSE)两个指标上全面超过AnyUp。例如,DINOv2-ViT-L上:RaysUp的mIoU为86.33(AnyUp 85.47),绝对深度RMSE为0.376(AnyUp 0.393);DINOv3-ViT-L上:RaysUp mIoU 88.07(AnyUp 87.48),绝对深度RMSE 0.398(AnyUp 0.402)。

**在效率上**,差距更为悬殊。RaysUp仅有0.14M参数(AnyUp为0.87M,JAFAR为0.62M),在224×224分辨率下消耗10.17 GFLOPs、1.26GB显存,推理速度55 FPS;AnyUp在同等分辨率下84.21 GFLOPs、2.19GB显存,仅有11 FPS。在448×448分辨率下,RaysUp 27 FPS vs AnyUp 5 FPS;在896×896分辨率下,RaysUp 8 FPS vs AnyUp 1 FPS;而在2K×2K分辨率下,RaysUp仍然能以1 FPS的速度运行,其他所有方法均内存溢出,完全无法工作。这种在超高分辨率下的可运行性,对于需要处理医学影像、卫星图像等高分辨率场景的应用来说至关重要。

**九、 消融实验:每一块拼图都不可或缺**

为了验证每个设计选择的必要性,研究团队系统地"拆卸"RaysUp的各个零件,分别测试了不同设计方案。

对于引导编码器的设计,单支路(仅1×1卷积)平均性能81.87%,双支路(1×1加3×3)81.87%,多支路(四种卷积并联但包含3×3)82.09%,而空间解耦支路(四方向专职卷积)82.17%且参数最少(0.14M vs 多支路的0.268M)。这说明"方向解耦"而非单纯"多路并联"才是性能提升的关键。

对于引导特征维度,Dg=128时平均性能82.02%,Dg=256时82.17%,Dg=512时82.20%,Dg=768时82.19%。可以看到从256到512的性能提升极为有限(仅0.03%),却需要约3倍的参数增加,权衡之下256维是最优选择。

对于位置编码,完全不使用时平均性能81.05%(最差),使用传统RoPE时81.92%,使用SinRays时81.59%(参数还更多,达0.47M),使用RayPE时82.17%(最佳,无额外参数)。这组对比最有力地证明了将位置编码从"二维坐标"升级到"三维射线"的必要性。

对于相机姿态信息,使用恒等矩阵(即假设所有图片都是从正前方拍摄的简化假设)的默认设置达到82.17%;如果引入Depth Anything 3估计的真实相机姿态,性能可进一步提升至82.41%-82.44%,但代价是DA3模型本身需要5至55小时的额外训练时间。研究团队综合考虑效率,选择了恒等姿态作为默认配置,同时这组实验也说明RaysUp具备利用更准确相机信息进一步提升的潜力。

---

归根结底,RaysUp做了一件看起来并不复杂,但此前没有人正确系统地做过的事:它把特征上采样这个"二维图像处理"问题,重新理解成了一个"三维几何推理"问题,然后用极其精简的方式实现了这个思路转变,顺手还解决了现有方法"太重、太慢、依赖特定模型"的三大顽疾。

对于真实世界的应用来说,这意味着:搭载了大型视觉基础模型的自动驾驶系统、医疗影像分析软件、机器人视觉系统,可以用极低的额外计算成本,让AI的"视力"从模糊的马赛克升级为清晰的细节图,而且无论下面用的是哪家的AI基础模型,这副"放大镜"都能直接套用,不需要重新训练。0.14M参数、55帧每秒,在大模型动辄数十亿参数的时代,这种极致轻量的设计反而显得尤为珍贵。当然,RaysUp目前在零样本开放词汇分割等部分任务上仍与利用SAM额外监督的LoftUp略有差距,如何在不额外增加监督数据的前提下进一步缩小这一差距,可能是下一步研究值得探索的方向。

有兴趣深入了解技术细节的读者,可以通过arXiv编号2606.22749查阅完整论文,代码也已在GitHub上公开(账户MAP-RaysUp/RaysUp)。

---

Q&A

Q1:RaysUp和普通双线性插值放大图片有什么本质区别?

A:普通双线性插值只是把周围像素颜色做加权平均,完全不考虑图像内容,放大后会模糊。RaysUp则有学习能力:它用原图作为引导,通过注意力机制判断高分辨率位置应该"参考"哪些低分辨率特征,还引入了三维射线几何信息,让边界处不同物体的特征不会相互混淆,最终保留了语义精确性和几何清晰度。

Q2:RaysUp需要针对每种AI视觉模型单独训练吗?

A:不需要。这正是RaysUp的核心优势之一。RaysUp只需要在DINOv2-S这一种模型上训练一次,就能直接用于DINOv2、DINOv3、SigLIP2、PE Spatial等多种不同架构和不同大小的视觉基础模型,无需任何额外微调或重新训练,实验证明在所有测试模型上都超过了同样具备通用性的AnyUp方法。

Q3:RayPE里用到的"相机参数"在普通应用场景里怎么获取?

A:消融实验表明,即使把相机外参设为单位矩阵(相当于假设所有图片都从正前方水平拍摄),RaysUp已经能达到最优的效率-性能平衡,这也是论文默认配置。如果使用Depth Anything 3等工具估计真实相机姿态,性能还能进一步小幅提升。所以在实际应用中,不需要拍摄时记录相机参数,直接使用默认设置即可正常工作。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-