Salta para o conteúdo

Descrição geral dos conjuntos de dados de deteção de objectos

O treino de um modelo de deteção de objectos robusto e preciso requer um conjunto de dados abrangente. Este guia apresenta vários formatos de conjuntos de dados que são compatíveis com o modelo Ultralytics YOLO e fornece informações sobre a sua estrutura, utilização e como converter entre diferentes formatos.

Formatos de conjuntos de dados suportados

Ultralytics YOLO formato

O formato Ultralytics YOLO é um formato de configuração do conjunto de dados que permite definir o diretório raiz do conjunto de dados, os caminhos relativos aos directórios de imagens de treino/validação/teste ou *.txt ficheiros que contêm caminhos de imagens e um dicionário de nomes de classes. Aqui tens um exemplo:

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/coco8  # dataset root dir
train: images/train  # train images (relative to 'path') 4 images
val: images/val  # val images (relative to 'path') 4 images
test:  # test images (optional)

# Classes (80 COCO classes)
names:
  0: person
  1: bicycle
  2: car
  # ...
  77: teddy bear
  78: hair drier
  79: toothbrush

As etiquetas para este formato devem ser exportadas para o formato YOLO com um *.txt por imagem. Se não existirem objectos numa imagem, não há *.txt é necessário. O ficheiro *.txt deve ser formatado com uma linha por objeto em class x_center y_center width height formato. As coordenadas da caixa devem estar em xywh normalizado (de 0 a 1). Se as tuas caixas estiverem em pixels, deves dividir x_center e width por largura de imagem, e y_center e height pela altura da imagem. Os números de classe devem ser indexados a zero (começa com 0).

Exemplo de imagem rotulada

O ficheiro de etiquetas correspondente à imagem acima contém 2 pessoas (classe 0) e um empate (classe 27):

Exemplo de ficheiro de etiquetas

Ao utilizar o formato Ultralytics YOLO , organiza as imagens de treino e validação e as etiquetas como mostrado no exemplo do conjunto de dados COCO8 abaixo.

Exemplo de estrutura de directórios de conjuntos de dados

Utilização

Eis como podes utilizar estes formatos para treinar o teu modelo:

Exemplo

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n.pt')  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolov8n.pt epochs=100 imgsz=640

Conjuntos de dados suportados

Segue-se uma lista dos conjuntos de dados suportados e uma breve descrição de cada um:

  • Argoverso: Uma coleção de dados de sensores recolhidos de veículos autónomos. Contém anotações de rastreio 3D para objectos de automóveis.
  • COCO: Common Objects in Context (COCO) é um conjunto de dados de deteção, segmentação e legendagem de objectos em grande escala com 80 categorias de objectos.
  • LVIS: O LVIS é um conjunto de dados de deteção, segmentação e legendagem de objectos em grande escala com 1203 categorias de objectos.
  • COCO8: Um subconjunto mais pequeno do conjunto de dados COCO, o COCO8 é mais leve e mais rápido de treinar.
  • GlobalWheat2020: Um conjunto de dados com imagens de cabeças de trigo para o Global Wheat Challenge 2020.
  • Objectos365: Um conjunto de dados de deteção de objectos em grande escala com 365 categorias de objectos e 600 mil imagens, destinado a fazer avançar a investigação sobre deteção de objectos.
  • AbrirImagensV7: Um conjunto de dados abrangente da Google com 1,7 milhões de imagens de treino e 42 mil imagens de validação.
  • SKU-110K: Um conjunto de dados que contém imagens de produtos de retalho densamente embalados, destinado à deteção de objectos em ambientes de retalho.
  • VisDrone: Um conjunto de dados centrado em imagens baseadas em drones, contendo várias categorias de objectos como carros, peões e ciclistas.
  • COV: O PASCAL VOC é um popular conjunto de dados de deteção de objectos com 20 categorias de objectos, incluindo veículos, animais e mobiliário.
  • xVer: Um conjunto de dados contendo imagens de satélite de alta resolução, concebido para a deteção de várias classes de objectos em vistas aéreas.
  • Tumor cerebral: Este conjunto de dados inclui imagens de ressonância magnética ou de tomografia computorizada que contêm informações sobre a presença, a localização e as características do tumor cerebral. Desempenha um papel crucial no treino de modelos de visão computacional para automatizar a identificação de tumores, facilitando o diagnóstico precoce e o planeamento do tratamento.
  • Vida selvagem africana: Com imagens da vida selvagem africana, como o búfalo, o elefante, o rinoceronte e a zebra, este conjunto de dados é fundamental para o treino de modelos de visão por computador. É indispensável para identificar animais em diferentes habitats e contribui significativamente para os esforços de investigação da vida selvagem.

Adicionar o teu próprio conjunto de dados

Se tiveres o teu próprio conjunto de dados e pretenderes utilizá-lo para treinar modelos de deteção com o formato Ultralytics YOLO , certifica-te de que segue o formato especificado acima em "Ultralytics YOLO format". Converte as tuas anotações para o formato necessário e especifica os caminhos, o número de classes e os nomes das classes no ficheiro de configuração YAML.

Porta ou converte formatos de etiquetas

Formato do conjunto de dados COCO para YOLO Formato

Podes converter facilmente etiquetas do popular formato de conjunto de dados COCO para o formato YOLO utilizando o seguinte fragmento de código:

Exemplo

from ultralytics.data.converter import convert_coco

convert_coco(labels_dir='path/to/coco/annotations/')

Esta ferramenta de conversão pode ser utilizada para converter o conjunto de dados COCO ou qualquer conjunto de dados no formato COCO para o formato Ultralytics YOLO .

Lembra-te de verificar se o conjunto de dados que pretendes utilizar é compatível com o teu modelo e se segue as convenções de formato necessárias. Os conjuntos de dados corretamente formatados são cruciais para treinar modelos de deteção de objectos bem sucedidos.



Criado em 2023-11-12, Atualizado em 2024-04-18
Autores: glenn-jocher (7), IvorZhu331 (1), Laughing-q (1), RizwanMunawar (1)

Comentários