Skip to content

Aperçu des ensembles de données OBB (Oriented Bounding Box)

L'apprentissage d'un modèle de détection d'objets précis à l'aide de boîtes de délimitation orientées (OBB) nécessite un ensemble de données complet. Ce guide explique les différents formats de données OBB compatibles avec les modèles Ultralytics YOLO , et donne un aperçu de leur structure, de leur application et des méthodes de conversion de format.

Formats de jeux de données OBB pris en charge

YOLO Format OBB

Le format OBB de YOLO désigne les boîtes englobantes par leurs quatre points d'angle dont les coordonnées sont normalisées entre 0 et 1. Il suit ce format :

class_index x1 y1 x2 y2 x3 y3 x4 y4

En interne, YOLO traite les pertes et les produits dans le système de gestion de l'information. xywhr qui représente le format boîte de délimitationLe point central (xy), la largeur, la hauteur et la rotation de l'image.

Exemples de formats OBB

Un exemple de *.txt pour l'image ci-dessus, qui contient un objet de la classe 0 au format OBB, pourrait ressembler à ce qui suit :

0 0.780811 0.743961 0.782371 0.74686 0.777691 0.752174 0.776131 0.749758

Utilisation

Pour former un modèle à l'aide de ces formats OBB :

Exemple

from ultralytics import YOLO

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

# Train the model on the DOTAv1 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=1024)
# Train a new YOLO11n-OBB model on the DOTAv1 dataset
yolo obb train data=DOTAv1.yaml model=yolo11n-obb.pt epochs=100 imgsz=1024

Ensembles de données pris en charge

Actuellement, les ensembles de données suivants sont pris en charge avec des boîtes de délimitation orientées :

  • DOTA-v1: La première version du jeu de données DOTA, qui fournit un ensemble complet d'images aériennes avec des boîtes de délimitation orientées pour la détection d'objets.
  • DOTA-v1.5: version intermédiaire du jeu de données DOTA, offrant des annotations supplémentaires et des améliorations par rapport à DOTA-v1 pour les tâches de détection d'objets améliorées.
  • DOTA-v2: DOTA (A Large-scale Dataset for Object Detection in Aerial Images) version 2, met l'accent sur la détection à partir de perspectives aériennes et contient des boîtes de délimitation orientées avec 1,7 million d'instances et 11 268 images.
  • DOTA8: Un petit sous-ensemble de 8 images de l'ensemble des données DOTA qui convient pour tester les flux de travail et les contrôles d'intégration continue (CI) de la formation à l'OBB dans l'espace de travail de l'UE. ultralytics dépôt.

Incorporer votre propre jeu de données OBB

Pour ceux qui souhaitent introduire leurs propres ensembles de données avec des boîtes de délimitation orientées, assurez-vous de la compatibilité avec le format "YOLO OBB " mentionné ci-dessus. Convertissez vos annotations au format requis et détaillez les chemins, les classes et les noms de classes dans un fichier de configuration YAML correspondant.

Convertir les formats d'étiquettes

DOTA Dataset Format vers YOLO OBB Format

Ce script permet de faire passer les étiquettes du format DOTA dataset au format OBB YOLO :

Exemple

from ultralytics.data.converter import convert_dota_to_yolo_obb

convert_dota_to_yolo_obb("path/to/DOTA")

Ce mécanisme de conversion est essentiel pour les ensembles de données au format DOTA, car il garantit l'alignement sur le format OBB de Ultralytics YOLO .

Il est impératif de valider la compatibilité de l'ensemble de données avec votre modèle et de respecter les conventions de format nécessaires. Des ensembles de données correctement structurés sont essentiels pour former des modèles de détection d'objets efficaces avec des boîtes de délimitation orientées.

FAQ

Que sont les boîtes de délimitation orientées (OBB) et comment sont-elles utilisées dans les modèles Ultralytics YOLO ?

Les boîtes de délimitation orientées (OBB) sont un type d'annotation de boîte de délimitation où la boîte peut être tournée pour s'aligner plus étroitement sur l'objet détecté, plutôt que d'être simplement alignée sur l'axe. Cette fonction est particulièrement utile dans les images aériennes ou satellitaires, où les objets peuvent ne pas être alignés sur les axes de l'image. Dans les modèles Ultralytics YOLO , les OBB sont représentés par leurs quatre points d'angle dans le format OBB YOLO . Cela permet une détection plus précise des objets car les boîtes de délimitation peuvent pivoter pour mieux s'adapter aux objets.

Comment puis-je convertir les étiquettes de mes jeux de données DOTA existants au format OBB YOLO pour les utiliser avec Ultralytics YOLO11 ?

Vous pouvez convertir les étiquettes des jeux de données DOTA au format OBB YOLO à l'aide de la commande convert_dota_to_yolo_obb UltralyticsCette conversion assure la compatibilité avec les modèles Ultralytics YOLO , ce qui vous permet d'exploiter les capacités de l'OBB pour améliorer la détection des objets. Voici un exemple rapide :

from ultralytics.data.converter import convert_dota_to_yolo_obb

convert_dota_to_yolo_obb("path/to/DOTA")

Ce script reformatera vos annotations DOTA dans un format compatible avec YOLO.

Comment entraîner un modèle YOLO11 avec des boîtes de délimitation orientées (OBB) sur mon jeu de données ?

Pour entraîner un modèle YOLO11 avec des OBB, il faut s'assurer que le jeu de données est au format OBB YOLO , puis utiliser l'API Ultralytics pour entraîner le modèle. Voici un exemple dans les deux formats Python et CLI:

Exemple

from ultralytics import YOLO

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

# Train the model on the custom dataset
results = model.train(data="your_dataset.yaml", epochs=100, imgsz=640)
# Train a new YOLO11n-OBB model on the custom dataset
yolo obb train data=your_dataset.yaml model=yolo11n-obb.yaml epochs=100 imgsz=640

Cela garantit que votre modèle exploite les annotations détaillées de l'OBB pour améliorer la précision de la détection.

Quels sont les ensembles de données actuellement pris en charge pour la formation à l'OBB dans les modèles Ultralytics YOLO ?

Actuellement, Ultralytics prend en charge les ensembles de données suivants pour la formation à l'OBB :

  • DOTA-v1: La première version du jeu de données DOTA, qui fournit un ensemble complet d'images aériennes avec des boîtes de délimitation orientées pour la détection d'objets.
  • DOTA-v1.5: version intermédiaire du jeu de données DOTA, offrant des annotations supplémentaires et des améliorations par rapport à DOTA-v1 pour les tâches de détection d'objets améliorées.
  • DOTA-v2: Cet ensemble de données comprend 1,7 million d'instances avec des boîtes de délimitation orientées et 11 268 images, principalement axées sur la détection d'objets aériens.
  • DOTA8: un sous-ensemble plus petit de 8 images de l'ensemble de données DOTA utilisé pour les tests et les vérifications de l'intégration continue (CI).

Ces ensembles de données sont adaptés aux scénarios dans lesquels les OBB offrent un avantage significatif, comme l'analyse d'images aériennes et satellitaires.

Puis-je utiliser mon propre ensemble de données avec des boîtes de délimitation orientées pour la formation YOLO11 , et si oui, comment ?

Oui, vous pouvez utiliser votre propre jeu de données avec des boîtes de délimitation orientées pour la formation YOLO11 . Assurez-vous que les annotations de votre jeu de données sont converties au format OBB de YOLO , ce qui implique de définir les boîtes englobantes par leurs quatre points d'angle. Vous pouvez ensuite créer un fichier de configuration YAML spécifiant les chemins d'accès au jeu de données, les classes et d'autres détails nécessaires. Pour plus d'informations sur la création et la configuration de vos jeux de données, reportez-vous à la section Jeux de données pris en charge.

📅C réé il y a 1 an ✏️ Mis à jour il y a 2 mois

Commentaires