模型简介
模型特点
模型能力
使用案例
🚀 CONCH模型介绍
CONCH(CONtrastive learning from Captions for Histopathology)是一款用于组织病理学的视觉语言基础模型,它在目前最大的包含117万个图像-文本对的特定组织病理学视觉语言数据集上进行了预训练。与其他视觉语言基础模型相比,它在计算病理学的14项任务中表现出了最先进的性能,这些任务涵盖图像分类、文本到图像和图像到文本检索、图像描述以及组织分割等。
🚀 快速开始
安装
使用pip安装CONCH仓库:
pip install git+https://github.com/Mahmoodlab/CONCH.git
加载模型
成功请求访问权重后:
from conch.open_clip_custom import create_model_from_pretrained
model, preprocess = create_model_from_pretrained('conch_ViT-B-16', "hf_hub:MahmoodLab/conch", hf_auth_token="<your_user_access_token>")
注意,你可能需要通过 hf_auth_token=<your_token>
向 create_model_from_pretrained
提供Hugging Face用户访问令牌进行身份验证。更多详细信息请参阅 HF文档。
或者,你可以手动下载检查点,并按如下方式加载模型:
model, preprocess = create_model_from_pretrained('conch_ViT-B-16', "path/to/conch/pytorch_model.bin")
使用模型编码图像
import torch
from PIL import Image
image = Image.open("path/to/image.jpg")
image = preprocess(image).unsqueeze(0)
with torch.inference_mode():
image_embs = model.encode_image(image, proj_contrast=False, normalize=False)
这将为你提供投影头和归一化之前的图像嵌入,适用于线性探测或在多实例学习框架下处理全切片图像(WSIs)。
图像 - 文本检索任务
with torch.inference_mode():
image_embs = model.encode_image(image, proj_contrast=True, normalize=True)
text_embedings = model.encode_text(tokenized_prompts)
sim_scores = (image_embedings @ text_embedings.T).squeeze(0)
有关使用该模型进行各种任务的具体示例,请访问 GitHub 仓库。
✨ 主要特性
- 性能卓越:与其他视觉语言基础模型相比,CONCH在计算病理学的14项任务中表现出了最先进的性能,涵盖图像分类、文本到图像和图像到文本检索、图像描述以及组织分割等。
- 适用范围广:与仅在苏木精 - 伊红(H&E)图像上进行预训练的流行自监督编码器相比,CONCH可以为免疫组织化学(IHC)和特殊染色等非H&E染色图像生成更有效的表示,并且可用于涉及组织病理学图像和文本的各种下游任务。
- 数据无污染风险:CONCH在预训练时未使用大型公共组织学幻灯片集合,如TCGA、PAIP、GTEX等,这些集合常用于计算病理学的基准开发。因此,研究社区可以使用CONCH构建和评估病理学AI模型,同时将公共基准或私人组织病理学幻灯片集合的数据污染风险降至最低。
📦 安装指南
使用pip安装CONCH仓库:
pip install git+https://github.com/Mahmoodlab/CONCH.git
💻 使用示例
基础用法
import torch
from PIL import Image
from conch.open_clip_custom import create_model_from_pretrained
# 加载模型
model, preprocess = create_model_from_pretrained('conch_ViT-B-16', "hf_hub:MahmoodLab/conch", hf_auth_token="<your_user_access_token>")
# 打开图像
image = Image.open("path/to/image.jpg")
image = preprocess(image).unsqueeze(0)
# 编码图像
with torch.inference_mode():
image_embs = model.encode_image(image, proj_contrast=False, normalize=False)
高级用法
import torch
from PIL import Image
from conch.open_clip_custom import create_model_from_pretrained
# 加载模型
model, preprocess = create_model_from_pretrained('conch_ViT-B-16', "hf_hub:MahmoodLab/conch", hf_auth_token="<your_user_access_token>")
# 打开图像
image = Image.open("path/to/image.jpg")
image = preprocess(image).unsqueeze(0)
# 图像 - 文本检索任务
with torch.inference_mode():
image_embs = model.encode_image(image, proj_contrast=True, normalize=True)
text_embedings = model.encode_text(tokenized_prompts)
sim_scores = (image_embedings @ text_embedings.T).squeeze(0)
📚 详细文档
模型详情
- 开发者:Mahmood Lab AI for Pathology Lab @ Harvard/BWH
- 模型类型:预训练的视觉 - 语言编码器(视觉编码器:ViT - B/16,9000万个参数;文本编码器:L12 - E768 - H12,1.1亿个参数)
- 预训练数据集:117万个组织病理学图像 - 文本对
- 仓库地址:https://github.com/mahmoodlab/CONCH
- 论文链接:https://www.nature.com/articles/s41591 - 024 - 02856 - 4
- 许可证:CC - BY - NC - ND 4.0
注意:虽然原始的CONCH模型架构还包括一个使用CoCa的图像描述损失进行训练的多模态解码器,但为了确保不会意外泄露专有数据或受保护的健康信息(PHI),我们已从公开发布的CONCH权重中移除了解码器的权重。文本编码器和视觉编码器的权重保持不变,因此论文中呈现的所有关键任务(如图像分类和图像 - 文本检索)的结果不受影响。CONCH作为组织病理学图像和病理学相关文本的通用编码器的能力也不受影响。
使用场景
该模型主要供研究人员使用,可用于计算病理学中的以下任务:
- 零样本感兴趣区域(ROI)分类
- 零样本ROI图像到文本和文本到图像检索
- 使用MI - Zero的零样本全切片图像(WSI)分类
- 使用线性探测/最近邻探测/端到端微调进行ROI分类
- 使用多实例学习(MIL)进行WSI分类
🔧 技术细节
训练数据
117万个来自公开可用的PubMed Central Open Access(PMC - OA)和内部整理来源的人类组织病理学图像 - 文本对。图像包括H&E、IHC和特殊染色。
训练机制
fp16自动混合精度
训练目标
CoCa(图像 - 文本对比损失 + 图像描述损失)
硬件
8个Nvidia A100
训练时长
约21.5小时
软件
PyTorch 2.0,CUDA 11.7
📄 许可证
本模型和相关代码根据CC - BY - NC - ND 4.0许可证发布,仅可用于非商业的学术研究目的,并需进行适当的引用。任何对CONCH模型及其衍生产品(包括在CONCH模型输出上训练的模型或由CONCH模型创建的数据集)的商业使用、销售或其他货币化行为均被禁止,需要事先获得批准。下载模型需要事先在Hugging Face上注册并同意使用条款。下载此模型即表示你同意不分发、发布或复制该模型。如果你的组织内有其他用户希望使用CONCH模型,他们必须作为独立用户进行注册。用户不得尝试重新识别用于开发基础模型的已去标识化数据。如果你是商业实体,请联系相应的作者。请注意,用于注册Hugging Face账户的主要电子邮件必须与你的机构电子邮件匹配才能获得批准。更多详细信息包含在模型卡片中。
引用信息
@article{lu2024avisionlanguage,
title={A visual-language foundation model for computational pathology},
author={Lu, Ming Y and Chen, Bowen and Williamson, Drew FK and Chen, Richard J and Liang, Ivy and Ding, Tong and Jaume, Guillaume and Odintsov, Igor and Le, Long Phi and Gerber, Georg and others},
journal={Nature Medicine},
pages={863–874},
volume={30},
year={2024},
publisher={Nature Publishing Group}
}
联系信息
如有任何额外问题或意见,请联系Faisal Mahmood (faisalmahmood@bwh.harvard.edu
)、Ming Y. Lu (mlu16@bwh.harvard.edu
) 或Bowen Chen (bchen18@bwh.harvard.edu
)。
致谢
本项目基于一些优秀的仓库构建,如 openclip(用于模型训练)、timm(ViT模型实现)和 huggingface transformers(分词)。我们感谢这些作者和开发者的贡献。
相关链接
模型请求访问说明
如受限提示中所述,你必须同意上述使用条款,且 Hugging Face账户的主要电子邮件必须与你的机构电子邮件匹配。如果你的主要电子邮件是个人电子邮件(如@gmail/@hotmail/@qq),你的请求将被拒绝。要解决此问题,你可以:(1) 将你的官方机构电子邮件添加到你的HF账户,并确认你的电子邮件地址进行验证;(2) 将你的机构电子邮件设置为HF账户的主要电子邮件。请求访问被拒绝的其他原因包括提交的表单中存在其他错误,例如:全名包含缩写、所属机构未完整拼写、描述的研究用途不充分或电子邮件域名未被识别。








