OBB(Oriented Bounding Box)データセットの概要
オリエンテッドバウンディングボックス(OBB)を使った正確な物体検出モデルのトレーニングには、綿密なデータセットが必要です。このガイドでは、Ultralytics YOLO モデルと互換性のあるさまざまな OBB データセット形式について説明し、その構造、適用、形式変換の方法についての洞察を提供します。
サポートされるOBBデータセットフォーマット
YOLO OBBフォーマット
YOLO OBBフォーマットは、0と1の間で正規化された座標を持つ4つのコーナーポイントでバウンディングボックスを指定する:
内部的には、YOLO で損失とアウトプットを処理する。 xywhr
フォーマットで表される。 バウンディングボックスの中心点(xy)、幅、高さ、回転。
の一例である。 *.txt
上の画像のラベルファイルには、クラス 0
OBBフォーマットでは、次のようになる:
使用方法
これらのOBBフォーマットを使ってモデルをトレーニングする:
例
対応データセット
現在、Oriented Bounding Boxesを持つ以下のデータセットがサポートされています:
- DOTA-v1: DOTAデータセットの最初のバージョンで、物体検出のためのバウンディングボックスを備えた包括的な航空画像セット。
- DOTA-v1.5:DOTAデータセットの中間バージョンで、DOTA-v1よりも注釈が追加され、物体検出タスクが改善されている。
- 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フォーマットへのラベルの移行は、このスクリプトで行うことができる:
例
この変換機構は、DOTA形式のデータセットにとって重要であり、DOTA形式との整合性を確保します。 Ultralytics YOLOOBBフォーマットとの整合性を確保します。
データセットとモデルの互換性を検証し、必要なフォーマット規約を遵守することが不可欠です。適切に構造化されたデータセットは、オリエンテッドなバウンディングボックスを持つ効率的なオブジェクト検出モデルをトレーニングするために極めて重要です。
よくあるご質問
OBB(Oriented Bounding Boxes)とは何か?また、Ultralytics YOLO モデルでどのように使われているのか?
OBB(Oriented Bounding Boxes)は、バウンディングボックスのアノテーションの一種で、単に軸を合わせるだけでなく、検出されるオブジェクトにより近くなるようにボックスを回転させることができます。これは、オブジェクトが画像軸と一致していない可能性のある航空写真や衛星写真で特に役立ちます。画像内 Ultralytics YOLOモデルでは、OBBはYOLO OBBフォーマットの4つのコーナーポイントで表現されます。これにより、バウンディングボックスがオブジェクトに合わせて回転できるため、より正確なオブジェクト検出が可能になります。
Ultralytics YOLO11 で使用するために、既存の DOTA データセット・ラベルをYOLO OBB フォーマットに変換するにはどうすればよいですか?
DOTA データセットのラベルは、YOLO OBB フォーマットに変換できます。 convert_dota_to_yolo_obb
Ultralyticsこの変換により、Ultralytics YOLO モデルとの互換性が確保され、OBB 機能を活用してオブジェクト検出を強化することができます。簡単な例を示します:
from ultralytics.data.converter import convert_dota_to_yolo_obb
convert_dota_to_yolo_obb("path/to/DOTA")
このスクリプトはDOTAの注釈をYOLO と互換性のあるフォーマットに再フォーマットします。
私のデータセットで、オリエンテッド・バウンディング・ボックス(OBB)を使ってYOLO11 モデルをトレーニングするには?
OBBを使ってYOLO11 モデルをトレーニングするには、データセットがYOLO OBBフォーマットであることを確認し、Ultralytics APIを使ってモデルをトレーニングします。以下はPython CLI例です:
例
これにより、モデルが詳細なOBBアノテーションを活用し、検出精度が向上します。
Ultralytics YOLO モデルのOBBトレーニングに現在対応しているデータセットは?
現在、Ultralytics はOBBトレーニング用に以下のデータセットをサポートしている:
- DOTA-v1: DOTAデータセットの最初のバージョンで、物体検出のためのバウンディングボックスを備えた包括的な航空画像セット。
- DOTA-v1.5:DOTAデータセットの中間バージョンで、DOTA-v1よりも注釈が追加され、物体検出タスクが改善されている。
- DOTA-v2:このデータセットには、オリエンテッドなバウンディングボックスを持つ170万個のインスタンスと11,268枚の画像が含まれ、主に空中物体の検出に重点を置いている。
- DOTA8:テストと継続的インテグレーション(CI)チェックに使用される、DOTAデータセットの小さい8画像のサブセット。
これらのデータセットは、航空画像や衛星画像の解析など、OBBが大きな利点を提供するシナリオ用に調整されている。
YOLO11 のトレーニングに、バウンディングボックスを配向させた独自のデータセットを使うことはできますか。
はい、YOLO11 トレーニングには、バウンディングボックスを指定した独自のデータセットを使用できます。データセットのアノテーションがYOLO OBBフォーマットに変換されていることを確認してください。その後、データセットのパス、クラス、その他必要な詳細を指定するYAML設定ファイルを作成します。データセットの作成と設定の詳細については、「サポートされるデータセット」のセクションを参照してください。