【重磅消息】微软开源了自家的Florence-2,处理各种视觉任务的统一模型

在人工通用智能(AGI)系统的世界里,一个重要的转变正在发生,那就是利用多功能的、预先训练好的表征,在各种应用中表现出与任务无关的适应性。这种转变始于自然语言处理(NLP)领域,现在也开始进入计算机视觉领域。这就是 Florence-2 的用武之地:它是一种视觉基础模型,旨在应对计算机视觉和视觉语言任务中的任务多样性挑战。

背景

人工通用智能(Artificial General Intelligence)的目标是创建能在各种任务中表现出色的系统,就像人类表现出各种能力一样。最近,在 NLP 领域,预先训练好的多功能模型取得了成功,这为计算机视觉领域的类似方法提供了灵感。虽然现有的大型视觉模型在迁移学习方面表现出色,但它们在面对各种任务和简单指令时往往会陷入困境。挑战在于如何处理各种视觉相关任务中固有的空间层次和语义粒度。

主要挑战包括综合视觉注释的可用性有限,以及缺乏一个统一的预训练框架和一个无缝集成空间层次和语义粒度的单一神经网络架构。为专门应用定制的现有数据集严重依赖于人工标注,这限制了能够捕捉错综复杂的视觉相关任务的基础模型的开发。

在这里插入图片描述

Florence-2:预览

为了应对这些挑战,Florence-2 模型通过多任务学习和广泛的视觉注释,成为一个通用的骨干。这就为不同的视觉任务提供了统一的、基于提示的表示方法,有效地解决了综合训练数据有限和缺乏统一架构的难题。

Florence-2 模型由微软公司开发,采用序列到序列架构,集成了图像编码器和多模态编码器-解码器。这种设计适用于各种视觉任务,无需对特定任务的架构进行修改,符合 NLP 界以一致的底层结构进行多功能模型开发的理念。

Florence-2 凭借其前所未有的零拍摄和微调能力脱颖而出,在字幕、物体检测、视觉接地和指代表达理解等任务中取得了最先进的新成果。即使在使用公共人类标注数据进行微调后,Florence-2 仍能与更大型的专业模型相媲美,树立了新的标杆。

技术深度

Florence-2 经过精心设计,克服了传统单一任务框架的局限性,采用了从序列到序列的学习范式,在一个共同的语言建模目标下整合了各种任务。
在这里插入图片描述
让我们深入了解构成这一创新模式架构的关键组成部分。

任务制定 (Task Formulation )

Florence-2 采用序列到序列框架,以统一的方式处理各种视觉任务。每个任务都被视为一个翻译问题,模型接收输入图像和特定任务提示,并生成相应的输出响应。

任务可以涉及文本或区域信息,模型会根据任务的性质调整其处理过程。对于特定区域的任务,标记化器的词汇表中引入了 __cpLocation 标记,以适应各种格式,如方框表示法、四方框表示法和多边形表示法。

视觉编码器(Vision Encoder)

视觉编码器在处理输入图像时发挥着关键作用。为此,Florence-2 采用了 DaViT(数据高效视觉转换器)作为视觉编码器。DaViT 将输入图像转换为扁平化的视觉标记嵌入,同时捕捉空间和语义信息。生成的视觉标记嵌入与文本嵌入连接起来,以便进一步处理。

多模态编码器-解码器转换器(Multi-Modality Encoder-Decoder Transformer)

Florence-2 的核心在于其基于变换器的多模态编码器-解码器。这一架构可同时处理视觉和语言标记嵌入,实现文本和视觉信息的无缝融合。多模态编码器-解码器有助于生成反映对输入图像和任务提示的全面理解的响应。

优化目标(Optimization Objective)

为了有效地训练 Florence-2,我们采用了标准的语言建模目标。鉴于输入(图像和提示的组合)和目标输出,该模型在所有任务中都使用了交叉熵损失。这一优化目标可确保模型学会在各种视觉相关任务中生成准确的反应。

Florence-2 架构证明了多任务学习以及文本和视觉信息无缝整合的强大功能。让我们简要讨论一下多任务学习设置。

多任务学习设置

多任务学习是 Florence-2 的核心功能,需要大规模、高质量的注释数据。该模型的数据引擎 FLD-5B 可自主生成一个全面的视觉数据集,其中包含 1.26 亿张图像54 亿个注释。该引擎采用自动图像注释和模型完善的迭代策略,摒弃了传统的单一和人工注释方法。

多任务学习方法包含三个不同的学习目标,每个目标都针对不同的粒度和语义理解水平:

  • 图像层面的理解任务:Florence-2 擅长通过语言描述理解图像的整体背景。任务包括图像分类、字幕和视觉问题解答(VQA)。
  • 区域/像素级识别任务:该模型有助于在图像中对物体和实体进行详细定位,捕捉物体与其空间环境之间的关系。这包括物体检测、分割和指代表达理解等任务。
  • 细粒度视觉语义对齐任务:Florence-2 解决了文本与图像之间细粒度对齐的复杂任务。这涉及定位与文本短语(如对象、属性或关系)相对应的图像区域。

通过将这些学习目标纳入多任务框架,Florence-2 能够熟练处理各种空间细节,区分理解层次,并实现视觉任务的通用表征。

绩效与评估

Zero-Shot 和 Fine-Tuning 能力

Florence-2 的零镜头性能给人留下了深刻印象,它在各种任务中都表现出色,无需对特定任务进行微调。例如,Florence-2-L 在 COCO caption 上的 CIDEr 得分为 135.6,超过了拥有 800 亿个参数的 Flamingo 等模型。

在微调方面,Florence-2 表现出了高效和有效。在 RefCOCO 和 TextVQA 等任务中,其简单的设计优于采用专门架构的模型。Florence-2-L 在各种任务中都表现出了具有竞争力的先进性能,突显了它的多功能性。

与 SOTA 模型的比较

Florence-2-L 在各种视觉模型中脱颖而出,表现出强大的性能和效率。与 PolyFormer 和 UNINEXT 等模型相比,Florence-2-L 在 RefCOCO REC 和 RES 等任务中表现出色,展示了其跨任务级别的通用性。

在图像级任务中,Florence-2 在 COCO Caption karpathy 测试拆分中获得了 140.0 的 CIDEr 分数,超过了参数更多的 Flamingo 等模型。包括物体检测和分割在内的下游任务凸显了 Florence-2 卓越的预训练能力。即使在冻结模型阶段,Florence-2 仍能保持极具竞争力的性能,这充分体现了它的有效性。

Florence-2 在 ADE20k 数据集上的语义分割任务中的表现也很突出,超过了之前最先进的模型,如 BEiT 在 ViT-B 上的预训练模型。

定性评估和可视化结果

Florence-2 就以下任务进行了定性评估:

详细图片说明

在这里插入图片描述

Visual Grounding

在这里插入图片描述

开放式词汇检测

在这里插入图片描述

OCR

在这里插入图片描述

地区到细分

在这里插入图片描述

与 SOTA LMM 的比较

在详细的字幕任务上,Florence-2 与 GPT 4V、LLaVA 和 miniGPT-4 等其他大型多模态模型(LMM)进行了对比评估。

在这里插入图片描述

总结

总之,Florence-2 是一个开创性的视觉基础模型,展示了多任务学习以及文本和视觉信息融合的巨大潜力。它为各种任务提供了高效的解决方案,而无需进行大量的微调。

该模型能够处理从图像级理解到细粒度视觉语义配准等各种任务,标志着向统一视觉基础迈出了重要一步。Florence-2 的架构体现了序列到序列学习的威力,为综合表征学习树立了新的标准。

展望未来,Florence-2 为未来的视觉基础模型铺平了道路。它的成功强调了在训练中考虑不同任务和粒度水平的重要性,从而有望建立适应性更强、更稳健的机器学习模型。在我们探索不断发展的人工智能领域时,Florence-2 的成就开辟了一条探索之路,促使研究人员更深入地研究多任务学习和跨模态理解领域。

参考

Florence-2: Advancing a Unified Representation for a Variety of Vision Tasks

我会定期在CSDN分享我的学习心得,项目经验和行业动态。如果你对某个领域感兴趣,或者想要了解更多技术干货,请关注我的账号,一起成长!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/731193.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

创业众筹网

摘 要 创业是社会经济发展的重要动力,其在任何经济发展时期任何国家都最具活力与桃战性。然而创业的资金却是90%创业者面临的首要问题。包括积蓄不足、无不动产、负债、不知如何向银行申贷,及无法预估所创行业之总资金、成本。部分创业者虽然有心创业,但…

numpy-stl库的基本使用及notebook下的使用

numpy-stl库的基本使用及notebook下的可视化 https://pypi.org/project/numpy-stl/ 安装 conda install -c conda-forge numpy-stl引入资源 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits import mplot3d from stl import mesh读取stl文件 stl_fil…

安卓逆向案例——X酷APP逆向分析

X酷APP逆向分析 这里介绍一下两种不同的挂载证书的方法。 chls.pro/ssl无法在浏览器中下载证书是什么原因解决方法: 法一 1. 挂载系统分区为读写 使用正确的挂载点来挂载系统分区为读写: su mount -o remount,rw /dev/uijISjR/.magisk/block/syste…

河南大学24计算机考研数据,有三个学院招收计算机相关专业,都是考的408!

河南大学(Henan University),简称“河大”,是河南省人民政府与中华人民共和国教育部共建高校,国家“双一流”建设高校,入选国家“111计划”、中西部高校基础能力建设工程、卓越医生教育培养计划、卓越法律人…

Spring Boot连接Redis集群

1、问题写在前面 1.1、问题描述:Redis集群节点地址发现失败 Unable to connect to [172.17.0.4:7303]: connection timed out: /172.17.0.4:7303 1.2、解决方案: redis.conf 中添加配置 cluster-announce-ip 192.168.56.11 1.3、方案出处:…

VC++学习(5)——文本编程,插入符的初始化,图形插入符;文字始终在窗口;字符输入功能,回车换行,删除,左键定位;字体修改,字体平滑变色

目录 引出第五讲 文本编程新建项目输入线的初始化根据字体大小定义插入符大小创建图形插入符文字始终保存在窗口中CString类通过字符串资源 路径层字符输入的功能键盘输入消息鼠标左键消息保存点击位置的坐标 输入回车键的处理删除文字的实现 字符输入功能代码字体的修改模拟卡…

交叉注意力一脚踹进医学图像分割!新成果精度、效率表现SOTA

为解决传统方法的局限性,研究者们提出了将交叉注意力机制应用于医学图像分割。 交叉注意力机制能更有效地整合来自不同模态/尺度的特征,让模型同时捕捉全局和局部信息,加速学习并减少干扰。这样不仅可以提高分割的精度,还可以减少…

IMU用于飞行坐姿校正

为了提升长途飞行的舒适度并预防乘客因不良坐姿导致的身体不适,来自荷兰上海两所大学的研究团队携手开发出一种创新的“舒适穿戴”设备,专为识别飞行中的坐姿设计。 研究团队制作了两种原型设备:一种追求极致舒适,另一种为紧身设…

(vue3)引入组件标红,...has no default export 组件没有默认导出

(vue3)引入组件标红,…has no default export 组件没有默认导出 一、项目背景: 创建的vitevue3ts项目页面有标红,但程序不报错 二、原因 由于之前安装了 Vetur 插件,Vetur 默认使用 eslint-plugin-vue,并且强制 export default …

有没有屏幕悬浮翻译软件?打开窗口即可实时翻译

随着#高考结束该出发看世界了#这一话题的火热,对于不能远行的朋友,网上冲浪是了解世界的好方式。 然而,面对外语网页、资料或视频,英语不流利的小伙伴可能会有些困扰。别急,悬浮翻译软件能帮你将屏幕上的外语文字即时…

为什么伦敦金新手不能用一小时图及以下的时间周期?

刚进入伦敦金市场的投资者,一般不建议使用较低的时间周期,如1小时图或以下。不仅如此,新手或者兼职投资者会被要求使用较高的时间周期交易,如4小时图或日线图,这有什么道理呢?下面我们就来讨论一下。 新手的…

增加attention的seq2seq和transformer有什么区别

1.seq2seq是什么 seq2seq 是一个Encoder–Decoder 结构的网络,它的输入是一个序列,输出也是一个序列。Encoder 中将一个可变长度的信号序列变为固定长度的向量表达,Decoder 将这个固定长度的向量变成可变长度的目标的信号序列。   很多自然…

C# Winform 开源UI库

WinForms,作为微软.NET框架下的一个桌面应用程序开发工具,自1999年首次亮相以来,已经走过了二十多年的发展历程。它以其简单直观的拖拽式界面设计和丰富的控件库,成为了大众喜爱的入门学习编程工具。由于它是比较基础的开发工具&a…

宠物健康顾问系统的设

计 管理员账户功能包括:系统首页,个人中心,顾问管理,用户管理,健康知识管理,管理员管理,论坛管理,公告管理 顾问账户功能包括:系统首页,个人中心&#xff0…

带颜色的3D点云数据发布到ros1中(通过rviz显示)python、C++

ros中发布点云数据xyz以及带颜色的点云数据xyzrgb ros中发布点云数据xyz可以直接用python来做或者C(看个人偏好) ros中发布带颜色的点云数据xyzrgb环境1.新建ROS工作空间2.创建功能包 ros中发布点云数据xyz 可以直接用python来做或者C(看个人偏好) 在这里我们带有颜色的点云数…

Unity【入门】光源、物理、音效系统

核心系统 文章目录 核心系统1、光源系统基础1、光源组件2、光面板相关 2、物理系统之碰撞检测1、刚体 RigidBody2、碰撞器 Collider3、物理材质4、碰撞检测函数5、刚体加力 3、音效系统1、音频文件导入2、音频源和音频监听器脚本3、代码控制音频源4、麦克风输入相关 1、光源系统…

【单片机毕业设计选题24018】-基于STM32和阿里云的农业大棚系统

系统功能: 系统分为手动和自动模式,上电默认为自动模式,自动模式下系统根据采集到的传感器值 自动控制,温度过低后自动开启加热,湿度过高后自动开启通风,光照过低后自动开启补 光,水位过低后自动开启水泵…

C++初学者指南第一步---11.字符串(基础)

C初学者指南第一步—11.字符串(基础) 文章目录 C初学者指南第一步---11.字符串(基础)1. std::string2. char std::string的元素类型3. std::string字符串操作4. 字面量4.1 C风格字符串字面量4.2 "std::string 字面量"s…

openEuler 22.03 (LTS-SP1)服务器用ntpd同步GPS时间服务器的案例

本文记录了openEuler 22.03 (LTS-SP1)的二级时间服务器用chronyd不能自动同步GPS时间服务器,改用ntpd同步GPS时间服务器成功的案例 一、环境简述 1、本环境中有两台GPS一级时间服务器,IP如下: 192.168.188.66 192.168.188.74 2、有一台o…

交易中的特殊存在

在交易的广袤天空中,有一群特殊的存在——他们,是Eagle Trader。 他们以鹰眼般的洞察力,捕捉市场的微妙变化,每一次决策都如同猎食者般精准;他们运用策略,如同雄鹰在风中翱翔,利用风向&#xf…