尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

DINOv3视觉基础模型零样本分割快速上手:一条命令出掩码

DINOv3视觉基础模型零样本分割快速上手:一条命令出掩码 DINOv3视觉基础模型零样本分割快速上手一条命令出掩码【免费下载链接】dinov3Reference PyTorch implementation and models for DINOv3项目地址: https://gitcode.com/GitHub_Trending/di/dinov3你手头有一批街景图想直接拿到像素级类别掩码又不想等标注、更不想从零训分割模型。DINOv3 的零样本语义分割就是干这个的传入一组类别名它直接返回掩码全程不碰标注数据。这个仓库是 DINOv3 视觉基础模型的参考 PyTorch 实现分类、深度、检测、分割的预训练头都现成可用。DINOv3 能帮你做什么密集特征加文本对齐DINOv3 是一族自监督预训练的骨干网络ViT 从 21M 参数的 ViT-S/16 到 67 亿参数的 ViT-7B/16另有 ConvNeXt 四个尺寸全部是 16×16 patch。网络图版本在 16.9 亿张网页图LVD-1689M上预训练还有两个用 4.9 亿张卫星图SAT-493M预训练的权重可以拿去做遥感。密集特征即取即用patch 级特征直接可支撑分割、匹配、深度估计不必先接分类头文本和视觉同空间dino.txt 头把 24 层文本 Transformerdim 1280、词表 49408与视觉特征对齐到 2048 维下游配方齐了线性分类、COCO 检测、NYU 深度、ADE20K 分割头都有现成的加载入口一次前向图像和文本是怎么对上的流程是一条线。图像过 ViT 骨干得到 h×w×2048 的 patch 特征网格类别名经 BPE 分词最多 77 个 token过文本 Transformer 得到文本向量两边 L2 归一化后做余弦相似度得到 类别数×h×w 的相似度图上采样回原图尺寸再 argmax就是掩码。视觉侧在骨干后还接了 2 个 Transformer 头块patch 特征取自最后一层相似度乘了一个可学习温度 logit_scale初始值 log(1/0.07)。模型定义在 dinov3/eval/text/dinotxt_model.pyhub 加载入口在 dinov3/hub/dinotxt.py。搭环境并加载模型三步第一步克隆并建环境要求 Linux、PyTorch 2.7.1 以上git clone https://gitcode.com/GitHub_Trending/di/dinov3 cd dinov3 micromamba env create -f conda.yaml micromamba activate dinov3第二步申请权重。审核通过后你会拿到下载 URL官方建议用 wget 而不是浏览器下载。第三步用 torch.hub 加载 dino.txt 模型import torch model, tokenizer torch.hub.load( REPO_DIR, dinov3_vitl16_dinotxt_tet1280d20h24l, sourcelocal, weightsdinotxt权重URL, backbone_weightsViT-L/16骨干URL, )weights和backbone_weights两个参数都接受 URL 或本地文件路径。动手跑通Cityscapes 19类零样本分割官方 notebook notebooks/dinotxt_segmentation_inference.ipynb 直接演示了 Cityscapes19 类和 ADE20K150 类的零样本分割流程三步。第一步编码类别名。每个类别名填进 79 条提示模板a photo of the {0} 这类过encode_text再取平均得到该类一条归一化向量feats model.encode_text(tokens) # [79, 2D] feats feats[:, feats.shape[1] // 2:] # 丢掉CLS token那一半 road F.normalize(feats.mean(0), p2, dim-1) # 该类一条向量第二步编码图像。预处理是短边缩放到 512 加 ImageNet 标准归一化然后取 patch 特征和文本向量逐像素算余弦相似度cos torch.einsum(cd,hwd-chw, text_feats, F.normalize(blocks, p2, dim-1)) pred F.interpolate(cos, size(H, W), modebilinear).argmax(1)第三步选推理模式。512×512 以内的图用 whole 整图模式分辨率更高用 slide 滑窗默认 side384、stride192重叠窗口的 softmax 概率在原分辨率上累加取平均。卡住了先拨这三个开关OOM、分错类、归一化错大图 OOM把短边 resize 从 512 降到 384或切 slide 模式。slide 的显存占用约等于一个窗口不随整图尺寸增长。掩码发糊、类别串门先换类别名表述。多条模板平均本身就在平滑文本向量多给几个说法a close-up photo of a {0} 就在模板集里通常能把边界改善。归一化参数不匹配LVD-1689M 权重用 mean 0.485/0.456/0.406SAT-493M 卫星权重必须换成 mean 0.430/0.411/0.296、std 0.213/0.156/0.143否则特征质量会直接掉下来。读完后的行动清单打开 notebooks/pca.ipynb 对自己的图看 DINOv3 patch 特征几分钟就能对特征质量有体感复制零样本分割 notebook把数据集换成自己的图先跑通 Cityscapes 19 类只需要特征做自己的下游加载 86M 参数的dinov3_vitb16骨干就够不必动 67 亿参数的大模型有标注数据时跑线性探针dinov3/eval/segmentation/run.py配 config-ade20k-linear-training.yaml【免费下载链接】dinov3Reference PyTorch implementation and models for DINOv3项目地址: https://gitcode.com/GitHub_Trending/di/dinov3创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表