当前位置: 首页 > news >正文

Meta 推出 WebSSL 模型:探索 AI 无语言视觉学习,纯图训练媲美 OpenAI CLIP

在这里插入图片描述
Web-SSL 探索了视觉自监督学习(SSL)在网络规模数据上的扩展潜力。通过调整模型大小和训练数据,我们证明了纯视觉模型可以与 CLIP 等语言监督方法相媲美,甚至超越它们,从而对 "语言监督是学习多模态建模所需的强大视觉表征的必要条件 "这一普遍假设提出了挑战。我们提出了 Web-SSL:一个参数从 0.3B 到 7B 不等的纯视觉模型系列,它为多模态建模和经典视觉任务提供了 CLIP 的有力替代方案。

主要发现:
  • 📈 SSL 通过模型能力和数据不断改进。
  • 🔍 Web-SSL 在广泛的 VQA 任务中,甚至在 OCR & 图表理解等与语言相关的任务中,都能与语言监督方法相媲美,甚至更胜一筹。
  • 🖼️ 我们的模型在分类和分割等经典视觉任务中保持了极具竞争力的性能,同时在多模态任务中表现出色。
  • 📊 视觉 SSL 方法对数据分布很敏感!在文本丰富的图像浓度较高的过滤数据集上进行训练,可大幅提高 OCR & 图表理解能力。

Web-DINO 型号

标准机型

Web-DINO 是 DINOv2 模型系列,参数范围从 0.3B 到 7B 不等,在更大规模的网络图像上进行训练。Web-DINO 模型在多模态任务(如 VQA)中表现尤为突出,同时又不影响经典视觉任务(如图像分类)的性能。详情请参见我们的论文。

模型分块大小分辨率数据HuggingFace权重
webssl-dino300m-full2b-22414x14224x2242B (MC-2B)LinkLink
webssl-dino1b-full2b-22414x14224x2242B (MC-2B)LinkLink
webssl-dino2b-full2b-22414x14224x2242B (MC-2B)LinkLink
webssl-dino3b-full2b-22414x14224x2242B (MC-2B)LinkLink
webssl-dino5b-full2b-22414x14224x2242B (MC-2B)LinkLink
webssl-dino7b-full8b-22414x14224x2248B (MC-2B)LinkLink
webssl-dino7b-full8b-37814x14378x3788B (MC-2B)LinkLink
webssl-dino7b-full8b-51814x14518x5188B (MC-2B)LinkLink

** 型号说明:**

  • webssl-dino7b-full8b-224 ⭐:最佳 224x224 分辨率模型
  • webssl-dino7b-full8b-378 ⭐:使用 384x384 分辨率时性能更佳
  • webssl-dino7b-full8b-518 ⭐:518x518 分辨率下的最佳整体性能

过滤数据模型

这些模型是在 MC-2B 图像的过滤子集上进行训练的,这些子集包含较多文本(如标志、图表、表格、注释等)。这增强了 OCR & 图表理解能力,与在完整数据上训练的相同大小的模型相比,其他 VQA 类别的性能没有明显下降。

模型分块大小分辨率数据HuggingFace权重
webssl-dino2b-light2b-22414x14224x2242B (MC-2B light)LinkLink
webssl-dino2b-heavy2b-22414x14224x2242B (MC-2B heavy)LinkLink
webssl-dino3b-light2b-22414x14224x2242B (MC-2B light)LinkLink
webssl-dino3b-heavy2b-22414x14224x2242B (MC-2B heavy)LinkLink

** 数据说明:**

  • MC-2B light: MC-2B 图像中包含文本的 50.3% 子集
  • MC-2B heavy: 包含图表/文档的 MC-2B 图像的 1.3% 子集。

Web-MAE 模型

Web-MAE 是一系列 MAE 模型,参数范围从 0.3B 到 3B,在更大规模的网络图像上进行训练。我们只发布了用于特征提取的编码器。

模型分块大小分辨率数据HuggingFace权重
webssl-mae300m-full2b-22416x16224x2242B (MC-2B)LinkLink
webssl-mae700m-full2b-22414x14224x2242B (MC-2B)LinkLink
webssl-mae1b-full2b-22414x14224x2242B (MC-2B)LinkLink
webssl-mae2b-full2b-22414x14224x2242B (MC-2B)LinkLink
webssl-mae3b-full2b-22414x14224x2242B (MC-2B)LinkLink

Installation

It is possible that older or newer versions will work. However, we haven’t tested them for this inference code.

conda create -n webssl python=3.11
conda activate webssl
pip install torch==2.5.1 torchvision==0.20.1 xformers --index-url https://download.pytorch.org/whl/cu124
pip install transformers==4.48.0 huggingface-hub==0.27.1 timm==1.0.15

使用方法

我们提供了两个示例,将我们的模型与 HuggingFace 和原生 PyTorch 结合使用。请注意,您并不局限于使用预训练分辨率进行推理,但是,您可能会通过使用相同的分辨率进行推理获得最佳结果。

1.使用 HuggingFace Transformers

您可以选择使用 huggingface-cli 先在本地下载模型权重。当您没有大型缓存或网络速度较慢时,这样做很方便。

例如huggingface-cli download facebook/webssl-dino7b-full8b-518 --local-dir YOUR_PATH、然后提供 YOUR_PATHfrom_pretrained()

from transformers import AutoImageProcessor, Dinov2Model# Load a Web-DINO model
model_name = "facebook/webssl-dino1b-full2b-224"
processor = AutoImageProcessor.from_pretrained(model_name)
model = Dinov2Model.from_pretrained(model_name, attn_implementation='sdpa') # 'eager' attention also supported
model.cuda().eval()# Process an image
from PIL import Imageimage = Image.open("sample_images/bird.JPEG")
with torch.no_grad():inputs = processor(images=image, return_tensors="pt").to('cuda')outputs = model(**inputs)last_hidden_states = outputs.last_hidden_state

2.使用带有原始权重的 PyTorch

from dinov2.vision_transformer import webssl_dino1b_full2b_224
import torch
from PIL import Image
from torchvision import transforms# Define image transformation
transform = transforms.Compose([transforms.Resize(256, interpolation=transforms.InterpolationMode.BICUBIC),transforms.CenterCrop(224),transforms.ToTensor(),transforms.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225))
])# Load model
model = webssl_dino1b_full2b_224()# Load weights
checkpoint_path = "path/to/downloaded/weights.pth"
state_dict = torch.load(checkpoint_path, map_location="cpu")
msg = model.load_state_dict(state_dict, strict=False)
print(f"Loaded weights: {msg}")
model.cuda().eval()# Process an image
image = Image.open("sample_images/bird.JPEG")
x = transform(image).unsqueeze(0).cuda()
with torch.no_grad():features = model.forward_features(x)patch_features = features['x_norm_patchtokens']

https://github.com/facebookresearch/webssl

https://github.com/facebookresearch/webssl/blob/main/demo_webdino.py

https://github.com/facebookresearch/webssl/blob/main/demo_webmae.py

相关文章:

Meta 推出 WebSSL 模型:探索 AI 无语言视觉学习,纯图训练媲美 OpenAI CLIP

Web-SSL 探索了视觉自监督学习(SSL)在网络规模数据上的扩展潜力。通过调整模型大小和训练数据,我们证明了纯视觉模型可以与 CLIP 等语言监督方法相媲美,甚至超越它们,从而对 "语言监督是学习多模态建模所需的强大…...

node.js puppeteer 实践

puppeteer 介绍 Puppeteer 是 Google 推出的一个 Node.js 库,它通过 Chromium 提供了一个高效、简洁的 API,用于操作无头浏览器或具有 UI 的完整浏览器。它广泛应用于 自动化测试、数据抓取、页面性能分析和 UI 测试等领域。 Puppeteer 是一个 Node 库&…...

【现代深度学习技术】循环神经网络07:通过时间反向传播

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈PyTorch深度学习 ⌋ ⌋ ⌋ 深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上,结合当代大数据和大算力的发展而发展出来的。深度学习最重…...

如何在idea中写spark程序

一、环境准备 1. 安装 IntelliJ IDEA: 下载并安装 IntelliJ IDEA(推荐使用 Community 版本,它已经支持 Scala 和 Spark 开发)。 官方下载地址:[JetBrains IntelliJ IDEA](https://www.jetbrains.com/idea/downlo…...

硬件加密+本地部署,大模型一体机如何打造AI安全护城河?

2025年,大模型技术加速渗透千行百业,但随之而来的安全风险也引发广泛关注。数据显示,近九成企业部署的大模型服务器存在“裸奔”隐患,数据泄露、模型篡改、算力劫持等问题频发。 在此背景下,大模型一体机凭借“开箱即…...

在另外一台可以科学下载的电脑用ollama下载模型后,怎么导入到另外一台服务器的ollama使用

环境: Win10专业版 Ubuntu20.04 问题描述: 在另外一台可以科学下载的电脑用ollama下载模型后,怎么导入到另外一台服务器的ollama使用,原电脑win10上的ollama下载的模型,复制到ubuntu20.04的ollama上推理 解决方案:…...

鼠标滚动字体缩放

在VsCode中编辑文件时,有时候发现Ctrl鼠标滚轮并不能缩放字体,下面是启用这个功能的方法。 第一步: 进入设置,可以从左下角按钮菜单进入,也可以使用【Ctrl,】。 第二步: 启用鼠标滚轮缩放功能 第三步&…...

什么是VR相机?VR相机的发展历史

VR相机:沉浸式体验的未来科技 VR相机,全称为虚拟现实相机,是专门用于捕捉和记录三维空间和场景的设备,能够拍摄360度全景照片和视频。通过模拟人的双眼视觉差异,利用多个镜头和传感器同时捕捉周围环境的图像&#xff…...

Java面试:Spring及Spring Cloud技术深度剖析

Spring及Spring Cloud技术深度剖析 前言 在Java开发领域,Spring框架一直是企业级应用开发的中流砥柱,而Spring Boot的出现更是极大地简化了Spring应用的开发过程。同时,Spring Cloud为构建分布式系统提供了强大的支持。本文将围绕Spring及S…...

论文阅读_Search-R1_大模型+搜索引擎

英文名称:Search-R1: Training LLMs to Reason and Leverage Search Engines with Reinforcement Learning 中文名称:Search-R1:训练大型语言模型进行推理并利用搜索引擎的强化学习 链接: http://arxiv.org/pdf/2503.09516v2 代码: https://g…...

零成本AI抠图终极指南:蓝耘元生代AIDC OS+ComfyUI实现商业级效果

引言:AI抠图革命已经到来 在数字内容创作爆炸式增长的今天,高质量的图像处理已成为刚需。无论是电商平台的商品展示、自媒体博主的封面设计,还是摄影爱好者的后期处理,抠图都是最基础也是最繁琐的工作之一。 传统抠图方式面临三…...

深入理解CSS3:Flex/Grid布局、动画与媒体查询实战指南

引言 在现代Web开发中,CSS3已经成为构建响应式、美观且高性能网站的核心技术。它不仅提供了更强大的布局系统(Flexbox和Grid),还引入了令人惊艳的动画效果和精准的媒体查询能力。本文将深入探讨这些关键技术,帮助您提…...

VLM-E2E:通过多模态驾驶员注意融合增强端到端自动驾驶——论文阅读

《VLM-E2E Enhancing End-to-End Autonomous Driving with Multimodal Driver Attention Fusion》2025年2月发表,来自香港科大广州分校、理想汽车和厦门大学的论文。 一、核心问题与动机 现有端到端(E2E)自动驾驶系统直接从传感器输入映射到…...

蓝牙BLE

1、简介 蓝牙BR/EDR和BLE是蓝牙技术的两个重要分支,它们各自具有独特的特点和应用场景。 1.1、蓝牙BR/EDR 蓝牙BR(Basic Rate) 定义:蓝牙技术的首个开发版本,采用高斯频移键控(GFSK)调制技术…...

在VS2022中使用Lua与c交互(二)

一、核心交互机制:Lua 虚拟栈 Lua 与 C 的交互通过一个 ​​虚拟栈(Stack)​​ 完成,所有数据传递、函数调用均通过此栈实现。栈的每个元素可以是任意 Lua 类型(如数字、字符串、表、函数等)。 栈的结构与…...

论文阅读_Citrus_在医学语言模型中利用专家认知路径以支持高级医疗决策

英文名称:Citrus: Leveraging Expert Cognitive Pathways in a Medical Language Model for Advanced Medical Decision Support 中文名称:Citrus:在医学语言模型中利用专家认知路径以支持高级医疗决策 链接: http://arxiv.org/pdf/2502.18…...

浅谈PCB传输线(一)

前言:浅谈传输线的类型,以及传输线的一些行为特性。 1.传输线的种类 2.互连线被视为传输线的场景 3.传输线的行为特性*** 1.传输线的种类 PCB 中的信号传输线通常有两种基本类型: 微带线和带状线。此外,还有第三种类型–共面线(没有参考平面…...

Spring-全面详解(学习总结)

一:概述 1.1 为什么学 解决了两个主要问题 1. 2 学什么 1.3 怎么学 二:系统架构 作用:web开发、微服务开发、分布式系统开发 容器:用于管理对象 AOP:面向切面编程(不惊动原始程序下对其进行加强) 事…...

突破JVM边界:类加载三重门与栈帧的生存法则

类加载子系统 文件验证阶段 类加载子系统在加载Class文件时,首先会验证文件格式规范,检查文件开头的魔数标识,确保这是一个合法的JVM字节码文件。 职责边界 该子系统仅负责将Class文件加载到内存中,并不关心后续能否成功执行—…...

VSCode 查看文件的本地修改历史

1. 使用时间线视图(Timeline) 新版 VSCode 内置了一个叫 Timeline(时间线) 的功能,可以查看: 本地文件修改记录(包括保存历史)Git 提交历史(如果仓库是 Git 管理的&…...

在QGraphicsView中精确地以鼠标为锚缩放图片

在pyqt中以鼠标所在位置为锚点缩放图片-CSDN博客中的第一个示例中,通过简单设置: self.setTransformationAnchor(QGraphicsView.AnchorUnderMouse) 使得QGraphicsView具有了以鼠标为锚进行缩放的功能。但是,其内部应当是利用了滚动条的移动来…...

【Python数据驱动决策】数据分析与可视化全流程实战指南

目录 前言技术背景与价值当前技术痛点解决方案概述目标读者说明一、技术原理剖析核心概念图解核心作用讲解关键技术模块说明技术选型对比二、实战演示环境配置要求核心代码实现案例1:销售数据清洗案例2:月度销售趋势分析案例3:产品关联分析(热力图)运行结果验证三、性能对…...

报错解决:ModuleNotFoundError: No module named ‘triton.ops‘

报错原因:2024.5.21之后, triton.ops 被移动到另一个工程 triton-lang/kernels中。 参考链接:官方解释 解决方案:换用2024.5.21之前发布的版本。 pip3 install triton2.3.0...

相机-IMU联合标定:相机-IMU外参标定

文章目录 📚简介🚀标定工具kalibr🚀标定数据录制🚀相机-IMU外参标定📚简介 在 VINS(视觉惯性导航系统) 中,相机-IMU外参标定 是确保多传感器数据时空统一的核心环节,其作用可概括为以下关键点: 坐标系对齐(空间同步),外参误差会导致视觉特征点投影与IMU预积…...

Qt C++数据库实验

一、实验目的和要求 1、掌握Qt中数据库SQL类数据库的查询、插入和更新操作。 2、熟悉Qt界面设计中常用的控件。 3、了解数据库相关类。 二、实验内容 1、设计一个数据库操作软件,完成数据库的相关操作。 2、建立按钮的信号与槽函数,实现点击按钮进…...

相机-IMU联合标定:IMU标定

文章目录 📚 简介🚀标定工具安装📌 IMU标定工具 code_utils📌 IMU标定工具 imu_utils:🚀标定数据录制🚀IMU标定📚 简介 在 VINS(Visual-Inertial Navigation System,视觉惯性导航系统) 中,IMU标定 是确保系统高精度运行的关键环节。IMU(惯性测量单元)本身…...

榕壹云信用租赁系统:基于ThinkPHP+MySQL+UniApp的全链路免押租赁解决方案

信用租赁时代的全流程数字化革新 随着共享经济与信用体系的深度融合,传统租赁行业正面临效率与信任的双重挑战。榕壹云信用租赁系统依托ThinkPHP高性能框架、MySQL数据库与UniApp跨平台开发技术,构建了一套覆盖设备租赁全生命周期的数字化解决方案。通过整合多因子身份认证、…...

C语言中的指针详解

指针是C语言中非常强大且复杂的特性之一,它为我们提供了更灵活的内存管理方式,使得程序能够直接操作内存,提升效率和性能。尽管指针非常强大,但如果不理解它的概念和使用方式,很容易出现错误。因此,理解指针…...

NIPS2021 | 视觉 Transformer 的有趣特性

Intriguing Properties of Vision Transformers 摘要-Abstract引言-Introduction相关工作-Related Work视觉Transformer的有趣特性-Intriguing Properties of Vision Transformers视觉Transformer对遮挡具有鲁棒性吗?-Are Vision Transformers Robust to Occlusions…...

贪心算法-2208.将数组和减半的最小操作数-力扣(LeetCode)

一、题目解析 这里要注意恰好这个字眼,说明对任意数减小一半是不需要向上取整的,所以我们需要定义double类型的数据。 二、算法解析 我们需要将数组和减小为一半的次数最少,所以根据贪心算法,我们需要取数组中最大的数进行减半操…...

如何搭建spark yarn 模式的集群集群。

下载 App 如何搭建spark yarn 模式的集群集群。 搭建Spark on YARN集群的详细步骤 Spark on YARN模式允许Spark作业在Hadoop YARN资源管理器上运行,利用YARN进行资源调度。以下是搭建步骤: 一、前提条件 已安装并配置好的Hadoop集群(包括HDF…...

嵌入式开发面试典型编程题解析:排序算法、指针操作、字符处理、递归原理等基础原理的深度解析。

在嵌入式开发面试中,编程题是常见的考察形式,旨在检验求职者对基础编程知识的掌握和应用能力。以下是几道典型的嵌入式面试编程题及详细解析,帮助新手逐步理解和掌握相关知识点。 一、用交换法对学生成绩降序排序 题目描述 在嵌入式系统开…...

DeepSeek+即梦:AI视频创作从0到1全突破

目录 一、开启 AI 视频创作大门:前期准备1.1 注册与登录1.2 熟悉工具界面1.3 硬件与网络要求 二、用 DeepSeek 构思视频脚本2.1 明确创作主题与目标2.2 编写优质提示词2.3 生成并优化脚本 三、即梦 AI 实现画面生成3.1 文生图基础操作3.2 调整参数提升画质3.3 保持人…...

npm init、换源问题踩坑

文章目录 一、 问题复现二、问题解决 一、 问题复现 成功安装nodejs 以及 npm 版本如下: > node -v > v20.18.0 > npm -v > 10.8.2使用 npm init 命令时延时过长,考虑换源,使用指令 npm config set registry https://registr…...

TRex 控制台命令解析

TRex 是一种高性能的网络测试工具,用于生成和分析网络流量。以下是对这些命令的简要解释: 一、help Console Commands(控制台命令) capture:管理 PCAP 捕获。debug:用于开发的内部调试器。events&#x…...

【Shell 脚本入门】轻松上手的实战指南

🌈 个人主页:Zfox_ 🔥 系列专栏:Shell脚本编程 目录 一:🔥 什么是 Shell 🦋 常见的 Shell 类型 二:🔥 什么是 Shell 脚本 🦋 Shell 脚本规则🦋 第…...

数据结构*栈

栈 什么是栈 这里的栈与我们之前常说的栈是不同的。之前我们说的栈是内存栈,它是JVM内存的一部分,用于存储局部变量、方法调用信息等。每个线程都有自己独立的栈空间,当线程启动时,栈就会被创建;线程结束&#xff0c…...

零基础制作Freertos智能小车(教程非常简易)持续更新中....

从现开始,将陆续推出各类简单的DIY电子设计,由简入深,将自己的制作过程全部分享出来,巩固自己知识的同时希望借此机会认识更多喜欢电子设计的小伙伴。 本次小车的主控芯片采用stm32f103c8t6,主要是便宜好用&am…...

Leetcode - 双周赛155

目录 一,3527. 找到最常见的回答二,3528. 单位转换 I三,3529. 统计水平子串和垂直子串重叠格子的数目四,3530. 有向无环图中合法拓扑排序的最大利润 一,3527. 找到最常见的回答 题目列表 本题是一道模拟题&#xff0…...

详解RabbitMQ工作模式之工作队列模式

目录 工作队列模式 概念 特点 应用场景 工作原理 注意事项 代码案例 引入依赖 常量类 编写生产者代码 编写消费者1代码 编写消费者2代码 先运行生产者,后运行消费者 先运行消费者,后运行生产者 工作队列模式 概念 在工作队列模式中&#x…...

QGIS+mcp的安装和使用

QGISmcp的安装和使用 安装qgis_mcp 下载qgis_mcp: git clone https://github.com/jjsantos01/qgis_mcp.git安装uv uv是一个由Rust语言编写的python包管理工具,旨在提供比传统工具(如 pip)更高效的依赖管理和虚拟环境操作。 p…...

Java基础361问第16问——枚举为什么导致空指针?

我们看一段代码 public enum Color {RED, BLUE, YELLOW;public static Color parse(String color) {return null;} }public static void main() {Color color Color.parse("");// 极具迷惑性,大家日常开发肯定这么写过switch (color) {case RED:break;c…...

在 C# .NET 中驾驭 JSON:使用 Newtonsoft.Json 进行解析与 POST 请求实战

JSON (JavaScript Object Notation) 已经成为现代 Web 应用和服务之间数据交换的通用语言。无论你是开发后端 API、与第三方服务集成,还是处理配置文件,都绕不开 JSON 的解析与生成。在 C# .NET 世界里,处理 JSON 有多种选择,其中…...

CentOS7——Docker部署java服务

1、安装Docker 首先要确保系统已安装 Docker,若未安装,可以参考我的另一篇文章现在CentOS7上安装Docker,文章地址如下: CentOS7系统安装Docker教程-CSDN博客 Docker当中要安装必备的软件,比如Java运行必要的JDK&#…...

Python-Part2-集合、字典与推导式

Python-Part2-集合、字典与推导式 1. set集合 ⽆序,去掉重复数据。 set1 {1,2,3,4,5,5,4,3,2,1}print(type(set1))print(set1)set2.add(66666)set2.remove(55)#不能使用下标访问set,所以修改操作一般为remove操作 add操作2.dict 字典 字典&#xff…...

《AI大模型应知应会100篇》第39篇:多模态大模型应用:文本、图像和音频的协同处理

第39篇:多模态大模型应用:文本、图像和音频的协同处理 摘要 随着人工智能技术的发展,多模态大模型(Multimodal Large Models)已经成为AI领域的热点之一。这些模型能够同时处理文本、图像、音频等多种模态数据&#xf…...

kvm学习小结

安装相关包 安装虚拟化相关包 apt install qemu-kvm qemu-system libvirt-clients libvirt-daemon-system vlan bridge-utils 安装界面相关包 apt install xinit gdmd 配置机器允许root登录 检查cpu是否支持虚拟化 egrep -o vmx|svm /proc/cpuinfo 执行命令systemctl s…...

k8s基本概念-YAML

YAML介绍 YAML是“YAML Aint a Markup Language” (YAML不是一种置标语言)的递归缩进写,早先YAML的意思其实是:“Yet Another Markup Language”(另一种置标语言) YAML是一个类似XML、JSON的标记性语言。YAML强调以数据为中心,并不是以标识语言为重点。因而YAML本身的定义…...

wps批注线条怎么取消去掉wps批注后有竖线

wps批注线条怎么取消去掉wps批注后有竖线 问题 图片 解决方案 图片 word批注线条取消的方法: 1.打开Word文档,点击需要删除的批注。 2.然后点击工具栏“审阅”选项。 3.接着点击“接受“ 4.接受对文档所做的所有修订(H)...

深度解析算法之分治(归并)

48.排序数组 题目链接 给你一个整数数组 nums,请你将该数组升序排列。 你必须在 不使用任何内置函数 的情况下解决问题,时间复杂度为 O(nlog(n)),并且空间复杂度尽可能小。 示例 1: 输入: nums [5,2,3,1] 输出&am…...