医疗影像分析与遥感

一、医疗影像分析 ⭐

1.1 影像模态

模态 全称 特点 常见任务
CT Computed Tomography 3D X光断层,高分辨率骨骼 器官分割、病灶检测
MRI Magnetic Resonance Imaging 软组织结构清晰 脑肿瘤分割、病变检测
X-Ray X射线 2D、快、便宜 肺炎/骨折检测
Ultrasound 超声 实时、无辐射 胎儿检查、心脏
病理切片WSI Whole Slide Image 十亿像素级 病理诊断
Retinal Fundus 眼底照相 视网膜血管 糖尿病视网膜病变

1.2 核心任务

任务 说明 典型方法 数据集
器官/病灶分割 像素级标注 nnUNet, TransUNet KiTS, LiTS
疾病分类 全图/ROI分类 ResNet, EfficientNet ChestXray14
病灶检测 定位病变位置 YOLO, RetinaNet LUNA16
图像配准 多模态对齐 VoxelMorph -
超分辨率 提高图像质量 SRGAN -
报告生成 影像→文本报告 多模态VLM MIMIC-CXR

1.3 nnUNet ⭐

自适应框架: 根据数据集自动配置网络

复制代码
1. 分析数据集统计信息(spacing/intensity/class frequencies)
2. 自动选择3D/2D U-Net + 配置
3. 自动Patch大小/批大小/学习率
4. 集成5折交叉验证
5. 测试时增强

结果: 在10+医学分割任务中SOTA

1.4 医疗影像挑战

挑战 说明
数据量小 标注成本极高
类别不平衡 病灶远小于背景
跨模态 CT/MRI/X-Ray/Micro不同
隐私保护 HIPAA/GDPR合规
可解释性 临床需要理由
3D数据 内存/计算需求大

1.5 常用数据集

数据集 任务 规模
LiTS (肝肿瘤) 分割 201个CT
KiTS (肾脏) 分割 300个CT
BraTS (脑肿瘤) 分割 1251个MRI
ChestX-ray14 分类 112K X光
MIMIC-CXR 报告生成 377K 影像
PANDA (前列腺) 分级 12K病理
ISIC (皮肤) 分类 23K 皮肤镜

二、遥感与卫星图像

2.1 任务

任务 说明
目标检测 飞机/舰船/车辆检测
场景分类 城市/森林/农田/水域
变化检测 随时间的变化
语义分割 土地覆盖分类
目标计数 车辆/建筑计数
超分辨率 提高卫星图分辨率

2.2 遥感特点

特性 说明
多光谱 RGB+NIR+SWIR+...
旋转方向任意 需要旋转不变性
尺度巨大 30000×30000+ 像素
小目标密集 道路/车辆/建筑
大角度视角 非水平视角

2.3 遥感数据集

数据集 任务 规模
DOTA 旋转目标检测 280K inst
xView 目标检测 1M inst
DeepGlobe 分割/分类 多任务
LoveDA 语义分割 5K (城市/乡村)
ISPRS Potsdam 城市分割 38张高分辨率
FAIR1M 旋转检测 1M inst
python 复制代码
# 旋转框检测 (DOTA数据集需要)
# 输出: (x, y, w, h, θ) 带角度的Bbox
# 常用: RoI Transformer, Oriented R-CNN, S2ANet
# 框架: MMROTATE (OpenMMLab)

📺 推荐视频

  • 医学图像深度学习入门: YouTube/B站
  • nnUNet教程: B站搜索
  • 遥感目标检测: B站搜索 "旋转目标检测"

📚 推荐论文

领域 论文 年份
医学 nnUNet: Self-adapting Framework 2020
医学 CheXNet (肺炎分类) 2017
医学 TransUNet 2021
遥感 DOTA (旋转检测数据集) 2017
遥感 ReDet (旋转不变检测) 2021
医学 MedSAM (SAM医学版) 2023

🔗 资源链接


附录:深层补充

一、nnUNet 详解

1.1 自适应框架的三步 Pipeline

nnUNet(no-new-Net)的理念:不需要手动调参,框架根据数据集自动配置一切

Step 1:数据指纹提取(Dataset Fingerprint)

分析训练集的统计信息:

  • 空间属性(spacing):CT 体素间距(如 0.7mm × 0.7mm × 1.5mm),决定 anisotropic 程度
  • 强度属性(intensity):全局均值、标准差、上下 0.5 百分位数、模态(CT/MRI 等)
  • 尺寸属性(size):所有病例的 3D 形状分布(最大/最小/中位数 patch 尺寸)
  • 类别属性(class):类别数目、每类的体素数量(类别频率)

Step 2:Pipeline 配置(自动规则引擎)

基于指纹自动推导:

参数 自动推导逻辑
架构选择 3D UNet vs 2D UNet vs 3D+2D 级联
Patch 大小 根据显存约束最大化 patch size(常选择训练集中值)
Batch 大小 由 patch size 和显存反向推导(默认从2往下调整)
下采样策略 根据 spacing 的 anisotropic 程度决定各轴下采样次数
强度归一化 CT 用全局 z-score(来自1000个随机采样体素),MRI 用局部 z-score
数据增强 固定增强策略(旋转、缩放、弹性变形、Gamma校正、镜像)
损失函数 Dice + CE 损失组合
学习率 基于 batch size 和 patch size 的经验公式: l r = 0.01 × ( b a t c h / 2 ) lr = 0.01 \times (batch/2) lr=0.01×(batch/2)
训练策略 5折交叉验证 + 1000 epochs(每 epoch 250个 mini-batch)
后处理 自动检测是否需要移除孤立的预测区域(连通域分析)

Step 3:模型训练与集成

  • 5折交叉验证训练 5 个模型
  • 测试时:5 个模型的预测结果取软投票(soft voting)平均
  • 对于 3D 大 patch 的 GPU 限制:随机采样若干 3D patch 并用 patch 预测拼接
  • 测试时增强(Test-time Augmentation, TTA):翻转 + 缩放
1.2 nnUNet 为何持续领先

nnUNet 在医学分割竞赛中长期霸榜的原因:

  1. 自动搜索优于多数手动调参:医学数据的多样性极大,手动针对每个数据集调参不现实
  2. 朴实但有效的架构:UNet 多层跳跃连接天然适合逐级细化的医学分割
  3. 合理的 patch 策略:patch size 最大化策略保证模型能看到足够大的局部上下文
  4. 5 折集成:医学数据量小,集成显著提升泛化性
  5. 强大的数据增强:尤其弹性变形对器官变形建模很重要
  6. 精确的 normalization:CT 的强度值本身有物理意义(Hounsfield Unit),正确的归一化至关重要

二、医学分割的特殊挑战

2.1 数据量小与迁移学习

医学分割数据标注成本是通用的 10-100 倍(需要有资质的医生),导致数据量通常只有几十到几百个病例。

迁移学习策略

  • ImageNet 预训练:对 2D 切片有效(如 CheXNet),但对 3D 数据挑战大
  • 自监督预训练:SimCLR / MAE 在医学数据上预训练编码器,再用少量标注数据微调
  • 领域特定预训练:使用其他医学数据集(如 RadImageNet、CT-ORG)预训练
  • 跨模态微调:CT→MRI 的特征适配(如对抗域自适应)
2.2 标注噪声与软标签

医学标注存在显著 inter-rater variability(阅片者间差异),有时专家之间标注的 Dice 仅为 0.7-0.8。

置信度学习(Confidence Learning)

  • 估计每个标注的噪声概率( P ^ ( y = y ~ ∣ x ) \hat{P}(y=\tilde{y}|x) P^(y=y~∣x) 标注相对于真实标签的可信度)
  • 使用 Prune by Class (PBC) 等技术剔除低置信度样本

软标签(Soft Label)

  • 当有多名医生的标注时,取平均概率图作为训练目标
  • 单个医生的标注 + 使用多尺度高斯模糊生成软边界

损失函数的适配

  • 使用 L1 损失替代 CE 损失(对标签噪声更鲁棒)
  • 基于互信息的噪声适应损失: L n o i s e = − ∑ log ⁡ P ( y ~ = y ) P ( y ∣ x ) \mathcal{L}_{noise} = -\sum \log P(\tilde{y}=y) P(y|x) Lnoise=−∑logP(y~=y)P(y∣x)
2.3 类别严重不平衡与复合损失

病灶体素通常仅占全图的 0.1%-5%,类别极度不平衡。

复合损失函数

L = α ⋅ L D i c e + β ⋅ L C E \mathcal{L} = \alpha \cdot \mathcal{L}{Dice} + \beta \cdot \mathcal{L}{CE} L=α⋅LDice+β⋅LCE

  • L D i c e = 1 − 2 ∑ p i g i + ϵ ∑ p i + ∑ g i + ϵ \mathcal{L}_{Dice} = 1 - \frac{2\sum p_i g_i + \epsilon}{\sum p_i + \sum g_i + \epsilon} LDice=1−∑pi+∑gi+ϵ2∑pigi+ϵ:关注区域重合度,不受背景干扰
  • L C E = − ∑ g i log ⁡ p i \mathcal{L}_{CE} = -\sum g_i \log p_i LCE=−∑gilogpi:提供像素级梯度信号

进阶损失

  • Tversky Loss:对假阳/假阴施加不等权重
  • Focal Tversky Loss : L F T = ( 1 − Tversky ) γ \mathcal{L}_{FT} = (1 - \text{Tversky})^{\gamma} LFT=(1−Tversky)γ,聚焦难分样本
  • Boundary Loss:基于距离变换,关注边界精度
2.4 3D 数据的高计算需求
挑战 后果 解决方案
3D 体素数量大 batch size 只能设为 1-2 Gradient Accumulation
3D 卷积计算量大 训练时间长 混合精度 (AMP)
标注尺寸大(如 512×512×500) GPU 装不下 Patch-wise 训练 + 滑动窗口推理
anisotropic spacing 各轴分辨率不一致 插值为 isotropic 或使用各向异性卷积

Patch-wise 训练

  • 从 3D 体积中随机裁剪固定大小的 3D patch(如 128×128×128)
  • 训练时:随机采样,确保包含病灶区域(正样本采样策略)
  • 推理时:滑动窗口(stride = patch/2)重叠预测,重叠区域取平均

三、医疗大模型进展

3.1 MedSAM(Medical SAM)

MedSAM 将 SAM 微调到医学领域,核心改动:

  • 在全科医学图像上 fine-tune(CT/MRI/超声/X 光/病理等 11 种模态)
  • 训练数据:超过 100 万对(医学图像 + 医生标注的 mask)
  • 微调策略:固定 Image Encoder(ViT),只训练 Mask Decoder + prompt encoder
  • 支持 2D 和 3D(slice-by-slice 推理 + 体素一致性约束)
  • 自动提示生成(Automatic Prompt Generation):网格采样 + 前景 saliency 生成建议点
3.2 RadImageNet 大规模医学预训练

RadImageNet 是 CT/MRI/超声的多模态预训练数据集(超过 130 万张影像),使用 ResNet-50/152 和 EfficientNet 在 4 万+ 医学概念上预训练。

与 ImageNet 预训练的对比

  • ImageNet 的 3 通道 RGB 空间: μ = 0.485 , 0.456 , 0.406 , σ = 0.229 , 0.224 , 0.225 \mu = 0.485, 0.456, 0.406, \sigma = 0.229, 0.224, 0.225 μ=0.485,0.456,0.406,σ=0.229,0.224,0.225
  • RadImageNet 的医学图像空间:单通道/多通道 CT 窗宽窗位调整后的 intensity 归一化
  • 医学下游任务上 RadImageNet 预训练比 ImageNet 预训练提升 3-8% AUC
3.3 病理大模型(CTransPath / REMP)

病理图像 WSI(Whole Slide Image)尺寸可达 10 5 × 10 5 10^5 \times 10^5 105×105 像素,需要特殊的 patch 化策略:

  • CTransPath:将病理图像切分为 224×224 patch,在 15K+ 病理数据上用 MoCo 自监督预训练 CNN + Transformer 混合编码器
  • REMP(Region Embedding with Multi-modal Pretraining):利用病理报告文本辅助病理图像的自监督学习,实现图文对齐
3.4 报告生成(CLIP-driven 方法)

医学报告生成是将影像(如 X 光、CT)自动转化为结构化诊断文本。

CLIP-driven 框架

  1. 图像编码器:ResNet / ViT 提取医学影像特征
  2. 文本编码器:BioBERT / PubMedBERT 编码诊断报告
  3. 对比学习:在同一患者的影像-报告对上做对比学习
  4. 报告生成:使用 Transformer decoder 在 CLIP 视觉特征条件下生成文本

代表性工作

  • R2Gen:基于 Transformer 的放射报告生成
  • CXR-LLaVA:基于 LLaVA 的多模态 chest X-ray 对话系统
  • MAIRA:Microsoft 的多模态胸部 X 光报告生成

四、遥感目标检测

4.1 旋转目标检测

遥感图像中的目标(飞机、舰船)具有任意朝向,水平框(HBB)会包含大量背景、导致 NMS 误抑制问题。

旋转框表示法

常用 5 参数表示法: ( x , y , w , h , θ ) (x, y, w, h, \theta) (x,y,w,h,θ)

  • x , y x, y x,y:中心点坐标
  • w , h w, h w,h:长边和短边
  • θ ∈ [ − 90 ° , 0 ° ) \theta \in [-90\degree, 0\degree) θ∈[−90°,0°)(OpenCV 定义)或 ∈ [ − 180 ° , 180 ° ) \in [-180\degree, 180\degree) ∈[−180°,180°)(长边定义)

角度回归的边界问题 :角度 θ \theta θ 是周期性变量, 0 ° 0\degree 0° 和 − 90 ° -90\degree −90° 实际表示相同方向,但数值差异极大,导致回归不稳定。

解决方案

  • Smooth L1 + 角度周期损失

    L r e g = SmoothL1 ( θ , θ ^ ) + λ ⋅ circular ( θ − θ ^ ) \mathcal{L}_{reg} = \text{SmoothL1}(\theta, \hat{\theta}) + \lambda \cdot \text{circular}(\theta - \hat{\theta}) Lreg=SmoothL1(θ,θ^)+λ⋅circular(θ−θ^)

  • 基于 GWD/KLD 的旋转 IoU 近似(Gaussian Wasserstein Distance):将旋转框建模为 2D 高斯分布,计算分布间的距离

方法 旋转检测方式 特点
RoI Transformer RoI warping + 旋转 RoI 精调 Two-stage,先 HBB 再旋转精调
S2ANet 对齐卷积(AlignConv) 单级 + 特征对齐
Oriented R-CNN 旋转 RPN Two-stage 直接旋转
ReDet 旋转等变网络 旋转不变特征提取
4.2 遥感独特问题
问题 具体表现 缓解策略
大尺度变化 同一类目标尺寸可差 10× FPN + 多尺度训练测试
密集排列 飞机场/港口大量密集目标 软化 NMS,引入 repulsion loss
小目标 远景车辆仅数十像素 超分辨率重建 + 注意力放大
类间相似性 立交桥 vs 普通路面 上下文感知(大感受野 + 场景理解)
朝向多样化 任意角度分布 旋转框 + 角度增强
4.3 多尺度检测策略

Feature Pyramid Network (FPN) 在遥感中的适配:

  • 遥感中目标尺度范围极宽(从几像素到几千像素)
  • 需要 FPN 的 P2-P6 多级特征(相对通用检测的 P3-P5)
  • 不同 level 的 anchor 分配:P3 对应小目标,P6 对应大目标

可变形卷积(Deformable Conv)

  • 标准卷积是规则网格采样,对旋转/形变目标效率低
  • 可变形卷积 y ( p 0 ) = ∑ p n ∈ R w ( p n ) ⋅ x ( p 0 + p n + Δ p n ) y(p_0) = \sum_{p_n \in \mathcal{R}} w(p_n) \cdot x(p_0 + p_n + \Delta p_n) y(p0)=∑pn∈Rw(pn)⋅x(p0+pn+Δpn) 自适应偏移
  • 偏移 Δ p n \Delta p_n Δpn 通过额外分支学习,受目标形状引导

五、遥感图像分割

5.1 遥感语义分割

遥感语义分割每像素分配土地覆盖类别(建筑/道路/植被/水体/裸地)。

DeepLabV3+ 的遥感适配

  • 使用空洞空间金字塔池化(ASPP)捕获多尺度上下文:
    • rate = 6 , 12 , 18 \text{rate}=6,12,18 rate=6,12,18 的空洞卷积处理不同尺度建筑
    • Image Pooling 捕获全局场景类别
  • Encoder-Decoder 结构恢复边缘细节(道路的细长边缘)

SegFormer 的遥感适配

  • 层次化 Transformer 编码器(Mit-B0 到 Mit-B5)
  • 重叠 patch merging 减少分辨率损失
  • MLP 解码器避免了复杂的 ASPP 结构,对大尺度遥感图更高效
5.2 遥感变化检测

变化检测的目标:对比同一区域的双时相图像,检测发生变化的位置。

孪生网络(Siamese Network)设计

F t 1 = f θ ( I t 1 ) , F t 2 = f θ ( I t 2 ) \mathbf{F}{t1} = f\theta(\mathbf{I}{t1}), \quad \mathbf{F}{t2} = f_\theta(\mathbf{I}_{t2}) Ft1=fθ(It1),Ft2=fθ(It2)

变化检测的三种范式

  1. 早期对比(Early Difference)

    D = ∣ F t 1 − F t 2 ∣ \mathbf{D} = |\mathbf{F}{t1} - \mathbf{F}{t2}| D=∣Ft1−Ft2∣,然后对差异图做分割

    • 简单快速,对光照变化敏感
  2. 孪生编码 + 差异解码(Siamese + Difference Decoder)

    双流共享权重编码,特征差异输入解码器

    • 代表性:ChangeNetBIT(用 Transformer 建模双时相全局关系)
  3. 双时相 Transformer(Bitemporal Transformer)

    • 将 F t 1 \mathbf{F}{t1} Ft1 和 F t 2 \mathbf{F}{t2} Ft2 的 token 拼接,用自注意力捕获双时相的像素级对应
    • BIT(Bitemporal Image Transformer):对双时相 token 做 cross-attention
    • ChangeFormer:Swin Transformer + MLP decoder

变化检测的评估指标

F1 = 2 TP 2 TP + FP + FN , IoU c h a n g e = TP TP + FP + FN \text{F1} = \frac{2\text{TP}}{2\text{TP} + \text{FP} + \text{FN}}, \quad \text{IoU}_{change} = \frac{\text{TP}}{\text{TP} + \text{FP} + \text{FN}} F1=2TP+FP+FN2TP,IoUchange=TP+FP+FNTP

5.3 超分辨率重建

遥感超分辨率将低分辨率卫星图(如 30m/pixel)重建为高分辨率(如 5m/pixel)。

退化模型

I L R = ( I H R ⊗ k ) ↓ s + n \mathbf{I}{LR} = (\mathbf{I}{HR} \otimes k) \downarrow_s + n ILR=(IHR⊗k)↓s+n

  • k k k:模糊核(高斯模糊 / 运动模糊)
  • ↓ s \downarrow_s ↓s:下采样因子(通常 2-8×)
  • n n n:加性噪声

经典方法

  • SRCNN:3层卷积端到端映射
  • ESPCN:亚像素卷积(sub-pixel conv)实现高效上采样
  • RCAN / HANet:残差注意力网络

对遥感图的挑战

  • 遥感图像的低分辨率退化未知(模糊核、噪声水平不同)
  • 盲超分辨率(Blind SR)------同时估计退化参数并重建
  • 跨传感器超分:从 Sentinel-2(10m)重建为类似 WorldView-3(0.3m)的分辨率------但无配对的 ground truth,需要使用无监督/循环一致性方法(CycleGAN)
相关推荐
电子科技圈1 小时前
第二代无线平台历久弥新,赋能物联网创新迭代
人工智能·嵌入式硬件·mcu·物联网·设计模式·硬件架构·iot
东坡肘子1 小时前
不是模型变慢了,是任务变大了 -- 肘子的 Swift 周报 #146
人工智能·swiftui·swift
xexpertS1 小时前
不稳定测试治理:如何通过自动检测与自动抑制提升 CI 稳定性
人工智能·自动化
小程故事多_801 小时前
Graph Engineering,重构AI智能体协作的底层逻辑,让复杂任务高效落地
人工智能·重构
宸津-代码粉碎机1 小时前
Jar热部署进阶实战|修复原生方案OOM与类冲突问题,生产级无BUG优化方案
java·大数据·服务器·开发语言·前端·人工智能·python
咖啡星人k1 小时前
AI 编程工具集体变脸:Cursor 漏洞、TRAE 限额、Claude Code 数据收集风波
人工智能·安全·microsoft·cursor·trae·ai编程工具
凡人AI录2 小时前
GPT-5.6 正式发布:Codex 并入 ChatGPT,额度与模型体系全面调整
人工智能·gpt·chatgpt
墨舟的AI笔记2 小时前
组件级响应式的破局:CSS 容器查询的工程落地与取舍
人工智能
Molesidy2 小时前
【AI】【ChatGPT】【Codex】codex桌面版的插件(MCP)和技能(skills)的安装和应用
人工智能·codex·ai agent