传统底层视觉的手工先验——去噪与超分
在深度学习席卷计算机视觉之前,学者们依靠 数学建模和信号处理 将先验知识编码为精确的公式。这些手工设计的先验(Hand-crafted Priors)主导了底层视觉领域长达数十年,其核心思想至今仍深刻影响着现代神经网络的设计(例如,ResNet的残差结构就是对“噪声残差稀疏性”的先验继承)。
从两个经典任务切入:图像去噪(Denoising)和图像超分(Super-Resolution)。
图像去噪(Denoising):从像素邻域到非局部块
问题:噪声(特别是高斯噪声)在频域上通常属于高频信号,而自然图像的边缘也属于高频。难以区分。
去噪先验的核心任务就是区分并保留真实结构。
先验一:平滑性先验(TV范数 / 总变分)
-
自然图像是分片平滑(Piecewise Smooth)的,邻域像素值变化平缓,相邻像素之间的亮度差值不会太大。
-
TV Loss公式,惩罚相邻像素的差异, 传统TV范数定义为梯度的L1范数和:
。
-
效果与局限:它能有效消除高频噪声,但因为惩罚了所有梯度变化,它会把真实的强边缘也一并“磨平”,导致去噪后的图像看起来像“塑料质感”,失去纹理细节。
先验二:非局部自相似性(NLM先验 / BM3D算法)
- 最强大的传统先验。假设同一图像中存在大量重复的小斑块(Patch)。
- 去噪机制:给定一个待去噪的目标块,在全图搜索与之相似的块。将这些相似块堆叠在一起,逐像素取平均值。
- 数学原理:真实的信号(结构)是确定性的,在多个块中保持一致;而噪声是零均值独立随机变量。当把 个相似块平均时,信号强度不变(均值不变),而噪声的方差缩小为原来的 (标准差缩小)。
- BM3D(Block-Matching and 3D Filtering)是NLM的增强版,它将匹配的2D块堆叠成3D柱状体,先在变换域(如DCT)阈值收缩去噪,再逆变换聚合回2D
先验三:稀疏表示先验(Sparse Representation)
- 图像块在过完备字典(DCT、小波)下用极少数非零系数表示,噪声无法被稀疏表示。
- 我们有一个过完备字典矩阵 (列数大于行数),图像块 。稀疏先验要求系数向量 只有极少数几个非零元素(即 极小)。
- 干净的清晰图像可以被几个“原子(Atoms)”线性组合而成,但随机噪声是杂乱无章的,它无法用有限的几个字典原子来拟合。因此,在求解优化问题时,通过 范数松弛 ,算法会强制将噪声分量从系数中剔除,从而实现纯净重建。
图像超分(Super-Resolution):高频细节的“无中生有”
问题:一张低分辨率(LR)图像对应着无数张高分辨率(HR)图像(一对多映射)
超分比去噪更难。去噪是“减去坏东西”,而超分是“补上不存在的东西”。传统超分的核心是先验:边缘和纹理该怎么长才像真的?
先验一:边缘方向先验(各向异性假设)
假设 :图像边缘是各向异性的。沿边缘方向变化缓慢,垂直边缘方向变化剧烈。
- 在传统插值(如双三次插值)中,算法会参考周围四个方向。但如果跨过边缘取点,插值结果会产生锯齿。
- 边缘方向先验在插值前先计算当前点的梯度方向,只沿切线方向(平行于边缘)取点进行插值,避免跨边缘取点,从而保持边缘锐利不模糊。
先验二:梯度轮廓先验(Gradient Profile Prior)
统计大量自然图像发现,边缘横截面的梯度分布服从某种重尾分布,如混合高斯模型。
- 超分时强制重建图像边缘的梯度形状符合此统计规律。
- 简单理解,真实世界中一个清晰的明暗交界线(边缘),其灰度值从亮到暗的变化曲线是特定的“陡峭形状”。如果直接放大,这个坡度会变缓。该先验的作用就是重新锐化这个坡度,把平缓的渐变强行拉伸成陡峭的边缘,这在视觉上会显著提升清晰度。
先验三:跨尺度重复性先验与自相似性先验
图像中的小斑块在 高分辨率尺度 下和 低分辨率尺度 下会 重复 出现。即低分辨率图中的某个小块,在高分辨率图中也会有一个相似的更精细的小块。
- 不需要百万张外部数据集,这一张图本身就是一个“字典”。
- 具体操作:将低分辨率图进行降采样(变得更模糊),然后去原图中搜索匹配的块。你会发现原图(较大尺寸)中的某些小块,和降采样后图像(较小尺寸)中的小块长得几乎一样。既然如此,我们就可以用原图中“大尺寸”的高频细节,去填充低分辨率图中“小尺寸”对应位置的缺失细节。这就是利用图像自身的多尺度重复性来“自产”高频信息。
Noise2Noise(无监督学习的先驱)
在Noise2Noise诞生之前,主流的 监督学习 去噪范式是这样的:给模型输入一张带噪图 ,让它学会输出干净图需要海量的 (带噪图,干净图) 图像对。这在现实中极其困难
但是,Noise2Noise的核心发现是:只要噪声是零均值的,网络就可以用两张带噪图互相监督学习。
- 先验不再需要人工设计公式(如TV、NLM),而是隐藏在数据本身的统计规律之中。
使用条件:
- 噪声是零均值的(或均值已知可去除)。
- 两张带噪图是同一场景的独立观测(例如连续按两次快门得到的照片)。
- 场景本身是静态的(或变化极小),保证真实信号 不变。
损失函数等价性推导
对于损失函数:
- 传统视角:这里 是带噪图, 是对应的干净图。带噪图经过网络后,输出的结果与干净图的差异被最小化。
- Noise2Noise视角: 和 是同一场景、独立拍摄的两次带噪观测(例如连续按两次快门得到的照片)。
把 代入损失函数:
-
其中噪声零均值 且和独立,最后一项的期望为0。
-
噪声方差 是常数项,不影响优化。
所以,等价于传统的监督学习范式!网络仍然会收敛到干净图 。