1. 核心目标与背景
核心目标:构建一个统一的视觉基础模型(Vision Foundation Model),通过统一的序列生成方式(Sequence-to-Sequence),同时解决不同粒度的视觉任务:
Image-level:图像分类、图像描述(Captioning)
Region-level:目标检测、区域定位(Grounding)
Pixel-level:像素级分割(Segmentation)
现有模型的两大痛点(Motivation):
训练数据不够全面:现有模型(如CLIP)主要依赖 Image-Text Pair,只能提供图像级全局语义,缺少目标位置、区域描述和像素级语义(如:狗在哪?Mask 是什么?)。
模型任务不统一:很多模型针对单一任务设计(检测输出 Box,分割输出 Mask,描述输出 Text),导致不同任务需要不同网络结构,难以实现真正的“基础模型”。
2. 核心创新一:Florence Data Engine 与 FLD-5B 数据集
要训练统一模型,最大的瓶颈是缺少多粒度数据。论文通过Florence Data Engine自动构建了FLD-5B数据集。
2.1 数据生成与迭代流程 (Data Engine)
采用“群体智慧”:不依赖单一模型,而是使用多个现有的视觉专家模型(Specialist Models)协同生成初始数据,再通过迭代优化(Train -> Predict -> Filter -> Refine)清洗噪声。
流程:Web Images → 多专家模型协同标注 → Initial Annotations → 过滤与优化 → FLD-5B
2.2 FLD-5B 数据规模与组成
包含126M图像、5.4B视觉标注,远超同类数据集的精细度。单张图片包含多粒度标注:
Text Annotation (全局):Image → Caption
Region-Text Pair (区域):Image → Region (Box) → Text(如:
[120,80,300,250]对应dog)Phrase-Region Pair (细粒度):Text phrase → Specific Region
Pixel-level (像素):Region → Segmentation Mask
对比优势:结合了 LAION 的“海量规模”与 COCO 的“多粒度精细标注”,为模型学习全局到像素级语义提供了数据基础。
3. 核心创新二:统一序列生成模型架构
Florence-2 摒弃了为不同任务设计不同 Head 的传统做法,采用Vision Encoder + Multimodal Encoder-Decoder架构,将所有视觉任务转换为 Token 序列生成。
3.1 整体架构
Vision Encoder (DaViT):将图像切分为 Patch 并提取视觉特征(Visual Tokens)。
Multimodal Encoder (BART-like):融合视觉特征(Visual Tokens)与任务指令文本(Text Tokens)。
Decoder (BART-like):统一进行自回归(Autoregressive)生成,输出 Text / Box / Mask Tokens。
为什么用 Encoder-Decoder 而不是 Decoder-only LLM?
视觉任务天然包含“输入(Image + Instruction)→ 输出(Structured Prediction)”的属性,Encoder-Decoder 更适合这种视觉到结构化数据的转换。
3.2 任务统一与特殊 Token 设计
非文本输出(坐标、Mask)无法直接用语言表达,Florence-2 设计了特殊 Token:
位置 (Location):将连续坐标离散化。如
[100, 200, 300, 400]转换为<loc_100> <loc_200> <loc_300> <loc_400>。回归问题变成了词汇表上的分类问题。分割 (Segmentation):使用
<seg> mask tokens </seg>表示。
统一任务范式举例(Image + Prompt → Token Generation):
Caption:
<image> What is in this image?→A dog running in the parkDetection:
<image> Detect objects→dog <loc_100> <loc_200> <loc_300> <loc_400>Segmentation:
<image> Segment dog→dog <seg> mask tokens </seg>
4. 训练策略
本质是多任务自回归语言模型损失(Autoregressive Language Modeling Loss)。
多任务混合训练:同一个 Batch 内混合 Caption、Detection、Grounding、Segmentation 的数据,共享一套模型参数,计算相同的 Token Prediction Loss。这使得不同任务能互相促进(如检测的空间能力辅助分割)。
两阶段训练:
预训练 (Pre-training):使用 FLD-5B 学习通用视觉、空间定位、图文对齐能力。
微调 (Fine-tuning):在下游特定 Benchmark 数据上进一步优化。
模型规模:Florence-2-base (232M), Florence-2-large (771M)。证明了通过高质量多粒度数据和统一架构,小模型也能具备强大的视觉基础能力(对比 Flamingo 80B)。
5. 总结与多模态模型演进对比
核心三大突破
数据基础:FLD-5B 解决了多粒度(Image/Region/Pixel)统一标注的缺失。
统一架构:抛弃独立检测/分割 Head,用 Encoder-Decoder 完成统一建模。
生成范式:创新性地用
<loc>和<seg>Tokens 将坐标和掩码转化为序列生成问题。
多模态发展路线对比
| 模型 | 核心贡献与特点 | 输出形式 |
| CLIP(2021) | 4亿图文对齐,奠定多模态基础 | 相似度/分类 |
| BLIP系列(2022-23) | 统一视觉语言预训练;通过 Q-Former 桥接冻结的 LLM 与视觉模型 | Text (图像描述/问答) |
| LLaVA / Qwen-VL(2023) | 视觉指令微调,侧重多模态对话和复杂问答推理 | Text (长文本回答) |
| Florence-2(2024) | 端到端训练,统一视觉基础任务(重基础视觉能力而非长篇对话) | Text, Box<loc>, Mask<seg> |
一句话总结:
Florence-2 的最大价值不在于提出了新的大语言模型,而是通过FLD-5B 多粒度数据集 + 特殊 Token 编码,成功将传统计算机视觉的“分类、检测、分割”三大独立任务,完美统一到了自然语言处理的“序列生成”框架下。