Florence-2:Microsoftの最新の視覚言語モデル
Microsoftの視覚言語モデル「Florence-2」を紹介します。物体検出、セグメンテーション、ゼロショット性能が向上しており、優れた効率性を備えています。

In June 2024, Microsoft introduced Florence-2, a multi-modal visual language model (VLM) that is designed to handle a wide range of tasks including object detection, segmentation, image captioning, and grounding. Florence-2 sets a new benchmark for zero-shot performance, meaning it can perform tasks without prior specific training, and boasts a smaller model size than other state-of-the-art vision-language models.
Florence-2は単なるモデルにとどまらず、その汎用性と性能向上により、精度を高め、大規模なトレーニングの必要性を減らすことで、さまざまな業界に大きな影響を与える可能性があります。本記事では、Florence-2の革新的な機能を探り、他のVLMと比較し、その潜在的な用途について議論します。
Link to this sectionFlorence-2とは何か?#
Florence-2は、単一の統合フレームワーク内で多様なタスクを処理できます。このモデルの優れた能力は、FLD-5Bと呼ばれる大規模なトレーニングデータセットによるところが大きいです。FLD-5Bには、1億2600万枚の画像にわたる54億件のアノテーションが含まれています。この包括的なデータセットは、Florence-2が幅広い視覚タスクを高精度かつ効率的に処理するために必要な能力を備えられるよう、特別に作成されました。
Florence-2がサポートするタスクの詳細は以下の通りです。
- 物体検出: 画像内の物体を高精度で特定し、位置を特定できます。
- セグメンテーション: このタスクでは、分析と解釈を容易にするために、画像を意味のあるセグメントに分割します。
- 画像キャプション生成: Florence-2は、画像に文脈と詳細を提供する説明的なキャプションを生成できます。
- 視覚グラウンディング: このモデルは、キャプション内の特定のフレーズや単語を、画像内の対応する領域と関連付けることができます。
- ゼロショット性能: 特定のトレーニングなしでタスクを実行できます。

図1. Florence-2のトレーニング方法の理解。
このモデルは、テキストベースのタスクと領域ベースのタスクの両方をサポートしています。画像の特定の領域を含むタスクのために、モデルの語彙には特別な位置トークンが追加されています。これらのトークンは、物体の周囲の長方形(ボックス表現)、四辺形(クアッドボックス表現)、多角形(ポリゴン表現)など、さまざまな形状をモデルが理解するのに役立ちます。モデルは交差エントロピー損失(cross-entropy loss)と呼ばれる手法を使用してトレーニングされており、予測を正解と比較し、それに応じて内部パラメータを調整することで学習を進めます。
Link to this sectionFLD-5Bデータセットの作成#
FLD-5Bデータセットには、テキストの説明、領域とテキストのペア、テキスト・フレーズ・領域の組み合わせなど、さまざまなタイプのアノテーションが含まれています。これは、データ収集とアノテーションを含む2段階のプロセスで作成されました。画像はImageNet-22k、Object 365、Open Images、Conceptual Captions、LAIONといった有名なデータセットから収集されました。FLD-5Bデータセットのアノテーションのほとんどは合成的なものであり、手作業でラベル付けされたのではなく、自動的に生成されたことを意味します。

図2. FLD-5Bデータセットの作成。
当初、物体検出やセグメンテーションといった特定のタスクに精通した専門モデルがこれらのアノテーションを作成しました。その後、アノテーションの詳細と正確さを確保するために、フィルタリングと強化のプロセスが適用されました。ノイズが除去された後、データセットは反復的な改良プロセスを経て、Florence-2の出力を活用してアノテーションが継続的に更新され、改善されました。
Link to this sectionFlorence-2のモデルアーキテクチャの理解#
Florence-2のモデルアーキテクチャは、シーケンス・ツー・シーケンス(sequence-to-sequence)学習アプローチに従っています。これは、モデルが入力シーケンス(テキストプロンプト付きの画像など)を処理し、出力シーケンス(説明やラベルなど)を段階的に生成することを意味します。シーケンス・ツー・シーケンスフレームワークでは、各タスクが翻訳問題として扱われ、モデルは入力画像とタスク固有のプロンプトを受け取り、対応する出力を生成します。

図3. Florence-2の視覚言語モデルアーキテクチャ。
モデルアーキテクチャの核心はマルチモーダルなエンコーダ・デコーダTransformerであり、画像エンコーダとマルチモーダルエンコーダ・デコーダを組み合わせています。DaViT(Data-efficient Vision Transformer)と呼ばれる画像エンコーダは、入力画像を視覚トークン埋め込み(画像内の空間的な位置と意味的な内容の両方を捉えた画像データのコンパクトな表現)に変換して処理します。これらの視覚トークンはテキスト埋め込み(テキストの表現)と結合され、モデルがテキストデータと視覚データをシームレスに統合できるようにします。
Link to this sectionFlorence-2と他のVLMの比較#
Florence-2は、その驚異的なゼロショット性能により、他の視覚言語モデルの中でも際立っています。さまざまなタスクに適応するために広範な微調整を必要とするPaliGemmaのようなモデルとは異なり、Florence-2は導入後すぐに機能します。また、Florence-2は、GPT-4VやFlamingoのようなより大規模なモデルとも競合できます。これらのモデルはFlorence-2よりも多くのパラメータを持つことが多いですが、必ずしもFlorence-2の性能を上回るわけではありません。例えば、Kosmos-2はFlorence-2の2倍以上のパラメータを持っていますが、Florence-2はKosmos-2よりも優れたゼロショット結果を達成しています。
ベンチマークテストにおいて、Florence-2はCOCOキャプション生成や参照表現理解(referring expression comprehension)などのタスクで驚異的なパフォーマンスを示しました。COCOデータセットでの物体検出やセグメンテーションのタスクでは、PolyFormerやUNINEXTといったモデルを上回りました。性能とリソース効率の両方が重要となる実際のアプリケーションにおいて、非常に競争力の高い選択肢です。
Link to this sectionFlorence-2の応用例#
Florence-2は、エンターテインメント、アクセシビリティ、教育など、多くの異なる業界で活用できます。理解を深めるために、いくつかの例を見ていきましょう。
Link to this section画像キャプション生成の応用#
ストリーミングプラットフォームで何を見るか決めているとき、映画の概要を読んで選ぶことがあるでしょう。もしプラットフォームが映画ポスターの詳細な説明も提供できたらどうでしょうか?Florence-2は、画像に対する説明文を生成する画像キャプション生成機能を通じて、これを可能にします。Florence-2は映画ポスターの詳細な説明を生成し、視覚障害のあるユーザーにとってストリーミングプラットフォームをより包括的なものにします。ポスター内のキャラクター、景色、テキストなどの視覚的要素を分析することで、Florence-2はポスターのコンテンツや雰囲気を伝える詳細な説明を作成できます。下の画像は、Florence-2が提供できる説明の詳細レベルを示しています。

図4. Florence-2によって生成された画像キャプションの例。
画像キャプション生成が役立つその他の例を以下に挙げます。
- Eコマース: 画像キャプション生成は、製品画像の説明を詳細に提供し、顧客が製品の機能や詳細をより明確に理解する手助けをします。
- 旅行および観光: 旅行ガイドやアプリ内で、ランドマークや観光名所の説明を詳しく提供できます。
- 教育: 画像キャプション生成は、教育用画像や図にラベルを付けて説明することができ、教えることや学ぶことを支援します。
- 不動産: 潜在的な買い手に向けて、物件の機能や設備を強調した不動産画像の詳細な説明を提供できます。
Link to this section料理中の視覚グラウンディングの使用#
Florence-2は料理体験を豊かにするためにも使用できます。例えば、オンラインの料理本では、Florence-2を使用して複雑なレシピ画像の特定箇所を視覚的にグラウンディングし、ラベル付けすることができます。ここでの視覚グラウンディングは、画像内の特定の箇所と対応する説明文を結びつけるのに役立ちます。各材料やステップが正確にラベル付けされ説明されることで、家庭の料理人はレシピに従いやすくなり、各コンポーネントが料理においてどのような役割を果たすかを理解しやすくなります。

図5. Florence-2を使用した視覚グラウンディングの例。
Link to this section財務書類向けの領域ベースOCR#
書類内の特定の領域からテキストを抽出することに焦点を当てた領域ベースのOCRは、経理などの分野で非常に役立ちます。財務書類の指定された領域を分析することで、取引詳細、口座番号、期日などの重要な情報を自動的に抽出できます。手動入力の必要性を減らすことで、エラーを最小限に抑え、処理時間を短縮します。金融機関は、請求書処理、領収書の照合、小切手の決済などのタスクを効率化するためにこれを利用でき、結果として取引の迅速化と顧客サービスの向上につながります。

図6. Florence-2を使用した領域別OCR抽出の例。
Link to this section産業アプリケーションにおける領域ベースのセグメンテーション#
画像を焦点を絞った分析や詳細な検査のために意味のある部分に分割する領域ベースのセグメンテーションは、産業アプリケーションを強化し、様々なプロセスにおける精度と効率を向上させます。画像内の特定の領域に焦点を当てることで、この技術はコンポーネントや製品の詳細な検査と分析を可能にします。品質管理に関しては、ひび割れや位置ずれなどの材料の欠陥や不一致を特定し、最高品質の製品のみが市場に出ることを保証できます。

図7. Florence-2を使用した領域ベースのセグメンテーションの例。
また、ロボットアームを特定の部品に誘導したり、部品の配置や組み立てを最適化することで、自動化された組立ラインの効率も向上させます。同様に、在庫管理においても、商品の状態や場所を追跡・監視し、物流の効率化とダウンタイムの短縮を実現します。全体として、領域ベースのセグメンテーションは精度と生産性を高め、コスト削減と産業環境における製品品質の向上につながります。
Link to this section重要なポイント#
AIモデルが軽量化されつつも高い性能を維持するというトレンドが見られ始めています。Florence-2は、視覚言語モデルという点で大きな一歩を踏み出しました。物体検出、セグメンテーション、画像キャプション生成、グラウンディングといった多様なタスクを、驚異的なゼロショット性能で処理できます。小型であるにもかかわらず、Florence-2は効率的で多機能であり、異なる業界全体で非常に役立ちます。Florence-2のようなモデルは、より多くの可能性をもたらし、AIイノベーションの潜在能力を拡大しています。
私たちのGitHubリポジトリにアクセスし、コミュニティに参加して、AIについてさらに詳しく学びましょう。製造や農業におけるAIの活用については、ソリューションページをご覧ください。🚀






