Feature Pyramid Network (FPN)
特徴ピラミッドネットワーク (FPN) がどのようにマルチスケールの物体検出を強化するか解説します。Ultralytics YOLO26が高度なFPNを使用して大小の物体を検出する仕組みを学びましょう。
Feature Pyramid Network (FPN) は、現代の コンピュータビジョン (CV) システムにおいて、さまざまなスケールの物体検出を改善するために使用される特殊なアーキテクチャコンポーネントです。これは、画像分析における長年の課題、つまり同じ画像内の大きく目立つ構造と、遠くにある小さな細部の両方を認識するという問題を効果的に解決します。入力をマルチスケールで表現(概念的にはピラミッドに似ています)することにより、FPNはニューラルネットワークがすべての解像度レベルで豊かなセマンティック情報を抽出できるようにします。このアーキテクチャは通常、生のフィーチャを抽出する バックボーン と、オブジェクトのクラスとバウンディングボックスを予測する 検出ヘッド の間に配置されます。
Link to this sectionFeature Pyramid Networkの仕組み#
FPNの核心的なイノベーションは、情報の処理方法にあります。従来の 畳み込みニューラルネットワーク (CNN) は、入力画像が段階的にダウンサンプリングされるフィーチャの階層を自然に作成します。これによりセマンティックな理解(画像に「何」があるか)は深まりますが、多くの場合、空間解像度(正確に「どこ」にあるか)が低下し、小さな物体が消失してしまいます。
FPNは、以下の3ステップのプロセスを通じてこれに対処します。
-
ボトムアップパスウェイ: これは、Residual Network (ResNet) のようなネットワークの標準的なフィードフォワードパスです。ネットワークが画像を処理するにつれて、サイズは縮小しますがセマンティック価値は向上する フィーチャマップ が作成されます。
-
トップダウンパスウェイ: ネットワークは、より深い層からセマンティック的に豊富なフィーチャをアップサンプリングすることで、高解像度のピラミッドを構築します。このステップは、より大きな空間マップに強力なコンテキストを「幻視(ハルシネート)」させます。
-
ラテラルコネクション: ダウンサンプリング中に失われた鮮明な詳細を回復するために、FPNはラテラルコネクションを介して、アップサンプリングされたフィーチャとボトムアップパスウェイからの元の高解像度マップを融合します。
この組み合わせにより、すべてのレベルで強力なセマンティクスと良好なローカリゼーションを備えたピラミッドが生成され、あらゆるサイズの物体に対する 精度 と 再現率 が大幅に向上します。
Link to this section物体検出アーキテクチャにおける重要性#
FPNは、現代の 物体検出アーキテクチャ の礎石です。導入前は、モデルは速度(最終層のみを使用)か精度(非常に低速な画像ピラミッドを処理)のどちらかを選択しなければなりませんでした。FPNは、小さな物体を検出する能力を犠牲にすることなく、リアルタイム推論 を可能にする、両者の長所を兼ね備えたソリューションを提供します。
この効率性は、YOLO26 のような高度なモデルにとって非常に重要です。このモデルは、最先端のパフォーマンスを達成するために、FPN原理(PANetなど)に触発された高度な集約ネットワークを活用しています。このアーキテクチャにより、Ultralytics Platform を介してエッジデバイスに展開する場合でも、強力なサーバーに展開する場合でも、多様なデータセット全体で高い精度を維持できます。
Link to this section実社会での応用#
FPNのマルチスケール機能は、安全性と精度が最優先される業界において不可欠です。
- 自動車におけるAI: 自動運転車は、近くの大型トラックと遠くの小さな信号機や歩行者を同時に追跡する必要があります。FPNにより、パーセプションスタックはこれらの異なるスケールを一度のパスで処理でき、タイムリーな意思決定を保証します。nuScenes のようなデータセットが、これらの機能をベンチマークするために頻繁に使用されます。
- 医療画像分析: 診断画像において、病理を検出するにはサイズが大きく異なる異常を見つける必要があります。FPNを搭載したモデルは、MRIスキャン 内の大きな臓器構造と微小な初期段階の腫瘍の両方を識別でき、放射線科医が正確な診断を下すのを支援します。
- 農業におけるAI: 精密農業は、ドローン画像からの作物や害虫の検出に依存しています。ドローンの高度は変化する可能性があるため、画像内の植物のサイズも変化します。FPNはモデルの汎用性を高め、カメラの高さに関係なく 物体カウント を正確に実行できるようにします。
Link to this sectionFPNと他のフィーチャアグリゲーターの比較#
標準的なFPNを、新しいアーキテクチャに見られる進化したバリエーションと区別しておくと役立ちます。
- FPNとPANetの比較: FPNがフィーチャを強化するためにトップダウンパスを追加するのに対し、Path Aggregation Network (PANet) はFPNの上にさらにボトムアップパスを追加します。これにより低レベルのフィーチャの情報パスが短縮され、ローカリゼーションがさらに向上します。この手法はYOLOモデルで頻繁に採用されています。
- FPNとBiFPNの比較: EfficientDetに見られる Bi-directional Feature Pyramid Network (BiFPN) は、異なるフィーチャに学習可能な重みを導入し、入力が1つしかないノードを削除することで、効率のためにネットワークを最適化しています。
Link to this section実践的な例#
ultralytics のような高度なライブラリは、FPN構築の複雑さを内部で処理します。YOLO26のようなモデルを読み込むと、アーキテクチャにはこれらのフィーチャ集約レイヤーが自動的に含まれ、パフォーマンスが最大化されます。
from ultralytics import YOLO
# Load the YOLO26 model, which uses advanced feature pyramid principles internally
# The 'n' suffix indicates the nano version, optimized for speed
model = YOLO("yolo26n.pt")
# Perform inference on an image containing objects of various sizes
# The model's neck (FPN-based) aggregates features to detect small and large items
results = model("https://ultralytics.com/images/bus.jpg")
# Display results to see bounding boxes around buses (large) and people (small)
results[0].show()





