医学图像分割与矩阵分析 — 30 分钟讲稿

说明: 本讲稿配合 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)

深度学习模型核心就三种运算:

  1. 全连接层: $y = Wx + b$
  2. Self-Attention: $\text{Attention}(Q,K,V) = \text{Softmax}\left(\frac{QK^\top}{\sqrt{d}}\right)V$
  3. 卷积: 稀疏矩阵乘法

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)

使用 Hugo 构建
主题 StackJimmy 设计