说明: 本讲稿配合
medical_matrix_analysis.pptx(14 页)使用。 听众背景:矩阵分析教师,精通线性代数但对图像分割零基础。 侧重点:用矩阵语言解释分割,每个概念都配具体算例。
一、开场:什么是图像分割?(~5 分钟)
0:00–2:00 — 从矩阵老师的视角切入
各位老师好。今天我想跟大家聊一个交叉话题:医学图像分割和矩阵分析之间到底有什么关系。
在座各位都是矩阵分析的专家,但可能对"图像分割"不太熟悉。没关系,我今天的目标就是:用你们最熟悉的矩阵语言,来解释图像分割到底在干什么。
2:00–5:00 — 什么是图像分割(Slide 1 引入)
先解决第一个问题:什么是图像分割?
大家想象一张照片——不管是手机拍的、还是 CT 扫描的——这张照片本质上就是一个 $m \times n$ 的矩阵。灰度图是 $m \times n$ 矩阵,彩色图是三个矩阵叠在一起。
图像分割要做的事情是:给这个矩阵里的每一个位置(像素)分配一个类别标签。
举个例子。一张 CT 肺部扫描图,我们希望计算机能自动标出:哪些像素属于"肿瘤"、哪些属于"正常组织"、哪些是"背景"。这就是分割。
医学图像分割就是把这个任务放在医学场景里——给 X 光、CT、MRI、病理切片这些医学图像做像素级的分类。
从矩阵分析的角度看:分割的输出本质上也是一个矩阵,只是元素从"像素亮度"变成了"类别编号"。
二、全景概览(~3 分钟)
5:00–8:00 — 概念映射全景(Slide 2)
今天的报告会覆盖 9 个矩阵分析和图像分割的交汇点:
| 行 | 概念 |
|---|---|
| 第一行 | 图像=矩阵 → 卷积 = Toeplitz 矩阵乘 → SVD 降维/降噪 |
| 第二行 | PCA 特征提取 → 图拉普拉斯谱分割 → 海森矩阵血管增强 |
| 第三行 | NMF 组织分解 → GLCM 纹理分析 → Attention = 矩阵乘 |
几乎所有的分割操作,最终都归结为矩阵运算——乘法、分解、特征值问题。
三、图像=矩阵,卷积=矩阵乘(~4 分钟)
8:00–10:00 — 图像即矩阵(Slide 3)
这是最根本的抽象。
一张灰度图就是一个 $m \times n$ 的实数矩阵。CT 值是 Hounsfield Unit,MRI 值是信号强度——都是数,排列成矩阵。
所以:
- 裁剪图像 → 矩阵切片 $A[10:100,; 20:200]$
- 旋转图像 → 矩阵转置 + 翻转
- 归一化 → $(A - \mu) / \sigma$
“图像处理"在矩阵语言下就是矩阵的各种变换。
10:00–12:00 — 卷积 = Toeplitz 矩阵乘法(Slide 4)
卷积操作可以写成:
$$ \mathbf{y} = \mathbf{W} \cdot \mathbf{x} $$其中 $\mathbf{W}$ 是一个 高度稀疏的 Toeplitz 矩阵(每条对角线上的元素都相等),$\mathbf{x}$ 是图像拉直后的向量。
为什么这对深度学习很重要?因为 GPU 的 Tensor Core 本质上就是一个超大规模的矩阵乘法引擎。把卷积写成矩阵乘法,意味着我们可以用 GPU 来暴力加速。
具体算例: 一个 $3 \times 3$ 的卷积核在 $4 \times 4$ 的图像上滑动,相当于一个 $4 \times 16$ 的稀疏矩阵乘以 $16$ 维的列向量:
$$ \begin{bmatrix} w_{11} & w_{12} & w_{13} & 0 & w_{21} & w_{22} & w_{23} & 0 & \cdots \\ 0 & w_{11} & w_{12} & w_{13} & 0 & w_{21} & w_{22} & w_{23} & \cdots \\ \vdots & & & & & & & & \ddots \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ \vdots \\ x_{16} \end{bmatrix} $$每行只有 9 个非零元素——这就是 Toeplitz 结构的体现。
四、SVD 与 PCA:两个核心分解工具(~5 分钟)
12:00–14:30 — SVD 去噪与低秩表示(Slide 5)
SVD 你们太熟悉了:
$$ A = U \Sigma V^\top $$在医学图像中,一张 $4 \times 3$ 的图像块做 SVD 分解得到三个奇异值:
$$ A = \begin{bmatrix} 85 & 90 & 88 \\ 78 & 82 & 80 \\ 200 & 210 & 205 \\ 195 & 205 & 200 \end{bmatrix}, \quad \Sigma = \begin{bmatrix} 350 & 0 & 0 \\ 0 & 30 & 0 \\ 0 & 0 & 5 \\ 0 & 0 & 0 \end{bmatrix} $$即 $\sigma_1 = 350$(骨骼主体结构),$\sigma_2 = 30$(软组织变化),$\sigma_3 = 5$(噪声)。
如果我们只保留前两个奇异值,把 $\sigma_3$ 丢掉,就完成了低秩去噪。保留的能量为:
$$ \frac{\sigma_1^2 + \sigma_2^2}{\sigma_1^2 + \sigma_2^2 + \sigma_3^2} = \frac{350^2 + 30^2}{350^2 + 30^2 + 5^2} \approx 99.98\% $$这就是 SVD 在医学分割中的一个直接应用:用低秩近似来去除噪声。
14:30–17:00 — PCA 特征提取(Slide 6)
PCA 的核心是:对数据做特征值分解。
算例: 4 个样本点 $(1,1), (2,2), (4,4), (5,5)$。数据矩阵和协方差矩阵为:
$$ X = \begin{bmatrix} 1 & 1 \\ 2 & 2 \\ 4 & 4 \\ 5 & 5 \end{bmatrix}, \quad C = \frac{1}{n-1}X'^\top X' = \begin{bmatrix} 3.33 & 3.33 \\ 3.33 & 3.33 \end{bmatrix} $$特征分解得到:
$$ \lambda_1 = 6.67,\; v_1 = [0.71, 0.71]^\top, \qquad \lambda_2 = 0.00,\; v_2 = [-0.71, 0.71]^\top $$$\lambda_2 \approx 0$ 意味着数据在某个方向上几乎没有变化——可以把 2 维数据安全地降到 1 维。
在医学分割中,一个图像 Patch 可能有几百维的特征。通过 PCA 降到几十维后,分割模型的训练速度和泛化能力都会提升。
五、图拉普拉斯与海森矩阵(~5 分钟)
17:00–19:30 — 谱分割(Slide 7)
核心思想:图像分割可以转化为图拉普拉斯矩阵的特征值问题。
每个像素是一个节点,像素间的相似度是边的权重,构成相似度矩阵 $W$。度矩阵 $D$ 是对角阵 $D_{ii} = \sum_j W_{ij}$。拉普拉斯矩阵:
$$ L = D - W $$关键定理:$L$ 的第二小特征向量 $v_2$ 给出了最优的二分类方案。
算例: 4 个像素的亮度为 $[10, 12, 50, 52]$。
相似度矩阵 $W$ 和拉普拉斯矩阵 $L$:
$$ W = \begin{bmatrix} 1.0 & 0.8 & 0 & 0 \\ 0.8 & 1.0 & 0 & 0 \\ 0 & 0 & 1.0 & 0.8 \\ 0 & 0 & 0.8 & 1.0 \end{bmatrix}, \quad L = D - W = \begin{bmatrix} 0.8 & -0.8 & 0 & 0 \\ -0.8 & 0.8 & 0 & 0 \\ 0 & 0 & 0.8 & -0.8 \\ 0 & 0 & -0.8 & 0.8 \end{bmatrix} $$特征向量 $v_2 = [-0.7, -0.7, 0.7, 0.7]^\top$,对应 $\lambda_2 = 0$。
按 $v_2$ 的符号分割:前两个像素为负、后两个为正——完美地把两个区域分开!$\lambda_2 = 0$ 是因为两个子图之间没有连接边,$v_2$ 的符号自然指示了图割方向。
这就是 Shi & Malik 2000 年提出的 Normalized Cuts 算法。
19:30–22:00 — 海森矩阵与血管增强(Slide 8)
海森矩阵 $H$ 由图像的二阶偏导构成:
$$ H = \begin{bmatrix} f_{xx} & f_{xy} \\ f_{yx} & f_{yy} \end{bmatrix} $$对于每个像素,$H$ 的特征值 $\lambda_1, \lambda_2$ 揭示局部几何结构:
- 管状(血管): $|\lambda_1| \gg 0,; |\lambda_2| \approx 0$(一个方向梯度剧烈变化,另一个方向变化平缓)
- 斑状(肿瘤): $|\lambda_1| \approx |\lambda_2| \gg 0$
- 各向同性区域: $|\lambda_1| \approx |\lambda_2| \approx 0$
算例: 水平血管模型 $f(x,y) = 100\exp\left(-\frac{x^2 + 0.1y^2}{\sigma^2}\right)$ 的 Hessian:
$$ H = \begin{bmatrix} -\frac{200}{\sigma^2} & 0 \\ 0 & -\frac{20}{\sigma^2} \end{bmatrix}, \quad \lambda_1 = -\frac{200}{\sigma^2},\; \lambda_2 = -\frac{20}{\sigma^2} $$$|\lambda_1| \gg |\lambda_2|$ → 判断为管状结构。$\lambda_1$ 方向是截面方向(跨血管边界梯度大),$\lambda_2$ 方向是血管走向(沿血管灰度变化平缓)。
Frangi 滤波器基于此计算"血管响应”:
$$ \mathcal{V} = \exp\left(-\frac{\lambda_1^2}{2\lambda_2^2}\right) \left(1 - \exp\left(-\frac{S^2}{2c^2}\right)\right) $$多尺度 Hessian → 不同粗细的血管都能增强。
六、GLCM 和 NMF:纹理与组织分解(~4 分钟)
22:00–24:00 — GLCM 纹理分析(Slide 9)
GLCM(灰度共生矩阵) 是一个统计矩阵:$P[i][j]$ 统计了图像中灰度 $i$ 和灰度 $j$ 在特定方向上相邻出现的频率。
算例: $4 \times 4$ 像素块,沿水平方向 ($\Delta = (1,0)$) 统计,4 个灰度级:
$$ \text{图像} \begin{bmatrix} 0&0&1&1 \\ 0&0&1&1 \\ 0&2&2&2 \\ 2&2&3&3 \end{bmatrix}, \quad \text{GLCM} \begin{bmatrix} 2&2&1&0 \\ 0&2&0&0 \\ 0&0&3&1 \\ 0&0&0&1 \end{bmatrix} $$从 GLCM 计算 Haralick 特征:
- 对比度:$\sum (i-j)^2 P[i][j] = 0.58$
- 相关性:$\frac{\sum (i-\mu)(j-\mu)P}{\sigma^2} = 0.80$
- 能量:$\sum P[i][j]^2 = 0.17$
肿瘤组织通常对比度更高、相关性更低(异质性高、纹理粗糙),正常组织则相反。
24:00–26:00 — NMF 组织分解(Slide 10)
NMF(非负矩阵分解): $V_{(m \times n)} \approx W_{(m \times k)} H_{(k \times n)}$,约束 $W, H \geq 0$。
在病理学中有一个经典应用:H&E 染色分离。
一张 H&E 染色的病理切片,每个像素的 RGB 值是苏木精(染细胞核)+ 伊红(染细胞质)的叠加。NMF 自动分解:
$$ \begin{bmatrix} r_1 & g_1 & b_1 \\ r_2 & g_2 & b_2 \\ \vdots & \vdots & \vdots \\ r_n & g_n & b_n \end{bmatrix} \approx \begin{bmatrix} h_1 & e_1 \\ h_2 & e_2 \\ \vdots & \vdots \\ h_n & e_n \end{bmatrix} \begin{bmatrix} w_{hr} & w_{hg} & w_{hb} \\ w_{er} & w_{eg} & w_{eb} \end{bmatrix} $$$h_i$ = 苏木精含量(细胞核),$e_i$ = 伊红含量(细胞质)。分离后各自独立分割。
七、Jacobian 与深度学习中的矩阵(~3 分钟)
26:00–27:30 — Jacobian 与配准(Slide 11)
图像配准:找到一种变形让两张图像对齐。变形场 $\phi: x \mapsto \phi(x)$,它的 Jacobian 矩阵 $J = \nabla \phi$ 告诉我们局部变形情况。
算例: $\phi(x,y) = (x + 0.1x,; y + 0.2y)$
$$ J = \nabla \phi = \begin{bmatrix} 1.1 & 0 \\ 0 & 1.2 \end{bmatrix}, \quad \det(J) = 1.1 \times 1.2 = 1.32 > 1 $$- $\det(J) > 1$ → 局部膨胀 32%
- $\det(J) < 1$ → 局部收缩
- $\det(J) \leq 0$ → 变形场不可逆,分割无效
$|\det(J)-1|$ 常作为正则化项加入损失函数。
27:30–28:30 — 深度学习 = 矩阵运算(Slide 12)
深度学习模型核心就三种运算:
- 全连接层: $y = Wx + b$
- Self-Attention: $\text{Attention}(Q,K,V) = \text{Softmax}\left(\frac{QK^\top}{\sqrt{d}}\right)V$
- 卷积: 稀疏矩阵乘法
Attention 算例(序列长度=4, 维度=3):
$$ QK^\top_{(4 \times 4)} = \begin{bmatrix} 0.9 & 0.2 & 0.1 & 0.0 \\ 0.3 & 0.8 & 0.4 & 0.1 \\ 0.1 & 0.3 & 0.9 & 0.5 \\ 0.0 & 0.1 & 0.5 & 0.9 \end{bmatrix} \rightarrow \text{Softmax}\left(\frac{QK^\top}{\sqrt{3}}\right) = \begin{bmatrix} 0.35 & 0.23 & 0.22 & 0.21 \\ 0.23 & 0.31 & 0.25 & 0.21 \\ 0.20 & 0.23 & 0.32 & 0.25 \\ 0.20 & 0.21 & 0.26 & 0.33 \end{bmatrix} $$每个输出位置 = 所有位置的加权和 → 全局信息融合。
八、张量分解与总结(~1.5 分钟)
28:30–29:00 — 张量分解(Slide 13)
多模态 MRI(T1, T1c, T2, FLAIR)构成一个三阶张量 $\mathcal{X} \in \mathbb{R}^{256 \times 256 \times 4}$。
Tucker 分解:
$$ \mathcal{X}_{(I \times J \times K)} \approx \mathcal{G}_{(R_1 R_2 R_3)} \times_1 U_1 \times_2 U_2 \times_3 U_3 $$$U_1$ 行基,$U_2$ 列基,$U_3$ 模态基。分解后用 $U_3$ 融合模态信息 → 统一分割。
29:00–30:00 — 总结(Slide 14)
一句话总结:矩阵分析 = 分割算法的自然语言。
推荐扩展阅读:
- Golub & Van Loan: Matrix Computations
- Shi & Malik: Normalized Cuts (PAMI 2000)
- Frangi et al.: Vessel Enhancement (MICCAI 1998)