2. 病理图像颜色与视觉特征
在WSI(全切片图像)分割与定量分析中,颜色是最直接、最廉价、也最容易被忽视的特征来源。同一块组织切片,在不同扫描仪、不同染色批次、不同试剂批次下,会呈现出明显不同的色调与饱和度。如果直接把RGB像素值当作特征输入分割模型,模型学到的往往是“某台扫描仪的成像风格”,而不是“组织本身的病理属性”。因此,理解H&E染色的物理化学原理、掌握颜色空间的表达方式、并能够把颜色归一化和颜色反卷积用对,是后续所有分割与定量任务的基础。
一、H&E染色的光学原理
H&E是苏木素(Hematoxylin)与伊红(Eosin)的联合染色。苏木素经氧化后形成苏木红,再与铝离子结合成带正电的阳离子染料,与细胞核中带负电的DNA/RNA磷酸基团结合,把细胞核染成蓝紫色;伊红是带负电的酸性染料,与细胞质中带正电的蛋白质结合,把细胞质、胶原纤维、红细胞等染成粉红色至红色。两者在可见光波段具有不同的吸收峰:苏木素-铝复合物在约550–620 nm(偏黄绿光)吸收较强,伊红在约510–530 nm(偏绿光)吸收较强。
从成像角度看,白光穿过染色组织时,各波长光被按Beer-Lambert定律吸收:I(λ) = I₀(λ)·exp(−A(λ)),其中A为吸光度。相机传感器把透射光积分成RGB三通道,于是每个像素的颜色本质上是“苏木素浓度 + 伊红浓度 + 残余未染色背景”三者在RGB空间中的线性混合结果。这正是颜色反卷积能够分离两种染色的理论依据。
二、三种颜色空间的表达差异
RGB是最原始的采集空间,三通道高度相关,光照变化会同时改变三个分量,不利于颜色恒常性。HSV把颜色拆成色调H、饱和度S、明度V,其中H对染色色调差异敏感,V对光照强度敏感,适合做染色区域的粗筛。Lab空间则把亮度L与色度a、b分离,a轴对应绿-红,b轴对应蓝-黄,欧氏距离近似人眼感知差异,常用于颜色归一化后的相似性度量与聚类。
在工程实践中,一个常见做法是:用HSV的H通道快速定位苏木素富集的核区域,用Lab的a、b通道区分伊红富集的间质与背景,再把RGB原始值送入反卷积模块。三者不是互斥关系,而是分工关系。
三、颜色归一化的两种主流方法
Reinhard方法基于Lab空间统计迁移。设参考图像在Lab空间的均值为(μ_L, μ_a, μ_b)、标准差为(σ_L, σ_a, σ_b),待归一化图像对应统计量为(μ'_L, μ'_a, μ'_b)与(σ'_L, σ'_a, σ'_b),则逐像素执行:L* = (L − μ'_L)/σ'_L · σ_L + μ_L,a、b通道同理。该方法实现简单、速度快,适合染色风格整体偏移不大的场景;但它假设颜色分布近似高斯,对局部染色不均或强背景区域容易过校正。
Macenko方法在光密度(OD)空间操作。先把RGB转为OD:OD = −log₁₀((I+1)/255),再剔除OD值过低的背景像素,对剩余OD向量做SVD分解,取前两个主成分平面,把投影角度按1%和99%分位数截断,得到两个稳定的染色方向向量,构成2×3的染色矩阵M。对每个像素求解C = OD · M⁻¹,即得到苏木素与伊红的浓度。Macenko对染色批次差异更鲁棒,是当前WSI预处理中最常用的方案之一。
四、颜色反卷积的实操要点
颜色反卷积的核心是求解染色矩阵M。OpenCV等库提供了cv2.color_deconvolution,但更常见的做法是先用Macenko估计M,再手动做矩阵求逆。以下是一个可复用的Python片段,展示从RGB到苏木素、伊红浓度图的完整过程:
import numpy as np
def rgb_to_od(img):
# img: float32, 范围[0,255]
img = np.clip(img, 1, 255)
return -np.log10(img / 255.0)
def deconvolve(od, M):
# M: 2x3 染色矩阵,行向量为苏木素、伊红单位OD方向
# od: HxWx3
C = od.reshape(-1, 3) @ np.linalg.pinv(M.T)
return C.reshape(od.shape[0], od.shape[1], 2)
# 示例:Macenko估计得到的染色矩阵(仅作演示,实际应由数据估计)
M = np.array([[0.65, 0.70, 0.29],
[0.07, 0.99, 0.11]])
od = rgb_to_od(img.astype(np.float32))
he = deconvolve(od, M)
hematoxylin = he[:, :, 0] # 苏木素浓度
eosin = he[:, :, 1] # 伊红浓度
得到两个浓度通道后,通常还要做一次对比度拉伸或分位数裁剪(例如把1%和99%分位映射到0–255),再送入分割网络。判断反卷积是否合理,可以观察三点:苏木素通道中细胞核应呈高亮、间质应接近零;伊红通道中胞质与胶原应高亮、核区应偏暗;两通道叠加后不应出现大面积负值或饱和溢出。
五、常见问题与排查
| 现象 | 可能原因 | 处理建议 |
|---|---|---|
| 反卷积后核通道出现大量噪点 | 背景区域OD过低,被误当作染色 | 先做OD阈值掩膜,仅对前景像素反卷积 |
| 归一化后整体偏蓝或偏粉 | 参考图像选择不当或统计量计算含背景 | 剔除背景像素后重新统计μ、σ |
| 不同批次间定量指标波动大 | 染色矩阵M未随批次更新 | 每批次用少量切片重新估计M并记录 |
| 伊红通道中核区仍有残留 | M的两列方向夹角过小,分离度不足 | 检查SVD主成分,必要时人工校正M |
需要强调的是,颜色归一化和反卷积不是“一次性配置”,而是需要随扫描仪、染色协议和试剂批次持续维护的环节。建议在WSI预处理流水线中固定记录每批次的参考图像、染色矩阵M和归一化统计量,这样当后续分割结果出现漂移时,可以快速定位是颜色环节还是模型环节的问题。