跳转至

Fisheye3R: Adapting Unified 3D Feed-Forward Foundation Models to Fisheye Lenses

会议: ECCV2026
论文: ECCV 原文
代码: https://github.com/android-xr/fisheye3r
领域: 3D 视觉
关键词: 鱼眼相机、多视图重建、校准 token、掩码注意力、自监督适应

一句话总结

Fisheye3R 用可学习校准 token 和按相机类型控制的注意力掩码,让冻结的统一前馈 3D 模型直接处理鱼眼及混合相机图像;仅用无标注透视图像适应,MapAnything 在 ScanNet++ 鱼眼测试上的位姿 AUC 就从 0.519 提升到 0.766。

研究背景与动机

VGGT、π3 和 MapAnything 已能从同一场景的多张未标定图像,一次前向预测相机位姿与稠密几何。 这种统一能力建立在大量透视图像上,因此模型不仅学到了场景知识,也隐式习惯了透视投影下的局部纹理与空间排列。 鱼眼镜头改变的是三维方向到二维像素的投影关系:同一个物体在图像边缘会呈现弯曲、压缩等不同模式。 场景本身可能并不陌生,但 patch 编码接收到的局部模式已经偏离预训练分布,后续跨视图推理便可能输出扭曲点云和错误位姿。 这对机器人、AR/VR 和车载混合相机系统尤其不利,因为它们采用鱼眼镜头恰恰是为了扩大环境覆盖。

先把鱼眼图像矫正为针孔视图并不能无代价地解决问题。 选择较窄视场会裁掉周边信息;保留很宽的视场则会造成边缘拉伸与重采样伪影,仍然偏离基础模型的训练分布。 此外,矫正依赖准确标定并增加处理步骤,而鱼眼图像及相应三维真值远少于透视数据。 全量微调可能损害原有透视能力,重新训练兼容两种镜头的大模型又面临算力成本和数据比例失衡。 因此,本文真正追求的不是一个专用鱼眼重建器,而是让已有场景知识在不同投影下继续可用。

作者把适应位置移到隐空间:图像仍保持鱼眼投影,只通过少量附加 token 调整骨干内部特征。 训练时还可以把现有透视图像合成为带畸变的输入,再把输出映回原来的观测网格,复用真值或模型自身预测。 这让鱼眼适应不再必须从收集真实鱼眼标注开始,同时为保留原模型行为提供了明确的控制接口。 核心 idea:冻结原有几何模型,用按相机类型启用的逐层校准 token 修正鱼眼特征,再用畸变合成与输出逆变换复用透视数据监督。

方法详解

整体框架

输入是同一三维场景的多张 RGB 图像,可以全部来自鱼眼,也可以混合透视与鱼眼镜头。 系统先从冻结编码器的早期特征判断每帧相机类型,再在后续图像编码、帧内注意力和全局注意力中选择性地启用校准 token。 最终仍由原模型的解码器预测位姿和稠密几何,不另建一套鱼眼重建网络。 训练时才增加畸变合成与逆变换监督分支;实际推理不需要先把输入鱼眼图像矫正成透视图。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
        A["多视图 RGB"] --> B["冻结的早期编码"]
        B --> C["相机类型掩码"]
        C --> D["逐层校准 token"]
        D --> E["原解码器<br/>位姿与稠密几何"]
        E -.->|仅训练| F["逆变换监督"]
        P["透视图像"] -.->|仅训练:合成畸变| A
        P -.->|原模型预测或真值| F
        Q["真实鱼眼真值"] -.->|SL+:直接监督| F

这里的稠密几何并非所有骨干都输出同一种量。 VGGT 输出相机坐标下的深度和世界坐标下的点图;π3 输出局部点图,再借助位姿转为全局点图。 MapAnything 则预测局部射线方向与沿射线的深度,组合成相机坐标后再转换到全局坐标。 Fisheye3R 保留这些解码接口,所以它是统一的适应策略,而不是强制所有骨干使用同一个新几何表示。

关键设计

1. 相机类型掩码:只让需要适应的帧接收校准信息

直接把校准 token 加到每张图上,会让原本处理良好的透视图像也被修改。 只用鱼眼训练时,这些 token 专注于纠正畸变,未必同时学会在透视图像上保持恒等作用。 作者从图像编码器第 \(L_0\) 层取出 class token,用带 sigmoid 的线性分类器判断当前帧属于哪种相机。 随后为每帧及整段序列生成二值注意力掩码,鱼眼帧允许读取校准 token,透视帧则屏蔽这一连接。 分类使用的是校准发生前的早期特征,避免先改变特征、再依赖改变后的特征决定是否适应。

掩码控制的是注意力中的信息方向,而不是删除透视帧或禁止不同相机之间匹配。 原文式 (15) 保留图像 token 之间的连接,以及校准 token 读取图像 token 的连接,只按帧类型控制图像 token 对校准 token 的读取。 因此在全局注意力中,不同镜头的图像仍可交换场景信息,前视透视相机也仍可连接左右鱼眼视图。 当序列全为透视帧且分类正确时,冻结骨干加上被屏蔽的校准通道可保留原模型的计算路径。 在混合序列中,透视帧仍可能经其他已适应图像间接受影响,不能把这一机制解读为逐帧输出绝对不变。

2. 逐层校准 token:在冻结骨干内修正特征而非重采样图像

每层增加 \(K\) 个可学习向量,与原有图像 token 一起参与该层注意力。 图像编码器只在最初 \(L_0\) 层之后插入它们,以保留前面的相机类型识别过程。 交替注意力模块中的帧内层和全局层也插入校准 token,使适应同时发生在单帧表示和跨视图融合中。 对于含 \(S\) 帧、每帧 \(N\) 个图像 token 的序列,帧内层用 \(K\) 个向量分别作用于每帧的 \(N\) 个 token。 全局层则用一组 \(K\) 个向量共同作用于整段序列的 \(SN\) 个图像 token。

不同层拥有各自的校准参数,而不是让同一组更新后的附加 token 一路向后传递。 每层完成注意力计算后立即丢弃该层的校准输出,只有已调整的图像特征进入下一层。 这种局部注入方式让各层学习适合自身表示层级的修正,原编码器、注意力模块和解码器权重保持冻结。 校准 token 不是显式镜头内参,也不直接输出一个鱼眼到针孔的像素坐标表。 它们通过注意力改变已有特征的值,使冻结的几何解码能力能够继续工作;边缘区域更强的注意力响应是作者提供的支持性可视化,而非显式施加的边缘规则。

3. 逆变换监督:把透视数据变成可用的鱼眼训练对

训练样本不必来自真实鱼眼相机:作者用 Kannala-Brandt 模型把透视图像变成带鱼眼畸变的图像。 设 \(T\) 为这一图像畸变变换,适应模型处理 \(T(I^p)\) 后产生对应畸变网格上的稠密预测。 比较监督之前,用 \(T^{-1}\) 将这些稠密结果映回原透视观测的位置,从而在真值原有分辨率上计算损失。 相机外参描述相机在场景中的位置和朝向,不因只改变镜头投影而改变,因此位姿预测不做这一步空间逆变换。 这里的关键是对齐输出与监督,而不是在输入端反复矫正图像,或者让模型去追逐经过重采样的真值。

当没有任何几何标注时,冻结的原模型处理未畸变透视序列,其预测充当伪标签。 适应分支则处理同一序列的合成畸变版本,在还原输出网格后与原分支比较。 有透视真值时,只需把伪标签换成真实位姿和稠密几何;有真实鱼眼真值时,还可在其原生网格直接监督。 这三种方式共享适应参数与原模型的任务损失,不需要为鱼眼任务另行设计一个全新的几何目标。 但从透视图像合成畸变不会创造原图视场之外的新场景内容,这也是“无需鱼眼训练数据”不等于“已经见过所有超广角现象”的原因。

一个完整示例

考虑原文图 6 的车载系统:左右两台鱼眼相机观察两侧,前向透视相机提供跨视图连接。 这是对论文场景的流程解释,不是新增定量实验,也不假设左右鱼眼必然直接重叠。 每张图先独立经过早期编码,分类器识别其相机类型,生成允许或屏蔽校准连接的掩码。 两侧鱼眼的图像特征在后续层读取校准 token;前向透视帧不直接读取这些 token。 全局注意力仍让三路图像交换场景信息,因此前视图可以连接本来难以直接拼合的左右观测。 解码器输出各帧位姿及稠密几何,借助共享场景推理得到统一重建,而非分别建立互不关联的左右点云。 这一推理过程不要求用户预先提供精确鱼眼内参,但仍依赖足够的场景关联和正确的相机类型判断。

损失函数 / 训练策略

SSL 只使用无标注透视 RGB,以原模型预测为监督;SL 使用有标注透视数据;SL+ 进一步加入有标注鱼眼数据。 为避免照抄损坏的抽取公式,下面用一个明确的简写概括原文第 7 页式 (11)–(12),其中 \(U\) 仅逆变换稠密输出、对位姿保持恒等。

\[ \mathcal{L}_{\mathrm{SSL}}=\mathcal{L}\bigl(f(I^p),U(f(T(I^p);\phi))\bigr),\qquad \mathcal{L}_{\mathrm{SL}}=\mathcal{L}\bigl((E^p,D^p),U(f(T(I^p);\phi))\bigr). \]

这里 \(f\) 表示冻结骨干,\(\phi\) 表示校准 token;没有 \(\phi\) 的分支是原模型,\(\mathcal{L}\) 沿用对应骨干的任务损失。 SL+ 的真实鱼眼样本直接比较原生输出与鱼眼真值,不通过上述 \(U\) 转回透视网格。 SSL 和 SL 使用 ScanNet++ 透视部分、MegaDepth、BlendedMVS、TartanAir、MVS-Synth、ParallelDomain-4D 共 6 个数据集。 SL+ 额外加入 ASE 和 KITTI360 鱼眼数据;测试覆盖 ScanNet++ 鱼眼部分、ADT 和 KITTI360。 因此 KITTI360 的 SL+ 结果不应称为“完全未见该数据集的零样本迁移”,即使训练测试可以使用不同划分。 默认 \(L_0=12\)、\(K=8\);前者给分类器足够深的特征,并保留后续 12 个编码层用于校准。 原文未在所给正文中列出完整优化器、学习率、训练轮数或分类器损失配置,这里不补造复现参数。

实验关键数据

主实验

以下节选原文表 1,第 9 页,仅保留 MapAnything 的可清晰读取行,以同时观察位姿、深度、点图与视场变化。 位姿 AUC 是角度精度曲线在 \(30^\circ\) 阈值内的面积;FoV AUC 则使用 \(10^\circ\) 阈值,两者不能混为同一个指标。 深度 Rel 为绝对相对误差,CD 为点云 Chamfer Distance,均越低越好;不同数据集的 CD 不应脱离场景尺度直接比较。

测试集 配置 位姿 AUC ↑ 深度 Rel ↓ 点图 CD ↓ FoV AUC ↑
ScanNet++ 原模型 0.519 0.274 0.083 0.647
ScanNet++ SSL 0.766 0.190 0.054 0.875
ScanNet++ SL 0.730 0.195 0.054 0.853
ScanNet++ SL+ 0.774 0.171 0.051 0.927
ADT 原模型 0.448 0.145 0.147 0.399
ADT SSL 0.704 0.090 0.068 1.000
ADT SL 0.691 0.091 0.068 1.000
ADT SL+ 0.753 0.087 0.058 1.000
KITTI360 原模型 0.428 0.258 1.301 0.259
KITTI360 SSL 0.540 0.156 1.015 0.291
KITTI360 SL 0.538 0.153 1.016 0.295
KITTI360 SL+ 0.917 0.091 0.575 0.805

消融实验

原文图 7,第 13 页报告:相机分类精度在 \(L_0=12\) 附近饱和,\(K=1\) 已带来大部分收益,点图质量在 \(K=8\) 附近最佳。 缓存没有保留曲线上的精确坐标,因此不把这段图示消融改写成带有虚构 CD 或分类准确率的数值表。 下面改列原文表 2,第 14 页的投影模型泛化分析:π3 在 Stanford2D3DS 渲染图像上测试,训练合成只采用 Kannala-Brandt(KB)。

测试投影模型 π3 CD ↓ π3 + Fisheye3R CD ↓ 原文报告改善
KB(OOD 参数) 0.230 0.116 49.7%
Fisheye624 0.228 0.117 48.5%
MEI 0.264 0.095 64.1%
Equidistant 0.219 0.107 51.1%
Stereographic 0.211 0.088 58.1%
Equiangular 0.241 0.116 52.0%
Orthographic 0.375 0.182 51.5%

改善百分比按原表保留;它们不一定能由显示到三位小数的 CD 精确重算,原文未提供未舍入数值。

关键发现

  • 真实鱼眼标注并非有效适应的必要前提:ScanNet++ 上 SSL 已将 MapAnything 的 CD 从 0.083 降到 0.054。
  • 更多监督不保证每项指标单调变好:同一测试上 SSL 位姿 AUC 为 0.766,反而高于 SL 的 0.730。
  • 真实鱼眼监督在室外表现出较大价值:KITTI360 的 MapAnything 位姿 AUC 从 SL 的 0.538 升至 SL+ 的 0.917,但这不是纯粹的跨数据集零样本对比。
  • 作者在第 11 页统计,超过 50% 改善的指标数依次为 SSL 的 26/135、SL 的 37/135、SL+ 的 77/135;这是异质指标计数,不是统一平均精度。

亮点与洞察

  • 最重要的区分是“改变投影造成的表示偏移”和“缺少场景知识”不必是同一个问题。冻结骨干仍可改善多项几何任务,说明重新学习全部几何能力不是唯一选择。
  • 掩码把透视兼容性从附带的训练期待变为可控制的信息通路。它保留跨相机融合,而不是粗暴地给两类图像分配互不通信的模型。
  • 畸变合成与输出逆变换使已有透视数据成为可复用训练资源。SSL 还利用基础模型自己最擅长的输入分布提供监督,而不是让它直接给陌生鱼眼图像打伪标签。
  • 图 8 中边缘 patch 更关注校准 token,与畸变分布相符。但注意力图及 t-SNE 是支持机制解释的可视化,不能单独证明严格的因果关系或完整分布对齐。

局限与展望

  • 作者明确指出,该方法依赖 transformer 的 token 接口,不能未经设计就直接迁移到任意卷积骨干。
  • SSL 的伪标签质量受原模型限制,教师已有的几何错误可能被保留下来;有真值时可以缓解,但无法保证所有任务都有标注。
  • 本文阅读判断:相机类型误判会启用错误的适应路径,特别需要检验轻微畸变、非典型裁剪或其他镜头类型;当前图示不能替代这些失败率统计。
  • 全景扩展并非现有鱼眼 token 的零样本演示:图 9 使用 Matterport3D 训练、Stanford2D3DS 测试,提供的是另一种投影的适应潜力。
  • 作者强调低额外开销,但所给正文没有完整的参数量、时延、训练算力对照表,不能据此给出具体加速倍数。
  • 来源边界:缓存的若干公式及表 1 部分 π3/VGGT 行发生粘连;本文不引用这些模糊数字,训练公式采用明确说明的简写,图示结论也不冒充精确坐标。

相关工作与启发

  • vs VGGT、π3、MapAnything:它们提供统一前馈几何能力,Fisheye3R 解决其透视预训练分布与鱼眼输入的错配,属于可叠加的适应层,而非替代基础模型。
  • vs 单目深度校准 token:原文引用的先前工作已经用校准 token 扩展单目深度;本文进一步处理多视图帧内/全局交互、多种几何输出和混合相机兼容性,因此不能把 token 概念本身视为全新发明。
  • vs 显式矫正与传统 SfM/MVS:传统方案在投影模型与几何求解器中显式处理镜头,本文让冻结的学习表示原生接收畸变图像,但这不意味着可以忽略相机几何或所有标定误差。
  • 研究启发:可进一步比较二值相机门控与连续畸变感知门控,在保持透视回归测试的同时测量边界案例;这是读者提出的后续问题,不是论文已验证结果。

评分

以下为笔记作者的主观评价,不是会议评分。 - 新颖性: 4/5。校准 token 有前序研究,但混合相机控制和统一多视图适应具有清楚的扩展价值。 - 实验充分度: 4/5。覆盖 3 个骨干、3 个主要测试集和 3 种监督方案,仍缺更完整的效率及相机误判分析。 - 写作质量: 4/5。问题、适应机制与数据约束之间关系明确;公式抽取损坏不计作原论文写作缺陷。 - 价值: 4/5。适合需要保留已有透视能力、又要接入鱼眼输入的 3D 感知系统。