Detection Head
検知ヘッド (detection head) がどのようにリアルタイムのオブジェクト検出を可能にするかを学びましょう。Ultralytics YOLO26において、バウンディングボックスとラベルを高精度に予測する役割を解説します。
detection headは、物体検出ニューラルネットワークアーキテクチャにおける最終的な意思決定レイヤーとして機能します。モデルの初期レイヤーが画像内の形状、テクスチャ、特徴の理解を担うのに対し、detection headは、この情報を解釈してどのような物体がどこに存在するかを正確に予測する特定のコンポーネントです。これにより、特徴抽出器によって生成された抽象的かつ高次元なデータが実用的な結果へと変換され、通常は特定された物体を囲むbounding boxesと、それに対応するクラスラベルおよびconfidence scoresが出力されます。
Link to this sectionBackboneとNeckとHeadの区別#
detection headの機能を完全に理解するには、最新の検出器が3つの主要なステージで構成され、それぞれがcomputer vision (CV)パイプラインにおいて異なる目的を果たしていると捉えると分かりやすくなります。
- Backbone: これはネットワークの初期部分であり、ResNetやCSPNetのようなConvolutional Neural Network (CNN)がよく使われます。入力された生の画像を処理し、視覚的なパターンを表すfeature mapsを作成します。
- Neck: BackboneとHeadの間に位置し、異なるスケールの特徴を精緻化および結合します。Feature Pyramid Network (FPN)のようなアーキテクチャは、コンテキストを集約することでモデルがさまざまなサイズの物体を検出できるようにします。
- Head: Neckから精緻化された特徴を受け取る最終コンポーネントです。分類(それは何か?)と回帰(それはどこにあるか?)という実際のタスクを実行します。
Link to this section進化:Anchor-BasedとAnchor-Free#
detection headの設計は、特に従来の手法から最新のreal-time inferenceモデルへの移行に伴い、速度と精度を向上させるために大きく進化してきました。
- Anchor-Based Heads: 従来のone-stage object detectorsは、さまざまなサイズの固定参照形状であるanchor boxesに依存していました。Headは、これらのアンカーをどれだけ伸縮またはシフトすれば物体に適合するかを予測します。このアプローチは、Faster R-CNNに関する基礎研究で詳しく述べられています。
- Anchor-Free Heads: 最新のYOLO26を含む最先端モデルでは、anchor-free detectorsが利用されています。これらのHeadは、feature mapsのピクセルから直接物体の中心と寸法を予測するため、手動によるアンカー調整の必要がありません。これによりアーキテクチャが簡素化され、新規の物体形状に対するモデルの汎化能力が向上します。この手法は、Fully Convolutional One-Stage Object Detection (FCOS)に関連付けられることが多い技術です。
Link to this section実社会での応用#
detection headの精度は、artificial intelligence (AI)を安全性重視の産業環境に導入する上で極めて重要です。ユーザーはUltralytics Platformを使用して、簡単にデータをアノテーションし、これらの専門的なHeadをトレーニングすることができます。
- 自動運転: AI for automotiveにおいて、detection headは歩行者、信号機、その他の車両をリアルタイムで識別する役割を担います。高度に最適化されたHeadは、inference latencyを車両が即座に反応できるほど十分に低く維持します。
- 医療診断: medical image analysisにおいて、detection headはMRIスキャン内の腫瘍などの異常箇所を特定するために微調整されます。回帰ブランチは、病変の正確な境界線をアウトライン化するために非常に高い精度が求められ、healthcare solutionsにおける医師の診断を支援します。
Link to this sectionコード例#
以下の例は、YOLO26モデルをロードし、そのdetection headの出力を検査する方法を示しています。推論が実行されると、Headが画像を処理し、座標とクラスIDを含む最終的なboxesを返します。
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()}")この相互作用は、detection headがどのように複雑なニューラルネットワークの活性化を、開発者がobject trackingやカウントといった後続タスクに使用できる読み取り可能なデータに変換するかを示しています。






