Uni-Hema: Unified Model for Digital Hematopathology¶
会议: CVPR 2026
论文: CVF Open Access
代码: https://github.com/intelligentMachines-ITU/UniHema
领域: 医学图像
关键词: 数字血液病理、统一多任务模型、视觉语言、单细胞分析、Hema-Former
一句话总结¶
Uni-Hema 用一个统一架构(CNN+Transformer 视觉支路 + T5 文本支路 + 名为 Hema-Former 的多模态融合模块)一次性训练,就能在血液病理上同时做检测、分类、分割、形态学预测、视觉问答和掩码语言建模六类任务,跨白血病/疟疾/贫血/镰刀型细胞病等六种疾病,效果与逐任务逐数据集训练的单任务 SOTA 相当甚至更好。
研究背景与动机¶
领域现状:数字血液病理(digital hematopathology,DHP)靠外周血涂片(PBF)做细胞级诊断,覆盖白血病、疟疾、贫血、镰刀型细胞病、地中海贫血等。现有方法可分四类:单任务/单病模型、视觉语言模型(VLM)、为整张切片(WSI)优化的病理基础模型、单细胞血液学基础模型。
现有痛点:这四类各有死角。单任务/单病模型每个诊断目的都要单独建数据集、单独训练,无法规模化;病理基础模型几乎都是为低倍率(5×、40×)实体组织 WSI 设计的,而血液诊断需要 40×、100× 的细粒度细胞级信息;单细胞血液学基础模型(如 DinoBloom、RedDino)只会做单细胞任务,处理不了视野(FoV)图像里重叠/粘连的多细胞场景,也被绑死在固定细胞类型和任务上;通用医学 VLM 擅长图文但搞不定检测、分割这类视觉中心任务。
核心矛盾:临床真实需求是「一个模型把检测+分类+分割+形态推理+图文问答都做了、且跨多种疾病」,但没人能做到——根本障碍是缺少覆盖所有目标任务的统一基准。公开血液病理数据集大多按单病、单任务切割(只标疟原虫检测、或只标白细胞分类),缺乏跨病泛化所需的多样性;而图文对齐又需要精确到细胞级的临床描述,这种配对数据在血液学里极难构建。
本文目标:造一个真正的多任务、多模态(图+文)、多疾病统一模型,用现有数据集拼出来,能跨白血病、疟疾、贫血等做细胞级的综合解读。
切入角度:作者的观察是——不同任务其实需要的是不同「层级/粒度」的特征(分类要全局特征、检测/分割要局部 objectness、图文推理要对齐后的多模态特征),所以与其堆多个专用模型,不如设计一个能在多个层级上提取并按任务条件化特征的融合模块,让视觉与文本两条看似平行的网络在中间交换信息。
核心 idea:用一个 Hema-Former「信息混合」模块,把图像编码器和文本编码器在不同层级的特征做注意力融合,生成不同粒度的特征喂给不同任务头,从而一次联合训练覆盖六类任务、六种疾病。
方法详解¶
整体框架¶
Uni-Hema(记为 \(\mathcal{U}\))是一个图文一体框架,输入一张血液图像 \(I\) 和一段文本提示 \(T\),输出依任务而定(检测框、分类标签、分割掩码、形态学属性、问答句子或补全句子)。它由六大模块构成:图像骨干 \(B\)(ResNet-50 抽多尺度空间特征)、图像编码器 \(E^I\)(六层 DINO 风格自注意力,细化为上下文化视觉嵌入 \(\mathcal{E}^I_E\))、文本编码器 \(E^T\)(T5 base,把疾病类型/形态问题/掩码句编码为 \(\mathcal{E}^T_E\))、图像解码器 \(D^I\)(扩展自 DINO-DETR,产出疾病感知的目标嵌入 \(\mathcal{E}^I_D\))、文本解码器 \(D^T\)(自回归生成答案/句子)、以及核心的 Hema-Former 融合模块 \(\mathcal{H}\)。
视觉支路与文本支路看似平行,真正让信息在两者间流动的是 Hema-Former:它从图文编码器拿不同层级特征,按任务生成对应粒度的融合嵌入——图文问答/掩码建模时做图文对齐,检测/分割时聚焦 token 级 objectness 注意力,像素级分割时把文本嵌入与细粒度骨干特征+图像嵌入结合。融合后的特征再分发到各任务头。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["输入:血液图像 I + 文本提示 T"] --> B["统一数据集与提示构建<br/>46 个数据集 / 提示模板化"]
B --> C["图像支路:ResNet 骨干 + DINO 编码器<br/>多尺度空间特征"]
B --> D["文本支路:T5 编码器<br/>疾病/问题/掩码句嵌入"]
C --> E["Hema-Former 多模态融合<br/>四子模块按任务出不同粒度特征"]
D --> E
E -->|图文推理| F["文本解码器<br/>VQA / 掩码补全"]
E -->|检测/形态| G["图像解码器<br/>检测 + 形态学属性"]
E -->|分割| H["QGMF 掩码生成<br/>二值分割掩码 Y"]
E -->|分类| I["SCFE 单细胞分类<br/>纯视觉全局特征"]
关键设计¶
1. 统一数据集与文本提示构建:把 46 个碎片数据集拼成一个多任务语料
统一模型最大的拦路虎不是网络结构,而是「没有一个覆盖所有任务的基准」。作者把 46 个公开血液学数据集(11 个分割≈222K、17/18 个检测≈84K、16/17 个分类≈380K,共约 70 万图)保留原标注拼到一起,并为检测/分割任务统一生成文本提示模板,形如 "This image is for the detection of <疾病类型> of cells.";问答任务提示以 Q: 开头,掩码语言建模以 mask: 开头,单细胞分类则只用视觉特征、不依赖文本。更关键的是图文数据:他们用 BioMistral-7B 在 WBCAtt 数据集上半合成出单细胞问答对(WBCAtt-VQA,约 22K QA),用 Gemini 1.5 在 LeukemiaAttri 的 FoV 图上结合形态学标注生成掩码句和完整描述句(LeukemiaAttri-MLM,约 7K 掩码样本),并做上下文一致性校验。这样既绕过了「细胞级图文配对极难标注」的瓶颈,又把检测/分割/分类/形态/问答/掩码六类监督信号统一进同一训练语料——之所以有效,是因为统一表征恰恰需要任务多样性来学到可迁移的细胞级特征(论文也注明该图文数据仅供实验、不建议医疗使用)。
2. Hema-Former 四子模块:按任务在不同层级生成不同粒度的融合特征
这是全文核心,针对「不同任务需要不同粒度特征」这一矛盾,用四个可学习子模块把图文编码器的多层级特征按需融合,而不是一刀切地只做一种对齐。
- (a) 跨模态融合 CMF:为图文推理(VQA/MLM)服务。先用可学习查询 \(Q_1\) 对投影后的文本嵌入做交叉注意力,再与投影后的视觉特征 \(P(\mathcal{E}^I_B)\) 融合并归一化,产出语义对齐的多模态嵌入 \(\mathcal{E}^T_W\) 喂给文本解码器:
其中 \(J\) 是前一步文本侧交叉注意力的中间结果。⚠️ 缓存中公式 1/2 的查询符号在 \(Q_1\)/\(Q_2\) 间略有混排,以原文为准。
- (b) 文本引导的视觉细化 TGVR:为检测/分割服务。先按 objectness 从 \(\mathcal{E}^I_E\) 里分离出 Top-K 查询 \(k\),再用投影后的文本嵌入 \(\mathcal{E}^T_E{}'\) 作 key/value、\(k\) 作 query 做交叉注意力,把结果与 \(k\) 拼接再投影,得到疾病引导的解码器查询:
这让 Top-K 目标查询带上「这张图是哪种疾病」的语义,从而区分不同血液病图像、提升定位。
-
(c) 单细胞特征提取 SCFE:为分类服务,且刻意独立于文本输入。把一个可学习查询与图像嵌入的均值拼接后过投影层,得到图像级全局特征 \(\mathcal{E}_Z \in \mathbb{R}^{1\times M}\),专供单细胞分类这种「只看一个细胞、不需要文字」的场景。
-
(d) 查询引导掩码生成器 QGMF:为像素级分割服务,沿用 Mask DINO 思路。把骨干特征 \(F_1\) 与图像嵌入 \(\mathcal{E}^I_E\) 求和融合再投影得 \(G_{\text{proj}}\),把图像解码器的疾病感知目标嵌入 \(\mathcal{E}^I_D\) 过 MLP+转置+投影,二者用爱因斯坦求和 \(\mathcal{S}\) 交互得到分割 logits:
二值分割取第一个嵌入对应的掩码作为最终预测。四个子模块共享同一套编解码器特征、但各自取不同层级/粒度,这正是「一个模型多任务」能成立的关键。
3. 六阶段渐进式训练:先各支路预训练,再逐任务解冻微调
统一模型如果一上来六任务一起端到端训,不同任务梯度会互相打架。作者改用六步串行、冻结-解冻交替的课程式策略:Step 1 在单细胞分类数据上预训练图像骨干+编码器(24 epoch);Step 2 在半合成 MLM/QA 上预训练文本编解码器学医学语境;Step 3 联合训练视觉模块(含 TGVR、SCFE、QGMF)做分类+分割+检测,每任务每 batch 取两图、冻结文本侧与 CMF;Step 4 微调图像解码器做检测+FoV 形态学;Step 5 在完整分割集上微调 QGMF;Step 6 在 VQA+V-MLM 上训练 CMF 与文本解码器、其余冻结。整套约 8 天单卡 RTX 4090。这种「分支先各自学好、再逐头解冻」的安排,让每个子模块在其最相关的数据上收敛,避免多任务早期互相干扰,也是资源受限(单卡)下能训出统一模型的务实选择。
损失函数 / 训练策略¶
检测/形态沿用 DINO-DETR 体系的检测损失,分割用二值掩码监督,分类用单细胞标签监督,文本侧 VQA/MLM 用自回归生成目标;整体不做端到端联合,而是按上述六阶段分头优化。分割上因资源受限没用 SOTA 上采样解码器,Step 3 用简单掩码放大、Step 5 用一个小型可学习上采样器,作者承认这会略损边缘锐度。
实验关键数据¶
主实验(Table 1,单一统一模型 vs 各自单独训练的 SOTA)¶
每个 baseline 都在对应数据集上单独训练,Uni-Hema 只训练一次、不重训不微调即测各任务。
| 任务 | 指标 | 代表数据集 | 最佳 baseline | Uni-Hema |
|---|---|---|---|---|
| 检测 | mAP50 | L 100x C2(白血病) | 38.2(DINO)/36.2(AttriDet) | 45.6 |
| 检测 | mAP50 | H 1000x(疟疾) | 79.8(DINO) | 83.1 |
| 检测 | mAP50 均值 | 12 检测集 | 60.4(DINO)/59.4(YOLO) | 61.1 |
| 单细胞分类 | F1 | BMC(21类淋巴瘤) | 85.0(DinoBloom-S) | 86.2 |
| 单细胞分类 | F1 均值 | Raabin+BMC | 91.5(DinoBloom-S) | 92.5 |
| 分割 | Dice | Elsafty(贫血) | 99.5(TransNetR) | 99.9 |
| 分割 | Dice 均值 | 6 分割集 | 93.7(TransNetR) | 91.7 |
| 形态学(FoV) | F1 均值 | LeukemiaAttri 4 集 | 62.6(AttriDet) | 77.2 |
| 单细胞 VQA | BLEU-4 | WBCAtt-VQA | — | 56.4 |
| 掩码语言建模 | BLEU-4 | LeukemiaAttri-MLM | — | 79.8 |
关键观感:在检测/分类/形态学上几乎全面追平或反超逐数据集训练的专用模型,形态学 FoV 提升尤其大(均值 62.6→77.2);分割 Dice 均值略低于 TransNetR(93.7→91.7),作者归因于用了简化上采样而非 SOTA 解码器。
跨域泛化(Table 2,未见数据集)¶
| 任务 | 指标 | 数据集 | 最佳 baseline | Uni-Hema |
|---|---|---|---|---|
| 分类 | F1 均值 | 4 个未见集 | 89.9(DinoBloom-S) | 90.8 |
| 分类 | F1 | C-NMC(白血病) | 71.0(Dinov2-S) | 72.8 |
| 检测 | mAP50 | Malaria | — | 78.5 |
| 分割 | Dice | BBBC041Seg | — | 86.2 |
| 单细胞形态 | F1-Macro | WBCAtt | 91.4(Dinov3-S) | 91.6 |
即使在训练时没见过的数据集上,统一模型仍保持优势,说明多任务联合学到的表征有跨域可迁移性。
消融实验¶
| 配置 | 数据集 | 关键指标 | 说明 |
|---|---|---|---|
| 仅 SCFE 特征 | Acevedo | 97.9% | 单细胞特征 |
| + 骨干特征融合 | Acevedo | 98.1% | 骨干+SCFE 联合 |
| 仅 SCFE 特征 | C-NMC | 68.8% | 单细胞特征 |
| + 骨干特征融合 | C-NMC | 72.8% | 难数据集上提升明显 |
| 简单插值上采样 | AneRBC-Anemic | 91.8% | 分割基线 |
| + 小型可学习上采样器 | AneRBC-Anemic | 93.4% | Dice 提升 |
| 简单插值上采样 | AneRBC-Healthy | 92.8% | 分割基线 |
| + 小型可学习上采样器 | AneRBC-Healthy | 94.1% | Dice 提升 |
关键发现¶
- 多任务联合训练在多数任务上是净增益:检测、分类、形态学一次训练即超单任务 SOTA,验证「不同任务的表征互相受益」的核心假设;形态学 FoV 提升最大(+14.6 F1)。
- 样本极少的数据集是反例:镰刀型细胞、疟原虫检测样本太少,混进大语料后反而学不到数据集特有模式(如 Sickle Cell 67.0 < DINO 73.6),说明统一训练对极小样本任务有稀释效应。
- 分割是短板:受限于简化上采样,Dice 均值略逊 TransNetR;消融证明换上小型可学习上采样器能稳定回血(+1.3~1.6 Dice)。
- 骨干+SCFE 特征融合在难分类集上增益更大:易集(Acevedo)仅 +0.2%,难集(C-NMC)+4.0%,说明全局+单细胞特征互补在困难样本上更有价值。
亮点与洞察¶
- 「不同任务需要不同粒度特征」落到具体子模块:Hema-Former 的四个子模块(CMF/TGVR/SCFE/QGMF)分别对应图文推理、检测、分类、分割四种粒度,比单一融合策略更贴合多任务,是可复用的设计范式——做任何多任务统一模型都能借鉴「按任务出不同粒度特征」这一点。
- 半合成图文数据绕过标注瓶颈:用 BioMistral/Gemini 把已有形态学标注「翻译」成 QA 和掩码句,低成本造出 22K QA + 7K MLM 的图文语料,是数据稀缺领域很实用的 trick。
- 资源受限下的务实工程:单卡 RTX 4090 训 8 天、用六阶段冻结-解冻而非端到端,证明统一多任务模型不一定要大算力,课程式分头训练是穷人版替代方案。
- 最「啊哈」处:一个模型一次训练,在 12 个检测集、多个分类/分割/形态/图文任务上全面对标逐数据集专用 SOTA,且在未见数据集上仍领先——把「血液病理碎片化数据」真正拼成了统一基准。
局限与展望¶
- 分割精度受简化上采样拖累:作者承认用简单掩码放大牺牲了边缘锐度,Dice 均值低于 TransNetR;换 SOTA 上采样解码器有望补齐。
- 极小样本任务被稀释:镰刀型细胞、疟原虫等少样本检测在统一训练下反而掉点,缺一个针对长尾任务的重加权或采样策略。
- 图文数据是半合成的:QA/MLM 由 LLM 从形态标注生成、仅供实验、明确不建议医疗使用,临床可用性存疑;真实临床图文标注仍是缺口。
- 六阶段训练较繁琐:冻结-解冻顺序、各阶段 epoch 都是手工编排,迁移到新任务需重新设计课程,自动化程度低。
- 未与端到端联合训练对比:没给出「六阶段 vs 一次性联合训练」的消融,渐进式策略的必要性缺直接证据。
相关工作与启发¶
- vs 单任务/单病模型(AttriDet、LeukemiaAttri、CelloType):它们做双任务或单病多任务但仍绑死单数据集;Uni-Hema 跨 46 数据集、六任务、六疾病统一训练,形态学上直接超 AttriDet(62.6→77.2 F1)。
- vs 病理基础模型(UNI、PFM、CONCH、TransPath):它们为低倍率实体组织 WSI 的图文检索优化,缺细粒度细胞理解、也搞不定检测/分割;Uni-Hema 面向 40×/100× 细胞级、且原生支持视觉中心任务。
- vs 单细胞血液学基础模型(DinoBloom、RedDino、MedSAM):它们只会单细胞、缺多模态推理;Uni-Hema 用 SCFE 单细胞分类追平/超过 DinoBloom(均值 91.5→92.5 F1),同时还能做 FoV 多细胞检测与图文推理。
- vs 通用统一模型(Uni-Perceiver v2、DINO-X、Uni-3DL):它们在通用域做模态无关统一,但医学域统一架构仍稀缺;本文把统一范式真正落到血液病理这一细分医学场景。
评分¶
- 新颖性: ⭐⭐⭐⭐ 首个血液病理统一视觉语言模型,Hema-Former 四子模块按粒度融合是有价值的新设计,但单元件多沿用 DINO/Mask DINO/T5。
- 实验充分度: ⭐⭐⭐⭐ 46 数据集、六任务、含未见集泛化与消融,覆盖面广;但消融偏少、缺端到端对比、分割短板未深究。
- 写作质量: ⭐⭐⭐ 动机与架构讲得清楚,但公式排版(缓存中 LaTeX 有损)、子模块命名缩写(TGVR/TGR)前后不一,略增阅读成本。
- 价值: ⭐⭐⭐⭐ 把碎片化血液病理数据拼成统一基准、单卡可训、代码开源,对资源受限的医学 AI 落地很实用。