Florence-2:Microsoft 最新的视觉语言模型
认识 Florence-2,这是 Microsoft 的视觉语言模型,能够以极高效率提升目标检测、分割和零样本性能。

2024 年 6 月,微软推出了 Florence-2,这是一种多模态视觉语言模型(VLM),旨在处理各种任务,包括目标检测、分割、图像描述和视觉定位。Florence-2 在零样本性能方面树立了新的基准,这意味着它无需针对特定任务进行预训练即可执行任务,并且其模型尺寸小于其他先进的视觉语言模型。
Florence-2 不只是又一个模型;它的多功能性和提升的性能有望通过提高准确率、减少对大量训练的需求,显著影响各个行业。在本文中,我们将探索 Florence-2 的创新特性,将其性能与其他 VLM 进行比较,并讨论其潜在应用。
什么是 Florence-2?#
Florence-2 能够在单一统一框架内处理各种任务。该模型出色的能力部分得益于其名为 FLD-5B 的海量训练数据集。FLD-5B 包含来自 1.26 亿张图像的 54 亿条标注。这个综合数据集专门用于赋予 Florence-2 所需的能力,使其能够高准确率、高效率地处理广泛的视觉任务。
下面详细介绍 Florence-2 支持的任务:
- 目标检测:它可以高精度地识别和定位图像中的对象。
- 分割:此任务涉及将图像划分为有意义的区域,以便更轻松地进行分析和解读。
- 图像描述:Florence-2 能够为图像生成具有描述性的文字说明,提供上下文和细节。
- 视觉定位:该模型可以将描述中的特定短语或词语与图像中的对应区域关联起来。
- 零样本性能:它无需针对特定任务进行训练即可执行任务。

图 1。了解 Florence-2 的训练方式。
该模型同时支持基于文本和基于区域的任务。对于涉及图像特定区域的任务,模型词汇表中会加入特殊的位置标记。这些标记帮助模型理解不同的形状,例如对象周围的矩形(框表示)、四边形(四边形框表示)以及多边形(多边形表示)。模型使用一种称为交叉熵损失的方法进行训练,通过将预测结果与正确答案进行比较,并据此调整内部参数来帮助模型学习。
创建 FLD-5B 数据集#
FLD-5B 数据集包含不同类型的标注:文本描述、区域与文本对,以及文本、短语和区域的组合。该数据集通过包含数据收集和标注的两步流程创建。图像来源于 ImageNet-22k、Object 365、Open Images、Conceptual Captions 和 LAION 等热门数据集。FLD-5B 数据集中的标注大多是合成的,也就是说,它们是自动生成的,而不是人工标注的。

图 2。创建 FLD-5B 数据集。
首先,擅长特定任务(例如目标检测或分割)的专业模型创建了这些标注。随后,通过筛选和增强流程确保标注足够详细且准确。移除噪声后,数据集还要经过迭代优化:利用 Florence-2 的输出持续更新和改进标注。
了解 Florence-2 的模型架构#
Florence-2 的模型架构采用序列到序列学习方法。这意味着模型会处理输入序列(例如带有文本提示的图像),并以逐步方式生成输出序列(例如描述或标签)。在序列到序列框架中,每项任务都被视为翻译问题:模型接收输入图像和特定于任务的提示,并生成相应的输出。

图 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 能够提供的描述细节程度。

图 4。 Florence-2 生成的图像描述示例。
以下是图像描述可能派上用场的其他示例:
- 电子商务:图像描述可以提供详细的产品图像描述,帮助客户更清晰地了解产品特性和细节。
- 旅游:它可以在旅游指南和应用中提供详细的地标和景点描述。
- 教育:图像描述可以为教育图像和示意图添加标签并进行描述,帮助教学和学习。
- 房地产:它可以提供房产图像的详细描述,突出面向潜在买家的房屋特性和配套设施。
烹饪时使用视觉定位#
Florence-2 还可用于丰富烹饪体验。例如,在线食谱可以使用 Florence-2 对复杂食谱图像中的各个部分进行视觉定位和标注。视觉定位通过将图像的特定部分与对应的描述性文本关联起来,在这里发挥作用。每种食材和每个步骤都可以得到准确的标注和解释,让家庭厨师更容易遵循食谱并理解每个组成部分在菜肴中的作用。

图 5。使用 Florence-2 进行视觉定位的示例。
面向金融文档的基于区域的 OCR#
基于区域处理的 OCR 专注于从文档中的特定区域提取文本,在会计等领域非常实用。系统可以分析金融文档中的指定区域,自动提取交易详情、账号和到期日等重要信息。通过减少手动数据录入的需求,它可以降低错误率并缩短处理时间。金融机构可以利用它简化发票处理、收据对账和支票清算等任务,从而加快交易速度并改善客户服务。

图 6。使用 Florence-2 提取区域 OCR 的示例。
工业应用中的基于区域的分割#
基于区域的分割涉及将图像划分为有意义的部分,以便进行重点分析和详细检查,可推动提升各种流程精度和效率的工业应用。通过关注图像中的特定区域,这项技术可以对部件和产品进行详细检查与分析。在质量控制方面,它可以识别材料中的缺陷或不一致,例如裂纹或错位,确保只有最高质量的产品进入市场。

图 7。使用 Florence-2 进行基于区域分割的示例。
它还可以通过引导机器人手臂移动到特定部件,并优化组件的放置和组装,改进自动化装配线。同样,在库存管理中,它有助于跟踪和监控货物的状况与位置,从而提高物流效率并减少停机时间。总体而言,基于区域的分割能够提升工业环境中的准确率和生产率,降低成本并提高产品质量。
要点总结#
我们开始看到一种趋势:AI 模型在保持高性能的同时变得更加轻量。Florence-2 标志着视觉语言模型领域向前迈出了一大步。它凭借出色的零样本性能,可以处理目标检测、分割、图像描述和视觉定位等各种任务。尽管尺寸更小,Florence-2 依然高效且功能多样,因此在各个行业的应用中都极具价值。Florence-2 这样的模型正在带来更多可能性,拓展 AI 创新的潜力。
访问我们的 GitHub 代码仓库并加入我们的社区,探索更多 AI 内容。查看我们的解决方案页面,了解 AI 在制造业和农业中的应用。🚀









