news 2026/9/15 11:34:23

DINOv3 卫星图像视觉基础模型实战指南:不微调拿下 GEO-Bench 81.1%

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DINOv3 卫星图像视觉基础模型实战指南:不微调拿下 GEO-Bench 81.1%

DINOv3 卫星图像视觉基础模型实战指南:不微调拿下 GEO-Bench 81.1%

【免费下载链接】dinov3Reference PyTorch implementation and models for DINOv3项目地址: https://gitcode.com/GitHub_Trending/di/dinov3

在卫星图像分类任务上,一个从未针对任何类别微调过的模型,平均准确率做到了81.1%,语义分割平均精度75.0%。这是 DINOv3 在 GEO-Bench 基准上的成绩,也是它作为视觉基础模型最值得注意的点:特征直接拿来用,分类器简单到只需 k-NN 或逻辑回归。本文用仓库内的数据和代码,讲清这套卫星预训练权重能做什么、怎么用、适合谁。

先看结果:GEO-Bench 上的零样本分类与分割

DINOv3 官方在 MODEL_CARD.md 中给出的卫星权重评测结果如下,均为不微调(zero-shot)状态:

模型分类平均准确率语义分割平均精度
DINOv3 ViT-L/16(300M)79.6%74.5%
DINOv3 ViT-7B/16(6716M)81.1%75.0%

分类靠 k-NN 或逻辑回归作用在 [CLS] token 上,分割用一层线性层即可。两个模型间相差约1.5 个百分点,但参数量差了 22 倍,选型时值得权衡。

模型怎么选:DINOv3 卫星权重只有两个规格

DINOv3 是一个模型家族:ViT 从 2100 万参数的 ViT-S/16 到 67 亿参数的 ViT-7B/16,另有 4 个 ConvNeXt 骨干(29M~198M)。其中 10 个模型预训练在网页数据集 LVD-1689M 上,另外 2 个专门预训练在卫星数据集 SAT-493M 上。

SAT-493M 包含4.93 亿张 512×512 的图像块,全部从 Maxar 的 RGB 正射校正影像中随机采样,空间分辨率0.6 米。卫星侧的两个规格是:

  • ViT-7B/16:从头训练(scratch),是卫星方向的教师模型
  • ViT-L/16:由 ViT-7B 蒸馏而来,300M 参数,日常使用的主力

两者 patch 大小都是 16。输入图像可以比 224 更大,只要边长是 16 的倍数;不满足时模型会自动裁到最近的更小倍数。

原理一句话:让图像自己教图像

DINOv3 的训练不需要类别标签。它用 DINO 自蒸馏损失(配合多裁剪)让同一张图的不同视野互相监督,再加 iBOT 掩码图像建模损失补上密集特征,用 KoLeo 正则化压住 [CLS] token 的分布,最后用 Gram 锚定稳定特征结构。对使用者的含义是:特征是从无标签数据里"长"出来的,天然适合迁移到训练集很小的卫星场景。

如何加载 SAT-493M 预训练权重和卫星图像变换

先克隆仓库(本地路径之后会用到):git clone https://gitcode.com/GitHub_Trending/di/dinov3。权重需要先按 README.md 的说明申请获取,拿到 URL 后用wget下载,再通过torch.hub.load指向它:

import torch REPO_DIR = "<本地克隆的 DINOv3 仓库路径>" weights = "<SAT-493M 权重的 URL 或本地路径>" # 卫星预训练的 ViT-L/16(300M),常规场景首选 model_l = torch.hub.load(REPO_DIR, "dinov3_vitl16", source="local", weights=weights) # 卫星预训练的 ViT-7B/16(6.7B),需要大显存 GPU model_7b = torch.hub.load(REPO_DIR, "dinov3_vit7b16", source="local", weights=weights)

注意:卫星权重的归一化参数和网页图像版不同,用错会直接影响精度:

import torch from torchvision.transforms import v2 # SAT-493M 权重专用变换(网页权重用的是 ImageNet 参数) def make_transform(resize_size=256): return v2.Compose([ v2.ToImage(), v2.Resize((resize_size, resize_size), antialias=True), v2.ToDtype(torch.float32, scale=True), v2.Normalize(mean=(0.430, 0.411, 0.296), std=(0.213, 0.156, 0.143)), ])

如果你用 Hugging Face Transformers(4.56.0 起支持),对应模型名是facebook/dinov3-vitl16-pretrain-sat493mfacebook/dinov3-vit7b16-pretrain-sat493m

适用场景与选型限制

适合的:卫星图像分类、检索、语义分割,以及用线性层做深度估计、目标检测等密集任务。仓库已经有一个现成例子:CHMv2 树冠高度模型直接以卫星版 ViT-L/16 为骨干,推理 notebook 见 notebooks/chmv2_inference.ipynb。

要留意的

  1. 权重需申请获取,不是开箱即下的
  2. ViT-7B/16 训练用了61440 小时 H100 算力(MODEL_CARD.md 记载),推理端也需要大显存;多数项目用 ViT-L/16 就够了
  3. 官方明确建议微调是"最后手段":冻结特征的零样本性能已经不错,微调反而可能放大偏差
  4. 公平性方面,官方提到不同收入水平和不同大洲之间存在一定性能差距(欧洲与非洲间仍有相对差异),对覆盖均衡敏感的应用要自行验证
  5. 代码与权重遵循 DINOv3 License,商用前请阅读 LICENSE.md

更多可复现的评测命令(k-NN、逻辑回归、线性分割、深度)都在 README.md 的 Evaluation 一节,模型入口定义见 hubconf.py。

【免费下载链接】dinov3Reference PyTorch implementation and models for DINOv3项目地址: https://gitcode.com/GitHub_Trending/di/dinov3

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 11:33:37

Redis连接失败排查:配置项与连接池的深度拆解

1. 三天排查路的起点&#xff1a;那些"看起来很正常"的报错先把场景还原一下&#xff0c;因为这决定了后面所有排查方向。一个跑了小半年的服务&#xff0c;某天开始间歇性报连接异常&#xff0c;日志里大概率是这么几行&#xff1a;Cannot get Jedis connection、Un…

作者头像 李华
网站建设 2026/9/15 11:33:27

电子凸轮原理与EtherCAT PLC编程实战

1. 电子凸轮不是“凸轮”&#xff0c;而是运动控制的精密时间-位置映射关系你第一次看到“电子凸轮”这个词&#xff0c;大概率会下意识联想到机械厂里那个带着凹槽、靠物理接触推动从动件的金属圆盘。但在这里&#xff0c;它和金属、凹槽、摩擦磨损毫无关系——它是一段被精确…

作者头像 李华
网站建设 2026/9/15 11:32:01

Python变量与数据类型在AI提示词中的应用实践

1. 项目概述"用AI主题学编程"这个创意确实抓住了当前技术教育的趋势。作为一名从Python 2.7时代就开始教学的老程序员&#xff0c;我见证过太多枯燥的语法课让学生失去兴趣。这次我们尝试用生成AI提示词这个实用场景&#xff0c;来讲解Python最基础的三个概念&#x…

作者头像 李华
网站建设 2026/9/15 11:31:52

建设一个网站选择的服务器:最佳实践与避坑指南

建设一个网站选择的服务器:最佳实践与避坑指南 域名服务器搞不懂?别慌,这是90%新手建站时最头疼的坎。 很多人以为买个服务器就行,结果上线后速度慢、不稳定,甚至被黑客攻击,哭都来不及。 其实, 建设一个网站选择的服务器 并非越贵越好,而是要匹配业务场景,掌握 最佳实践 才能省钱又省心。 一、…

作者头像 李华