コンテンツへスキップ

OBB(Oriented Bounding Box)データセットの概要

オリエンテッドバウンディングボックス(OBB)を使った正確な物体検出モデルのトレーニングには、綿密なデータセットが必要です。このガイドでは、Ultralytics YOLO モデルと互換性のあるさまざまな OBB データセット形式について説明し、その構造、適用、形式変換の方法についての洞察を提供します。

サポートされるOBBデータセットフォーマット

YOLO OBBフォーマット

YOLO OBBフォーマットは、0と1の間で正規化された座標を持つ4つのコーナーポイントでバウンディングボックスを指定する:

class_index, x1, y1, x2, y2, x3, y3, x4, y4

内部的には、YOLO で損失とアウトプットを処理する。 xywhr フォーマットで、バウンディングボックスの中心点(xy)、幅、高さ、回転を表します。

OBBフォーマットの例

一例 *.txt 上の画像のラベルファイルには、クラス 0 OBBフォーマットでは、次のようになる:

0 0.780811 0.743961 0.782371 0.74686 0.777691 0.752174 0.776131 0.749758

使用方法

これらのOBBフォーマットを使ってモデルをトレーニングする:

from ultralytics import YOLO

# Create a new YOLOv8n-OBB model from scratch
model = YOLO('yolov8n-obb.yaml')

# Train the model on the DOTAv2 dataset
results = model.train(data='DOTAv1.yaml', epochs=100, imgsz=640)
# Train a new YOLOv8n-OBB model on the DOTAv2 dataset
yolo detect train data=DOTAv1.yaml model=yolov8n.pt epochs=100 imgsz=640

対応データセット

現在、Oriented Bounding Boxesを持つ以下のデータセットがサポートされています:

  • DOTA v2:DOTA (A Large-scale Dataset for Object Detection in Aerial Images)バージョン2は、空撮画像からの検出に重点を置き、170万インスタンスと11,268画像のバウンディングボックスを含む。

  • DOTA8:DOTAデータセットの8画像からなる小規模なサブセットで、テストワークフローやOBBトレーニングの継続的インテグレーション(CI)チェックに適している。 ultralytics リポジトリ

独自のOBBデータセットを組み込む

オリエンテッドなバウンディングボックスを持つ独自のデータセットを導入したい場合は、上記の"YOLO OBB format "との互換性を確認してください。アノテーションをこのフォーマットに変換し、対応する YAML 設定ファイルにパス、クラス、クラス名を記述します。

ラベルフォーマットの変換

DOTA データセットフォーマットからYOLO OBB フォーマットへ

DOTAデータセットフォーマットからYOLO OBBフォーマットへのラベルの移行は、このスクリプトで行うことができる:

from ultralytics.data.converter import convert_dota_to_yolo_obb

convert_dota_to_yolo_obb('path/to/DOTA')

この変換メカニズムは、DOTAフォーマットのデータセットに有効で、Ultralytics YOLO OBBフォーマットとの整合を保証する。

データセットとモデルの互換性を検証し、必要なフォーマット規約を遵守することが不可欠です。適切に構造化されたデータセットは、オリエンテッドなバウンディングボックスを持つ効率的なオブジェクト検出モデルをトレーニングするために極めて重要です。



作成日:2023-11-12 更新日:2024-01-25
作成者:glenn-jocher(6)

コメント