DINOv3零样本分割:不训练也能出像素级语义分割图

发布时间:2026/9/15 10:47:19

DINOv3零样本分割:不训练也能出像素级语义分割图 DINOv3零样本分割不训练也能出像素级语义分割图【免费下载链接】dinov3Reference PyTorch implementation and models for DINOv3项目地址: https://gitcode.com/GitHub_Trending/di/dinov3DINOv3 的 dino.txt 多模态模型支持零样本分割你只需要给出一组英文类别名它就能输出像素级的语义分割结果整个过程不标注、不训练。对需要快速验证新领域分割效果的开发者来说这是目前最省事的一条路。传统流程有三个重环节收集图像并逐像素标注、训练模型跑数天、换新数据集就得全部重来。零样本分割把这条链路压缩成一句话你列出想区分的类别模型直接给出掩码换数据集时只改类别表其余环节全部跳过。 能力总览先确认它适不适合你这一步帮你花 30 秒判断该不该往下读避免把时间花在不匹配的工具上。维度说明能做什么开放词汇语义分割Cityscapes 19 类街景、ADE20K 150 类室内外场景也可换成你自己的类别表不做什么不区分实例车 1和车 2分不开不做逐像素置信度校准不适合毫秒级延迟的实时任务适合谁需要在新领域快速出分割效果验证的开发者、要评估开放词汇基线的研究者 三步跑通环境、加载与首次推理这一步给你一个最小可运行环境十几行代码就能拿到第一张分割掩码。第一步装环境。仓库自带 conda.yaml固定 Python 3.11 与 torch、torchvision、torchmetrics 等依赖直接建环境即可git clone https://gitcode.com/GitHub_Trending/di/dinov3 cd dinov3 micromamba env create -f conda.yaml micromamba activate dinov3第二步加载模型。它会返回模型和分词器两个对象import torch from dinov3.hub.dinotxt import dinov3_vitl16_dinotxt_tet1280d20h24l model, tokenizer dinov3_vitl16_dinotxt_tet1280d20h24l() model.to(cuda, non_blockingTrue) model.eval()首次运行会自动下载 ViT-L/16 骨干权重与文本编码器权重稍等即可。第三步算出类别的文本特征。以类别 car 为例把类别名填进模板池、编码后做归一化与平均text [t.format(car) for t in PROMPT_TEMPLATES] feats model.encode_text(tokenizer(text).cuda()) feats F.normalize(feats[:, feats.shape[1] // 2 :], p2, dim-1) text_feats F.normalize(feats.mean(dim0), p2, dim-1)到这里你就有了一组类别向量图像侧特征算出来做相似度比较即可得到掩码。含 Cityscapes、ADE20K 数据集定义和评估循环的完整闭环在零样本分割 notebook里照着替换数据路径就能跑。 原理速览零样本为什么成立这一步让你明白零样本分割的内在逻辑后面调模板、调窗口时才知道改哪里能起效。视觉侧ViT 骨干把图像切成 16×16 像素的 patch每个小块产出一个特征向量整张图就变成一张与图像分辨率对应的密集特征图每个位置一个向量。文本侧每个类别名先被模板展开成几十句话再经文本塔编码成向量取平均后得到一个稳定的类别向量。匹配推理时只需计算每个 patch 向量与每个类别向量的余弦相似度衡量两个向量夹角越接近 1 越对齐哪个类别最像就判给哪个像素。关键在于两侧的向量空间是同一个训练目标对齐出来的文字和像素天然可比不需要针对你的数据再训一次零样本分割因此成立。⚖️ 两种推理模式怎么选这一步给你 whole整图与 slide滑动窗口两条路径的适用边界选对模式直接影响速度上限。whole 整图模式整张图一次前向直接输出低分辨率相似度图再双线性插值到目标尺寸。速度快短边 512 规模图像的首选。slide 滑动窗口模式以固定窗口在图上按步长滑动notebook 默认 side384、stride192逐窗口计算后按重叠次数平均。高分辨率下小目标更清楚但前向次数随窗口数增长。判断依据场景选择短边 1024 以内、速度优先whole大图且小目标路灯、标志牌重要slide验证阶段先快速看效果whole 文字提示模板怎么配这一步告诉你模板池的作用和改法效果上限有一半取决于它。模板池是 80 多条句式每个类别名填入所有模板分别编码再取平均。相当于让这个类别从多个角度被描述避免单一措辞把向量带偏做法沿袭自 CLIP 的提示工程。PROMPT_TEMPLATES ( a photo of a {0}., a bad photo of a {0}., a photo of many {0}., a photo of the {0}., )选用方法默认池直接保留面向特定领域航拍、工业质检、医疗时加两三条场景句式例如 an aerial photo of a {0}.其余不动。 效果验证mIoU 与两个基准数据集这一步给你怎么算好的标尺跑完实验才知道数字代表什么。notebook 内置两个现成评测集Cityscapes19 类街景与 ADE20K150 类室内外场景用 MulticlassJaccardIndex 按 macro 平均计算 mIoU各类别交集占并集比例的均值越高越好。先对比同数据集下 whole 与 slide 的差距确认上分辨率是否值得图越大差距越明显。再看弱类别macro 平均会被 pole、traffic sign 这类小目标拉低逐类看 Jaccard 找短板比只看总分更有用。改模板或换类别表后固定同一套配置重跑直接比较 mIoU 数值即可归因。⚙️ 部署要点问题与做法这一步是生产化前的对照清单逐项排查即可。显存不够调低短边 resizenotebook 默认 512slide 模式可减小 side、放大 stride代价是细节损失。推理太慢whole 模式用批量推理提高 GPU 利用率slide 模式瓶颈在窗口数优先减窗口。文本特征反复计算每类 text_feats 只需算一次并跨批次复用notebook 的循环就是这么写的。没有 GPU可 CPU 推理做小规模验证但耗时明显正式跑请留在 GPU 上。️ 关键路径索引这一步给你五个定位源码的入口改模型或加数据集时从这里进。dinov3/hub/dinotxt.py模型构建与权重加载入口notebooks/dinotxt_segmentation_inference.ipynb数据集、两种推理、mIoU 评估的完整闭环dinov3/eval/text/text_tower.py文本编码器dinov3/eval/text/vision_tower.py与文本对齐的视觉头部dinov3/models/vision_transformer.pyViT 骨干定义最后说三句话DINOv3 的零样本分割把语义分割从按周计的项目变成当天可验证的任务免标注、免训练类别表随时可换Cityscapes 和 ADE20K 两套评测现成可用whole 与 slide 两种模式覆盖了从快速验证到高分辨率出图的完整需求。你的下一步很明确打开那个 notebook把数据集字段换成自己的数据按默认 512 短边加 whole 模式先跑一遍拿到第一组 mIoU 数字再决定它是否符合你的场景。【免费下载链接】dinov3Reference PyTorch implementation and models for DINOv3项目地址: https://gitcode.com/GitHub_Trending/di/dinov3创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/15 10:42:18

C语言+EasyX实战:开发国际象棋游戏,从规则建模到交互界面

第一次用C语言写一个带图形界面的国际象棋,是在某学期的课程设计上。当时班里多数人选了贪吃蛇、扫雷,我想搞个规则更复杂点的东西——国际象棋。理由很实在:棋子种类多,走法规则差异大,能逼着自己把数组、结构体、函数…

2026/9/15 10:42:18

React Native回归原生?跨端与原生开发的技术选型与性能权衡

一觉醒来,技术群里又炸了。倒反天罡,当年那么多团队削尖脑袋往 React Native 里钻,现在 Shopify 却带头往回跑,宣布要回归原生开发。先别急着喊“RN 药丸”。作为一个从 React Native 0.4x 时代就开始折腾的老玩家,我太…

2026/9/15 10:42:18

Flutter开发OpenHarmony双卡数据管理应用实战

1. 项目背景与需求分析在移动互联网时代,双卡双待设备已成为主流配置。作为OpenHarmony生态的开发者,我们经常需要处理多SIM卡场景下的数据流量管理问题。传统Android开发中,TelephonyManager等API提供了基础的SIM卡操作能力,但在…

2026/9/15 10:52:19

PHP引擎一共有哪些?

PHP引擎PHP引擎主要是指解析和执行PHP代码的软件。最常见的PHP引擎就是官方的PHP解释器,但随着技术的发展,也出现了一些其他的PHP引擎或加速器,比如:Zend引擎:这是PHP的官方引擎,从PHP 4开始就是默认的引擎…

2026/9/15 10:52:19

MySQL引擎一共有哪些?

MySQL引擎MySQL是一个流行的数据库管理系统,它支持多种存储引擎。存储引擎就是数据库用来处理和存储数据的方式。MySQL中常见的存储引擎有以下几种:InnoDB:这是MySQL的默认存储引擎。它支持事务处理,也就是说,如果你在…

2026/9/15 10:47:19

Vue+WebRTC多人视频会议:信令服务与前端封装实战

简介:面向有一定前端基础、希望快速上手WebRTC多人实时互动的开发者,这份Vue Demo源码以多人互动为场景,围绕WebRTC多对多连接、Socket.IO信令交互和Vue组件化开发,覆盖了从用户加入房间、交换SDP与ICE候选,到建立P2P音…

2026/9/15 4:54:30

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/15 0:01:16

AI英语单词APP开发:自适应学习算法与移动端优化实践

1. 项目概述 作为一名在移动应用开发领域摸爬滚打多年的老手,我最近完成了一个AI英语单词APP的开发项目。这个项目将传统单词记忆方法与现代AI技术相结合,打造了一款能够智能适应不同用户学习习惯的英语学习工具。 市面上大多数单词APP都存在一个通病&a…

2026/9/15 0:01:16

Flutter与OpenHarmony结合开发手语学习APP实战

1. 项目背景与核心价值作为一名同时接触过Flutter和OpenHarmony的开发者,最近我完成了一个基于Flutter for OpenHarmony的手语学习APP实战项目。这个项目最大的特点在于实现了跨平台框架与国产操作系统深度结合的创新实践——用Flutter开发的应用能完美运行在OpenHa…

2026/9/15 0:01:16

六个月成为机器人工程师:从ROS2到SLAM的实战路径

1. 六个月的紧迫感从哪来:先搞清楚你要成为哪种机器人工程师说实话,六个月的期限并不是一个宽松的时间线。市面上任何一本正经的机器人学教材都超过五百页,ROS2的官方文档可以翻到你怀疑人生,再加上ABB、KUKA这些工业机器人厂家动…

2026/9/14 11:59:31

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/14 13:53:59

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/14 11:22:57

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码