Neural Light Spheres for Implicit Image Stitching and View Synthesis
Princeton University; Google
一句话总结
用一个”球面神经光场”模型,在测试时直接拟合手机拍摄的任意路径全景视频,联合估计相机轨迹与高分辨率场景重建,把原本静态的全景照片变成可交互、可扩大视场的新视角渲染。
研究背景
手机全景照片有个尴尬处境:既是相机应用的标配功能,又常常拍完就被丢在相册里无人问津。原因在两头——拍摄要求苛刻(需要缓慢平稳地扫过场景),成品却只是一张静态长条图,缺乏吸引力。
传统方案沿两条路走。图像拼接从柱面投影、接缝匹配发展到更能容忍视差的局部变形拼接,但终点仍是一张静态图;分层深度全景与全景网格重建能提供一定交互性和视差新视角,但流程复杂。近年的辐射场方法(NeRF、Gaussian Splatting)可视为”交互式全景”的进化,能建模视差与视角相关光照。但全景拍摄以旋转运动为主、视差极小,大部分场景内容只在少数几帧中出现就滑出视野,这让依赖大视差来定位三维内容的体积表示退化成一堆稀疏视角难题,重建质量差。
作者因此转向紧凑的神经光场路线:把场景表示为”球面上的颜色”,避开昂贵的体积采样,用高效的射线-球面求交来处理旋转为主、视差微弱的全景输入。
方法
整体框架是一个球面反向投影模型。输入是一段全景视频 \(I(u,v,n)\),对每条射线做反向相机投影,先与单位球内表面求交得到初始交点 \(P\);再用射线偏移模型把射线”掰弯”到修正交点 \(\hat{P}^*\);最后用视角相关颜色模型采样出颜色。渲染新视角时,只需换上虚拟相机的内参、平移、旋转,重复同一套投影即可。
flowchart LR
A[全景视频输入 I<br/>陀螺仪初始化旋转] --> B[反向投影<br/>射线-球面求交 P]
B --> C[射线偏移模型 f_r<br/>修正射线 → P*]
C --> D[视角相关颜色模型 f_c<br/>输出 RGB]
D --> E[虚拟相机<br/>扩大视场新视角渲染]
关键设计一:射线偏移与视角相关颜色的双分量分解。相机模型对每帧建模旋转 \(R(n)\) 与三维平移 \(T(n)\),其中旋转用陀螺仪读数做小角度近似初始化。射线方向经偏移模型旋转修正:
\[D^* = \mathrm{rot}\big(R = f_r(\hat{P}, X)\big)\,\hat{D}\]其中 \(X=[u,v]^\top\) 是射线的图像坐标。这一分量同时统一表达了视差(随位置 \(\hat{P}\) 偏转射线)与镜头畸变(随相对相机中心的角度偏转)。颜色则由视角相关模型给出:
\[\tilde{c} = f_c(\hat{P}^*, X)\]它接收相机坐标 \(X\) 后能建模遮挡、反射、折射、局部运动与颜色变化(如闪灯)等视角相关效应。作者对比了多种偏移模型(深度型、乘法型、线性化旋转型),最终选用旋转模型,因为它在保持高重建质量的同时避免了乘法模型把射线”推出”某区域造成的畸变。
关键设计二:哈希网格球面表示。两个模型都用多分辨率哈希网格编码,且直接在单位球表面的三维世界坐标下操作,从不转到球坐标,从而回避了非线性投影与奇点问题。核心洞见是:单位立方体里绝大多数网格位置从不与球面相交、永远不会被查询,因此哈希表大小可以只与球面”面积”量级而非”体积”量级挂钩——这让高达等效 \(4000^3\) 体素分辨率的表示在存储上变得可行,而稠密网格则完全不可行。
\[f_r(\hat{P}, X) = h_r\big(\gamma_1(\hat{P}) \oplus \gamma_1(X);\, \theta_r\big)\]关键设计三:两阶段训练加射线扰动。第一阶段冻结射线偏移与视角相关颜色网络,让相机位姿与静态球面颜色先拟合出场景近似;第二阶段解锁全部网络联合训练。这样能避免早期训练中把视差误当成颜色变化而累积伪影。同时对射线原点加逐步衰减的高斯扰动:
\[\tilde{O} = O + \eta_p \mathcal{N}(0,1)\]以逃离低纹理区域、重复纹理造成的难以摆脱的局部极小(如把重复的自动售货机罐头错误叠在一起)。训练损失直接在线性 RAW 上用 \(L_1\),利于把零均值高斯读噪声平均掉:
\[\mathcal{L} = |c - \tilde{c}|\]作者还配套开发了一个开源安卓采集应用,录制全分辨率 RAW 图像、陀螺仪/加速度计读数及几乎全部相机元数据,并用 Pixel 8 Pro 采集了 50 个室内外手持全景场景(涵盖主摄/超广/长焦、白天/夜间、360°/180°/线性/往返/随机游走等多种路径)。
实验结果
论文以定性对比为主(因广视场新视角合成缺乏真值,且 COLMAP/HLOC 在旋转为主的全景上对大量场景——几乎所有长焦与超广场景——都无法恢复位姿)。主实验是与传统拼接及辐射场方法的重建对比,核心结论汇总如下:
| 对比对象 | 类别 | 表现 / 与本方法差异 |
|---|---|---|
| APAP | 视差容忍拼接 | 能平均多帧降噪,但输出静态图 |
| Microsoft ICE | 全局投影+接缝融合 | 抗运动模糊、冻结清晰帧,但仅拼接边界 |
| K-Planes | 平面特征、无体积采样 | 产生噪声、低维近似,质量差 |
| Instant-NGP | 哈希网格 NeRF | 低视差/有场景运动时外推困难 |
| Gaussian Splatting | 前向投影 | 能过拟合场景中心,扩大视场时边缘纹理严重退化 |
| Nerfacto | 哈希网格+逐图外观 | 同上,位姿不准致内容错误定位 |
| 本方法 | 球面神经光场 | 兼具降噪与动态内容保留;扩大视场仍能恢复细纹理(如售货机瓶身可读文字、施工区红绿灯视差) |
模型规格上,单场景 80 MB,1920×1080 分辨率下 50 FPS 实时渲染;在单张 RTX 4090 上拟合 40 帧 12 兆像素序列约需 12 分钟(3 兆像素”预览质量”可加速到 30 秒内)。低光实验中,在 ISO \(\ge 10{,}000\)、曝光 1/60s–1/120s 下,模型不仅能重建还能显著去噪。所有设置(白天/夜间/超广/长焦等)使用完全相同的参数与训练流程。
亮点与局限
亮点:把全景拼接与新视角合成统一进一个紧凑的单层球面光场,端到端优化、无需 COLMAP 等预处理;用哈希网格的”面积量级”存储换来大分辨率下的实时渲染;射线偏移与视角相关颜色的分解既能建模视差、反射、局部运动等复杂效应,又天然支持后续对内容与动态的分离编辑;对噪声与非理想拍摄(低光、快曝光)鲁棒,直接在线性 RAW 上训练平均掉读噪声;并开源了采集 App 与 50 场景数据集。
局限:无法重建大范围快速移动的遮挡物(如穿场而过的车辆)——观测太少会退化为分割与跟踪问题,纯光度方法难以处理,后期训练甚至会留下”车形”瞬态伪影;缺乏生成新内容的能力,因此输入拍摄路径强决定新视角合成范围(纯水平扫拍无法模拟大幅垂直相机运动)。
延伸思考
这项工作提醒我们,当运动模式(旋转为主、视差微弱)与主流三维表示的假设(依赖大视差定位)不匹配时,与其硬套体积辐射场,不如换一个契合几何先验的表示——球面光场正是为全景量身定制的”几何代理”。射线偏移与视角相关颜色的可分离结构,天然指向重建后的内容/动态编辑,类似可编辑视频图集的方向。作者还展望把这套哈希网格思路扩展到卫星、望远镜、显微镜、红外/高光谱等超大像素(petapixel 级)成像——通过把数据切成小射线批次,用有限显存也能训练。结合曝光包围可做超 HDR 全景、乃至视频去噪与天文摄影,都是自然的后续方向。