FocalNet

FocalNet

突破注意力机制的新型视觉模型架构

FocalNet是一种创新的视觉模型架构,无需使用注意力机制。其核心的焦点调制技术在多项视觉任务中超越了现有的自注意力方法。该模型在ImageNet分类和COCO检测等基准测试中表现优异,同时保持了高效简洁的实现。FocalNet具有平移不变性、强输入依赖性等特点,为计算机视觉领域提供了一种全新的建模思路。

FocalNets图像分类目标检测语义分割卷积神经网络Github开源项目

焦点调制网络

这是FocalNets的官方PyTorch实现:

"焦点调制网络",作者:Jianwei YangChunyuan LiXiyang DaiLu YuanJianfeng Gao

PWC PWC PWC PWC

新闻

  • [2023/11/07] 研究人员表明,Focal-UNet在多个地球系统分析基准测试中优于以往的方法。查看他们的代码论文项目
  • [2023/06/30] :collision: 请从huggingface查找FocalNet-DINO检查点。旧链接已废弃。
  • [2023/04/26] 通过与FocalNet-Huge骨干网络结合,Focal-Stable-DINO在COCO测试开发集上实现了64.8 AP无需任何测试时增强!查看我们的技术报告了解更多详情!
  • [2023/02/13] FocalNet已集成到Keras,查看教程
  • [2023/01/18] 查看一个精选论文列表,介绍基于现代卷积和调制的超越注意力的网络
  • [2023/01/01] 研究人员表明,Focal-UNet在多个医学图像分割基准测试中优于Swin-UNet。查看他们的代码论文,新年快乐!
  • [2022/12/16] :collision: 我们很高兴发布我们在Object365上预训练并在COCO上微调的FocalNet-Large-DINO检查点,它在COCO minival上无需测试时增强就能达到63.5 mAP!快来看看吧!
  • [2022/11/14] 我们创建了一个新的仓库FocalNet-DINO来存放使用DINO复现目标检测性能的代码。我们将在那里发布目标检测代码和检查点。敬请期待!
  • [2022/11/13] :collision: 我们发布了在ImageNet-22K上预训练的大型、超大型和巨型模型,包括我们用来在COCO目标检测排行榜上取得最佳成绩的模型!
  • [2022/11/02] 我们写了一篇博客文章,以通俗的方式介绍了FocalNets背后的见解和技术,快来看看吧!
  • [2022/10/31] :collision: 基于强大的OD方法DINO,我们在COCO minival上达到了64.2 box mAP的新最佳成绩,在COCO test-dev上达到了<strike>64.3</strike> 64.4 box mAP的新最佳成绩!我们使用的巨型模型(700M)击败了更大的基于注意力的模型,如SwinV2-G和BEIT-3。查看我们的新版本并保持关注!
  • [2022/09/20] 我们的FocalNet已被NeurIPS 2022接收!
  • [2022/04/02] 在huggingface space创建了一个gradio演示来可视化调制机制。快来看看吧!

简介

<p align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/b3cc1b2d-27b8-40f2-863c-7eabb96164c8.png" width=95% height=95% class="center"> </p> 我们提出了**FocalNets:焦点调制网络**,这是一种**无注意力**架构,在各种视觉基准测试中的表现优于最先进的自注意力(SA)方法。如上所示,SA是一个先交互后聚合(FILA)的过程。我们的焦点调制则颠倒了这个过程,采用先聚合后交互(FALI)。这种颠倒带来了以下几个优点:
  • 平移不变性:对每个目标令牌执行,以其周围的上下文为中心。
  • 显式输入依赖:通过聚合输入的短程和长程上下文来计算调制器,然后应用于目标令牌。
  • 空间和通道特定:首先在空间维度聚合上下文,然后在通道维度聚合,之后进行逐元素调制。
  • 解耦特征粒度:查询令牌保留最细粒度的个体信息,而在其周围提取较粗粒度的上下文。两者通过调制操作解耦但相连。
  • 易于实现:我们可以以非常简单和轻量级的方式实现上下文聚合和交互。不需要softmax、多头注意力、特征图滚动或展开等。
<p align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/ec225c93-55d5-4ef9-b2c8-61af35d34c94.png" width=80% height=80% class="center"> </p>

在开始之前,看看我们的FocalNets学会了如何感知图像以及在哪里进行调制!

<p align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/ec202c51-dfc1-4e31-9602-1b5f438ce222.png" width=90% class="center"> </p>

最后,FocalNets是由卷积层和线性层构建的,但通过提出一种简单、通用、有效且高效的新型调制机制而更进一步。我们在此推荐:

焦点调制可能是我们视觉建模所需要的!

入门

基准测试

ImageNet-1K上的图像分类

  • 与多尺度Swin和Focal Transformers的严格对比:
模型深度维度核大小参数量 (M)FLOPs (G)吞吐量 (图片/秒)Top-1 准确率下载
FocalNet-T[2,2,6,2]96[3,5]28.44.474382.1ckpt/config/log
FocalNet-T[2,2,6,2]96[3,5,7]28.64.569682.3ckpt/config/log
FocalNet-S[2,2,18,2]96[3,5]49.98.643483.4ckpt/config/log
FocalNet-S[2,2,18,2]96[3,5,7]50.38.740683.5ckpt/config/log
FocalNet-B[2,2,18,2]128[3,5]88.115.328083.7ckpt/config/log
FocalNet-B[2,2,18,2]128[3,5,7]88.715.426983.9ckpt/config/log
  • 与等向ViT模型的严格对比: | 模型 | 深度 | 维度 | 核大小 | 参数量 (百万) | FLOPs (十亿) | 吞吐量 (图/秒) | Top-1准确率 | 下载 | :----: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |:---: | | FocalNet-T | 12 | 192 | [3,5,7] | 5.9 | 1.1 | 2334 | 74.1 | 模型/配置/日志 | FocalNet-S | 12 | 384 | [3,5,7] | 22.4 | 4.3 | 920 | 80.9 | 模型/配置/日志 | FocalNet-B | 12 | 768 | [3,5,7] | 87.2 | 16.9 | 300 | 82.4 | 模型/配置/日志

ImageNet-22K预训练

模型深度维度核大小参数量 (百万)下载
FocalNet-L[2,2,18,2]192[5,7,9]207模型/配置
FocalNet-L[2,2,18,2]192[3,5,7,9]207模型/配置
FocalNet-XL[2,2,18,2]256[5,7,9]366模型/配置
FocalNet-XL[2,2,18,2]256[3,5,7,9]366模型/配置
FocalNet-H[2,2,18,2]352[3,5,7]687模型/配置
FocalNet-H[2,2,18,2]352[3,5,7,9]689模型/配置

注意:我们重新排序了imagenet-22k的类名,以便可以直接使用前1k个logits来评估imagenet-1k。我们提醒,imagenet-1k中的第851个类(标签=850)在imagenet-22k中缺失。请参考此标签映射。更多讨论请查看此问题

COCO数据集上的目标检测

主干网络核大小方法学习率调度参数量 (M)FLOPs (G)边界框mAP下载
FocalNet-T[11,9,9,7]级联Mask R-CNN3x87.175151.5检查点/配置/日志
FocalNet-T[11,9,9,7]ATSS3x37.222049.6检查点/配置/日志
FocalNet-T[11,9,9,7]稀疏R-CNN3x111.217849.9检查点/配置/日志

ADE20K上的语义分割

  • 分辨率512x512,迭代次数160k
主干网络核大小方法参数量 (M)FLOPs (G)mIoUmIoU (多尺度)下载
FocalNet-T[9,11]UPerNet6194446.547.2检查点/配置/日志
FocalNet-T[9,11,13]UPerNet6194946.847.8检查点/配置/日志
FocalNet-S[9,11]UPerNet83103549.350.1检查点/配置/日志
FocalNet-S[9,11,13]UPerNet84104449.150.1检查点/配置/日志
FocalNet-B[9,11]UPerNet124118050.251.1检查点/配置/日志
FocalNet-B[9,11,13]UPerNet126119250.551.4检查点/配置/日志

可视化

我们的FocalNets包含三个步骤:

  1. 使用深度卷积进行上下文化;
  2. 通过门控机制进行多尺度聚合;
  3. 从上下文聚合和投影中派生调制器。

我们将逐一进行可视化展示。

  • FocalNets中学习到的深度卷积核
<p align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/c6398229-5ff1-4087-a81d-523ee0d36026.png" width=70% height=70% class="center"> </p>

黄色表示较高的值。显然,FocalNets在早期阶段学习收集更多局部上下文,而在后期阶段学习收集更多全局上下文。

  • FocalNets最后一层对不同输入图像的门控图
<p align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/ea1b9c83-0211-4fe8-b333-4d21386e2365.png" width=70% height=70% class="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/51c12771-b097-4f0a-af9f-23bcf15b11df.png" width=70% height=70% class="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/26166767-d7cc-4733-815e-20b1c655460d.png" width=70% height=70% class="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/f23ba003-bae4-42bd-a7e6-0e515dd83475.png" width=70% height=70% class="center"> </p>

从左到右,图像依次为输入图像、焦点级别1、2、3的门控图以及全局上下文。显然,我们的模型已经学会了根据不同位置的视觉内容来收集上下文。

  • FocalNets中对不同输入图像学习到的调制器
<p align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/457fb38d-5739-45bf-bde0-88e634fab590.png" width=70% height=70% class="center"> </p>

从我们的模型派生的调制器自动学会了关注前景区域。

如需自行进行可视化,请参考可视化笔记本

引用

如果您发现本仓库对您的项目有用,请考虑使用以下bibtex进行引用:

@misc{yang2022focal,
      title={Focal Modulation Networks}, 
      author={Jianwei Yang and Chunyuan Li and Xiyang Dai and Jianfeng Gao},
      journal={Advances in Neural Information Processing Systems (NeurIPS)},
      year={2022}
}

致谢

我们的代码库基于Swin TransformerFocal Transformer构建。为了实现最先进的目标检测性能,我们大量依赖最先进的方法DINO以及作者们的建议。我们感谢作者们组织良好的代码!

贡献

本项目欢迎贡献和建议。大多数贡献都要求您同意贡献者许可协议(CLA),声明您有权并确实授予我们使用您的贡献的权利。有关详细信息,请访问https://cla.opensource.microsoft.com。

当您提交拉取请求时,CLA机器人将自动确定您是否需要提供CLA,并适当地修饰PR(例如,状态检查、评论)。只需按照机器人提供的说明操作即可。您只需在所有使用我们CLA的仓库中执行一次此操作。

本项目已采用Microsoft开源行为准则。有关更多信息,请参阅行为准则常见问题解答或联系opencode@microsoft.com获取任何其他问题或意见。

商标

本项目可能包含项目、产品或服务的商标或标志。Microsoft商标或标志的授权使用必须遵循Microsoft商标和品牌指南。在本项目的修改版本中使用Microsoft商标或标志不得引起混淆或暗示Microsoft赞助。任何第三方商标或标志的使用均受这些第三方的政策约束。

编辑推荐精选

AEE

AEE

AI Excel全自动制表工具

AEE 在线 AI 全自动 Excel 编辑器,提供智能录入、自动公式、数据整理、图表生成等功能,高效处理 Excel 任务,提升办公效率。支持自动高亮数据、批量计算、不规则数据录入,适用于企业、教育、金融等多场景。

UI-TARS-desktop

UI-TARS-desktop

基于 UI-TARS 视觉语言模型的桌面应用,可通过自然语言控制计算机进行多模态操作。

UI-TARS-desktop 是一款功能强大的桌面应用,基于 UI-TARS(视觉语言模型)构建。它具备自然语言控制、截图与视觉识别、精确的鼠标键盘控制等功能,支持跨平台使用(Windows/MacOS),能提供实时反馈和状态显示,且数据完全本地处理,保障隐私安全。该应用集成了多种大语言模型和搜索方式,还可进行文件系统操作。适用于需要智能交互和自动化任务的场景,如信息检索、文件管理等。其提供了详细的文档,包括快速启动、部署、贡献指南和 SDK 使用说明等,方便开发者使用和扩展。

Wan2.1

Wan2.1

开源且先进的大规模视频生成模型项目

Wan2.1 是一个开源且先进的大规模视频生成模型项目,支持文本到图像、文本到视频、图像到视频等多种生成任务。它具备丰富的配置选项,可调整分辨率、扩散步数等参数,还能对提示词进行增强。使用了多种先进技术和工具,在视频和图像生成领域具有广泛应用前景,适合研究人员和开发者使用。

爱图表

爱图表

全流程 AI 驱动的数据可视化工具,助力用户轻松创作高颜值图表

爱图表(aitubiao.com)就是AI图表,是由镝数科技推出的一款创新型智能数据可视化平台,专注于为用户提供便捷的图表生成、数据分析和报告撰写服务。爱图表是中国首个在图表场景接入DeepSeek的产品。通过接入前沿的DeepSeek系列AI模型,爱图表结合强大的数据处理能力与智能化功能,致力于帮助职场人士高效处理和表达数据,提升工作效率和报告质量。

Qwen2.5-VL

Qwen2.5-VL

一款强大的视觉语言模型,支持图像和视频输入

Qwen2.5-VL 是一款强大的视觉语言模型,支持图像和视频输入,可用于多种场景,如商品特点总结、图像文字识别等。项目提供了 OpenAI API 服务、Web UI 示例等部署方式,还包含了视觉处理工具,有助于开发者快速集成和使用,提升工作效率。

HunyuanVideo

HunyuanVideo

HunyuanVideo 是一个可基于文本生成高质量图像和视频的项目。

HunyuanVideo 是一个专注于文本到图像及视频生成的项目。它具备强大的视频生成能力,支持多种分辨率和视频长度选择,能根据用户输入的文本生成逼真的图像和视频。使用先进的技术架构和算法,可灵活调整生成参数,满足不同场景的需求,是文本生成图像视频领域的优质工具。

WebUI for Browser Use

WebUI for Browser Use

一个基于 Gradio 构建的 WebUI,支持与浏览器智能体进行便捷交互。

WebUI for Browser Use 是一个强大的项目,它集成了多种大型语言模型,支持自定义浏览器使用,具备持久化浏览器会话等功能。用户可以通过简洁友好的界面轻松控制浏览器智能体完成各类任务,无论是数据提取、网页导航还是表单填写等操作都能高效实现,有利于提高工作效率和获取信息的便捷性。该项目适合开发者、研究人员以及需要自动化浏览器操作的人群使用,在 SEO 优化方面,其关键词涵盖浏览器使用、WebUI、大型语言模型集成等,有助于提高网页在搜索引擎中的曝光度。

xiaozhi-esp32

xiaozhi-esp32

基于 ESP32 的小智 AI 开发项目,支持多种网络连接与协议,实现语音交互等功能。

xiaozhi-esp32 是一个极具创新性的基于 ESP32 的开发项目,专注于人工智能语音交互领域。项目涵盖了丰富的功能,如网络连接、OTA 升级、设备激活等,同时支持多种语言。无论是开发爱好者还是专业开发者,都能借助该项目快速搭建起高效的 AI 语音交互系统,为智能设备开发提供强大助力。

olmocr

olmocr

一个用于 OCR 的项目,支持多种模型和服务器进行 PDF 到 Markdown 的转换,并提供测试和报告功能。

olmocr 是一个专注于光学字符识别(OCR)的 Python 项目,由 Allen Institute for Artificial Intelligence 开发。它支持多种模型和服务器,如 vllm、sglang、OpenAI 等,可将 PDF 文件的页面转换为 Markdown 格式。项目还提供了测试框架和 HTML 报告生成功能,方便用户对 OCR 结果进行评估和分析。适用于科研、文档处理等领域,有助于提高工作效率和准确性。

飞书多维表格

飞书多维表格

飞书多维表格 ×DeepSeek R1 满血版

飞书多维表格联合 DeepSeek R1 模型,提供 AI 自动化解决方案,支持批量写作、数据分析、跨模态处理等功能,适用于电商、短视频、影视创作等场景,提升企业生产力与创作效率。关键词:飞书多维表格、DeepSeek R1、AI 自动化、批量处理、企业协同工具。

下拉加载更多