コンテンツぞスキップ

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フォヌマットずの敎合を保蚌する。

デヌタセットずモデルの互換性を怜蚌し、必芁なフォヌマット芏玄を遵守するこずが䞍可欠です。適切に構造化されたデヌタセットは、オリ゚ンテッドなバりンディングボックスを持぀効率的なオブゞェクト怜出モデルをトレヌニングするために極めお重芁です。

よくあるご質問

OBBOriented Bounding Boxesずは䜕かたた、Ultralytics YOLO モデルでどのように䜿われおいるのか

OBBOriented Bounding Boxesは、バりンディングボックスのアノテヌションの䞀皮で、単に軞を合わせるだけでなく、怜出されるオブゞェクトにより近くなるようにボックスを回転させるこずができたす。これは、オブゞェクトが画像軞ず敎列しおいない可胜性がある空䞭画像や衛星画像で特に圹立ちたす。Ultralytics YOLO モデルでは、OBB はYOLO OBB フォヌマットの四隅の点で衚される。これにより、バりンディングボックスが回転しおオブゞェクトにフィットしやすくなるため、より正確なオブゞェクト怜出が可胜になりたす。

Ultralytics YOLOv8 で䜿甚するために、既存の 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を䜿っおYOLOv8 モデルをトレヌニングするには

OBBを䜿ったYOLOv8 モデルのトレヌニングでは、デヌタセットがYOLO OBBフォヌマットであるこずを確認し、Ultralytics APIを䜿っおモデルをトレヌニングしたす。以䞋は、Python ずCLI の䞡方の䟋である

䟋

from ultralytics import YOLO

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

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

これにより、モデルが詳现なOBBアノテヌションを掻甚し、怜出粟床が向䞊したす。

Ultralytics YOLO モデルのOBBトレヌニングに珟圚察応しおいるデヌタセットは

珟圚、Ultralytics はOBBトレヌニング甚に以䞋のデヌタセットをサポヌトしおいる

  • DOTA-v2このデヌタセットには、オリ゚ンテッドなバりンディングボックスを持぀170䞇個のむンスタンスず11,268枚の画像が含たれ、䞻に空䞭物䜓の怜出に重点を眮いおいる。
  • DOTA8テストず継続的むンテグレヌションCIチェックに䜿甚される、DOTAデヌタセットの小さい8画像のサブセット。

これらのデヌタセットは、航空画像や衛星画像の解析など、OBBが倧きな利点を提䟛するシナリオ甚に調敎されおいる。

YOLOv8 のトレヌニングに、バりンディングボックスを配向させた独自のデヌタセットを䜿うこずはできたすか。

はい、YOLOv8 のトレヌニングに、バりンディングボックスを指定した独自のデヌタセットを䜿甚するこずができたす。デヌタセットのアノテヌションがYOLO OBB フォヌマットに倉換されおいるこずを確認しおください。そしお、デヌタセットのパス、クラス、その他の必芁な詳现を指定するYAML蚭定ファむルを䜜成したす。デヌタセットの䜜成ず蚭定の詳现に぀いおは、「サポヌトされるデヌタセット」のセクションを参照しおください。



䜜成日2023-11-12 曎新日2024-07-23
䜜成者glenn-jocher(11)

コメント