Object Detection Architectures
バックボーンからヘッドまで、オブジェクト検出アーキテクチャを探求します。Ultralytics YOLO26が、リアルタイムコンピュータビジョンのためにどのように優れた速度と精度を実現するかを学びましょう。
物体検出アーキテクチャは、視覚データ内のアイテムを識別および特定するために使用されるニューラルネットワークの構造的設計図です。computer vision (CV)のより広い分野において、これらのアーキテクチャは、生のピクセルデータを意味のある洞察に処理することで、機械がどのように「見る」かを定義します。単に画像にラベルを付けるだけの基本的な分類モデルとは異なり、物体検出アーキテクチャは、見つかったすべての個別のオブジェクトに対して、bounding boxと、クラスラベルおよびconfidence scoreを出力するように設計されています。この構造的設計により、モデルの速度、精度、および計算効率が決まるため、real-time inferenceや高精度な分析用のモデルを選択する際の重要な要素となります。
アーキテクチャの主要コンポーネント#
具体的な設計はさまざまですが、ほとんどの最新のアーキテクチャには、バックボーン、ネック、ヘッドという3つの基本コンポーネントが共通して備わっています。バックボーンは、主要な特徴抽出機能として機能します。通常、ImageNetなどの大規模なデータセットで事前トレーニングされたConvolutional Neural Network (CNN)であり、基本的な形状、エッジ、テクスチャを識別する役割を担います。バックボーンの人気の選択肢には、ResNetやCSPDarknetが含まれます。
ネックは、バックボーンを最終的な出力層に接続します。その役割は、バックボーンのさまざまなステージからの特徴をミックスおよび結合して、モデルがさまざまなサイズのオブジェクトを確実に検出できるようにすることです。これはマルチスケール特徴フュージョンとして知られる概念です。アーキテクチャでは、予測層に渡されるセマンティック情報を豊富にするために、ここでFeature Pyramid Network (FPN)やPath Aggregation Network (PANet)がよく利用されます。最後に、detection headがこれらの融合された特徴を処理して、各オブジェクトの特定のクラスと座標位置を予測します。
進化:2ステージ対1ステージ#
歴史的に、アーキテクチャは2つの主要なカテゴリに分類されていました。R-CNN familyなどの2ステージ検出器は、まずオブジェクトが存在する可能性のある関心領域(RoI)を提案し、2番目のステップでそれらの領域を分類します。一般的に精度は高いですが、エッジデバイスにとっては計算負荷が高すぎる場合がよくあります。
対照的に、1ステージ検出器は、検出を単純な回帰問題として扱い、画像ピクセルを1回のパスでバウンディングボックスの座標とクラス確率に直接マッピングします。YOLO(You Only Look Once)ファミリーによって開拓されたこのアプローチは、リアルタイムパフォーマンスを可能にすることで業界に革命をもたらしました。最近の進歩により、YOLO26のようなモデルが誕生しました。これらは優れた速度を提供するだけでなく、エンドツーエンドのNMSフリーアーキテクチャを採用しています。Non-Maximum Suppression (NMS)後処理の必要性をなくすことで、これらの新しいアーキテクチャは、安全性に不可欠なシステムにとって重要なレイテンシの変動を軽減します。
実社会での応用#
アーキテクチャの選択は、さまざまな業界におけるAIソリューションの成功に直接影響を与えます。
- 小売の自動化:smart supermarketsでは、効率的な1ステージアーキテクチャにより、コンベアベルトやショッピングカート内の商品を即座に認識する自動チェックアウトシステムが可能になり、待ち時間とヒューマンエラーが削減されます。
- **医療診断:**高精度アーキテクチャは、X線やMRIスキャンにおける腫瘍などの異常を検出するためにmedical image analysisで使用されます。ここでは、詳細な情報を保持するアーキテクチャの能力が、処理速度そのものよりも重要になります。
関連用語の区別#
検出アーキテクチャを類似のコンピュータビジョンのタスクと区別することが重要です。
- 画像分類との比較:image classificationアーキテクチャ(VGGやEfficientNetなど)は、画像全体に単一のラベル(「猫」など)を割り当てます。猫がどこにいるのか、または猫が複数いるのかどうかを教えてくれるわけではありません。これは検出アーキテクチャの主要な機能です。
- **インスタンスセグメンテーションとの比較:**検出がオブジェクトの周りにボックスを配置するのに対し、instance segmentationは各オブジェクトの正確なピクセル単位のアウトライン(マスク)を識別します。セグメンテーションアーキテクチャは、多くの場合、検出アーキテクチャの拡張です(検出ヘッドにマスクブランチを追加するなど)。
Ultralyticsによる実装#
最新のフレームワークは、これらのアーキテクチャの複雑さを抽象化しており、開発者は最小限のコードで最先端の設計を活用できます。ultralyticsパッケージを使用すると、事前トレーニングされたYOLO26モデルをロードして、すぐに推論を実行できます。データセットを管理し、クラウドでカスタムアーキテクチャをトレーニングしたいチーム向けに、Ultralytics PlatformがMLOpsパイプライン全体を簡素化します。
from ultralytics import YOLO
# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Run inference on an image source
# This uses the model's architecture to detect objects
results = model("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()





