许可证:MIT
微件:
- 图片源:>
https://www.verywellhealth.com/thmb/yCmWnfp16fvO0C7qB2jUUcUq8XY=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/GettyImages-1451577990-07db16e0a41043bc968d5cbf2dbaec83.jpg
候选标签:深色、浅色、不规则形状
示例标题:恶性黑色素瘤
库名称:open_clip
流水线标签:零样本图像分类
WhyLesionCLIP模型卡 👍🏽
目录
- 模型详情
- 快速开始
- 用途
- 训练详情
- 评估
- 引用
模型详情
WhyLesionCLIP能够将皮肤病变图像与文本描述对齐。该模型基于OpenCLIP (ViT-L/14)在ISIC数据集上微调,并利用GPT-4V生成的临床报告。WhyLesionCLIP在多个皮肤病变数据集的零样本和线性探测任务中显著优于PubMedCLIP、BioMedCLIP等模型。(详见评估部分)虽然我们的CLIP模型在精心筛选的数据上表现优异,但训练收敛迅速,表明当前的对比目标可能未充分利用数据信息,可能采取了捷径,例如比较不同患者的图像而非聚焦疾病本身。未来研究应探索更合适的目标和大规模数据收集,以开发更稳健的医学基础模型。
- 论文: https://arxiv.org/pdf/2405.14839
- 网站: https://yueyang1996.github.io/knobo/
- 代码库: https://github.com/YueYANG1996/KnoBo
如何开始使用该模型
使用以下代码快速上手该模型。
pip install open_clip_torch
import torch
from PIL import Image
import open_clip
model, _, preprocess = open_clip.create_model_and_transforms("hf-hub:yyupenn/whylesionclip")
model.eval()
tokenizer = open_clip.get_tokenizer("ViT-L-14")
image = preprocess(Image.open("test_skin.jpg")).unsqueeze(0)
text = tokenizer(["深棕色", "出血", "不规则形状"])
with torch.no_grad(), torch.cuda.amp.autocast():
image_features = model.encode_image(image)
text_features = model.encode_text(text)
image_features /= image_features.norm(dim=-1, keepdim=True)
text_features /= text_features.norm(dim=-1, keepdim=True)
text_probs = (100.0 * image_features @ text_features.T).softmax(dim=-1)
print("标签概率:", text_probs)
用途
根据原始OpenAI CLIP模型卡,该模型旨在作为研究社区的研究输出。我们希望该模型能帮助研究者更好地理解和探索零样本医学图像(皮肤病变)分类。同时,它也可用于跨学科研究此类模型的潜在影响。
直接用途
WhyLesionCLIP可用于零样本皮肤病变分类。您可计算皮肤病变图像与文本描述的相似度。
下游用途
WhyLesionCLIP可作为特征提取器用于下游任务。您可提取皮肤病变图像和文本描述的特征以用于其他任务。
超出范围用途
WhyLesionCLIP不应用于临床诊断或治疗。该模型不适用于任何临床决策。用户(包括直接和下游用户)应了解模型的风险、偏见和局限性。
训练详情
训练数据
我们采用ISIC数据集,并使用GPT-4V为56,590张图像生成临床报告。通过提取医学相关发现(每个以简短术语描述),我们共整合了438K图像-文本对用于训练WhyLesionCLIP。
训练细节
我们使用OpenCLIP的训练脚本,并选择ViT-L/14作为主干。训练在4块RTX A6000 GPU上进行,共10个周期,批次大小为128,学习率为1e−5。我们根据验证集上最低的对比损失选择检查点。
评估
测试数据
我们在5个皮肤病变分类数据集上评估:HAM10000、BCN20000、PAD-UFES-20、Melanoma和UWaterloo。我们报告了上述5个数据集的零样本和线性探测准确率。
基线
我们比较了多种CLIP模型,包括OpenAI-CLIP、OpenCLIP、PubMedCLIP、BioMedCLIP、PMC-CLIP和MedCLIP。我们在零样本和线性探测场景下评估这些模型。零样本中,GPT-4为每个类别生成提示,我们使用图像与提示间余弦相似度的集合作为每个类别的得分。线性探测中,我们将CLIP模型作为图像编码器提取特征用于逻辑回归。此外,我们还纳入DenseNet-121(在预训练数据集上用交叉熵损失微调)作为线性探测的基线。
结果
下图展示了不同模型在五个皮肤病变数据集上的平均零样本和线性探测性能。

引用
如果您在研究中使用了该模型,请引用我们的论文:
@article{yang2024textbook,
title={A Textbook Remedy for Domain Shifts: Knowledge Priors for Medical Image Analysis},
author={Yue Yang and Mona Gandhi and Yufei Wang and Yifan Wu and Michael S. Yao and Chris Callison-Burch and James C. Gee and Mark Yatskar},
journal={arXiv preprint arXiv:2405.14839},
year={2024}
}