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
相关推荐
lzhdim28 分钟前
AI的分类
人工智能·算法·机器学习·分类·数据挖掘
程序员海军2 小时前
用了两年多 GPT,我最近开始换模型了,还折腾了个求职避坑 Agent
前端·人工智能·后端
AIsoft_86892 小时前
人才评估中的关键信息如何沉淀?
人工智能·iphone
紧跟先前的步伐2 小时前
Go AI Agent 实战 06|JSON 结构化输出与 Go 后端校验
人工智能·ai·golang
vibecoding774 小时前
Codex 分层用模型完整教程:让 GPT-6.1 Sol 拍板、GPT-6 Luna 跑侦察
人工智能·gpt
新知图书4 小时前
1.3 启动第一个机器人
人工智能·机器人
明志数科4 小时前
自主探索范式下机器人示教数据的工程定位:少量示范为何对质量更敏感
人工智能·机器学习·机器人
Maynor9965 小时前
WorkBuddy 一键接通 gpt-6.1-sol:MomoAI / TryAllAPI 把最新模型接到桌面
人工智能·gpt·ai·大模型·编程工具
火山引擎开发者社区5 小时前
问得出、搜得准、信得过:ContextSearch 重构销售检索体验
人工智能
Raymond16885 小时前
AI配音工具长文本合成架构技术解析:全局音色锚定与声学状态跟踪
人工智能·架构·实时互动·视觉检测·音视频·语音识别