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:

  • Argoverse: Um conjunto de dados que cont√©m dados de localiza√ß√£o 3D e de previs√£o de movimento de ambientes urbanos com anota√ß√Ķes ricas.
  • 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: 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 das primeiras 4 imagens de COCO train e COCO val, adequado para testes r√°pidos.
  • Global Wheat 2020: Um conjunto de dados com imagens de cabe√ßas de trigo para o Global Wheat Challenge 2020.
  • Objects365: Um conjunto de dados de alta qualidade e em grande escala para dete√ß√£o de objectos com 365 categorias de objectos e mais de 600 mil imagens anotadas.
  • OpenImagesV7: 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 com dete√ß√£o de objectos densos em ambientes de retalho com mais de 11 mil imagens e 1,7 milh√Ķes de caixas delimitadoras.
  • VisDrone: Um conjunto de dados que cont√©m dados de dete√ß√£o de objectos e de seguimento de m√ļltiplos objectos a partir de imagens captadas por drones, com mais de 10 mil imagens e sequ√™ncias de v√≠deo.
  • VOC: O conjunto de dados Pascal Visual Object Classes (VOC) para dete√ß√£o e segmenta√ß√£o de objectos com 20 classes de objectos e mais de 11 mil imagens.
  • xView: Um conjunto de dados para dete√ß√£o de objectos em imagens a√©reas com 60 categorias de objectos e mais de 1 milh√£o de objectos anotados.
  • Roboflow 100: Uma refer√™ncia de dete√ß√£o de objectos diversificada com 100 conjuntos de dados que abrangem sete dom√≠nios de imagens para uma avalia√ß√£o abrangente do modelo.
  • Tumor cerebral: Um conjunto de dados para detetar tumores cerebrais inclui imagens de resson√Ęncia magn√©tica ou tomografia computadorizada com detalhes sobre a presen√ßa, localiza√ß√£o e caracter√≠sticas do tumor.
  • Vida selvagem africana: Um conjunto de dados com imagens da vida selvagem africana, incluindo b√ļfalos, elefantes, rinocerontes e zebras.
  • Assinatura: Um conjunto de dados que apresenta imagens de v√°rios documentos com assinaturas anotadas, apoiando a verifica√ß√£o de documentos e a investiga√ß√£o sobre dete√ß√£o de fraudes.

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.



Created 2023-11-12, Updated 2024-06-02
Authors: glenn-jocher (9), RizwanMunawar (2), IvorZhu331 (1), Laughing-q (1)

Coment√°rios