Journal

Seeing Photons in Color

Sizhuo Ma, Varun Sundar, Paul Mos, Claudio Bruschini, Edoardo Charbon, Mohit Gupta

University of Wisconsin-Madison; EPFL

一句话总结

本文提出首个面向彩色单光子相机(SPAD 阵列)的突发摄影算法,配合专门设计的伪随机 RGBW 蓝噪声滤色阵列,把大量高噪声、马赛克化的二值光子帧重建成清晰、无运动模糊的高质量彩色图像,尤其适用于低光、高动态范围与快速运动场景。

研究背景

  • 领域现状:单光子雪崩二极管(SPAD)阵列近年从单像素/低分辨率发展到百万像素级,能以接近 10 万帧/秒的速度记录单个光子且几乎没有读出噪声,被视为在 HDR、快速运动等极端场景下替代传统 CMOS 传感器的候选。但已有工作几乎都停留在单色成像,很少涉及彩色。
  • 核心痛点:在 SPAD 上做彩色成像有两难。其一,单张二值(1 比特)马赛克帧信息量极低,无法直接用传统去马赛克算法恢复颜色;简单地把长序列相加再去马赛克,又会在有运动时产生模糊,低光下更严重。其二,马赛克帧上”亮度恒定”假设不成立——同一场景点在运动中会从绿滤镜”移动”到红滤镜,导致帧间无法直接对齐做运动估计。
  • 本文 idea:把突发摄影思想引入彩色 SPAD,在单光子(逐光子)粒度上联合去噪与去马赛克;并利用一个关键观察——运动实际上提高了颜色的有效采样率,从而可以大胆采用白像素占比很高(利于低光 SNR)的 RGBW 阵列,并用蓝噪声伪随机排布抑制彩色伪影。

方法

整体框架分两大块:先在极端量化、低信噪、且被滤色阵列带通的马赛克二值序列上估计帧间运动;再基于运动把逐帧的 1 比特彩色样本联合去马赛克并融合成一张高信噪、低模糊的彩色图像;最后做色度聚焦去噪。硬件侧则专门设计并光刻制造了一块 75% 白像素的伪随机 RGBW 滤色阵列。

flowchart LR
  A["马赛克二值序列"] --> B["分块求和 → 块和图"]
  B --> C["插值 W 通道 → 灰度块和图"]
  C --> D["分层块匹配估计运动 → 插值到帧级"]
  A --> E["联合去马赛克与融合<br/>各向异性高斯核"]
  D --> E
  E --> F["RGBW 四通道"]
  F --> G["用 W 线性约束缩放 RGB"]
  G --> H["色度聚焦 BM3D 去噪 → 彩色图"]

关键设计:

  1. 先转灰度再对齐运动:直接对齐马赛克块和图不可行(亮度恒定被破坏)。由于所设计阵列中白(W)像素占 75%、采样密集,作者直接对 W 像素做插值得到全分辨率灰度图,再用分层块匹配估计块级运动,并线性插值到每一帧得到细粒度帧级运动。块的大小取 100~1000 帧,视帧率、光照和运动速度而定。

  2. 联合去马赛克与融合:”先去马赛克再融合”因单帧缺乏可靠颜色信息而失败,”先融合再去马赛克”又会在块内残留模糊。作者把马赛克二值帧里的像素当作 1 比特彩色样本,按亚像素运动 warp 到参考帧,用各向异性高斯核在空间邻域内重建每个像素(选更高分辨率网格即可实现超分)。融合的权重函数基于二项分布统计设计,参考图则由灰度块和图经维纳滤波融合得到。

  3. 用 W 通道提纯亮度:算法对 R、G、B、W 各通道分别产出全分辨率图。W 像素进光多、SNR 高,提供一条逐像素线性约束 \(w_R R + w_G G + w_B B = W\)。作者不做全图非线性优化(数千帧下不可行),而是用该约束在每像素上求一个缩放因子 \(k(x,y) = \dfrac{W(x,y)}{w_R R(x,y) + w_G G(x,y) + w_B B(x,y)}\) 来缩放 RGB,使最终图的亮度来自高质量 W、色度来自 RGB,兼得锐利与低噪。

  4. 蓝噪声 RGBW 阵列 + 两项实用处理:在频域分析下,Bayer 把亮度能量集中于原点、色度集中于高频而易分离;完全随机排布会把色度能量摊平到全频段难以分离。作者在 RGB 蓝噪声(同色像素不相邻)基础上,规则地填充 W 像素得到 75% W 的蓝噪声 RGBW 阵列,使亮度/色度频谱可分且避免相干摩尔纹。此外还有热像素校正(约 3% 高暗计数率像素会把运动估计拉向零并拖出彩色条纹)与色度聚焦 BM3D(在 YCbCr 空间对亮度用小 \(\sigma\)、对 Cb/Cr 更激进去噪)。

实验结果

在把 1000FPS 视频用 RIFE 插帧 16 倍、再按 SPAD 模型采样得到的合成二值序列(平均 0.1 光子/像素/帧,极具挑战)上,与朴素平均及多种突发去噪基线比较:

方法 PSNR↑ SSIM↑ LPIPS↓
朴素平均(长序列) 23.87 0.5934 0.5173
朴素平均(短序列) 20.62 0.4361 0.6153
VBM4D 21.20 0.5342 0.4382
MFIR 23.63 0.6163 0.4230
BIPNet 25.25 0.6481 0.3357
本文 26.06 0.7879 0.2665

本文方法在三项指标上均最优,SSIM 与 LPIPS 领先尤为明显。其余结论用文字补充:仿真中,夜景 HDR 下传统突发摄影无法同时恢复暗区与亮区(暗处有噪声模糊、亮处饱和),本文方法能同时重建;且运动分析显示,运动从 0 增至 1 像素时 PSNR 提升最大,说明去伪影所需运动量极小。硬件方面,作者在 SwissSPAD2 上光刻制造了 75% W 的蓝噪声 RGBW 阵列(R/G/B 各占 8.33%),可在 496×254 分辨率下以最高 96.8kfps 采集,对高频栅栏、复杂遮挡、镜面反射、旋转色轮等实拍难例均给出优于基线的清晰重建。SPAD 与 jots 的对比表明二者互补:快速复杂运动下 SPAD 更优,慢速需高频空间细节时 jots 更优。

亮点与局限

  • 亮点:
    • 提出首个彩色 SPAD 的突发摄影/去马赛克算法,在逐光子粒度处理原始数据,适用于任意由 R/G/B/W 像素构成、规则或伪随机排布的滤色阵列。
    • 洞察到”运动提高有效颜色采样率”,据此设计并真实光刻出首个非常规 RGBW(75% W)蓝噪声阵列,兼顾低光 SNR 与彩色采样,且规则的 W 排布还便于 W 通道插值与对齐。
    • 用 W 通道的线性约束以两步缩放替代高维非线性优化,在数千帧规模下把复杂度显著降下来。
  • 局限:
    • 现有原型的滤色片色选择性不理想(蓝滤镜在 >650nm 有杂散响应),导致图像饱和度偏低、色彩还原欠佳,需靠仿射色彩校正补救。
    • 原型需连接两台台式电源,便携性差;整套系统在像素间距、功耗、处理效率上仍无法与手机等移动端 CMOS 竞争,尚不能直接替代现有传感器。
    • 方法沿用经典两步(对齐+融合)范式,尚未利用端到端神经网络的潜力。

延伸思考

作者明确把基于神经网络、直接在所提 CFA 的原始二项图像上训练的重建作为下一步方向——这与近年突发去噪、乃至用神经辐射场处理大运动高噪突发的思路一致,值得探索能否让学习方法充分吃到高帧率单光子数据的红利。另一个耐人寻味的点是 SPAD 与 jots 的互补性:把二者在时间/空间分辨率上的取舍显式建模,或许能催生自适应选择传感模式的成像系统。对做计算摄影或低光/HDR 成像的研究者,本文关于”用运动换采样率”“用 W 通道提纯亮度”“伪随机蓝噪声抑制相干伪影”的三条思路都具有较强的迁移价值。