Descrição geral dos conjuntos de dados OBB (Oriented Bounding Box)
O treino de um modelo preciso de deteção de objectos 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:
Internamente, o sítio YOLO processa as perdas e os resultados no xywhr
que representa o formato caixa delimitadora(xy), largura, altura e rotação.
Um exemplo de um *.txt
ficheiro de etiqueta para a imagem acima, que contém um objeto da classe 0
no formato OBB, poderia ter o seguinte aspeto:
Utilização
Para treinar um modelo utilizando estes formatos OBB:
Exemplo
Conjuntos de dados suportados
Atualmente, são suportados os seguintes conjuntos de dados com caixas delimitadoras orientadas:
- DOTA-v1: A primeira versão do conjunto de dados DOTA, que fornece um conjunto abrangente de imagens aéreas com caixas delimitadoras orientadas para a deteção de objectos.
- DOTA-v1.5: Uma versão intermédia do conjunto de dados DOTA, que oferece anotações adicionais e melhorias em relação ao DOTA-v1 para tarefas de deteção de objectos melhoradas.
- 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 seu próprio conjunto de dados OBB
Para aqueles que pretendem introduzir os seus próprios conjuntos de dados com caixas delimitadoras orientadas, assegure a compatibilidade com o "formatoYOLO OBB" mencionado acima. Converta suas anotações para esse formato exigido e detalhe os caminhos, classes e nomes de classes em um arquivo de configuração YAML correspondente.
Converter formatos de etiquetas
DOTA Dataset Format para YOLO OBB Format
A transição de etiquetas do formato de conjunto de dados DOTA para o formato YOLO OBB pode ser efectuada com este script:
Exemplo
Este mecanismo de conversão é fundamental para os conjuntos de dados no formato DOTA, assegurando o alinhamento com o formato Ultralytics YOLO OBB.
É imperativo validar a compatibilidade do conjunto de dados com o seu modelo e respeitar as 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.
FAQ
O que são caixas delimitadoras orientadas (OBB) e como são utilizadas nos modelos Ultralytics YOLO ?
As caixas delimitadoras orientadas (OBB) são um tipo de anotação de caixa delimitadora em que a caixa pode ser rodada para se alinhar mais de perto com o objeto a ser detectado, em vez de estar apenas alinhada com o eixo. Isto é particularmente útil em imagens aéreas ou de satélite, onde os objectos podem não estar alinhados com os eixos da imagem. Nos modelos Ultralytics YOLO , os OBBs são representados pelos seus quatro pontos de canto no formato YOLO OBB. Isto permite uma deteção de objectos mais precisa, uma vez que as caixas delimitadoras podem rodar para se ajustarem melhor aos objectos.
Como é que converto as minhas etiquetas de conjuntos de dados DOTA existentes para o formato YOLO OBB para utilização com Ultralytics YOLO11 ?
Pode converter as etiquetas do conjunto de dados DOTA para o formato YOLO OBB utilizando o convert_dota_to_yolo_obb
UltralyticsEsta conversão assegura a compatibilidade com os modelos Ultralytics YOLO , permitindo-lhe tirar partido das capacidades OBB para uma melhor deteção de objectos. Aqui está um exemplo rápido:
from ultralytics.data.converter import convert_dota_to_yolo_obb
convert_dota_to_yolo_obb("path/to/DOTA")
Este script irá reformatar as suas anotações DOTA para um formato compatível com YOLO.
Como é que treino um modelo YOLO11 com caixas delimitadoras orientadas (OBB) no meu conjunto de dados?
Treinar um modelo YOLO11 com OBBs implica garantir que o seu conjunto de dados está no formato OBB YOLO e, em seguida, utilizar a API Ultralytics para treinar o modelo. Aqui está um exemplo em Python e CLI:
Exemplo
Isto garante que o seu modelo aproveita as anotações detalhadas do OBB para melhorar a precisão da deteção.
Que conjuntos de dados são atualmente suportados para a formação OBB nos modelos Ultralytics YOLO ?
Atualmente, Ultralytics suporta os seguintes conjuntos de dados para formação OBB:
- DOTA-v1: A primeira versão do conjunto de dados DOTA, que fornece um conjunto abrangente de imagens aéreas com caixas delimitadoras orientadas para a deteção de objectos.
- DOTA-v1.5: Uma versão intermédia do conjunto de dados DOTA, que oferece anotações adicionais e melhorias em relação ao DOTA-v1 para tarefas de deteção de objectos melhoradas.
- DOTA-v2: Este conjunto de dados inclui 1,7 milhões de instâncias com caixas delimitadoras orientadas e 11.268 imagens, centrando-se principalmente na deteção de objectos aéreos.
- DOTA8: Um subconjunto mais pequeno, de 8 imagens, do conjunto de dados DOTA utilizado para testes e verificações de integração contínua (CI).
Estes conjuntos de dados são adaptados a cenários em que os OBB oferecem uma vantagem significativa, como a análise de imagens aéreas e de satélite.
Posso utilizar o meu próprio conjunto de dados com caixas delimitadoras orientadas para o treino de YOLO11 e, em caso afirmativo, como?
Sim, pode utilizar o seu próprio conjunto de dados com caixas delimitadoras orientadas para formação em YOLO11 . Certifique-se de que as anotações do conjunto de dados são convertidas para o formato YOLO OBB, que envolve a definição de caixas delimitadoras pelos seus quatro pontos de canto. Em seguida, é possível criar um arquivo de configuração YAML especificando os caminhos do conjunto de dados, as classes e outros detalhes necessários. Para obter mais informações sobre a criação e configuração dos conjuntos de dados, consulte a secção Conjuntos de dados suportados.