Salta para o conte√ļdo

Roboflow

Roboflow has everything you need to build and deploy computer vision models. Connect Roboflow at any step in your pipeline with APIs and SDKs, or use the end-to-end interface to automate the entire process from image to inference. Whether you're in need of data labeling, model training, or model deployment, Roboflow gives you building blocks to bring custom computer vision solutions to your project.

Concessão de licenças

Ultralytics oferece duas op√ß√Ķes de licenciamento:

Para mais informa√ß√Ķes, consulta Ultralytics Licensing.

Neste guia, vamos mostrar como encontrar, rotular e organizar dados para usar no treinamento de um modelo personalizado Ultralytics YOLOv8 . Utiliza a tabela de conte√ļdos abaixo para ires diretamente para uma sec√ß√£o espec√≠fica:

  • Recolhe dados para treinar um modelo YOLOv8 personalizado
  • Carrega, converte e rotula dados para o formato YOLOv8
  • Pr√©-processa e aumenta os dados para garantir a robustez do modelo
  • Gest√£o de conjuntos de dados para YOLOv8
  • Exporta dados em mais de 40 formatos para treino de modelos
  • Carrega os pesos personalizados do modelo YOLOv8 para teste e implementa√ß√£o
  • Recolhe dados para treinar um modelo YOLOv8 personalizado

Roboflow fornece dois serviços que podem ajudar-te a recolher dados para os modelos YOLOv8 : Universe e Collect.

O Universe √© um reposit√≥rio em linha com mais de 250 000 conjuntos de dados de vis√£o, totalizando mais de 100 milh√Ķes de imagens.

Roboflow Universo

Com uma conta Roboflow gratuita, podes exportar qualquer conjunto de dados disponível no Universe. Para exportar um conjunto de dados, clica no botão "Transferir este conjunto de dados" em qualquer conjunto de dados.

Roboflow Exportação do conjunto de dados do universo

Para YOLOv8, selecciona "YOLOv8" como formato de exportação:

Roboflow Exportação do conjunto de dados do universo

O Universe tamb√©m tem uma p√°gina que agrega todos os modelos p√ļblicos aperfei√ßoados de YOLOv8 carregados em Roboflow. Podes utilizar esta p√°gina para explorar modelos pr√©-treinados que podes utilizar para testes ou para rotulagem autom√°tica de dados ou para criar prot√≥tipos com a infer√™ncia deRoboflow .

Se quiseres recolher imagens por ti pr√≥prio, experimenta o Collect, um projeto de c√≥digo aberto que te permite recolher imagens automaticamente utilizando uma webcam na extremidade. Podes utilizar avisos de texto ou imagem com o Collect para instruir que dados devem ser recolhidos, permitindo-te captar apenas os dados √ļteis de que necessitas para construir o teu modelo de vis√£o.

Carrega, converte e rotula dados para o formato YOLOv8

Roboflow Annotate é uma ferramenta de anotação online para utilização na etiquetagem de imagens para deteção, classificação e segmentação de objectos.

Para rotular dados para um modelo de dete√ß√£o de objectos, segmenta√ß√£o de inst√Ęncias ou classifica√ß√£o em YOLOv8 , cria primeiro um projeto em Roboflow.

Cria um projeto Roboflow

Em seguida, carrega as tuas imagens e quaisquer anota√ß√Ķes pr√©-existentes que tenhas de outras ferramentas(utilizando um dos mais de 40 formatos de importa√ß√£o suportados) para Roboflow.

Carrega imagens para Roboflow

Selecciona o lote de imagens que carregaste na p√°gina Anotar, para onde √©s levado depois de carregares as imagens. Depois, clica em "Iniciar Anota√ß√Ķes" para etiquetar as imagens.

Para etiquetar com caixas delimitadoras, prime o botão B no teu teclado ou clica no ícone da caixa na barra lateral. Clica num ponto onde pretendes iniciar a caixa delimitadora e, em seguida, arrasta para criar a caixa:

Anotar uma imagem em Roboflow

Quando tiveres criado uma anotação, aparece uma janela a pedir-te para seleccionares uma classe para a tua anotação.

Para etiquetar com polígonos, prime o botão P no teu teclado, ou o ícone de polígono na barra lateral. Com a ferramenta de anotação de polígono activada, clica em pontos individuais da imagem para desenhar um polígono.

Roboflow oferece um assistente de etiquetas baseado em SAM com o qual podes etiquetar imagens mais rapidamente do que nunca. SAM O Segment Anything Model (Modelo de Segmento de Qualquer Coisa) √© um modelo de vis√£o por computador de √ļltima gera√ß√£o que pode rotular imagens com precis√£o. Com SAM, podes acelerar significativamente o processo de etiquetagem de imagens. Anotar imagens com pol√≠gonos torna-se t√£o simples como alguns cliques, em vez do tedioso processo de clicar com precis√£o em pontos √† volta de um objeto.

Para utilizar o assistente de etiquetas, clica no ícone do cursor na barra lateral, SAM será carregado para utilização no teu projeto.

Anotar uma imagem em Roboflow com SAM-powered label assist

Passa o rato sobre qualquer objeto na imagem e o SAM recomenda uma anotação. Podes passar o cursor do rato para encontrar o local certo para anotar e, em seguida, clicar para criar a anotação. Para alterar a tua anotação para ser mais ou menos específica, podes clicar dentro ou fora da anotação que o SAM criou no documento.

Tamb√©m podes adicionar etiquetas a imagens a partir do painel Etiquetas na barra lateral. Pode aplicar etiquetas a dados de uma determinada √°rea, tirados de uma c√Ęmara espec√≠fica e muito mais. Pode depois utilizar estas etiquetas para procurar nos dados imagens que correspondam a uma etiqueta e gerar vers√Ķes de um conjunto de dados com imagens que contenham uma determinada etiqueta ou conjunto de etiquetas.

Adicionar etiquetas a uma imagem em Roboflow

Os modelos alojados em Roboflow podem ser utilizados com o Label Assist, uma ferramenta de anota√ß√£o autom√°tica que utiliza o teu modelo YOLOv8 para recomendar anota√ß√Ķes. Para usar o Label Assist, primeiro carrega um modelo YOLOv8 para Roboflow (consulte as instru√ß√Ķes mais adiante neste guia). Em seguida, clica no √≠cone da varinha m√°gica na barra lateral esquerda e selecciona o teu modelo para utiliza√ß√£o no Label Assist.

Escolhe um modelo e, em seguida, clica em "Continuar" para ativar o Assistente de Etiquetas:

Ativar o assistente de etiquetas

Quando abre novas imagens para anota√ß√£o, o Label Assist acciona e recomenda anota√ß√Ķes.

ALabel Assist recomenda uma anotação

Gest√£o de conjuntos de dados para YOLOv8

Roboflow fornece um conjunto de ferramentas para compreender conjuntos de dados de vis√£o computacional.

Primeiro, pode utilizar a pesquisa de conjuntos de dados para encontrar imagens que correspondam a uma descri√ß√£o de texto sem√Ęntico (ou seja, encontrar todas as imagens que contenham pessoas) ou que correspondam a uma etiqueta especificada (ou seja, a imagem est√° associada a uma etiqueta espec√≠fica). Para utilizar a pesquisa de conjuntos de dados, clica em "Conjunto de dados" na barra lateral. Em seguida, introduz uma consulta de pesquisa utilizando a barra de pesquisa e os filtros associados na parte superior da p√°gina.

Por exemplo, a seguinte consulta de texto encontra imagens que contêm pessoas num conjunto de dados:

Procura uma imagem

Podes limitar a tua pesquisa a imagens com uma determinada etiqueta utilizando o seletor "Etiquetas":

Filtra imagens por etiqueta

Antes de começares a treinar um modelo com o teu conjunto de dados, recomendamos a utilização de Roboflow Health Check, uma ferramenta Web que fornece uma perspetiva do teu conjunto de dados e de como podes melhorar o conjunto de dados antes de treinares um modelo de visão.

Para utilizar o Health Check, clica na liga√ß√£o da barra lateral "Health Check". Aparecer√° uma lista de estat√≠sticas que mostra o tamanho m√©dio das imagens no teu conjunto de dados, o equil√≠brio das classes, um mapa de calor de onde est√£o as anota√ß√Ķes nas tuas imagens e muito mais.

Roboflow An√°lise do exame de sa√ļde

O Health Check pode recomendar altera√ß√Ķes para ajudar a melhorar o desempenho do conjunto de dados. Por exemplo, a funcionalidade de equil√≠brio de classes pode mostrar que existe um desequil√≠brio nas etiquetas que, se resolvido, pode aumentar o desempenho do teu modelo.

Exportação de dados em mais de 40 formatos para treino de modelos

Para exportar os teus dados, precisas de uma vers√£o do conjunto de dados. Uma vers√£o √© um estado do teu conjunto de dados congelado no tempo. Para criar uma vers√£o, clica primeiro em "Vers√Ķes" na barra lateral. Em seguida, clica no bot√£o "Criar nova vers√£o". Nesta p√°gina, poder√°s escolher aumentos e passos de pr√©-processamento a aplicar ao teu conjunto de dados:

Criar uma vers√£o do conjunto de dados em Roboflow

Para cada aumento que seleccionares, aparece uma janela pop-up que te permite afinar o aumento de acordo com as tuas necessidades. Aqui est√° um exemplo de ajuste de um aumento de brilho dentro dos par√Ęmetros especificados:

Aplicar aumentos a um conjunto de dados

Quando a versão do teu conjunto de dados tiver sido gerada, podes exportar os teus dados para uma série de formatos. Clica no botão "Exportar conjunto de dados" na página da versão do conjunto de dados para exportar os dados:

Exportar um conjunto de dados

Agora est√°s pronto para treinar YOLOv8 num conjunto de dados personalizado. Segue este guia escrito e o v√≠deo do YouTube para obteres instru√ß√Ķes passo a passo ou consulta a documenta√ß√£oUltralytics .

Carrega pesos personalizados do modelo YOLOv8 para teste e implantação

Roboflow oferece uma API infinitamente escal√°vel para modelos implantados e SDKs para uso com NVIDIA Jetsons, Luxonis OAKs, Raspberry Pis, dispositivos baseados em GPU e muito mais.

Podes implementar os modelos YOLOv8 carregando os pesos YOLOv8 para Roboflow. Podes fazer isto com algumas linhas de código Python . Cria um novo arquivo Python e adiciona o seguinte código:

import roboflow  # install with 'pip install roboflow'

roboflow.login()

rf = roboflow.Roboflow()

project = rf.workspace(WORKSPACE_ID).project("football-players-detection-3zvbc")
dataset = project.version(VERSION).download("yolov8")

project.version(dataset.version).deploy(model_type="yolov8", model_path=f"{HOME}/runs/detect/train/")

Neste código, substitui a ID do projeto e a ID da versão pelos valores da tua conta e do teu projeto. Saiba como recuperar sua chave de API Roboflow .

Quando executares o código acima, ser-te-á pedido para te autenticares. Em seguida, o teu modelo será carregado e será criada uma API para o teu projeto. Esse processo pode levar até 30 minutos para ser concluído.

Para testar seu modelo e encontrar instru√ß√Ķes de implanta√ß√£o para SDKs compat√≠veis, vai para a guia "Implantar" na barra lateral Roboflow . Na parte superior desta p√°gina, aparecer√° um widget com o qual podes testar o teu modelo. Podes utilizar a tua webcam para testes em direto ou carregar imagens ou v√≠deos.

Executa a inferência numa imagem de exemplo

Tamb√©m podes utilizar o teu modelo carregado como assistente de etiquetagem. Esta funcionalidade utiliza o teu modelo treinado para recomendar anota√ß√Ķes em imagens carregadas para Roboflow.

Como avaliar os modelos YOLOv8

Roboflow fornece uma série de características para utilização na avaliação de modelos.

Depois de teres carregado um modelo para Roboflow, podes aceder à nossa ferramenta de avaliação de modelos, que fornece uma matriz de confusão que mostra o desempenho do teu modelo, bem como um gráfico interativo de análise vetorial. Estas funcionalidades podem ajudar-te a encontrar oportunidades para melhorar o teu modelo.

Para aceder a uma matriz de confusão, vai à página do teu modelo no painel de controlo Roboflow e, em seguida, clica em "Ver avaliação detalhada":

Inicia uma avaliação do modelo Roboflow

Aparecer√° uma janela pop-up com uma matriz de confus√£o:

Uma matriz de confus√£o

Passa o cursor sobre uma caixa na matriz de confus√£o para ver o valor associado √† caixa. Clica numa caixa para ver as imagens na respectiva categoria. Clica numa imagem para ver as previs√Ķes do modelo e os dados da verdade terrestre associados a essa imagem.

Para obter mais informa√ß√Ķes, clica em An√°lise de vetor. Isto mostrar√° um gr√°fico de dispers√£o das imagens no teu conjunto de dados, calculado utilizando o CLIP. Quanto mais pr√≥ximas as imagens estiverem no gr√°fico, mais semelhantes elas s√£o, semanticamente. Cada imagem √© representada como um ponto com uma cor entre branco e vermelho. Quanto mais vermelho for o ponto, pior foi o desempenho do modelo.

Um gr√°fico de an√°lise vetorial

Podes utilizar a An√°lise Vetorial para:

  • Encontra grupos de imagens;
  • Identifica os clusters onde o modelo tem um desempenho fraco, e;
  • Visualiza pontos comuns entre imagens em que o modelo tem um desempenho fraco.

Recursos de aprendizagem

Queres saber mais sobre a utiliza√ß√£o do Roboflow para criar modelos YOLOv8 ? Os seguintes recursos podem ser √ļteis para o teu trabalho.

  • Treina YOLOv8 num conjunto de dados personalizado: Segue o nosso bloco de notas interativo que te mostra como treinar um modelo YOLOv8 num conjunto de dados personalizado.
  • Autodistill: Utiliza modelos de vis√£o de grandes bases para rotular dados para modelos espec√≠ficos. Podes rotular imagens para utiliza√ß√£o na forma√ß√£o YOLOv8 modelos de classifica√ß√£o, dete√ß√£o e segmenta√ß√£o com o Autodistill.
  • Supervis√£o: Um pacote Python com utilit√°rios √ļteis para trabalhar com modelos de vis√£o computacional. Podes utilizar a supervis√£o para filtrar detec√ß√Ķes, calcular matrizes de confus√£o e muito mais, tudo em poucas linhas de c√≥digo Python .
  • Roboflow Blogue: O blogue Roboflow apresenta mais de 500 artigos sobre vis√£o computacional, abrangendo t√≥picos desde como treinar um modelo YOLOv8 at√© √†s melhores pr√°ticas de anota√ß√£o.
  • Roboflow Canal do YouTube: Navega por dezenas de guias aprofundados de vis√£o computacional no nosso canal do YouTube, abrangendo t√≥picos desde o treino de modelos YOLOv8 at√© √† etiquetagem autom√°tica de imagens.

Apresentação do projeto

Abaixo estão alguns dos muitos comentários que recebemos sobre a utilização conjunta dos sites YOLOv8 e Roboflow para criar modelos de visão computacional.

Mostra a imagem Mostra a imagem Mostra a imagem



Created 2023-11-12, Updated 2024-06-02
Authors: glenn-jocher (10), Burhan-Q (1), capjamesg (1)

Coment√°rios