许可证: 其他
语言:
- 英语
标签:
- 组织学
- 病理学
- 视觉
- PyTorch
- 自监督学习
- ViT
评估指标:
- 准确率
- ROC曲线下面积
- F1分数
流水线标签: 图像特征提取
库名称: transformers
Phikon-v2模型卡
Phikon-v2是基于Dinov2自监督方法在PANCAN-XL数据集上预训练的Vision Transformer Large模型。PANCAN-XL包含从6万张全切片图像中采样的4.5亿张20倍放大组织学图像,仅整合了公开数据集:恶性组织来自CPTAC(6,193张WSI)和TCGA(29,502张WSI),正常组织来自GTEx(13,302张WSI)。
Phikon-v2在面向生物标志物发现的多种弱监督任务上,较我们此前基于TCGA(6千张WSI)40M组织学图像通过iBOT预训练的Phikon基础模型有所提升。模型在外部队列中进行评估以避免与PANCAN-XL预训练数据集的数据污染,并与全面的表征学习和基础模型进行基准对比。
模型描述
- 开发机构: Owkin公司
- 模型类型: 预训练视觉骨干网络(基于DINOv2的ViT-L/16)
- 预训练数据集: PANCAN-XL,源自公开组织学数据库(TCGA、CPTAC、GTEx、TCIA等)
- 论文: Arxiv
- 许可证: Owkin非商业许可
使用指南(特征提取)
以下代码片段展示如何使用Phikon-v2提取组织学图像特征(CLS令牌)。这些特征可用于下游应用,如ROI分类(通过线性或KNN探测)、切片分类(通过多实例学习)、分割(通过ViT-Adapter等)。
from PIL import Image
import torch
from transformers import AutoImageProcessor, AutoModel
image = Image.open(
requests.get(
"https://github.com/owkin/HistoSSLscaling/blob/main/assets/example.tif?raw=true",
stream=True
).raw
)
processor = AutoImageProcessor.from_pretrained("owkin/phikon-v2")
model = AutoModel.from_pretrained("owkin/phikon-v2")
model.eval()
inputs = processor(image, return_tensors="pt")
with torch.inference_mode():
outputs = model(**inputs)
features = outputs.last_hidden_state[:, 0, :]
assert features.shape == (1, 1024)
直接使用(基于预提取冻结特征)
Phikon-v2可在微调或不微调的情况下用于不同下游应用,例如结合ABMIL等多实例学习算法进行切片分类。
下游应用(微调)
可在图块级下游任务上微调模型。此Colab笔记本支持通过huggingface API使用LoRa微调Phikon和Phikon-v2。
训练详情
- 训练数据: PANCAN-XL,包含456,060,584张20倍分辨率[224×224]组织学图像,采样自6万张H&E染色WSI
- 训练方案: 使用PyTorch-FSDP混合精度的fp16训练
- 训练目标: 采用DINOv2自监督方案,包含以下损失函数:
- 带多裁剪的DINO自蒸馏损失
- iBOT掩码图像建模损失
- [CLS]令牌的KoLeo正则化
- 训练时长: 100,000次迭代,批次大小4,096
- 模型架构: ViT-Large(3亿参数):16×16分块,1024维嵌入,16个头,MLP前馈网络
- 硬件配置: 32×4 NVIDIA V100 32GB
- 训练耗时: 约4,300 GPU小时(总计33小时)
- 平台: 法国Jean-Zay超级计算集群
软件依赖
Python包
- torch>=2.0.0: https://pytorch.org
- torchvision>=0.15.0: https://pytorch.org/vision/stable/index.html
- xformers>=0.0.18: https://github.com/facebookresearch/xformers
代码库
- DINOv2(自监督学习): https://github.com/facebookresearch/dinov2
联系方式
如有问题请联系Alexandre Filiot(alexandre.filiot@owkin.com)。
引用方式
@misc{filiot2024phikonv2largepublicfeature,
title={Phikon-v2, A large and public feature extractor for biomarker prediction},
author={Alexandre Filiot and Paul Jacob and Alice Mac Kain and Charlie Saillard},
year={2024},
eprint={2409.09173},
archivePrefix={arXiv},
primaryClass={eess.IV},
url={https://arxiv.org/abs/2409.09173},
}
致谢
感谢DINOv2作者的杰出贡献[1]。
计算资源
本研究使用GENCI分配的IDRIS HPC资源(编号2023-A0141012519)。
数据集
部分结果基于TCGA研究网络生成的数据:https://www.cancer.gov/tcga。
基因型-组织表达(GTEx)项目由美国国立卫生研究院共同基金及NCI、NHGRI、NHLBI、NIDA、NIMH和NINDS支持。分析所用数据于2023年7月1日从GTEx门户获取。
第三方许可
Vision Transformers架构衍生自[facebookresearch/dino](Apache 2.0许可)、[huggingface/pytorch-image-models](Apache 2.0许可)。
本代码基于[DINOv2]代码库(Apache 2.0许可)。
下表列出Phikon-v2预训练所用数据集的许可信息。
参考文献
(此处保留原文参考文献列表,仅作格式调整)
- Oquab等. (2024). Dinov2: 无监督学习鲁棒视觉特征. arXiv.
- Clark等. (2013). 癌症影像档案(TCIA). Journal of Digital Imaging.
3-29. 各数据集相关文献(略)