DINOv2工业缺陷异常检测算特征提取模型介绍

DINO 是一种用于自监督视觉学习的深度学习模型,于 2021 年由 Facebook AI 提出。DINO 是最先探讨基于 Transformer 架构的自监督学习代表作之一,其通过在无标签图像上进行自监督训练来学习视觉特征表示。

DINOV2 (Distillation with No Labels version 2)是MetaAl开发的自监督视觉基础模型,基于Vision Transformer(ViT)架构,在1.42亿张无标注图像上训练,能生成无需微调即可直接用于下游任务的通用视觉特征。

DINOv2版本的链接地址为:https://github.com/facebookresearch/dinov2

1.工业缺陷检测的痛点

在制造业质检场景中,异常样本往往只占总数的0.1%-5%,却直接影响产品质量。传统监督学习需要大量标注数据,同时需要不停的进行数据迭代,需要消耗标注及数据清洗的人力和训练设备及电力。而DINOv2通过自监督学习在海量无标注图像上预训练,能够提取具有判别力的视觉特征,特别适合工业缺陷异常检测任务。采用的范式为"预训练+下游任务微调",本质上是知识的复用与迁移。

DINOv2基于Vision Transformer(ViT)架构,通过自注意力机制捕捉图像全局特征。采用了自监督学习的方法来从大量未标注的数据中学习有用的特征表示。其核心思想在于对比学习,即通过对同一张图片的不同变换版本进行编码,并尝试让这些变换后的表示尽可能相似,同时与其他图片的表示保持距离。这种策略使得模型能够在没有标签的情况下学习到图像中的语义信息。我们将使用预训练的ViT模型作为特征提取器,构建一个简单而高效的异常检测系统。

在当前计算机视觉领域的自监督预训练方法中,对比学习(Contrastive Learning)和掩码图像建模(Masked Image Modeling)最为流行,前者通过构建图像对及优化相似度度量来增强区分性表征能力,后者则通过重建遮蔽区域使模型学习通用图像特征。

2.环境及部署

将下载的文件解压导D:\DINO\dinov2-main文件夹下;并以管理员身份进入Anaconda powershell prompt命令栏下。如下图所示:

1)创建并激活虚拟环境

进入安装目录下,输入如下指令

bash 复制代码
#手动创建虚拟环境
conda create -n dinov2 python=3.12
conda activate dinov2
# 安装核心依赖
pip install torch torchvision -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install opencv-python pillow -i https://pypi.tuna.tsinghua.edu.cn/simple

手动创建虚拟环境后,可参考文件conda-extras.yaml通过pip install 进行安装,如需加速可利用清华镜像源 -i https://pypi.tuna.tsinghua.edu.cn/simple进行安装。如下指令

bash 复制代码
pip install  torchmetrics -i https://pypi.tuna.tsinghua.edu.cn/simple
相关推荐
彩虹编程4 分钟前
通俗讲解LTN中的非逻辑符号、连接词、量词
人工智能·神经符号
DoUfp0bgq8 分钟前
解决RDK X5(ARM64架构)板卡Remote-SSH运行Antigravity AI崩溃(SIGILL):Samba网络盘本地挂载方案
人工智能·架构·ssh
小小小怪兽8 分钟前
⛏️深入RAG
人工智能·langchain
Kel11 分钟前
Pi Monorepo Stream Event Flow 深度分析
人工智能·架构·node.js
ChatInfo17 分钟前
AI 写代码的时代,为什么动态语言开始显得更“便宜”了?
人工智能·web api
AI医影跨模态组学17 分钟前
Ann Oncol(IF=65.4)广东省人民医院放射科刘再毅等团队:基于深度学习CT分类器与病理标志物增强II期结直肠癌风险分层以优化辅助治疗决策
人工智能·深度学习·论文·医学·医学影像
L-影40 分钟前
下篇:tool的四大门派,以及它到底帮AI干了什么
人工智能·ai·tool
后端小肥肠1 小时前
一句话出流程图!我把 OpenClaw + Skill 做成了自动生成业务图的能力
人工智能·aigc
Ztopcloud极拓云视角1 小时前
Gemini 3.1 Pro vs GPT-5.4 Pro:API成本1/3、性能差多少?选型实测笔记
人工智能·笔记·gpt·ai·语言模型