论文阅读-MedDINOv3

2025-09-26发布于论文随笔 | 最后更新于2025-09-26 21:09:00

surgical video DINO

arXiv原文链接 MedDINOv3: How to adapt vision foundation models for medical image segmentation?

基本介绍

以DINOv3(ViT-B版本)encoder+Primus decoder为baseline,改进primus的输入,将一些encoder中间层的一些patch token进行聚合作为其输入。另外,由于primus中patch size为8,计算成本高,将其改为与DINOv3统一的16,但是在slice上更密集地取样以实现高分辨率训练

具体方法

和DINOv3一样,采用三个阶段的训练范式,使用来自于16个公共数据集的共386W余片CT数据,将它们重新以0.45mm×0.45mm平面内间距采样。

MedDINOv3训练流程

stage 1

损失和DINOv2中一样,由图像级交叉熵损失\(\mathcal{L}_{\text{DINO}}\)(原图通过学生和教师得到的token之间)、patch级损失\(\mathcal{L}_{\text{iBOT}}\)(随机掩码学生后掩码token和对应教师可见token之间)与KoLeo正则化项(防止同一batch内样本的特征过于集中)构成,梯度更新针对学生,教师通过EMA机制跟随学生缓慢变化:

$$ \begin{aligned} \mathcal{L}_{\text{DINO}} &= - \sum p_t \log p_s\

\mathcal{L}{\text{iBOT}} &= - \sum_i p\} \log p_{si

\mathcal{L}{\text{Koleo}} &= -\frac{1}{n} \sum)\}^{n} \log(d_{n,i

\mathcal{L}{\text{Stage1}} &= \mathcal{L}}} + \mathcal{L{\text{iBOT}} + 0.1 \cdot \mathcal{L} \end{aligned} $$}

stage 2

文章认为,在stage1中,学习的主要是图像层级的特征,而图像层级和patch层级特征关联度不大,使得学习图像层级特征过程中会损害patch层级的特征。因此引入gram anchoring,希望与一个稍早前的模型(称为gram teacher)进行锚定

$$ \begin{aligned} \mathcal{L}_{\text{Gram}} &= \left\| \mathbf{X}_S \cdot \mathbf{X}_S^\top - \mathbf{X}_G \cdot \mathbf{X}_G^\top \right\|_F^2\\ \mathcal{L}_{\text{Stage2}} &= \mathcal{L}_{\text{DINO}} + \mathcal{L}_{\text{iBOT}} + \mathcal{L}_{\text{Koleo}} + 2 \cdot \mathcal{L}_{\text{Gram}} \end{aligned} $$

stage 3

计算过程与stage 2相似,同时引入混合分辨率的local视图和global视图

实验结果

模块消融与结果对比如下:

模块消融

结果对比

patch token有效性可视化:

高分辨率patch可视化

普通分辨率patch可视化