目 录
第1篇 基础篇
第1章 DINOv3全景导览与学习指南 2
1.1 DINOv3:一种自监督学习的思想范式 2
1.1.1 产生背景:数据标注的局限与DINOv3的出现 2
1.1.2 核心贡献:DINOv3的技术里程碑与范式突破 3
1.2 DINOv3:一种通用的视觉骨干网络 4
1.2.1 无须标注的自监督学习 5
1.2.2 多种视觉任务上的统一骨干网络 6
1.2.3 模型参数规模与部署的工程化设计 6
1.2.4 DINOv3的实际应用与开放理念 7
1.3 DINOv3:从DINO开始的发展历程 7
1.3.1 DINO模型 7
1.3.2 DINOv2模型 8
1.3.3 DINOv3模型 8
1.4 本书架构与学习路径 9
1.4.1 设计逻辑:从原理、应用到训练的渐进式学习法 9
1.4.2 要点梳理:实战篇章与关键技能 9
1.5 本章小结 10
第2章 DINOv3的训练原理与核心机制 11
2.1 训练数据准备:多种数据集的混合 11
2.1.1 数据收集与筛选 11
2.1.2 数据混合策略 13
2.2 大规模自监督训练:架构创新与算法优化 13
2.2.1 创新的学习目标设计 14
2.2.2 模型架构的改进与优化 14
2.3 Gram锚定:提升密集特征一致性 15
2.3.1 密集特征退化问题分析 15
2.3.2 Gram锚定目标设计 16
2.3.3 高分辨率特征增强 16
2.4 模型蒸馏:多场景模型家族的形成 17
2.4.1 算力需求:DINOv3多模型家族算力估算 17
2.4.2 知识迁移:DINOv3蒸馏模型的基本原理 18
2.4.3 并行蒸馏:高效的学生模型蒸馏流程 18
2.5 多模态理解:图像-开放词汇文本对齐训练 19
2.5.1 泛化过程:图像-开放词汇文本对齐的基本原理 19
2.5.2 图像与标题匹配:DINOv3图像-开放词汇文本对齐训练方法 20
2.6 本章小结 20
第3章 DINOv3实验配置要求与环境搭建 21
3.1 DINOv3实验环境要求 21
3.1.1 实验环境概览 21
3.1.2 硬件环境要求 22
3.1.3 软件环境要求 23
3.2 DINOv3实验环境配置方法 24
3.2.1 显卡(或推理卡)驱动程序的安装 24
3.2.2 CUDA安装 27
3.2.3 Python虚拟环境安装 30
3.2.4 Git客户端安装 33
3.2.5 wget工具安装 34
3.2.6 实验环境验证 34
3.3 DINOv3模型概览 35
3.3.1 DINOv3官方模型 35
3.3.2 DINOv3第三方模型 37
3.4 本章小结 38
第2篇 应用篇
第4章 特征提取:视觉基础表示 41
4.1 图像特征基础理论 41
4.1.1 图像特征的基本概念 41
4.1.2 全局特征的基本概念 42
4.1.3 局部特征的基本概念 42
4.2 获取图像特征向量 43
4.2.1 特征提取程序解析 43
4.2.2 特征提取实验过程 44
4.3 图像特征向量结构分析 46
4.3.1 特征向量结构分析程序解析 46
4.3.2 特征向量结构分析实验过程 47
4.4 图像特征可视化 48
4.4.1 图像的分块可视化 48
4.4.2 token的分布位置分析 49
4.4.3 图像特征可视化程序解析 50
4.4.4 图像特征可视化实验过程 51
4.5 基于特征的图像相似度计算应用 52
4.5.1 图像相似度计算程序解析 52
4.5.2 图像相似度计算实验过程 53
4.6 本章小结 54
第5章 零样本分类:文本与图像对齐 56
5.1 零样本分类概述 56
5.2 DINOv3的零样本分类基础 57
5.2.1 零样本分类基础程序解析 57
5.2.2 零样本分类实验过程 60
5.3 DINOv3的零样本图块级分类 62
5.3.1 零样本图块级分类程序解析 62
5.3.2 零样本图块级分类实验过程 65
5.4 DINOv3的零样本图块级分类可视化 66
5.4.1 零样本图块级分类可视化程序解析 66
5.4.2 零样本图块级分类可视化实验过程 67
5.5 评估DINOv3零样本分类能力 68
5.5.1 评估零样本分类能力的原理 68
5.5.2 零样本分类能力评估程序解析 73
5.5.3 零样本分类能力评估实验过程 77
5.6 本章小结 78
第6章 语义分割:像素级分类 79
6.1 语义分割任务概述 79
6.2 语义分割基础应用 79
6.2.1 语义分割模型介绍 80
6.2.2 语义分割程序解析 80
6.2.3 语义分割实验过程 83
6.3 前景分割任务头训练 84
6.3.1 前景分割训练数据准备 84
6.3.2 前景分割训练程序解析 85
6.3.3 前景分割训练实验过程 89
6.4 前景分割任务头训练应用 90
6.4.1 前景分割应用程序解析 90
6.4.2 前景分割应用实验过程 93
6.5 主成分分析应用 94
6.5.1 主成分分析的原理 94
6.5.2 主成分分析程序解析 95
6.5.3 主成分分析实验过程 98
6.6 本章小结 100
第7章 目标检测:定位与识别 101
7.1 目标检测任务概述 101
7.2 DINOv3目标检测基础应用 102
7.2.1 DINOv3目标检测实现原理 102
7.2.2 DINOv3目标检测基础程序解析 102
7.2.3 DINOv3目标检测实验过程 107
7.3 DINOv3蒸馏模型实现目标检测 110
7.3.1 蒸馏模型目标检测原理 110
7.3.2 蒸馏模型目标检测程序解析 110
7.3.3 蒸馏模型目标检测实验过程 111
7.4 本章小结 113
第8章 特征匹配:密集稀疏关联 114
8.1 密集稀疏匹配任务概述 114
8.2 密集稀疏匹配程序解析 115
8.3 密集稀疏匹配实验过程 126
8.4 本章小结 128
第9章 3D赋能:SAM 3D Body应用 129
9.1 SAM3与SAM 3D Body模型简介 129
9.1.1 图像分割模型SAM3 129
9.1.2 三维人体重建模型SAM 3D Body 130
9.2 基于SAM3的图像分割实例 130
9.2.1 基于SAM3的图像分割程序解析 130
9.2.2 基于SAM3的图像分割实验过程 133
9.3 基于SAM 3D Body的人体网格重建任务实例 136
9.3.1 SAM 3D Body进行人体网格重建的原理 136
9.3.2 基于SAM 3D Body的人体网格重建任务程序解析 137
9.3.3 基于SAM 3D Body的人体网格重建实验过程 138
9.4 本章小结 140
第3篇 训练篇
第10章 DINOv3图像分类:轻量级任务头训练 143
10.1 图像分类训练概述 143
10.1.1 CIFAR-10数据集介绍 144
10.1.2 Timm训练框架介绍 144
10.1.3 图像分类训练任务介绍 144
10.2 图像分类训练程序解析 145
10.2.1 导入依赖库 145
10.2.2 加载骨干网络 145
10.2.3 定义模型结构 146
10.2.4 加载CIFAR-10数据集 148
10.2.5 训练分类任务头 149
10.2.6 保存训练结果 151
10.2.7 评估训练结果 152
10.2.8 训练流程组合 153
10.3 图像分类训练实验过程 153
10.3.1 创建虚拟环境 153
10.3.2 下载数据集 154
10.3.3 训练分类任务头 154
10.4 图像分类训练成果应用 155
10.4.1 图像分类训练成果应用程序解析 155
10.4.2 图像分类训练成果应用实验过程 157
10.5 本章小结 159
第11章 DINOv3图像分类:基于自有数据训练 160
11.1 自有数据集的组织方式 160
11.2 自有数据集的整理示例 161
11.3 基于自有数据的分类任务头训练程序解析 164
11.4 基于自有数据的分类任务头训练实验过程 169
11.5 基于自有数据的分类任务头训练成果应用 171
11.5.1 自有数据训练成果应用程序 171
11.5.2 自有数据训练成果应用实验过程 172
11.6 本章小结 173
第12章 DINOv3语义分割:卫星遥感图像分割训练 174
12.1 卫星遥感语义分割任务头训练的基本原理 174
12.1.1 卫星遥感语义分割概述 174
12.1.2 DeepGlobe Land Cover Classification遥感数据集 175
12.1.3 基于DINOv3的训练方案 177
12.2 卫星遥感语义分割任务头训练程序解析 177
12.2.1 导入依赖库 177
12.2.2 定义训练参数 178
12.2.3 设计分割模型结构 180
12.2.4 DeepGlobe遥感数据集处理类 183
12.2.5 加载训练数据 185
12.2.6 训练分割任务头 186
12.2.7 验证模型训练效果 189
12.2.8 训练流程组合 191
12.3 卫星遥感语义分割任务头训练实验过程 192
12.3.1 创建虚拟环境 192
12.3.2 下载数据集 192
12.3.3 训练分割任务头 192
12.4 语义分割任务头训练成果的应用 194
12.4.1 语义分割任务头应用程序解析 194
12.4.2 语义分割任务头应用实验过程 198
12.5 本章小结 199
第13章 DINOv3目标检测:基于COCO数据集训练 200
13.1 目标检测任务头训练的基本原理 200
13.1.1 目标检测任务头训练概述 200
13.1.2 Ultralytics COCO128数据集 201
13.1.3 基于DINOv3的训练方案 202
13.2 目标检测任务头训练程序解析 203
13.2.1 导入依赖库 203
13.2.2 设计检测模型结构 203
13.2.3 COCO128数据集处理类 206
13.2.4 批次数据整理函数 208
13.2.5 加载训练数据 208
13.2.6 设计损失函数 209
13.2.7 训练目标检测任务头 211
13.2.8 组合训练流程 213
13.3 目标检测任务头训练实验过程 214
13.3.1 创建虚拟环境 214
13.3.2 下载数据集 214
13.3.3 训练目标检测任务头 214
13.4 目标检测任务头应用 216
13.4.1 目标检测任务头应用程序解析 216
13.4.2 目标检测任务头应用实验过程 221
13.5 本章小结 222
第14章 DINOv3知识蒸馏:构建轻量化视觉模型 223
14.1 知识蒸馏技术概述 223
14.2 LightlyTrain框架介绍 224
14.3 知识蒸馏过程的实现 224
14.3.1 模型蒸馏过程 224
14.3.2 模型微调过程 227
14.4 知识蒸馏模型的应用 229
14.4.1 目标检测程序解析 230
14.4.2 目标检测实验过程 231
14.5 本章小结 232
第15章 DINOv3蒸馏应用:轻量化图像分割 233
15.1 全景分割应用 233
15.1.1 全景分割模型程序解析 233
15.1.2 全景分割模型实验过程 235
15.2 实例分割应用 237
15.2.1 实例分割模型程序解析 238
15.2.2 实例分割模型实验过程 239
15.2.3 训练实例分割模型 240
15.3 前景分割应用 247
15.3.1 数据集的整理 247
15.3.2 前景分割模型训练程序解析 250
15.3.3 前景分割模型训练实验过程 252
15.3.4 前景分割模型训练成果验证 252
15.4 自动生成标签应用 255
15.4.1 自动标注程序解析 256
15.4.2 自动标注程序实验过程 256
15.5 本章小结 257
第16章 DINOv3扩展应用:与YOLO和DEIMv2整合应用 258
16.1 DINOv3与YOLO整合应用 258
16.1.1 DINOv3与YOLO的整合原理 259
16.1.2 模型知识蒸馏 259
16.1.3 蒸馏模型微调 262
16.1.4 目标检测实验 264
16.2 DINOv3与DEIMv2整合应用 266
16.2.1 基于DEIMv2的目标检测程序解析 266
16.2.2 基于DEIMv2的目标检测实验过程 272
16.3 本章小结 274
