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.



Criado em 2023-11-12, Atualizado em 2024-01-25
Autores: glenn-jocher (6)

Comentários