# 04 - 方法框架：MedGenSeg / MedGenVision

## 方法总览

推荐方法名：**MedGenSeg** 或 **MedGenVision**。

基本形式：

\[
(I, t, c) \rightarrow Y
\]

其中：

- \(I\)：医学图像，可以是 2D slice、2.5D stack、三视图 patch 或 3D volume；
- \(t\)：文本提示，例如 “liver tumor”、“left kidney”、“pancreatic lesion”；
- \(c\)：颜色或结构编码 schema；
- \(Y\)：生成式输出图，例如 RGB mask、uncertainty map、depth map 或 structure map；
- 解码器将 \(Y\) 转换成医学结构结果：mask、contour、surface、volume、存在概率。

## 模型结构建议

### 1. 图像条件生成 backbone

可选路线：

- 开源 image-editing diffusion backbone；
- medical diffusion backbone；
- latent diffusion + ControlNet 风格医学图像条件输入；
- 图像生成模型 + LoRA / adapter；
- 若能访问强闭源模型，则仅作为上界或零样本对照，不作为唯一可复现方案。

第一篇论文建议采用可复现开源 backbone，避免审稿人质疑不可复现。

### 2. 医学文本提示编码器

医学 prompt 建议采用“自由文本 + 受控词表”的混合方式。

示例：

```json
{
  "target": "liver tumor",
  "anatomy": "liver",
  "output_color": "#FFFF00",
  "background": "#000000",
  "task": "segmentation",
  "allow_empty": true
}
```

这样可以减少医学语义歧义，并支持自动构造训练样本。

### 3. 可解码输出 codec

输出不应只是“看起来像 mask 的图”，而应可严格解码。

#### 离散结构输出

模型输出 RGB 结构图。对每个像素/体素：

\[
\hat{M}(x)=\arg\min_k ||Y_{rgb}(x)-c_k||
\]

其中 \(c_k\) 是目标类别颜色。

#### 多目标结构输出

多个器官或病灶可以通过 palette 编码：

- background = black；
- liver = red；
- spleen = green；
- kidney = blue；
- tumor = yellow。

#### 实例输出

病理细胞核、结节或多发病灶可用不同颜色表示不同实例，然后通过颜色聚类、连通域分析和边界后处理得到 instance masks。

### 4. 目标不存在建模

医学中必须支持 empty target。

建议输出：

- empty mask；
- existence probability \(p_{exist}\)；
- failure / low-confidence flag；
- false-positive volume control。

训练时应显式包含 negative prompts，例如：

- 正常病例中提示 “tumor”；
- 某切片中提示不存在器官；
- 跨模态不可能目标，例如脑 MRI 中提示 “spleen”。

### 5. 不确定性估计

生成模型可以多次采样：

\[
\{Y^{(1)},Y^{(2)},...,Y^{(N)}\}
\]

解码得到多个 masks 后计算：

- 像素/体素级 entropy；
- mask variance；
- pairwise Dice disagreement；
- boundary uncertainty；
- volume uncertainty。

研究重点：不确定性是否能预测错误病例和错误区域。

### 6. 3D 一致性策略

至少建议实现一种 3D 一致性机制：

- **2.5D 输入**：当前 slice + 前后 k 张切片；
- **Tri-plane view**：axial / coronal / sagittal 三视图预测后融合；
- **Cross-slice consistency loss**：相邻切片预测保持平滑；
- **Surface consistency**：约束分割表面连续；
- **Volume fusion**：三视图概率或 mask 投票融合。

## 损失函数建议

整体训练目标可写为：

\[
L = L_{gen} + \lambda_1 L_{dice} + \lambda_2 L_{ce} + \lambda_3 L_{palette} + \lambda_4 L_{3D} + \lambda_5 L_{exist} + \lambda_6 L_{boundary}
\]

各项含义：

- \(L_{gen}\)：扩散/生成训练损失；
- \(L_{dice}\)、\(L_{ce}\)：解码 mask 的监督损失；
- \(L_{palette}\)：约束输出颜色靠近指定 palette；
- \(L_{3D}\)：跨切片或三视图一致性；
- \(L_{exist}\)：目标是否存在；
- \(L_{boundary}\)：边界和表面距离相关损失。

## 关键消融实验

1. 无医学 instruction tuning；
2. 无 palette regularization；
3. 无 3D consistency；
4. 无 negative prompts；
5. 无 uncertainty sampling；
6. RGB codec vs multi-channel numeric codec；
7. 2D slice vs 2.5D vs tri-plane。

## 方法创新点总结

- 把医学分割重新表述为可解码生成任务；
- 将文本提示、医学术语和结构化输出 schema 结合；
- 对 3D 医学体数据加入一致性约束；
- 显式处理目标不存在；
- 利用生成采样提供不确定性估计。
