081、空间降噪(Spatial Denoise)实战:双边滤波、非局部均值与BM3D在ISP中的调优
📅 2026/7/19 14:04:12
👁️ 阅读次数
📝 编程学习
081、空间降噪(Spatial Denoise)实战:双边滤波、非局部均值与BM3D在ISP中的调优
去年夏天,某款旗舰机在夜景模式下翻车了——暗部噪点像撒了一把芝麻,但更诡异的是,打开降噪后,人脸皮肤变成了塑料质感,边缘还出现了“水彩画”一样的伪影。Debug了三天,最后发现是双边滤波的sigma参数在低照度场景下没做自适应。这个坑,我至今记得。
空间降噪是ISP pipeline里最容易被低估的模块。很多人觉得“不就是个滤波嘛”,但真正调起来,你会发现它和后面的3A、HDR、甚至防抖都有耦合。今天这篇笔记,我把这些年踩过的坑、试过的参数、以及从双边滤波到BM3D的实战调优经验,拆开揉碎了讲。
双边滤波:别被“保边”两个字骗了
双边滤波的原理不复杂:空间域权重加像素值域权重。但实际调试时,最容易翻车的是sigma_r(值域标准差)和sigma_s(空间标准差)的配合。
踩坑案例:某次在车载夜视场景,为了压制暗部噪点,我把sigma_r设到了0.3(归一化后)。结果呢?车灯边缘出现了光晕,像戴了老花镜。后来发现,sigma_r太大时,高对比度边缘的像素值差异会被强行平滑,导致边缘模糊。正确的做法是:sigma_r不要超过0.15,除非你确定场景中没有任何高对比度边缘。
别这样写代码:
// 错误示范:s
编程学习
技术分享
实战经验