1. 课程导入与工程全景

病理切片组织区域检测,指的是在数字化的全切片图像(Whole Slide Image,WSI)上,自动识别并分割出具有明确病理语义的组织区域,例如肿瘤区、正常上皮、间质、坏死、脂肪、淋巴组织、血管以及背景空白等。它回答的核心问题不是“这张切片是不是癌”,而是“这张切片上,哪些像素属于哪一类组织”。这一区别决定了它与常见的图像分类任务在工程实现上有本质不同:输出是像素级或区域级的掩膜,输入却是动辄数万乘数万像素、体积可达数百 MB 到数 GB 的超大图像。

从临床价值看,组织区域检测是许多下游任务的“地基”。肿瘤比例评估、免疫组化阳性区域定位、切缘判断、淋巴结转移灶筛查、以及基于形态的预后特征提取,都依赖先把组织区域划分清楚。若把坏死区误判为肿瘤区,肿瘤占比会被高估;若把脂肪组织漏检,浸润深度的判断就可能出现偏差。在科研场景中,区域检测又是空间转录组、多重免疫荧光与病理形态对齐的前置步骤,只有把组织区域坐标统一,才能把分子信息与形态信息叠加分析。

工程化的挑战主要来自四个方面。第一是尺度问题:WSI 通常以金字塔形式存储,同一张切片有多个放大倍率层,检测时需要在低倍层定位、在高倍层细化,涉及坐标换算。第二是染色差异:不同中心、不同批次、不同扫描仪的 H&E 染色在色调和饱和度上差异明显,模型容易过拟合到某个中心的颜色分布。第三是类别不平衡:背景、间质往往占据绝大部分面积,而肿瘤、坏死等关键区域占比很小。第四是标注成本:像素级标注需要病理医生逐区域勾画,一张切片可能耗时数十分钟,且不同医生之间存在判读差异。

一个典型的工程判断是:当肿瘤区域仅占切片面积的 3%~8% 时,若直接按像素计算损失,模型会倾向于全部预测为背景。因此实际训练中常采用区域采样、加权损失或先粗后细的两阶段策略,而不是把整张 WSI 直接送入网络。

为了把上述问题串起来,下面用一张全景图展示从 WSI 输入到区域掩膜输出的完整数据流与关键处理环节。图中同时标出了每个环节最值得关注的工程对象与参数,便于后续章节逐项展开。

病理切片组织区域检测工程全景 从 WSI 输入到区域掩膜输出的数据流与关键工程对象 WSI 输入 金字塔层 L0~L3 放大倍率 40×/20× 格式 .svs / .ndpi 组织/背景分离 低倍层 Otsu 阈值 饱和度 + 亮度判据 输出组织掩膜 切块与坐标 patch 256×256 重叠 stride 128 记录 (x,y,level) 区域分割模型 U-Net / SegFormer 多类 softmax 输出 肿瘤/间质/坏死… 拼接与后处理 概率图融合 形态学去噪 区域掩膜输出 误判区域回查与阈值调整 贯穿全流程的四类工程关注点 尺度与坐标一致性 level 换算、像素物理尺寸 μm/pixel 对齐 染色归一化 Macenko / Reinhard 中心间颜色漂移抑制 类别不平衡 加权交叉熵 / Dice 难例挖掘与采样 标注与评估 Dice / IoU / 混淆矩阵 医生间一致性 κ 工程闭环:输入 WSI → 组织定位 → 切块推理 → 拼接后处理 → 掩膜评估 → 回查调参 示例参数:patch 256×256、stride 128、20× 层推理,仅作教学参考

这张全景图里,最容易被低估的是“组织/背景分离”和“拼接与后处理”两个环节。很多初学者把注意力全部放在分割模型上,结果发现模型在 patch 上表现不错,但拼回整张切片后边界出现明显锯齿或空洞。原因往往不是模型本身,而是切块时的重叠不足、概率图融合方式过于简单,或者后处理没有做连通域过滤。实际工程中,patch 尺寸取 256×256、stride 取 128 是一种常见折中:重叠 50% 可以缓解边界效应,同时计算量不会翻倍太多。

再看坐标换算这个细节。假设在 20× 层(level 1)上以 (x, y) 为左上角取一个 256×256 的 patch,而最终掩膜要输出到 40× 层(level 0),那么对应到 level 0 的坐标就是 (2x, 2y),尺寸变为 512×512。如果忽略这一步,掩膜和原图就会错位。类似地,不同扫描仪的 μm/pixel 可能不同,20× 下常见约 0.25~0.5 μm/pixel,若不做物理尺寸对齐,跨中心数据混训时模型学到的“尺度感”会混乱。

建议在项目初期就固定一套坐标约定:以 level 0 为基准坐标系,所有中间结果都记录其来源 level 和缩放因子。这样在拼接、可视化和与标注比对时,不会因为反复换算而出错。

关于学习路径,本课程后续会沿着“数据—模型—评估—部署”的主线展开,但不会把每一节都切成同样的步骤。你会先接触 WSI 读取与组织掩膜生成,理解金字塔结构和坐标系统;然后进入切块策略、染色归一化与数据增强;接着是分割网络的选择与训练技巧,包括损失函数、类别权重和难例处理;再往后是拼接、后处理与评估指标,最后讨论推理加速、批处理和服务化封装。每一节都会围绕一个具体的工程对象或判断展开,而不是泛泛介绍概念。

需要提醒的是,组织区域检测没有“一招通吃”的方案。不同癌种、不同染色方案、不同扫描仪,甚至同一中心不同批次的切片,都可能需要调整预处理参数或重新微调模型。因此本课程更强调可复现的工程习惯:记录数据来源与预处理参数、保留中间可视化结果、用固定验证集比较改动效果。当你能够说清楚“这次 Dice 提升 0.03 是因为换了归一化方法,而不是因为换了随机种子”,才算真正进入了工程化的状态。

最后给出一个贯穿全课程的最小可用检查清单,供你在动手时对照:WSI 能否正确读取并获取指定 level 的缩略图;组织掩膜是否覆盖了真实组织且去除了背景;patch 坐标是否可逆映射回 level 0;训练集与验证集是否按病例划分而非按 patch 划分;评估时是否同时看了 Dice、IoU 和混淆矩阵;拼接后的掩膜是否做过连通域和小孔洞处理。这六项看起来简单,但实际项目中大部分返工都源于其中某一项没有做扎实。