1. 夜景摄影的痛点与多帧融合的救赎

说实话,夜景摄影这事儿,看着简单,拍好真不容易。我做了这么多年图像算法,每次拿到新手机的第一件事就是去拍夜景——不是为了看风景,而是想看看算法到底行不行。

你想想看,光线一暗,手机摄像头就开始「挣扎」了。噪点、模糊、暗部死黑、亮部过曝……这些问题几乎是所有夜景照片的「标配」。今天我们就来聊聊,这些痛点到底从哪来,以及多帧融合技术是怎么把它们一个个解决的。

1.1 低光环境下的三大「拦路虎」

先说说夜景拍摄时,传感器到底在经历什么。光线不足,信号就弱,为了把画面拍亮,系统只能放大信号——但放大的不只是信号,还有噪声。

核心矛盾:进光量不足 → 信号放大 → 噪声放大 → 画质劣化

1.1.1 噪声问题

噪声是夜景的第一大敌人。传感器在低光下工作时,每个像素接收到的光子数量很少,光子到达的随机性就会变得非常明显。这就是所谓的「散粒噪声」。再加上电路本身的读出噪声、暗电流噪声……最终画面就像蒙了一层「雪花」。

我记得有一次帮客户调试一款前摄模组,暗光下自拍全是彩色噪点,用户投诉率直接飙升。后来我们做了多帧降噪,才把问题压下去。

噪声类型 产生原因 典型表现
散粒噪声 光子到达的随机性 颗粒感,随亮度增加而增加
读出噪声 传感器电路读取过程 固定模式噪声,暗部更明显
暗电流噪声 热激发产生的电子 长时间曝光时出现「热像素」
量化噪声 ADC 转换精度限制 色阶断裂,平滑区域出现条纹

1.1.2 模糊问题

第二个痛点就是模糊。低光下为了增加进光量,通常需要延长曝光时间。但手持拍摄时,手抖是不可避免的。哪怕你觉得自己拿得很稳,微小的抖动在 1/10 秒甚至更长的曝光时间里,都会被放大成明显的运动模糊。

我做过一个实验:在 0.5 勒克斯的暗光下,用 1/4 秒曝光拍一张照片,放大到 100% 看,边缘几乎全是拖影。这就是为什么夜景照片经常「糊」的原因。

避坑指南:我曾经以为 OIS(光学防抖)能解决所有问题,后来发现 OIS 只能补偿低频抖动,对于高频微颤和主体运动,还是得靠算法。别把硬件防抖当万能药。

1.1.3 动态范围不足

第三个问题,动态范围。夜景场景往往同时包含极暗的区域(比如阴影、天空)和极亮的区域(比如路灯、霓虹灯)。传感器的动态范围有限,无法同时记录这两端的细节。

你想想看,如果以暗部为基准曝光,亮部就会过曝成一片白;如果以亮部为基准,暗部就死黑一片。这就是典型的「高动态场景」困境。

1.2 多帧融合技术的基本思想

好,问题摆在这了。那怎么解决?

单帧拍摄,硬件能力已经接近天花板。传感器尺寸、光圈大小、像素尺寸……这些物理限制很难在短期内突破。那换个思路:既然一帧不够,那就多拍几帧,然后融合在一起。

这就是多帧融合的核心思想——用时间换质量。

多帧融合的本质:连续拍摄多张短曝光图像,通过对齐、筛选、融合等步骤,合成一张信噪比更高、动态范围更广、细节更丰富的最终图像。

1.2.1 多帧融合如何解决噪声

噪声是随机的,而信号是确定的。如果你拍 N 张同样的场景,每张的噪声分布都不一样,但信号是相同的。把 N 张图像平均起来,信号保持不变,噪声的方差会降低到原来的 1/N。

说白了,就是「噪声互相抵消,信号互相加强」。4 帧融合,理论上信噪比能提升 6dB;16 帧融合,能提升 12dB。当然,实际效果受限于对齐精度和运动物体,但方向是对的。

1.2.2 多帧融合如何解决模糊

模糊问题,多帧融合也有办法。不是用长曝光,而是用多张短曝光。每张曝光时间短,单帧的抖动模糊就小。然后通过图像配准算法,把这些短曝光帧对齐到同一个坐标系下,再融合。

我习惯把这种策略叫做「化整为零」——把一次长曝光拆成多次短曝光,再通过算法「拼」回去。这样既保证了总进光量,又避免了单帧的抖动模糊。

1.2.3 多帧融合如何解决动态范围

动态范围的问题,多帧融合的解法更巧妙。你可以拍一组不同曝光时间的帧:短曝光的帧保留亮部细节,长曝光的帧保留暗部细节。然后通过 HDR 融合算法,把不同曝光帧的「好部分」提取出来,合成一张高动态范围的图像。

这就是所谓的「曝光包围」策略。我在项目中经常用 3 帧或 5 帧的曝光包围,配合自适应融合权重,效果比单帧好太多了。

1.3 多帧融合的优势总结

说了这么多,我把多帧融合的核心优势整理成一张表,方便你对照着看:

痛点 单帧方案 多帧融合方案 优势
噪声 长曝光 + 高 ISO 多帧降噪平均 信噪比提升 √N 倍
模糊 OIS + 短曝光 多帧对齐 + 融合 避免单帧长曝光抖动
动态范围 单帧 HDR 或 RAW 多曝光帧融合 同时保留亮暗部细节
细节 受限于单帧信噪比 多帧超分辨率 可恢复亚像素细节

1.4 多帧融合的典型流程

为了让你对多帧融合有个整体认知,我画了一张流程图。这是最基础的 pipeline,后续章节我们会一步步拆解每个模块。

多帧融合夜景模式典型流程 连续拍摄 N 帧 帧质量筛选 图像配准与对齐 多帧融合合成 色调映射与后处理 最终夜景图像 关键参数 帧数 N:4~16 帧 曝光时间:1/30s ~ 1/4s ISO:100~800 核心挑战 运动物体鬼影 对齐精度不足 计算耗时与功耗

1.5 我对多帧融合的理解

做了这么多年图像算法,我越来越觉得,多帧融合不是简单的「多拍几张再平均」。它是一套系统工程——从传感器控制、帧调度、对齐算法、融合策略到色调映射,每个环节都影响最终效果。

我见过不少团队,算法跑通了,但拍出来的夜景要么有鬼影,要么噪点没压住,要么颜色偏得离谱。说白了,就是没理解每个模块的「脾气」。

注意:多帧融合不是万能的。如果场景中有快速运动的物体(比如行人、车辆),或者用户手抖得特别厉害,多帧融合的效果会大打折扣。这时候需要结合运动检测和自适应策略来处理。