
DINOv2 细胞图像分析指南从 0 标注荧光图到蛋白质定位三步跑通【免费下载链接】dinov2PyTorch code and models for the DINOv2 self-supervised learning method.项目地址: https://gitcode.com/GitHub_Trending/di/dinov2DINOv2 是 Meta 在 1.42 亿张无标注图片上预训练的视觉 Transformer 自监督学习框架。本指南带你用它的 Cell-DINO 与 XRay-DINO 扩展把细胞图像分析、蛋白质亚细胞定位、药物扰动筛选、医学影像变成加载权重就能推理的事。适合有 Python 基础、刚接触无标签预训练的生物医学新手和普通开发者。先看用途三个能直接上手的应用场景 蛋白质亚细胞定位Human Protein Atlas痛点亚细胞定位标签要靠生物学家一张张看标几万张视野成本高。 做法加载cell_dino_hpa_vitl164 通道输入提特征上面只训练一个线性探针。 收益多标签 F1 78.5骨干网络完全不用重训。药物扰动筛选Cell Painting痛点5 通道、128×128 的单细胞图动辄数万张肉眼分群不现实。 做法用cell_dino_cp_vits8提特征直接接 kNN 或聚类。 收益CHAMMI 基准 CP Task1 上线性探针做到 89.9。X 光医学影像痛点灰度 X 光图尺寸大、偏灰通用自然图像模型适配差。 做法xray_dino_vitl16按 512×512 输入加载零样本提特征。 收益面向 X 光场景专门自监督预训练省去迁移成本。安装到第一次推理三步装环境先克隆仓库git clone https://gitcode.com/GitHub_Trending/di/dinov2然后执行conda env create -f conda.yaml再conda activate dinov2。只想跑推理的话装好 PyTorch 也能直接走torch.hub。最短可跑示例标准 DINOv2 骨干import torch model torch.hub.load(facebookresearch/dinov2, dinov2_vitb14) img torch.randn(1, 3, 224, 224) # 换成你的真实图片张量 with torch.no_grad(): out model(img) # 输出 patch 级特征 print(out.shape)细胞权重Cell-DINO / XRay-DINO需要先申请下载链接再用pretrained_url参数加载流程见 docs/README_CELL_DINO.md。自蒸馏原理 30 秒版一句话学生模型做题老师模型给参考答案答案不需要人工标。打个比方老师像一位慢慢更新均分的班主任——他的参数就是学生模型的指数滑动平均更新得很慢、因此稳定。同一张细胞图被裁剪增广成大小两个视图全局视图和局部视图学生要让自己的输出对得上老师在局部区域的输出。没有标签参与监督信号全部来自两张图其实是同一张图这件事。ViT 把图切成 patch 做全局注意力顺带捕捉了细胞器之间的长距离关系。三个实测任务数据规模 → 做法 → 关键指标任务一HPA 蛋白质定位数据规模HPA 单细胞与 HPA-FoV 两套 4 通道荧光数据数据加载入口在 dinov2/data/datasets/cell_dino/。做法ViT-L/16 自监督预训练官方参考配置4 节点 32 张 A100约 2 天评估用线性探针 mean_per_class_multilabel_f1指标。关键指标蛋白质定位多标签 F178.5仓库共放出 4 套权重——单细胞、FoV、高分辨率 FoV、Cell Painting 合并版。任务二Cell Painting 药物扰动CHAMMI 基准数据规模CHAMMI 合并了 WTC / HPA / CP 共 5 个显微数据集CP 子集元数据为morphem70k_v2.csv属 7 万 样本量级。做法cell_dino_cp_vits8ViT-S/85 通道128×128提特征再跑 kNN 或线性分类。关键指标CP Task1 线性89.9、kNN89.8WTC Task1 线性89.9。任务三XRay 医学影像数据规模灰度 X 光图模型按 512×512 输入、16 像素 patch 设计。做法申请权重 URL 后torch.hub.load(REPO_DIR, xray_dino_vitl16, sourcelocal, weightsURL)零样本提特征。关键指标仓库未附统一指标表以原论文为准注意权重为非商用研究许可见LICENSE_XRAY_DINO_MODEL。效果对比一张表对比维度从零监督训练ImageNet 监督迁移DINOv2 系自监督特征标注投入数千张起人工逐张0但依赖 ImageNet 标签0完全无标签预训练见效周期天周小时天线性探针数小时ViT-B/14 ImageNet 线性 84.5%域适配成本细胞图上需全量重训域差距大需重训头部与骨干直接迁移HPA 定位 F1 78.5零重训硬件参考单卡多卡单卡预训练参考32 张 A100 约 2 天细胞任务按场景选变体通用自然图 / 跨域基线dinov2_vits1421M 参数到dinov2_vitg141100MImageNet 线性 81.1%87.0%另有一批带 registers 的版本。HPA 4 通道荧光cell_dino_hpa_vitl16224 输入。Cell Painting 5 通道、128pxcell_dino_cp_vits8小模型小输入批量推理最省资源。通道数不定 / 多数据集混训channel_adaptive_dino_vitl16bag-of-channels 结构通道数可变。X 光影像xray_dino_vitl16512 输入非商用许可。算力紧张优先 ViT-S 系21M 参数单卡轻松跑。⚡ 提速与部署清单批处理评估脚本支持--batch-sizekNN 示例用 256按显存调大即可线性提速。FP16 混合精度推理 notebook 在取中间层特征时已开autocast显存占用近乎减半model model.half().cuda() with torch.cuda.amp.autocast(), torch.no_grad(): feat model(img) # FP16 前向 torch.save(feat.cpu().float(), feat.pt) # 缓存特征多卡官方参考训练为 4 节点 × 8 张 A10032 卡约 2 天ViT-L/14 在 ImageNet-22k 上用 96 卡约 3.3 天。特征缓存先一次性提取特征存盘kNN / 线性 / 逻辑回归探针全部复用这份缓存避免重复前向。FAQQ我需要自己标数据吗A不需要。预训练是纯无标签的增广即伪监督下游只需要少量标签训一个线性探针。完全没有标签也可以走 kNN 检索入口在 dinov2/run/eval/cell_dino/knn.py。Q几个细胞权重怎么区分A前三套是固定通道HPA 4 通道 / Cell Painting 5 通道另有 ViT-L/14 高配版channel_adaptive_dino_vitl16用 bag-of-channels 结构通道数任意。Q权重能商用吗ADINOv2 主体是 Apache 2.0Cell-DINO 代码为 CC BY-NC、XRay-DINO 权重限非商用研究三个许可文件在仓库根目录。Q没有大数据集怎么先验证流程AHPA 数据目录附了 3 张 sample_imagesnotebooks/cell_dino/inference.ipynb 给出完整链路自归一化 → 加载模型 → 出特征十几行代码跑通。这套框架的能力边界要清楚生物学代码与权重仅限研究用途不能替代临床判断灰度医学影像、时序活细胞成像等任务在落地前仍需你自己在小样本上验证。好消息是扩展成本很低——仓库已内置 dino.txt 视觉-语言对齐推理代码notebooks/dinotxt.ipynb把文本指令接进细胞图像管线是目前最值得先试的方向。【免费下载链接】dinov2PyTorch code and models for the DINOv2 self-supervised learning method.项目地址: https://gitcode.com/GitHub_Trending/di/dinov2创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考