
130、时域降噪与多帧融合:运动补偿与递归滤波在低光照场景下的调优一次让我熬夜到凌晨三点的调试那是去年冬天的一个项目,客户要求在0.5lux照度下拍摄运动物体,画面要干净得像白天一样。我心想这要求有点离谱,但甲方爸爸的银子不能不要。结果第一版固件出来,静态场景效果还行,一旦有人走过,画面就像鬼影重重——运动物体后面拖着一串残影,边缘还泛着诡异的绿色。我盯着示波器上的波形,看着ISP pipeline里那一堆参数,心里骂了句“这他妈就是时域降噪没调好”。后来花了整整两周,从运动补偿的搜索窗口大小到递归滤波的泄漏因子,一个一个参数试过来,才把这个问题压下去。今天就把这些血泪经验写下来,希望能帮后来人少走弯路。时域降噪的本质:用时间换信噪比时域降噪的核心思想很简单:如果场景不动,多帧平均就能把随机噪声抹掉。但现实世界哪有那么多静止场景?人走路、车行驶、树叶晃动,这些运动一旦出现,简单的帧平均就会把运动物体模糊成一片。所以真正的时域降噪必须做两件事:运动检测和运动补偿。运动检测告诉你哪些像素在动,运动补偿则试图把运动物体的位置对齐,然后再做融合。我见过很多工程师一上来就调降噪强度,结果要么噪声没压住,要么运动拖影严重。正确的思路应该是:先让运动补偿跑通,再考虑降噪强度。运动补偿:别让搜索窗口成为性能杀手运动补偿最常用的方法是块匹配(Block Matchi