资讯动态

DINOv2零标签细胞图像分析:3步上手,不用标一张图

发布时间:2026/9/13 11:52:12 来源:尧图企业网站定制
DINOv2零标签细胞图像分析3步上手不用标一张图【免费下载链接】dinov2PyTorch code and models for the DINOv2 self-supervised learning method.项目地址: https://gitcode.com/GitHub_Trending/di/dinov2DINOv2是Meta开源的自监督视觉特征模型在1.42亿张无标注图像上预训练提取特征完全不需要人工标注。本教程面向开发者与算法新手带你用3步跑通安装、最小示例和2个生物影像场景。它能帮你做什么先说结论这个项目把标注—训练—调参这条重流程砍掉了大半。✅ 省去标注成本无标签预训练下游直接用特征把建模缩到10分钟一行torch.hub.load加载预训练权重简化线性探针加一层线性头蛋白质定位 F1 达 78.5处理多通道荧光图Channel-Adaptive 变体兼容可变通道数小模型也能跑21M 参数的 ViT-S/14单张 6GB 显卡即可原理速览没有教材怎么学会看图这一节用一个带新人的类比讲清楚 DINOv2 不靠标签也能学出好特征的机制。你可以把它想象成师傅带徒弟没有标准答案的试卷标签但有一个师傅和一个徒弟同时看同一张细胞图。徒弟会看到同一张图的不同取景全局视图、局部裁剪视图师傅对每张图给出打分徒弟的唯一任务就是模仿师傅的打分结果而师傅本人是徒弟长期表现的滑动平均始终稳定。两人反复对齐后特征自然就学会了无论图像怎么变本质不变的规律——这就是自蒸馏。数学细节不用管你只要知道没有教材靠的是师徒一致性。训练配置的完整示例在 docs/README_CELL_DINO.md。快速上手一键安装与最小可运行示例 这一节给你两条命令加一段代码10 分钟内看到真实特征输出。安装命令3 行搞定git clone https://gitcode.com/GitHub_Trending/di/dinov2 cd dinov2 pip install -r requirements.txt上面 3 条命令拉取代码并装好依赖官方说明加载模型只需要 PyTorch建议装带 CUDA 的版本。最小可运行示例import torch from torchvision import transforms # 加载 DINOv2 ViT-B/14 预训练骨干自动下载权重 model torch.hub.load(facebookresearch/dinov2, dinov2_vitb14) model.eval() # DINOv2 默认输入 518pxResize 中心裁剪 ImageNet 归一化 tfm transforms.Compose([ transforms.Resize(518), transforms.CenterCrop(518), transforms.ToTensor(), transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]), ]) img tfm(torch.rand(3, 300, 300)).unsqueeze(0) # 用随机图演示流程 with torch.no_grad(): feats model.forward_features(img) print(feats[x_norm_patchtokens].shape) # torch.Size([1, 1369, 768])这段代码下载 ViT-B/14 权重并对一张图提取 patch 级特征预期输出torch.Size([1, 1369, 768])——518px 图被切成 1369 个块每块得到 768 维向量这些向量就是后续分类、聚类的原料。场景实战挑 2 个最典型的任务 一个面向蛋白质定位的线性评估一个面向变通道数的多通道荧光图覆盖最常见的两类需求。场景一HPA 细胞图做蛋白质亚细胞定位场景一句话在 Human Protein Atlas 单细胞图像上不微调网络、只训一个线性头完成多标签定位任务。# 线性评估冻结骨干只训线性层指标用每类平均 F1 PYTHONPATH.:dinov2/data python dinov2/run/eval/cell_dino/linear.py \ --config-file dinov2/configs/eval/cell_dino/vitl16_pretrain.yaml \ --pretrained-weights 你的权重路径 \ --train-dataset HPAone:splitTRAIN:modePROTEIN_LOCALIZATION:rootHPA数据路径 \ --val-dataset HPAone:splitVAL:modePROTEIN_LOCALIZATION:rootHPA数据路径 \ --val-metric-type mean_per_class_multilabel_f1 \ --loss-type binary_cross_entropy --avgpool跑完后输出各定位类别的 F1。官方报告的基准是 ViT-L/16 训约 2 天32 卡线性评估即达78.5 的每类平均 F1说明特征本身已经会看细胞。场景二通道数不统一的多通道荧光图场景一句话CHAMMI 等 5 个数据集通道数各不相同Channel-Adaptive DINO 用通道打包方式一次模型吃下所有数据。import torch # 权重需先从官方申请页下载再用 pretrained_path 指向本地文件 model torch.hub.load( 本地dinov2仓库路径, channel_adaptive_dino_vitl16, sourcelocal, pretrained_path权重文件路径, ) model.eval() img torch.rand(1, 1, 224, 224) # 注意输入是单通道 (B,1,H,W) with torch.no_grad(): feats model.forward_features(img) print(feats[x_norm_clstoken].shape) # torch.Size([1, 1024])这段代码加载通道自适应模型并提取 1024 维全局特征可直接接 KNN 或聚类做形态分析配套的 KNN 评估脚本在dinov2/run/eval/cell_dino/knn.py数据加载器在 dinov2/data/datasets/cell_dino/。选型4 个变体怎么选一张表说清参数规模、公开指标和显存预算避免下载错模型。变体参数量公开效果显存参考518px适用场景ViT-S/1421MImageNet 线性 81.1%约 6GB快速原型、资源受限环境ViT-B/1486MImageNet 线性 84.5%约 12GB日常特征提取、聚类、检索ViT-L/14300MImageNet 线性 86.3%16GB精度优先的线性探针Cell-DINO ViT-L/16约 300MHPAone 定位 F1 78.516GB多通道细胞荧光显微图实测下来普通图像任务 B/14 是性价比最高的默认项做生物影像就别再自己从头预训练了直接拿 Cell-DINO 系列权重更省事。避坑指南这些坑我替你踩过⚠️ 下面 6 条按踩坑频率排序跑之前过一遍能省不少时间。先估显存ViT-g/14 有 1.1B 参数单卡 24GB 基本没戏建议停在 B/14 或 L/14。别降分辨率ViT-B/L 默认输入 518px图省事用 224px 会让特征质量明显下滑。批大小跟着显存走官方线性评估用--batch-size 32显存紧张就先降到 8~16别动数据量。通道数要对上HPA 系列模型in_channels4Cell Painting 是 5Channel-Adaptive 是单通道输入、内部拆通道三者别混用。权重与路径Cell-DINO / XRay-DINO 权重要走官方申请页下载用pretrained_path或pretrained_url加载跑训练、评估脚本记得加PYTHONPATH.:dinov2/data前缀。注意授权Cell-DINO、XRay-DINO 的代码和权重仅限非商业科研用途不可用于临床诊断。展望接下来可以做什么官方后续工作 DINOv3 已发布骨干特征还会继续升级可以平滑迁移仓库内dinov2/hub/dinotxt/提供了图文对齐推理代码能直接对细胞图特征做文本检索基于 notebooks/cell_dino/inference.ipynb 的样本图可以把流程扩展到时间序列活细胞成像。结语看懂不如跑通克隆仓库10 分钟就能出第一个特征。现在就动手跑通你的第一个 DINOv2 demo看看你的图像在特征空间里长什么样。【免费下载链接】dinov2PyTorch code and models for the DINOv2 self-supervised learning method.项目地址: https://gitcode.com/GitHub_Trending/di/dinov2创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价