DINOv3卫星图像分析:3步跑通,零样本分类平均79.6%准确率
2026/9/15 22:12:21 网站建设 项目流程

DINOv3卫星图像分析:3步跑通,零样本分类平均79.6%准确率

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

Meta AI开源了视觉基础模型DINOv3,拿卫星图像分析来说:它的SAT-493M预训练版在GEO-Bench零样本分类上平均准确率79.6%,全程不需要一张标注样本。🛰️

一分钟搞懂它

它到底是什么

DINOv3是Meta的第三代自监督视觉特征提取器:用16.89亿张无标注图片训练ViT(Transformer图像模型),给每张图输出一组"密集特征"——描述图像每个小块里有什么的数字。分类、分割、检索、跟踪都能靠这组特征完成。仓库提供21M到6.7B参数共12个模型,全部几行torch.hub.load即可加载。

比上一代多了什么

和DINOv2相比有三点变化:教师模型从1B扩到6.7B,全系模型(5个ViT加4个ConvNeXt)都从7B教师蒸馏而来,最小的21M模型也能拿到"大模型级"特征;训练新增Gram锚定阶段,让高分辨率图像下的特征依然稳定;首次发布卫星版本,用Maxar 0.6米分辨率的4.93亿张512×512卫星图预训练。官方模型卡明确写了DINOv3特征在各任务上"显著超过"DINOv2和SEERv2。

它最适合谁

  • 遥感/地理空间团队、标注数据稀缺:SAT版特征直接可用,接k-NN或逻辑回归就能分类。
  • 想要一套backbone同时做分类、分割、跟踪的人:一组特征复用多任务,不用维护多套模型。
  • 没有多卡训练预算的个人或小团队:21M~840M的蒸馏小模型单卡可部署。

真实跑分,数据说话

取自官方 MODEL_CARD.md 的SAT-493M版GEO-Bench(卫星遥感基准)结果:

任务子任务ViT-L/16(300M)ViT-7B/16(6.7B)
分类m-brick-kiln(砖窑检测)96.597.2
分类m-eurosat(土地覆盖)94.194.8
分类m-forestnet(森林)60.662.3
分类m-so2sat57.462.1
分类平均79.681.1
分割m-chesapeake(水域)75.676.6
分割m-pv4ger-seg(作物)95.295.5
分割平均74.575.0

这些都是"冻结backbone+轻量分类器"的结果,特征原样使用、没有微调。砖窑检测做到96.5~97.2%,意味着拿来就能干活;最弱项m-SA-crop只有36.8/37.6,也诚实地标出了精细分类任务的当前上限。

从零跑通,3步搞定

第1步:克隆代码仓库——一条命令拿到参考实现,推理只需要PyTorch:

git clone https://gitcode.com/GitHub_Trending/di/dinov3

第2步:加载预训练权重——权重需在官方页面申请下载URL(SAT版有ViT-L/16和ViT-7B/16两个规格),拿到后加载:

import torch REPO_DIR = "/path/to/dinov3" # 克隆后的本地目录 model = torch.hub.load( REPO_DIR, "dinov3_vitl16", source="local", weights="<SAT-493M权重URL或本地路径>", )

这一步只是把模型"接上电",返回的对象可直接对图像做前向。

第3步:喂入卫星图,拿到特征——输入边长须是16(patch大小)的倍数,仓库附带的notebook覆盖了k-NN分类、分割和跟踪:

with torch.inference_mode(): features = model(image) # image: [B, 3, H, W] print(features.shape)

class token用于分类,patch tokens用于分割和匹配,完整评估命令见 README.md。

三个值得关注的落地场景

农田与地物覆盖监测

痛点:卫星图上人工判读农田、林地、城区需要大团队标注,口径一变结果就漂移。模型怎么解:冻结SAT版特征加k-NN即可零样本分类,m-pv4ger做到96.0%、m-forestnet做到60.6%,不需要任何标注。预期收益:省掉标注环节,新增判读口径时只需补几张参考样本,不用重训。

森林冠层高度估算

痛点:激光雷达成本高昂,大范围冠层高度图很难常态化更新。模型怎么解:仓库自带CHMv2,一个直接训练在DINOv3卫星版backbone上的头,输出冠层高度,notebooks/chmv2_inference.ipynb几分钟可跑通。预期收益:普通RGB卫星图就能产出可用于森林资源与碳储量估算的高度图。

视频中的目标跟踪

痛点:监控或无人机视频里跟踪目标,换个场景常要重训一个跟踪模型。模型怎么解:notebooks/segmentation_tracking.ipynb基于DINOv3特征做非参数化视频分割跟踪,零训练。预期收益:同一套特征复用到跟踪、检索、分割多任务,模型维护面明显收窄。

底层到底做了什么

多裁剪自蒸馏(DINO+iBOT)——做了什么:训练时把同一张图随机切成不同尺度的多个视图,要求模型对每个视图给出一致的特征,再配合掩码重建让模型"猜"被遮住的部分。为什么有效:不用标签就能构造监督信号,同图不同裁剪的特征必须对齐,模型才能持续学到东西。带来什么好处:全程零标注,特征因此能直接迁移到卫星这类全新领域。

Gram锚定——做了什么:7B模型训练的第二阶段,不逐点对齐特征向量,而是约束特征的"二阶统计量"(Gram矩阵)向教师靠拢。为什么有效:二阶统计对位置偏移不敏感,在图像大、patch多的时候是更软的约束,降低长序列训练的特征塌缩风险。带来什么好处:512×512高分辨率输入训练后依然可用,遥感图这类纹理密集场景的密集特征稳定性直接受益。

7B向小模型蒸馏——做了什么:把6.7B的ViT-7B冻结当教师,在同样任务上训练21M~840M的学生模型。为什么有效:学生不用自己"学会看",直接继承教师的理解,上限由教师决定。带来什么好处:最小的21M模型消费级显卡可跑,IN-ReaL达到87.0,另有4个ConvNeXt版本给偏爱CNN的团队。

选它还是选别的

维度DINOv3 ViT-L/16(300M)DINOv2(上一代)微调过的专用卫星模型
卫星任务精度零样本平均79.6未在卫星数据预训练,开箱较弱看标注量,单一任务可做到最高
推理速度中等,300M单卡可用相近,ViT-L同参数量级通常最快,模型普遍更小
部署门槛低,torch.hub几行加载低,生态最成熟中,要自建数据流水线
社区活跃度刚开源,Meta FAIR维护最成熟,第三方集成最多看厂商

一句话建议:遥感demo或无标注的新任务,直接用DINOv3的SAT版;单一任务精度优先且标注充足时,微调专用模型仍可行;已有DINOv2管线的团队,迁移的主要收益在高分辨率密集特征上。

DINOv3把卫星图像分析变成"下权重+k-NN"。如果你在做遥感方向,值得花10分钟申请SAT权重试一下。

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

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询