177、深度学习降噪:用 CNN 替代传统 NR 的方案设计、模型选型与量化部署
177、深度学习降噪:用 CNN 替代传统 NR 的方案设计、模型选型与量化部署一、从一次“翻车”调试说起去年Q2,我接手一个中端平台项目,Sensor是IMX586,ISP pipeline里传统3D NR(时域降噪)和2D NR(空域降噪)都跑满了,但夜景预览依然满屏“油画感”——细节糊成一片,边缘还带振铃。更头疼的是,低光下运动物体拖影严重,传统NR的时域融合权重怎么调都压不住噪声和鬼影的trade-off。产品经理拍桌子说“隔壁友商用AI降噪,夜景干净得像白天”。于是,我们决定在ISP后、编码前插入一个轻量CNN降噪模块。这条路走了半年,踩的坑比传统NR调参十年还多。今天这篇笔记,就聊聊从方案设计到量化部署的全过程,全是血泪经验。二、为什么非要用CNN替代传统NR?传统NR(如BM3D、NLM、时域卡尔曼滤波)本质是手工设计的先验——假设噪声是高斯分布、假设图像局部平滑。但真实手机噪声是“三合一”的:Sensor读出噪声(泊松-高斯混合)、ISP增益放大后的彩色噪声、以及暗电流固定模式噪声。传统NR要么过平滑丢掉纹理,要么残留“斑点状”噪声。CNN的优势在于:它能从大量真实噪声-干净对中学习噪声分布的非线性映射,尤其擅长区分“纹理”和“噪声”——这是传统算法用梯度阈值永远做不好的事。但注意,CNN不是万能药。我见过团队直接拿U-Net做全图降噪,结果在1080P分辨率下推理延迟200ms,手机烫得能煎蛋。所以方案设计的第一步,不是选模型,而是定“降噪在pipeline里的位置”和“算力预