1. 课程导论:图像噪声的来源与分类
各位同学好,我是这门课的主讲。在正式开始之前,我想先聊聊一个很实际的问题——你拍过夜景照片吧?放大一看,满屏的彩色小点,那就是噪声。做计算机视觉这么多年,我见过太多因为噪声导致模型翻车的案例了。
说白了,噪声就是图像里我们不想要的随机信号。它无处不在,从手机拍照到医学影像,从卫星遥感到工业检测,只要你用传感器采集图像,噪声就跟着来了。这节课我们先摸清噪声的底细。
1.1 噪声从哪来?——三大主流噪声类型
我习惯把噪声分成三类来理解,这样处理起来思路更清晰。你想想看,不同类型的噪声,它们的数学模型、分布特性、处理方式都不一样。
| 噪声类型 | 产生原因 | 数学模型 | 典型场景 |
|---|---|---|---|
| 高斯噪声 | 传感器热噪声、电路噪声 | 正态分布 N(0, σ²) | 暗光环境、长曝光 |
| 椒盐噪声 | 传输错误、像素损坏 | 随机黑白点 | 老旧摄像头、无线传输 |
| 泊松噪声 | 光子计数统计波动 | 泊松分布 P(λ) | 低光照、医学X光 |
高斯噪声
这是最常见的噪声。每个像素上叠加一个服从高斯分布的随机值。我在项目中遇到过最典型的情况——用手机在暗光下拍视频,画面里那种均匀的颗粒感,就是高斯噪声。它的特点是:每个像素独立,幅度服从钟形曲线。
关键参数:标准差 σ 控制噪声强度。σ 越大,噪声越明显。实际项目中,σ 通常在 10-50 之间(针对 0-255 像素值)。
椒盐噪声
这个名字很形象——像撒了盐和胡椒。随机一些像素变成纯白(255)或纯黑(0)。嗯,这里要注意:椒盐噪声不是每个像素都受影响,而是随机位置出现。我曾经处理过一批工业相机拍的电路板图像,传输线缆老化导致大量椒盐噪声,那叫一个头疼。
个人经验:椒盐噪声的密度参数 d 表示受污染像素的比例。d=0.05 意味着 5% 的像素被破坏。中值滤波对这类噪声效果极好,但会模糊边缘——这就是我们后面要讲的权衡问题。
泊松噪声
这个稍微复杂点。它跟光子的量子特性有关。说白了,光线越暗,光子越少,统计波动就越明显。泊松噪声的方差等于均值——这意味着噪声强度跟信号强度相关。我在医学影像项目里经常遇到,低剂量 CT 的图像噪声就是典型的泊松噪声。
1.2 核心矛盾:降噪 vs. 细节保留
好,现在问题来了。你降噪,细节就没了。你保细节,噪声还在。这就是整个课程要解决的核心矛盾。
为什么会这样?因为噪声和细节在频域上经常重叠。边缘、纹理这些高频细节,跟噪声的高频成分混在一起。你一刀切掉高频,细节也跟着没了。
避坑指南:我曾经在项目里直接用高斯滤波降噪,噪声是没了,但图像糊得像毛玻璃。后来才知道,降噪不是越干净越好,关键是要在「去噪」和「保边」之间找到平衡点。
我习惯用这张图来理解这个权衡:
你看,左边是原始图像,往右上走是过度降噪——图像平滑了但细节没了;往右下走是保留噪声——细节清晰但满屏噪点。我们的目标,就是找到那个绿色的理想平衡点。
1.3 课程目标与学习路径
这门课的目标很明确:让你掌握一套完整的深度学习降噪方法论,既能有效去噪,又能最大限度保留细节。
我把它拆成四个阶段:
- 基础篇(第1-8章):噪声建模、传统滤波方法、深度学习基础。先打好地基。
- 核心篇(第9-18章):经典降噪网络(DnCNN、FFDNet、CBDNet等)。这部分是硬菜。
- 进阶篇(第19-25章):细节保留技术、注意力机制、频域学习。解决核心矛盾。
- 实战篇(第26-30章):真实场景案例、模型部署、调优技巧。学完就能用。
学习建议:我建议你每章都动手跑代码。光看理论没用,降噪这东西,参数调一调,效果天差地别。我会在每章提供完整的 PyTorch 代码示例,你跟着做就行。