物体検出アーキテクチャを、バックボーンからヘッドまで探求しましょう。Ultralytics リアルタイムコンピュータービジョン向けに、卓越した速度と精度を実現する仕組みを学びます。
物体検出アーキテクチャは、視覚データ内のアイテムを識別・位置特定するために用いられるニューラルネットワークの構造設計図である。より広範なコンピュータビジョン(CV)分野において、これらのアーキテクチャは生ピクセルデータを意味のある知見へ処理することで、機械が「見る」方法を定義する。 単純に画像にラベルを付ける基本分類モデルとは異なり、物体検出アーキテクチャは、検出された個々の物体ごとにクラスラベルと信頼度スコアに加え、バウンディングボックスを出力するよう設計されています。この構造設計はモデルの速度、精度、計算効率を決定し、リアルタイム推論や高精度分析向けのモデル選択において重要な要素となります。
具体的な設計は異なるものの、ほとんどの現代的なアーキテクチャは3つの基本構成要素を共有している:バックボーン、ネック、そしてヘッドである。バックボーンは主要な特徴抽出器として機能する。これは通常、ImageNetなどの大規模データセットで事前学習された畳み込みニューラルネットワーク(CNN)であり、基本的な形状、エッジ、テクスチャの識別を担当します。バックボーンとしてよく選ばれるものには、ResNetやCSPDarknetなどがあります。
ネックはバックボーンを最終出力層に接続する。その役割は、バックボーンの異なる段階からの特徴を混合・結合し、モデルが様々なサイズのdetect できるようにすることである。これはマルチスケール特徴融合として知られる概念である。 アーキテクチャでは、予測層に渡される意味情報を豊かにするため、ここで特徴ピラミッドネットワーク(FPN)やパス集約ネットワーク(PANet)が頻繁に利用される。最終的に、検出ヘッドがこれらの融合された特徴を処理し、各物体の具体的なクラスと座標位置を予測する。
歴史的に、アーキテクチャは主に2つのカテゴリーに分類されてきた。R-CNNファミリーなどの 2段階 検出器は、まず物体が存在する可能性のある関心領域(RoI)を提案し、次にclassify 領域を2段階目でclassify 。一般的に正確ではあるが、エッジデバイスには計算負荷が高すぎる場合が多い。
対照YOLO 、ワンステージ検出器は検出を単純な回帰問題として扱い、画像ピクセルを 単一パスで直接バウンディングボックス座標とクラス確率にマッピングする。YOLO (You Only Look Once)ファミリーが先駆けたこの手法は、リアルタイム性能を実現することで業界に革命をもたらした。 近年の進歩はYOLO26のようなモデルに結実し、優れた速度を提供するだけでなく、エンドツーエンドNMSアーキテクチャを採用している。ノンマキシマムサプレッション(NMS)後処理の必要性を排除することで、これらの新アーキテクチャは安全性が極めて重要なシステムにおいて決定的な遅延変動を低減する。
アーキテクチャの選択は、あらゆる産業におけるAIソリューションの成功に直接影響を与える。
検出アーキテクチャを類似のコンピュータビジョンタスクと区別することが重要です:
現代のフレームワークはこれらのアーキテクチャの複雑性を抽象化し、開発者が最小限のコードで最先端の設計を活用できるようにしています。 ultralytics パッケージでは、事前学習済みモデルを読み込むことができます。
YOLO26 モデルを構築し、すぐに推論を実行します。クラウド上でデータセットを管理し、カスタムアーキテクチャをトレーニングしたいチームにとって、
Ultralytics 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()