Salta para o conte√ļdo

Descrição geral dos conjuntos de dados OBB (Oriented Bounding Box)

O treino de um modelo de dete√ß√£o de objectos preciso com caixas delimitadoras orientadas (OBB) requer um conjunto de dados completo. Este guia explica os v√°rios formatos de conjuntos de dados OBB compat√≠veis com os modelos Ultralytics YOLO , oferecendo informa√ß√Ķes sobre a sua estrutura, aplica√ß√£o e m√©todos de convers√£o de formatos.

Formatos de conjuntos de dados OBB suportados

YOLO Formato OBB

O formato YOLO OBB designa as caixas delimitadoras pelos seus quatro pontos de canto com coordenadas normalizadas entre 0 e 1. Segue este formato:

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

Internamente, YOLO processa as perdas e as saídas no xywhr que representa o ponto central (xy), a largura, a altura e a rotação da caixa delimitadora.

Exemplos de formatos OBB

Um exemplo de um *.txt para a imagem acima, que contém um objeto da classe 0 no formato OBB, pode ter o seguinte aspeto:

0 0.780811 0.743961 0.782371 0.74686 0.777691 0.752174 0.776131 0.749758

Utilização

Para treinar um modelo utilizando estes formatos OBB:

Exemplo

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

Conjuntos de dados suportados

Atualmente, s√£o suportados os seguintes conjuntos de dados com caixas delimitadoras orientadas:

  • DOTA-v2: DOTA (A Large-scale Dataset for Object Detection in Aerial Images) vers√£o 2, enfatiza a dete√ß√£o a partir de perspectivas a√©reas e cont√©m caixas delimitadoras orientadas com 1,7 milh√Ķes de inst√Ęncias e 11.268 imagens.
  • DOTA8: Um pequeno subconjunto de 8 imagens do conjunto completo de dados DOTA adequado para testar fluxos de trabalho e verifica√ß√Ķes de Integra√ß√£o Cont√≠nua (CI) da forma√ß√£o OBB no ultralytics reposit√≥rio.

Incorporar o teu próprio conjunto de dados OBB

Para aqueles que pretendem introduzir os seus pr√≥prios conjuntos de dados com caixas delimitadoras orientadas, assegura a compatibilidade com o "formatoYOLO OBB" mencionado acima. Converte suas anota√ß√Ķes para esse formato exigido e detalha os caminhos, as classes e os nomes das classes em um arquivo de configura√ß√£o YAML correspondente.

Converte formatos de etiquetas

Formato DOTA Dataset para YOLO Formato OBB

A transição de etiquetas do formato de conjunto de dados DOTA para o formato YOLO OBB pode ser realizada com este script:

Exemplo

from ultralytics.data.converter import convert_dota_to_yolo_obb

convert_dota_to_yolo_obb("path/to/DOTA")

Este mecanismo de conversão é fundamental para os conjuntos de dados no formato DOTA, garantindo o alinhamento com o formato OBB de Ultralytics YOLO .

√Č imperativo validar a compatibilidade do conjunto de dados com o teu modelo e aderir √†s conven√ß√Ķes de formato necess√°rias. Os conjuntos de dados corretamente estruturados s√£o essenciais para treinar modelos de dete√ß√£o de objectos eficientes com caixas delimitadoras orientadas.



Created 2023-11-12, Updated 2024-06-02
Authors: glenn-jocher (9)

Coment√°rios