Bounding Box
バウンディングボックスとは、画像内で物体が位置する範囲を示す四角形です。xyxy、xywh、YOLO形式、ラベリング、回転ボックス、3Dボックスを解説します。
バウンディングボックスとは、画像または動画フレーム内の物体を囲む、軸に平行な最小の長方形で、4つの数値で表されます。物体検出の出力単位であり、検出器は物体ごとに1つのボックスとクラスラベル、信頼度スコアを返します。また、モデルに学習させるため、アノテーターは同じボックスを学習データ上に描画します。ボックスは物体の形状をなぞらずに位置とおおよその大きさを示すため、ラベル付けが簡単で、予測コストも低くなります。
座標形式#
画像座標は左上隅を原点とし、xは右方向、yは下方向に大きくなります。どのボックス形式も4つの数値を格納しますが、どの4つの値を使うかはデータセットやライブラリによって異なります。形式を取り違えると、すべてのボックスが気付かないうちにずれたり、伸縮したりします。
- 四隅(xyxy):左上隅(x1, y1)と右下隅(x2, y2)をピクセル単位で表します。PASCAL VOCのアノテーションや、ほとんどの描画関数およびIoU関数で使われます。
- COCO形式:左上隅に続けて幅と高さをピクセル単位で表します。[x, y, width, height]
- YOLO形式:ボックスの中心に続けて幅と高さを示し、それぞれを画像の幅または高さで割ることで、すべての値が0から1の範囲に収まります。YOLO26などのUltralytics YOLOモデルは、画像ごとに1つのテキストファイルを用い、物体ごとに1行を使って学習します。各行にはクラスインデックスに続けて、x_center、y_center、width、heightを記載します。
正規化座標はリサイズ後も維持されます。ボックスは画像サイズに対する割合として保存されるため、ラベルを書き換えなくても、画像を任意の学習解像度に拡大・縮小できます。
from ultralytics import YOLO
# 学習済みのYOLO26 nano検出器を読み込む
model = YOLO("yolo26n.pt")
# 物体を検出し、最初の画像からボックスを取得する
results = model("https://ultralytics.com/images/bus.jpg")
boxes = results[0].boxes
# 4つの形式で表した同じ最初のボックス
print(boxes.xyxy[0]) # ピクセル単位の四隅座標
print(boxes.xywh[0]) # ピクセル単位の中心、幅、高さ
print(boxes.xyxyn[0]) # 画像の幅と高さで割った四隅座標
print(boxes.xywhn[0]) # YOLOラベルと同様に、画像サイズで割った中心とサイズ4行はいずれも1つの長方形を表しています。正規化された形式では、ピクセル値を画像のサイズである810 × 1080で割ります。xywhはボックスの中心を基準に測定するため、COCOの左上基準のxywhとは異なります。
検出器がボックスを予測する方法#
検出器は、画像内の多くの位置で回帰出力としてボックスを予測します。初期の設計では、サイズとアスペクト比が固定されたアンカーボックスからのオフセットを予測していました。一方、アンカーフリー検出器は、グリッド上の点からボックスの4辺までの距離を直接予測します。学習では、損失関数に基づいて予測ボックスとラベル付きボックスを比較します。この損失関数はintersection over union (IoU)に基づいています。隣り合う位置から同じ物体に対する重複ボックスが予測されるため、推論時には非極大値抑制(NMS)で重複を取り除きます。
バウンディングボックスのラベル付け#
検出器はラベルと同じ描き方でボックスを描くように学習するため、データアノテーションのガイドラインがボックスの品質を左右します。適切なガイドラインでは、各物体の見えている端に沿ってボックスを付けること、各クラスのすべてのインスタンスにラベルを付けること(ラベルのない物体は背景としてモデルに学習されるため)、遮蔽された物体や一部が切れた物体について、見えている部分だけを囲むなどの固定ルールを定めることを求めます。評価にも同じルールが適用されます。予測は、ラベル付きボックスとのIoUによって採点されるためです。
バウンディングボックスとその他の領域表現#
- 回転バウンディングボックス(OBB):5つ目の値として回転角を加えることで、ボックスを回転させ、航空画像内の船や車両など、傾いた物体に合わせられます。これにより、ボックス内に含まれる背景を大幅に減らせます。
- インスタンスセグメンテーション:ピクセル単位のマスクで、各物体の正確な形状を示します。
- キーポイント:姿勢推定に用いる身体の関節など、個々のランドマーク点です。
- 3Dバウンディングボックス:現実空間内の直方体で、通常は7つの数値で表されます。中心(x, y, z)、メートル単位の長さ、幅、高さ、および進行方向の角度です。










