YOLO Vision Shenzhen
深セン
今すぐ参加
用語集

検出ヘッド

検出ヘッドがリアルタイムのobject detectionをどのように可能にするかを学びましょう。Ultralytics YOLO26におけるその役割を探り、高い精度でバウンディングボックスとラベルを予測する方法を学びましょう。

A detectionヘッドは、オブジェクトdetectionニューラルネットワークアーキテクチャにおける最終的な意思決定層として機能します。モデルの初期層が画像内の形状、テクスチャ、および特徴を理解する役割を担う一方で、detectionヘッドは、この情報を解釈して、どのオブジェクトが存在し、どこに位置するかを正確に予測する特定のコンポーネントです。これは、特徴抽出器によって生成された抽象的で高レベルのデータを実行可能な結果に変換し、通常、識別されたオブジェクトを囲むバウンディングボックスのセットと、それに対応するクラスラベルおよび信頼度スコアを出力します。

頭部と脊柱・頸部を区別する

検出ヘッドの機能を完全に理解するには、現代の検出器が3つの主要な段階で構成されていると視覚化することが役立ちます。それぞれの段階は、コンピュータービジョン (CV)パイプラインにおいて異なる目的を果たすためです。

  • バックボーン: これはネットワークの初期部分であり、多くの場合、ResNetやCSPNetのような畳み込みニューラルネットワーク (CNN)です。生の入力画像を処理して、視覚パターンを表す特徴マップを作成します。
  • ネック: バックボーンとヘッドの間に位置するネックは、異なるスケールの特徴を洗練し、結合します。Feature Pyramid Network (FPN)のようなアーキテクチャは、文脈を集約することで、モデルがさまざまなサイズのオブジェクトをdetectできるようにします。
  • ヘッド: ネックから洗練された特徴を受け取る最終コンポーネントです。分類(それが何か?)と回帰(それがどこにあるか?)という実際のタスクを実行します。

進化:アンカーベース対アンカーフリー

検出ヘッドの設計は、速度と精度を向上させるために大幅に進化しており、特に従来の方法から最新のリアルタイム推論モデルへの移行に伴い顕著です。

  • アンカーベースのヘッド:従来の 単段階物体検出器は、 事前定義されたアンカーボックス(様々なサイズの固定参照形状)に依存していた。 ヘッドは、物体に合わせるためにこれらのアンカーをどれだけ引き伸ばすか、またはシフトするかを予測した。 この手法は、Faster R-CNNに関する基礎研究で詳細に説明されている。
  • アンカーフリーヘッド: 最新のYOLO26を含む最先端のモデルは、アンカーフリー検出器を利用しています。これらのヘッドは、特徴マップ内のピクセルから直接物体の中心と寸法を予測するため、手動でのアンカー調整が不要になります。これによりアーキテクチャが簡素化され、モデルが新しい物体の形状に汎化する能力が向上します。これは、Fully Convolutional One-Stage Object Detection (FCOS)と関連付けられることが多い手法です。

実際のアプリケーション

detectヘッドの精度は、安全性が重視される産業環境に人工知能 (AI)をデプロイするために極めて重要です。ユーザーはUltralytics Platformを使用して、簡単にデータにアノテーションを付け、これらの特殊なヘッドをトレーニングできます。

  • 自動運転: 自動車向けAIにおいて、検知ヘッドは歩行者、信号機、その他の車両をリアルタイムで識別する役割を担う。高度に最適化されたヘッドは推論遅延を十分に低く保ち、車両が瞬時に反応できるようにする。
  • 医療診断: 医療画像解析において、検出ヘッドはMRIスキャン内の腫瘍などの異常を特定するために微調整される。回帰分岐は病変の正確な境界線を輪郭化するために極めて正確でなければならず、医療ソリューションにおいて医師を支援する。

コード例

以下の例は、ロードする方法を示しています。 YOLO26 モデルとその検出ヘッドの出力を検査します。 推論が実行されると、ヘッドが画像を処理し、最終的な結果を返します。 boxes 座標とクラスIDを含む。

from ultralytics import YOLO

# Load the YOLO26n model (nano version)
model = YOLO("yolo26n.pt")

# Run inference on an image to utilize the detection head
results = model("https://ultralytics.com/images/bus.jpg")

# The detection head outputs are stored in results[0].boxes
for box in results[0].boxes:
    # Print the bounding box coordinates and the predicted class
    print(f"Class: {int(box.cls)}, Coordinates: {box.xywh.numpy()}")

この相互作用は、検出ヘッドが複雑なニューラルネットワークの活性化を、開発者がobject trackingやカウントなどのダウンストリームタスクに利用できる読み取り可能なデータに変換する方法を明確に示しています。

共にAIの未来を築きましょう!

未来の機械学習で、新たな一歩を踏み出しましょう。