深圳尤洛视觉
深圳
立即加入

Florence-2:微软最新的视觉语言模型

Abirami Vina

6 分钟阅读

2024年7月26日

隆重推出 Florence-2,微软的视觉语言模型,它以极高的效率提供改进的物体检测、分割和零样本性能。

2024 年 6 月,微软推出了 Florence-2,这是一种多模态视觉语言模型 (VLM),旨在处理各种任务,包括目标检测分割、图像字幕和 grounding。Florence-2 为零样本性能树立了新的基准,这意味着它可以在没有事先特定训练的情况下执行任务,并且模型尺寸比其他最先进的视觉语言模型更小。

Florence-2 不仅仅是另一个模型,它的多功能性和改进的性能有可能通过提高准确性并减少对大量训练的需求来显着影响各个行业。在本文中,我们将探讨 Florence-2 的创新功能,将其性能与其他 VLM 进行比较,并讨论其潜在应用。

什么是Florence-2?

Florence-2 可以在一个统一的框架内处理各种任务。该模型令人印象深刻的性能部分归功于其庞大的训练数据集 FLD-5B。FLD-5B 包含 1.26 亿张图像中的 54 亿个注释。这个全面的数据集专门用于使 Florence-2 能够以高精度和效率处理各种视觉任务。 

以下是 Florence-2 支持的任务的详细介绍:

  • 物体检测:它可以高精度地识别和定位图像中的物体。
  • 分割:此任务涉及将图像划分为有意义的片段,以便于分析和解释。
  • 图像字幕:Florence-2 能够为图像生成描述性字幕,提供上下文和详细信息。
  • 视觉定位: 该模型可以将标题中的特定短语或单词与图像中的相应区域相关联。
  • 零样本性能:它可以在没有特定训练的情况下执行任务。
__wf_reserved_inherit
图 1. 理解 Florence-2 是如何训练的。

该模型支持基于文本和基于区域的任务。 特殊的位置 token 会添加到模型的词汇表中,用于涉及图像特定区域的任务。 这些 token 帮助模型理解不同的形状,例如对象周围的矩形(框表示)、四边形(四边形框表示)和多边形(多边形表示)。 该模型使用一种称为交叉熵损失的方法进行训练,该方法通过将其预测与正确答案进行比较并相应地调整其内部参数来帮助其学习。

创建 FLD-5B 数据集

FLD-5B 数据集包括不同类型的标注:文本描述、区域和文本对,以及文本、短语和区域的组合。它通过一个两步过程创建,包括数据收集和标注。图像来源于流行的的数据集,如 ImageNet-22k、Object 365、Open Images、Conceptual Captions 和 LAION。FLD-5B 数据集中的标注主要是合成的,这意味着它们是自动生成的,而不是手动标记的。 

__wf_reserved_inherit
图 2. 创建 FLD-5B 数据集。

最初,擅长特定任务(如目标检测或分割)的专业模型创建了这些注释。然后,使用过滤和增强过程来确保注释的详细和准确。在消除任何噪声后,数据集经过迭代改进,其中 Florence-2 的输出用于不断更新和改进注释。 

理解 Florence-2 的模型架构

Florence-2 的模型架构遵循序列到序列的学习方法。这意味着该模型以逐步的方式处理输入序列(如带有文本提示的图像)并生成输出序列(如描述或标签)。在序列到序列框架中,每个任务都被视为一个翻译问题:模型接收输入图像和特定于任务的提示,并生成相应的输出。

__wf_reserved_inherit
图 3. Florence-2 的视觉-语言模型架构。

该模型架构的核心是一个多模态编码器-解码器 Transformer,它结合了一个图像编码器和一个多模态编码器-解码器。 图像编码器称为 DaViT(数据高效视觉 Transformer),它通过将输入图像转换为视觉令牌嵌入来处理输入图像——视觉令牌嵌入是图像的紧凑表示,可捕获空间(事物在哪里)和语义(事物是什么)信息。 然后将这些视觉令牌与文本嵌入(文本的表示)相结合,从而使模型能够无缝地合并文本和视觉数据。

Florence-2 与其他 VLM 的比较

Florence-2 因其出色的零样本能力而在其他视觉语言模型中脱颖而出。与 PaliGemma 等依赖大量微调来适应各种任务的模型不同,Florence-2 开箱即用即可良好工作。此外,Florence-2 能够与 GPT-4V 和 Flamingo 等更大的模型竞争,这些模型通常具有更多的参数,但并不总是能与 Florence-2 的性能相匹配。例如,尽管 Kosmos-2 的参数数量是 Florence-2 的两倍多,但 Florence-2 实现了比 Kosmos-2 更好的零样本结果。

在基准测试中,Florence-2在COCO图像描述和指代表达式理解等任务中表现出了卓越的性能。在COCO数据集上的目标检测和分割任务中,它优于PolyFormer和UNINEXT等模型。对于性能和资源效率都至关重要的实际应用来说,它是一个极具竞争力的选择。

Florence-2 的应用

Florence-2 可用于许多不同的行业,例如娱乐辅助功能教育等。让我们来看几个例子,以便更好地理解。

图像描述的应用

当你在流媒体平台上试图决定看什么时,你可能会阅读一部电影的摘要来帮助你选择。如果平台还可以提供电影海报的详细描述呢?Florence-2可以通过图像描述来实现这一点,它可以为图像生成描述性文本。Florence-2可以生成电影海报的详细描述,使流媒体平台对视力受损的用户更具包容性。通过分析海报的视觉元素,如人物、场景和文字,Florence-2可以创建详细的描述,传达海报的内容和情绪。下图显示了Florence-2可以在其描述中提供的细节级别。

__wf_reserved_inherit
图 4. Florence-2 生成的图像描述示例。 

以下是一些图像描述可能有所帮助的其他示例:

  • 电子商务:图像描述可以提供详细的产品图像描述,帮助客户更清楚地了解产品特性和细节。
  • 旅游业:它可以提供旅游指南和应用程序中地标和景点的详细描述
  • 教育:图像字幕可以标记和描述教育图像和图表,从而帮助教学和学习。
  • 房地产:它可以提供详细的房产图像描述,突出显示潜在买家的特征和便利设施。

在烹饪时使用视觉定位

Florence-2 还可以用于丰富烹饪体验。例如,在线食谱可以使用 Florence-2 以可视化方式定位和标记复杂食谱图像的各个部分。视觉定位通过将图像的特定部分链接到相应的描述性文本来提供帮助。每个成分和步骤都可以被准确地标记和解释,从而使家庭厨师更容易遵循食谱并理解每种成分在菜肴中的作用。

__wf_reserved_inherit
图 5. 使用 Florence-2 进行视觉定位的示例。 

用于金融文档的基于区域的 OCR

基于区域处理的 OCR(专注于从文档中的特定区域提取文本)在会计等领域非常有用。可以分析财务文档的指定区域,以自动提取重要信息,例如交易明细、帐号和到期日。通过减少手动数据录入的需求,它可以最大限度地减少错误并加快处理速度。金融机构可以使用它来简化发票处理、收据核对和支票清算等任务,从而加快交易速度并改善客户服务。 

__wf_reserved_inherit
图 6. 使用 Florence-2 提取带有区域的 OCR 示例。 

工业应用中基于区域的分割

基于区域的分割将图像分割成有意义的部分,以进行重点分析和详细检查,从而推动工业应用,提高各种流程的精度和效率。通过专注于图像中的特定区域,这项技术可以对组件和产品进行详细的检查和分析。在质量控制方面,它可以识别材料中的缺陷或不一致之处,例如裂缝或错位,确保只有最优质的产品才能进入市场。

__wf_reserved_inherit
图 7. 使用 Florence-2 进行基于区域的分割示例。

它还可以通过引导机器人手臂到特定零件并优化组件的放置和组装来改进自动化装配线。同样,在库存管理中,它有助于跟踪和监控货物的状况和位置,从而提高物流效率并减少停机时间。总体而言,基于区域的分割提高了准确性和生产力,从而在工业环境中节省了成本并提高了产品质量。

主要要点

我们开始看到一种趋势,即 AI 模型在保持高性能的同时变得更轻。Florence-2 标志着视觉语言模型向前迈进了一大步。它可以处理各种任务,如目标检测、分割、图像描述和具有令人印象深刻的零样本性能的 grounding。尽管 Florence-2 尺寸较小,但它高效且多功能,这使得它在不同行业的应用中非常有用。像 Florence-2 这样的模型带来了更多的可能性,扩大了 AI 创新的潜力。

访问我们的 GitHub 仓库并加入我们的社区,了解更多关于 AI 的信息。查看我们的解决方案页面,阅读关于 AI 在制造业农业中的应用。🚀

让我们一起构建人工智能的未来!

开启您的机器学习未来之旅

免费开始
链接已复制到剪贴板