mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6mobile wallpaper 7mobile wallpaper 8mobile wallpaper 9mobile wallpaper 10mobile wallpaper 11mobile wallpaper 12mobile wallpaper 13
3826 字
11 分鐘
小波变换与多分辨率分析
2026-04-27

第 7 章 小波变换与多分辨率分析#

学习目标:理解"同时获得频率和位置"这一革命性思想,掌握图像金字塔、Haar/Daubechies 小波、2D-DWT 及其在去噪、压缩、融合中的应用。 本章是 20 世纪 80-90 年代信号处理的最大理论突破之一,哈佛数学系与贝尔实验室工程师联手的里程碑。


7.1 为什么需要小波?—— 傅里叶的局限#

7.1.1 傅里叶的"空间无定位"问题#

回忆第 4 章:傅里叶变换把信号分解为无穷长的正弦波。

F(u)=+f(x)ej2πuxdxF(u) = \int_{-\infty}^{+\infty} f(x) e^{-j2\pi u x} dx

这意味着:频率为 uu 的分量在整个空间上都存在。 即使我们知道某信号含有频率 u0u_0无法从频谱知道它出现在哪个位置

类比:一首音乐先是低音后是高音,但傅里叶只能告诉你"这首歌里有低音和高音",不知道先后。

信号: ── 低频段 ── 高频段 ── 低频段 ──
(x=0-10) (10-20) (20-30)
FT: 看到的是"低 + 高",没有时序信息

7.1.2 短时傅里叶变换(STFT):第一次尝试#

思路:把信号切成小块,每块做 FT。

STFT(u,τ)=f(x)g(xτ)ej2πuxdx\text{STFT}(u, \tau) = \int f(x) g(x - \tau) e^{-j2\pi ux} dx

其中 gg窗函数(高斯、汉宁等)。

权衡困难(海森堡不确定原理):

  • 窗口 → 时间定位好,但频率分辨率差
  • 窗口 → 频率分辨率好,但时间定位差

STFT 用固定窗宽,无法同时满足低频(需要长观察)和高频(需要细定位)的需求。

7.1.3 小波的核心思想:多尺度#

小波让"窗口大小"与频率自适应

  • 分析低频:窗口宽(长时间观察)
  • 分析高频:窗口窄(短时间观察)
STFT 的时-频窗格: 小波的时-频窗格:
频率 ▲ 频率 ▲
高 │□ □ □ □ □ │■ ■ ■ ■ ■ ← 高频:窄窗
中 │□ □ □ □ □ │█ █ █ ← 中频
低 │□ □ □ □ □ │██ ← 低频:宽窗
└──────→ 时间 └──────→ 时间

这就是小波变换。核心:固定"时间×频率" 面积(不确定原理允许的最小),但形状自适应。


7.2 图像金字塔:直观的多分辨率#

7.2.1 金字塔的概念#

对一张图,反复下采样得到一系列尺寸递减的版本:

L0 (512×512) 原图
L1 (256×256) /2
L2 (128×128) /4
L3 (64×64) /8
...

每层代表同一内容的不同尺度。远看轮廓 = 上层金字塔;近察细节 = 下层。

7.2.2 高斯金字塔 (Gaussian Pyramid)#

构造

L_{k+1} = Downsample(Gaussian_Blur(L_k))
  1. LkL_k 用 5×5 高斯核模糊(抗混叠)
  2. 每行每列取一半 → 尺寸减半
G = img.copy()
pyr = [G]
for _ in range(4):
G = cv2.pyrDown(G) # 内部先高斯再下采样
pyr.append(G)

性质

  • 每层尺寸 1/4,总存储 1+1/4+1/16+=4/31 + 1/4 + 1/16 + \ldots = 4/3 倍原图
  • 每层对应一个带通频率

7.2.3 拉普拉斯金字塔 (Laplacian Pyramid)#

Burt & Adelson 1983 提出。

核心:每层存储高斯金字塔相邻两层之

Lk=GkUpsample(Gk+1)L_k = G_k - \text{Upsample}(G_{k+1})
原图 G0 ──┬────────── L0 = G0 - Upsample(G1)
G1 ──┬──────── L1 = G1 - Upsample(G2)
G2 ──┬────── L2 = G2 - Upsample(G3)
G3 (保留最粗层)

关键性质:完美重建

重建: G_k = L_k + Upsample(G_{k+1})

每层含义:该尺度下的细节(高频差分)。

能量集中性#

拉普拉斯金字塔的绝大多数系数接近 0(自然图像的细节稀疏)。这是它被用于图像压缩、融合的关键。

7.2.4 经典应用:多尺度图像融合 (Burt & Adelson)#

问题:把两张图在指定区域"无缝"融合(经典例子:把苹果和橘子融成"苹橘")。

简单方法:直接按掩膜拼接 → 边界有明显接缝。

多尺度融合

1. 图 A, B 各自求拉普拉斯金字塔 L^A, L^B
2. 掩膜 M 求高斯金字塔 G^M(平滑掩膜)
3. 逐层加权混合:
L^blend_k = L^A_k · G^M_k + L^B_k · (1 - G^M_k)
4. 用 L^blend 重建出融合图像

为什么奏效?

  • 低频层掩膜宽 → 缓慢过渡(整体颜色/亮度融合)
  • 高频层掩膜窄 → 锐利过渡(细节仅取一边)

现代变体

  • 曝光融合 (Mertens):多曝光 HDR,手机默认
  • Poisson Blending:梯度域融合(Ch 9 会提到)

7.3 Haar 小波:最简单的小波#

7.3.1 一维 Haar#

尺度函数与小波函数#

尺度函数(scaling / 低通)

ϕ(x)={10x<10否则\phi(x) = \begin{cases} 1 & 0 \le x < 1 \\ 0 & \text{否则} \end{cases}

小波函数(wavelet / 高通)

ψ(x)={10x<1/211/2x<10否则\psi(x) = \begin{cases} 1 & 0 \le x < 1/2 \\ -1 & 1/2 \le x < 1 \\ 0 & \text{否则} \end{cases}
φ: ┌────┐ ψ: ┌──┐
│ │ │ │
│ │ │ └──┐
───────┴────┴ ─ ──┴──
0 1 0 .5 1

正交分解#

对长度 2 的信号 (x1,x2)(x_1, x_2),一级 Haar 变换:

[ad]=12[1111][x1x2]\begin{bmatrix} a \\ d \end{bmatrix} = \frac{1}{\sqrt{2}} \begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix}
  • a=(x1+x2)/2a = (x_1 + x_2)/\sqrt{2}平均 / 低频 / 近似
  • d=(x1x2)/2d = (x_1 - x_2)/\sqrt{2}差分 / 高频 / 细节

信息量不变(2 个输入 → 2 个输出),且正交(逆变换是转置)。

多级分解#

对长度 NN 的信号:

原信号
│ Haar
a1 (N/2), d1 (N/2)
│ 对 a1 再做 Haar
a2 (N/4), d2 (N/4), d1 (N/2)
...

最终:一个最粗的 aKa_K + 多级细节 dK,dK1,,d1d_K, d_{K-1}, \ldots, d_1。 总系数数 = 原信号长度 NN(无冗余)。

7.3.2 二维 Haar(图像)#

对 2D 信号,Haar 通过"先行后列"分解。

一级 2D 分解#

原图 (M×N)
│ 对每行做 1D Haar
左半 = 行均值 (M×N/2) 右半 = 行差分 (M×N/2)
│ 对每列做 1D Haar │ 对每列做 1D Haar
▼ ▼
(M/2 × N/2) (M/2 × N/2)
┌────┬────┐
│ LL │ HL │ LL: 低低频(近似)
├────┼────┤ HL: 水平细节(垂直边缘)
│ LH │ HH │ LH: 垂直细节(水平边缘)
└────┴────┘ HH: 对角细节(对角边缘)
  • LL:图像的"缩略图"
  • HL:图像的垂直边缘
  • LH:图像的水平边缘
  • HH:图像的对角/角点

多级分解:递归对 LL#

┌──┬──┬──────┐
│LL│HL│ │
├──┼──┤ HL1 │ ← 2 级分解
│LH│HH│ │
├──┴──┼──────┤
│ │ │
│ LH1 │ HH1 │ ← 1 级分解
│ │ │
└─────┴──────┘

金字塔式的多分辨率分解

7.3.3 Haar 的物理意义#

  • ϕ\phi平均算子(低通)
  • ψ\psi差分算子(高通)
  • 小波 = 对应于不同尺度 (2j2^j) 和位置 (2jk2^j k) 的平移缩放

Haar 的基函数

ψj,k(x)=2j/2ψ(2jxk)\psi_{j, k}(x) = 2^{j/2} \psi(2^j x - k)

所有这样的 ψj,k\psi_{j, k} 构成 L2(R)L^2(\mathbb{R})正交基!(Haar 1909 的经典结果)


7.4 多分辨率分析 (MRA) 框架#

Mallat & Meyer 1987-1989 给出"小波理论"的严格数学结构。

7.4.1 嵌套子空间#

定义一系列子空间 {Vj}jZ\{V_j\}_{j \in \mathbb{Z}},满足:

  1. 嵌套V1V0V1\cdots \subset V_{-1} \subset V_0 \subset V_1 \subset \cdots
  2. 稠密jVj=L2(R)\overline{\bigcup_j V_j} = L^2(\mathbb{R})
  3. 交空jVj={0}\bigcap_j V_j = \{0\}
  4. 尺度关系f(x)Vjf(2x)Vj+1f(x) \in V_j \Leftrightarrow f(2x) \in V_{j+1}
  5. 平移不变性f(x)V0f(xk)V0f(x) \in V_0 \Leftrightarrow f(x - k) \in V_0
  6. 正交基存在:存在 ϕV0\phi \in V_0 使 {ϕ(xk)}kZ\{\phi(x - k)\}_{k \in \mathbb{Z}}V0V_0 的正交基

ϕ\phi 称尺度函数

7.4.2 细节子空间 WjW_j#

由嵌套关系 VjVj+1V_j \subset V_{j+1},定义正交补

Vj+1=VjWjV_{j+1} = V_j \oplus W_j

WjW_j 称为细节子空间,其基:

ψj,k(x)=2j/2ψ(2jxk)\psi_{j, k}(x) = 2^{j/2} \psi(2^j x - k)

ψ\psi 称小波函数

7.4.3 双尺度方程(Two-Scale Equation)#

ϕV0V1\phi \in V_0 \subset V_1,可写:

ϕ(x)=khϕ(k)2ϕ(2xk)\phi(x) = \sum_k h_\phi(k) \sqrt{2} \phi(2x - k)

hϕh_\phi低通滤波器系数。类似地:

ψ(x)=khψ(k)2ϕ(2xk)\psi(x) = \sum_k h_\psi(k) \sqrt{2} \phi(2x - k)

hψh_\psi高通滤波器系数

正交性约束#

要求双滤波器组满足:

khϕ(k)hϕ(k+2m)=δ(m)\sum_k h_\phi(k) h_\phi(k + 2m) = \delta(m)hψ(k)=(1)khϕ(1k)h_\psi(k) = (-1)^k h_\phi(1 - k)

这就是 QMF(正交镜像滤波器) 条件。

7.4.4 MRA 的意义#

任意函数 fL2(R)f \in L^2(\mathbb{R}) 可分解为:

f=fJ+j=J1djf = f_{J} + \sum_{j = -\infty}^{J - 1} d_j
  • fJVJf_J \in V_J:尺度 JJ 下的近似
  • djWjd_j \in W_j:各尺度细节

展开为系数:

f(x)=kcJ,kϕJ,k(x)+j<Jkdj,kψj,k(x)f(x) = \sum_k c_{J, k} \phi_{J, k}(x) + \sum_{j < J} \sum_k d_{j, k} \psi_{j, k}(x)

这就是离散小波变换(DWT)


7.5 离散小波变换(DWT)算法#

7.5.1 Mallat 快速算法#

思想:递归滤波 + 下采样。

信号 x
├── h_φ (低通) ──> 下采样 2 ──> a1
└── h_ψ (高通) ──> 下采样 2 ──> d1

对 a1 再次分解:

a1
├── h_φ ──> ↓2 ──> a2
└── h_ψ ──> ↓2 ──> d2

复杂度O(N)O(N)(相当于 FFT 的 O(NlogN)O(N \log N) 更快!)

7.5.2 反变换(重建)#

a_j, d_j
├── 上采样 2 ──> g_φ (低通) ──┐
│ ├── 相加 ──> a_{j-1}
└── 上采样 2 ──> g_ψ (高通) ──┘

完美重建条件

hϕ(n)gϕ(n)+hψ(n)gψ(n)=2δ(n)h_\phi(n) * g_\phi(-n) + h_\psi(n) * g_\psi(-n) = 2 \delta(n)

正交小波下 g=hg = h(自对偶)。

7.5.3 2D DWT 实现#

图像
│ 逐行 1D DWT
┌────┬────┐
│ L │ H │ ← 每行分成低/高频
│ │ │
└────┴────┘
│ 逐列 1D DWT
┌────┬────┐
│ LL │ HL │
├────┼────┤
│ LH │ HH │
└────┴────┘

代码(pywt):

import pywt
coeffs = pywt.wavedec2(img, 'db1', level=3)
# coeffs = [cA3, (cH3, cV3, cD3), (cH2, ...), (cH1, ...)]
# cA: approximation, cH/V/D: horizontal/vertical/diagonal detail
reconstructed = pywt.waverec2(coeffs, 'db1')

7.6 常用小波族#

7.6.1 Haar (db1)#

  • 最简单、不连续
  • 阶跃边缘检测好
  • 但紧支太小(2 抽头),频率选择性差

7.6.2 Daubechies (dbN)#

Daubechies 1988 构造的正交紧支小波族。dbN 有 2N 个系数,支持长度 2N-1。

家族系数数消失矩特点
db1 (= Haar)21不连续
db242几乎连续
db484光滑但不对称
db102010很光滑,频域好

消失矩 NN

xkψ(x)dx=0,k=0,1,,N1\int x^k \psi(x) dx = 0, \quad k = 0, 1, \ldots, N-1

消失矩高 → 对多项式信号响应为 0 → 图像稀疏表示好。

缺点

  • 非对称 → 重建有相位失真
  • 没有解析表达式(只能通过迭代构造)

7.6.3 Symlets (sym)#

Daubechies 的"近似对称"版本。

7.6.4 Coiflets (coif)#

同时要求 ϕ\phiψ\psi 都有消失矩(Daubechies 只要求 ψ\psi)。更对称但支持更大。

7.6.5 Biorthogonal (bior, rbio)#

放弃正交性换取完美对称 + 完美重建(同时不可能)。

  • 分析小波 ϕ~,ψ~\tilde{\phi}, \tilde{\psi}
  • 合成小波 ϕ,ψ\phi, \psi
  • 两者不同但满足双正交条件:
ϕ~(x),ϕ(xk)=δ(k)\langle \tilde{\phi}(x), \phi(x - k) \rangle = \delta(k)

JPEG2000 使用 bior4.4(9/7 双正交小波),因为线性相位对图像压缩质量关键。

7.6.6 选型建议#

场景推荐
教学、简单Haar / db1
通用图像处理db4 / sym4
JPEG2000 有损压缩bior4.4 (9/7)
无损压缩bior5.3 (5/3 整数)
边缘检测sym8
医学成像coif3

7.7 小波的应用#

7.7.1 图像去噪(Donoho 软阈值)#

思想

  • 自然图像的小波系数稀疏(少数大,多数近 0)
  • 高斯噪声的系数密集(接近 0 附近的高斯)
  • 把小幅度系数"削掉",保留大的 → 去噪

阈值函数

硬阈值:

Thard(d)={dd>λ0dλT_{\text{hard}}(d) = \begin{cases} d & |d| > \lambda \\ 0 & |d| \le \lambda \end{cases}

软阈值(更平滑):

Tsoft(d)=sign(d)max(dλ,0)T_{\text{soft}}(d) = \text{sign}(d) \max(|d| - \lambda, 0)
硬阈值: 软阈值:
│ / │ /
│ / │ /
│ / │ /
──┼────── ──┼──/───
│\ │ /
│ \ │/

最优阈值:Donoho 给出通用阈值

λ=σ2lnN\lambda = \sigma \sqrt{2 \ln N}

NN 是信号长度,σ\sigma 是噪声标准差(用最粗细节子带的 MAD 估计)。

算法

1. DWT 多级分解
2. 对每个细节子带 d_j 做阈值化 → d_j'
3. IDWT 用 [a_J, d_J', ..., d_1'] 重建

效果:比经典均值/高斯滤波好,边缘保留出色。

改进:BayesShrink、SUREShrink#

  • SUREShrink:用 Stein 无偏风险估计自动调阈值
  • BayesShrink:假设系数服从拉普拉斯分布
  • BM3D:结合小波 + 3D patch 堆叠,非深度学习的 SOTA

7.7.2 图像压缩#

JPEG2000 概览#

(第 8 章详讲)

  • 5/3 整数小波(无损)或 9/7 浮点(有损)
  • EBCOT 位平面编码
  • 支持渐进解码、ROI、无损 ↔ 有损

相对于 JPEG 的优势

  • 无块效应(小波无分块)
  • 同等质量下压缩率提高 20-30%
  • 支持渐进传输(低带宽先看低分辨率)

劣势:专利、计算复杂、浏览器不支持 → 未普及。

7.7.3 多尺度边缘检测#

每个 DWT 细节子带就是该尺度下的边缘响应

  • HH1:最细尺度(噪声 + 纹理)
  • HH2:中尺度(小物体边缘)
  • HH3:粗尺度(大物体轮廓)

Mallat-Zhong 算法:跨尺度追踪模极大值,做出多尺度 Canny。

7.7.4 图像融合#

两张源图各自 DWT,对系数采用不同规则合并:

子带融合规则
LL (近似)加权平均(保持亮度)
HL / LH / HH (细节)取最大绝对值(选最清晰细节)

应用

  • 多焦融合(近焦 + 远焦 → 全景深)
  • 红外 + 可见光(夜视增强)
  • MRI + CT(医学多模态)

7.7.5 图像隐写#

LSB 隐写(第 3 章)易被统计检测。小波域隐写:

  • 把秘密信息嵌入细节子带的 LSB
  • 主观视觉几乎不变
  • 抗 JPEG 压缩能力更强

7.8 时频局部化:小波与 STFT 的严格对比#

7.8.1 海森堡不确定原理(量化时-频权衡)#

定理 7.1:对任何函数 fL2f \in L^2,其时间方差 σt2\sigma_t^2 和频率方差 σu2\sigma_u^2 满足:

σtσu14π\sigma_t \sigma_u \ge \frac{1}{4\pi}

等号在 高斯函数 处取得 → 高斯窗是 STFT 的最优窗。

7.8.2 小波的"等 Q"特性#

对小波 ψj,k\psi_{j, k}

  • 时间方差 σt2j\sigma_t \propto 2^{-j}
  • 频率方差 σu2j\sigma_u \propto 2^j
  • Q 因子(频率中心 / 带宽) =const= \text{const}

意思是相对带宽一致。这正是人耳、人眼的特点(对数感知)!因此小波在生物学意义上"更自然"。


7.9 现代发展与深度学习#

7.9.1 复小波 (Complex Wavelets)#

经典 DWT 对平移敏感(平移 1 个像素,系数大变)。复小波(Kingsbury 的 DTCWT)对平移近似不变,旋转也更稳定。

7.9.2 Curvelet、Ridgelet、Shearlet#

小波对点奇异最优,对曲线奇异(图像中更普遍)次优。 Curvelet(Candes 2004)专门为曲线设计 → 更好的边缘表示。

7.9.3 小波 + CNN#

  • Wavelet CNN:把 DWT 作为可微模块嵌入 CNN,替代池化
  • WaveResNet 等:去噪、压缩、超分
  • Multi-level Wavelet-CNN (MWCNN):去雾、去雨

关键发现:CNN 学到的第一层滤波器与 Gabor/小波高度相似 → 网络自然发现了多尺度分析。

7.9.4 神经小波 / 可学习小波#

  • 学习出的小波比固定 Haar/Daubechies 对特定任务更优
  • 用于神经压缩(End-to-End Learned Compression)

7.10 本章要点与面试考点#

✅ 必须掌握#

  • 傅里叶的空间无定位问题,小波的时频局部化优势
  • 高斯/拉普拉斯金字塔的构造与完美重建
  • Haar 小波的 ϕ,ψ\phi, \psi 定义
  • 2D DWT 的四子带 (LL/HL/LH/HH) 及其含义
  • MRA 框架:嵌套子空间、双尺度方程、细节子空间
  • Mallat 快速算法(O(N)O(N)
  • 软阈值去噪思想与 Donoho 通用阈值公式
  • Daubechies vs 双正交的权衡(正交/对称不可兼得)

💡 高频面试题#

Q1. 小波相比傅里叶的核心优势是什么?

答:时频同时局部化。傅里叶用无穷长正弦波作为基,只能告诉你"信号中有什么频率";小波用有限支集的函数,能同时给出"什么频率、出现在哪里"。这对图像处理至关重要——图像中的边缘、纹理是局部化事件。

Q2. 为什么 JPEG2000 选择双正交 9/7 小波?

答:图像压缩对线性相位(= 对称性)敏感(非对称导致边缘偏移)。而正交 + 对称 + 紧支三者不能同时满足(除了 Haar)。双正交牺牲正交性换取完美对称 + 完美重建 + 紧支,是图像压缩的最佳折中。

Q3. 二维 DWT 四子带分别代表什么?

答:

  • LL:低通低通,即"缩略图"
  • HL:水平高通,垂直低通 → 垂直边缘
  • LH:水平低通,垂直高通 → 水平边缘
  • HH:双高通 → 对角与角点

Q4. 小波去噪为什么用软阈值而非硬阈值?

答:

  • 硬阈值:在阈值处不连续 → 去噪后图像可能有"小斑点"跳变
  • 软阈值:连续,对所有通过的系数减去 λ\lambda → 更平滑的结果
  • 理论上:软阈值在估计风险下接近最优(Donoho-Johnstone)

Q5. Donoho 通用阈值 λ=σ2lnN\lambda = \sigma \sqrt{2 \ln N} 的直觉?

答:NN 个独立标准正态噪声,其最大绝对值大致为 2lnN\sqrt{2 \ln N}。乘 σ\sigma 即估计"纯噪声区的最大幅度"。阈值设在此就能把绝大多数噪声系数归零,只保留显著信号。

Q6. DWT 能完美重建的条件?

答:滤波器组满足完美重建 (PR) 条件,即

H0(z)G0(z)+H1(z)G1(z)=2H_0(z) G_0(z) + H_1(z) G_1(z) = 2

且混叠项抵消

H0(z)G0(z)+H1(z)G1(z)=0H_0(-z) G_0(z) + H_1(-z) G_1(z) = 0

正交小波(如 Daubechies)中 G=HG = H,自然满足。

Q7. 小波金字塔 vs 拉普拉斯金字塔的区别?

答:

  • 拉普拉斯金字塔:冗余约 4/3 倍,但每层分辨率与输入相同(简单直观)
  • 小波金字塔严格无冗余(系数总数 = 原像素数),但一层产出 4 个子带
  • 拉普拉斯适合教学;小波适合压缩/编码

Q8. 小波与深度学习的关系?

答:

  • CNN 的前几层滤波器自发学到类似小波/Gabor 的多尺度模板
  • 用 DWT 替代池化可保留全部信息(不丢细节)
  • 神经压缩(Ballé 等)的编码器架构灵感部分来自小波

7.11 延伸阅读#

  • Mallat, A Wavelet Tour of Signal Processing(小波圣经)
  • Daubechies, Ten Lectures on Wavelets
  • Strang & Nguyen, Wavelets and Filter Banks
  • Burt & Adelson, "The Laplacian Pyramid as a Compact Image Code", IEEE Trans. Comm. 1983
  • Donoho, "De-noising by Soft-Thresholding", IEEE Trans. Inf. Theory 1995
  • PyWavelets 文档:https://pywavelets.readthedocs.io/

下一章:前面花大量篇幅讨论"怎么处理图像",现在换个方向——如何把图像压缩,让它占用更少空间?这就是图像压缩,每天都在你手机和网络上发生的"看不见的艺术"。

分享

如果這篇文章對你有幫助,歡迎分享給更多人!

小波变换与多分辨率分析
https://lemusakuya.com/posts/study-notes/digital-image-processing/07_小波变换与多分辨率分析/
作者
レム・咲く夜
發布於
2026-04-27
許可協議
CC BY-NC-SA 4.0

部分資訊可能已經過時

目錄