YOLO Vision 2026:
Integrações

Como Usar o YOLOv5 da Ultralytics Com a Comet

Descobre como a Ultralytics faz parceria com a Comet para otimização do modelo YOLOv5 da Ultralytics: rastreamento em tempo real, colaboração simplificada e maior reprodutibilidade.

NUNuvola Ladi5 min read
Rastreamento do treino do modelo YOLOv5 da Ultralytics com a Comet

Na Ultralytics, temos parcerias comerciais com outras startups para nos ajudar a financiar a pesquisa e o desenvolvimento de nossas ferramentas de código aberto incríveis, como o YOLOv5, para mantê-las gratuitas para todos. Este artigo pode conter links de afiliados para esses parceiros.

O nosso parceiro mais recente, o Comet, cria ferramentas que ajudam cientistas de dados, engenheiros e líderes de equipa a acelerar e otimizar modelos de machine learning e deep learning.

O Comet é uma ferramenta poderosa para rastrear os teus modelos, conjuntos de dados e métricas. Ele até regista o teu sistema e as variáveis de ambiente para garantir a reprodutibilidade e uma depuração fluida em todas as execuções. É como ter um assistente virtual que sabe magicamente que notas manter. Rastreia e visualiza métricas de modelos em tempo real, guarda os teus hiperparâmetros, conjuntos de dados e checkpoints de modelos, e visualiza as predições do teu modelo com os Comet Custom Panels!

Além disso, o Comet garante que você nunca perca o controle do seu trabalho e facilita o compartilhamento de resultados e a colaboração entre equipes de todos os tamanhos!

YOLOv5 é um excelente ponto de partida para a tua jornada em computer vision. Para melhorar o desempenho do teu modelo e prepará-lo para produção, precisarás de registar os resultados numa ferramenta de rastreio de experiências como o Comet.

A integração entre Comet e YOLOv5 oferece 3 recursos principais:

  • Recursos de registro automático e registro personalizado
  • Salvamento de datasets e modelos como artefatos para depuração e reprodutibilidade
  • Organização da sua visualização com os painéis personalizados do Comet

Este guia cobrirá como usar o YOLOv5 com o Comet.

Então, pronto para rastrear seus experimentos em tempo real? Vamos começar!

Primeiros Passos#

Instale o Comet#

pip install comet_ml

Configure as Credenciais do Comet#

Existem duas formas de configurar o Comet com o YOLOv5.

Você pode definir suas credenciais por meio de variáveis de ambiente ou criar um arquivo .comet.config em seu diretório de trabalho e definir suas credenciais lá.

Variáveis de Ambiente#

export COMET_API_KEY=<Your API Key>
export COMET_PROJECT_NAME=<Your Comet Project Name> # This will default to 'yolov5'

Arquivo de Configuração do Comet#

[comet]
api_key=<Your API Key>
project_name=<Your Comet Project Name> # This will default to 'yolov5'

Execute o Script de Treinamento#

# Train YOLOv5s on COCO128 for 5 epochs
python train.py --img 640 --batch 16 --epochs 5 --data coco128.yaml --weights yolov5s.pt

É isso!

O Comet registrará automaticamente seus hiperparâmetros, argumentos de linha de comando, e métricas de treinamento e validação. Você pode visualizar e analisar suas execuções na UI do Comet.

Experiments with YOLOv5 in Comet Dashboard

Experimente Você Mesmo!#

Consulta um exemplo de uma execução concluída aqui.

Ou melhor ainda, experimenta tu mesmo em este Colab Notebook.

Registro Automático#

Por padrão, o Comet registrará os seguintes itens:

Métricas#

  • Box Loss, Object Loss e Classification Loss para os dados de treinamento e validação
  • Métricas mAP_0.5, mAP_0.5:0.95 para os dados de validação
  • Precisão e Recall para os dados de validação

Parâmetros#

  • Hiperparâmetros do Modelo
  • Todos os parâmetros passados através das opções de linha de comando

Visualizações#

  • Matriz de Confusão das predições do modelo nos dados de validação
  • Gráficos para as curvas PR e F1 em todas as classes
  • Correlograma dos Rótulos de Classe

Configurar Registro no Comet#

O Comet pode ser configurado para registrar dados adicionais por meio de flags de linha de comando passadas ao script de treinamento ou variáveis de ambiente.

export COMET_MODE=online # Set whether to run Comet in 'online' or 'offline' mode. Defaults to online
export COMET_MODEL_NAME=<your model name> # Set the name for the saved model. Defaults to yolov5
export COMET_LOG_CONFUSION_MATRIX=false # Set to disable logging a Comet Confusion Matrix. Defaults to true
export COMET_MAX_IMAGE_UPLOADS=<number of allowed images to upload to Comet> # Controls how many total image predictions to log to Comet. Defaults to 100.
export COMET_LOG_PER_CLASS_METRICS=true # Set to log evaluation metrics for each detected class at the end of training. Defaults to false
export COMET_DEFAULT_CHECKPOINT_FILENAME=<your checkpoint filename> # Set this if you would like to resume training from a different checkpoint. Defaults to 'last.pt'
export COMET_LOG_BATCH_LEVEL_METRICS=true # Set this if you would like to log training metrics at the batch level. Defaults to false.
export COMET_LOG_PREDICTIONS=true # Set this to false to disable logging model predictions

Registrando Checkpoints com o Comet#

O registro de modelos no Comet é desativado por padrão. Para ativá-lo, passe o argumento save-period para o script de treinamento. Isso salvará os checkpoints registrados no Comet com base no valor de intervalo fornecido pelo save-period.

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --save-period 1

Registrando Predições do Modelo#

Por padrão, as predições do modelo (imagens, rótulos de ground truth e bounding boxes) serão registradas no Comet. Você pode controlar a frequência das predições registradas e as imagens associadas passando o argumento de linha de comando bbox_interval. As predições podem ser visualizadas usando o Painel Personalizado de Detecção de Objetos do Comet. Esta frequência corresponde a cada N-ésimo lote de dados por época. No exemplo abaixo, estamos registrando cada 2º lote de dados para cada época.

Nota: O carregador de dados de validação do YOLOv5 usará por padrão um tamanho de lote (batch size) de 32, portanto você precisará definir a frequência de registro de acordo.

Aqui está um projeto de exemplo que utiliza o Panel.

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --bbox_interval 2

Controlando o Número de Imagens de Predição Registradas no Comet#

Ao registrar predições do YOLOv5, o Comet registrará as imagens associadas a cada conjunto de predições. Por padrão, um máximo de 100 imagens de validação são registradas. Você pode aumentar ou diminuir esse número usando a variável de ambiente COMET_MAX_IMAGE_UPLOADS.

env COMET_MAX_IMAGE_UPLOADS=200 python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --bbox_interval 1

Registrando Métricas em Nível de Classe#

Use a variável de ambiente COMET_LOG_PER_CLASS_METRICS para registrar mAP, precisão, recall e f1 para cada classe.

env COMET_LOG_PER_CLASS_METRICS=true python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt

Enviando um Dataset para os Artefatos do Comet#

Se quiseres armazenar os teus dados utilizando os Comet Artifacts, podes fazê-lo utilizando a flag upload_dataset.

O conjunto de dados está organizado da forma descrita na documentação do YOLOv5. O ficheiro yaml de configuração do conjunto de dados deve seguir o mesmo formato que o ficheiro coco128.yaml.

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --upload_dataset

Você pode encontrar o dataset enviado na aba Artefatos no seu Espaço de Trabalho (Workspace) do Comet.

Comet Artifacts Tab, YOLOv5

Você pode visualizar os dados diretamente na UI do Comet.

Preview data in Comet, YOLOv5

Os artefatos são versionados e também suportam a adição de metadados sobre o dataset. O Comet registrará automaticamente os metadados do seu arquivo yaml de dataset.

Log metadata from YAML file in Comet, YOLOv5

Usando um Artefato Salvo#

Se você quiser usar um dataset dos Artefatos do Comet, defina a variável path no seu arquivo yaml de dataset para apontar para a seguinte URL de recurso de Artefato.

# contents of artifact.yaml file
path: "comet://<workspace name>/<artifact name>:<artifact version or alias>"

Em seguida, passe este arquivo para seu script de treinamento da seguinte maneira:

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data artifact.yaml \
  --weights yolov5s.pt

Os artefatos também permitem que você rastreie a linhagem de dados conforme eles fluem pelo seu fluxo de trabalho de Experimentação. Aqui você pode ver um gráfico que mostra todos os experimentos que utilizaram o seu dataset enviado.

Comet experimentation workflow, YOLOv5

Retomando uma Execução de Treinamento#

Se sua execução de treinamento for interrompida por qualquer motivo, por exemplo, conexão com a internet interrompida, você pode retomar a execução usando a flag resume e o Caminho da Execução (Run Path) do Comet.

O Run Path tem o seguinte formato comet://<your workspace name>/<your project name>/<experiment id>.

Isso restaurará a execução ao seu estado antes da interrupção, o que inclui restaurar o modelo a partir de um checkpoint, restaurar todos os hiperparâmetros e argumentos de treinamento, e baixar Artefatos de dataset do Comet se eles foram usados na execução original. A execução retomada continuará registrando na Experiência existente na UI do Comet.

python train.py \
  --resume "comet://<your run path>"

Busca de Hiperparâmetros com o Otimizador do Comet#

O YOLOv5 também está integrado ao Otimizador do Comet, tornando simples visualizar sweeps de hiperparâmetros na UI do Comet.

Configurando um Sweep de Otimizador#

Para configurar o Otimizador do Comet, você precisará criar um arquivo JSON com as informações sobre o sweep.

Foi fornecido um ficheiro de exemplo em utils/loggers/comet/optimizer_config.json.

python utils/loggers/comet/hpo.py \
  --comet_optimizer_config "utils/loggers/comet/optimizer_config.json"

O script hpo.py aceita os mesmos argumentos que o train.py. Se você desejar passar argumentos adicionais para seu sweep, simplesmente adicione-os após o script.

python utils/loggers/comet/hpo.py \
  --comet_optimizer_config "utils/loggers/comet/optimizer_config.json" \
  --save-period 1 \
  --bbox_interval 1

Executando um Sweep em Paralelo#

comet optimizer -j <num_workers> utils/loggers/comet/hpo.py \
  utils/loggers/comet/optimizer_config.json

O Comet oferece muitas formas de visualizar os resultados da tua varredura. Dá uma vista de olhos a um projeto com uma varredura concluída aqui:

Visualize sweep results in Comet, YOLOv5

Mantenha Contato#

Começa a utilizar a nossa integração com o Comet para gerir, visualizar e otimizar os teus modelos YOLOv5 — desde as runs de treino até à monitorização em produção.

E, claro, junta-te à Ultralytics Community – um espaço para fazer perguntas e partilhar dicas sobre o treino, validação e implementação do YOLOv5.

Explore solutions

Real-time AI that works with your team

IA em robótica

Potencialize máquinas mais inteligentes com modelos Ultralytics YOLO. A IA de visão em robótica impulsiona a navegação autônoma, percepção, rastreamento de objetos e controle em tempo real.
Sabe mais
Real-time AI that works with your team

IA na Logística

Otimize a logística com modelos Ultralytics YOLO. A IA de visão permite a inspeção de pacotes, triagem, rastreamento de veículos e monitoramento de segurança em armazéns em tempo real.
Sabe mais
Real-time AI that works with your team

IA no varejo

Reinvente o varejo com modelos Ultralytics YOLO. A IA de visão impulsiona o rastreamento de inventário, monitoramento de prateleiras, gerenciamento de filas e percepções mais inteligentes sobre o cliente.
Sabe mais
Real-time AI that works with your team

IA na Saúde

Constrói soluções de saúde com modelos Ultralytics YOLO. A visão AI na saúde impulsiona imagens médicas mais rápidas, diagnósticos mais inteligentes e monitorização do paciente.
Sabe mais
Real-time AI that works with your team

IA na Fabricação

Otimize a fabricação com modelos Ultralytics YOLO. A IA de visão impulsiona o controle de qualidade, detecção de defeitos, conformidade com EPI e automação de linhas de montagem.
Sabe mais
Real-time AI that works with your operation

IA no Setor Automóvel

Aplica visão computacional no setor automóvel com modelos Ultralytics YOLO. A visão AI eleva a segurança rodoviária, a assistência ao condutor e a automação de veículos para estradas mais inteligentes.
Sabe mais
Real-time AI tailored to your operation

IA na Agricultura

Leva a visão AI para a agricultura inteligente com os modelos Ultralytics YOLO. Potencia a monitorização de culturas, o seguimento de gado e a agricultura de precisão para colheitas maiores e mais inteligentes.
Sabe mais
Real-time AI that works with your team

IA em robótica

Potencialize máquinas mais inteligentes com modelos Ultralytics YOLO. A IA de visão em robótica impulsiona a navegação autônoma, percepção, rastreamento de objetos e controle em tempo real.
Sabe mais
Real-time AI that works with your team

IA na Logística

Otimize a logística com modelos Ultralytics YOLO. A IA de visão permite a inspeção de pacotes, triagem, rastreamento de veículos e monitoramento de segurança em armazéns em tempo real.
Sabe mais
Real-time AI that works with your team

IA no varejo

Reinvente o varejo com modelos Ultralytics YOLO. A IA de visão impulsiona o rastreamento de inventário, monitoramento de prateleiras, gerenciamento de filas e percepções mais inteligentes sobre o cliente.
Sabe mais
Real-time AI that works with your team

IA na Saúde

Constrói soluções de saúde com modelos Ultralytics YOLO. A visão AI na saúde impulsiona imagens médicas mais rápidas, diagnósticos mais inteligentes e monitorização do paciente.
Sabe mais
Real-time AI that works with your team

IA na Fabricação

Otimize a fabricação com modelos Ultralytics YOLO. A IA de visão impulsiona o controle de qualidade, detecção de defeitos, conformidade com EPI e automação de linhas de montagem.
Sabe mais
Real-time AI that works with your operation

IA no Setor Automóvel

Aplica visão computacional no setor automóvel com modelos Ultralytics YOLO. A visão AI eleva a segurança rodoviária, a assistência ao condutor e a automação de veículos para estradas mais inteligentes.
Sabe mais
Real-time AI tailored to your operation

IA na Agricultura

Leva a visão AI para a agricultura inteligente com os modelos Ultralytics YOLO. Potencia a monitorização de culturas, o seguimento de gado e a agricultura de precisão para colheitas maiores e mais inteligentes.
Sabe mais
Real-time AI that works with your team

IA em robótica

Potencialize máquinas mais inteligentes com modelos Ultralytics YOLO. A IA de visão em robótica impulsiona a navegação autônoma, percepção, rastreamento de objetos e controle em tempo real.
Sabe mais
Real-time AI that works with your team

IA na Logística

Otimize a logística com modelos Ultralytics YOLO. A IA de visão permite a inspeção de pacotes, triagem, rastreamento de veículos e monitoramento de segurança em armazéns em tempo real.
Sabe mais
Real-time AI that works with your team

IA no varejo

Reinvente o varejo com modelos Ultralytics YOLO. A IA de visão impulsiona o rastreamento de inventário, monitoramento de prateleiras, gerenciamento de filas e percepções mais inteligentes sobre o cliente.
Sabe mais
Real-time AI that works with your team

IA na Saúde

Constrói soluções de saúde com modelos Ultralytics YOLO. A visão AI na saúde impulsiona imagens médicas mais rápidas, diagnósticos mais inteligentes e monitorização do paciente.
Sabe mais
Real-time AI that works with your team

IA na Fabricação

Otimize a fabricação com modelos Ultralytics YOLO. A IA de visão impulsiona o controle de qualidade, detecção de defeitos, conformidade com EPI e automação de linhas de montagem.
Sabe mais
Real-time AI that works with your operation

IA no Setor Automóvel

Aplica visão computacional no setor automóvel com modelos Ultralytics YOLO. A visão AI eleva a segurança rodoviária, a assistência ao condutor e a automação de veículos para estradas mais inteligentes.
Sabe mais
Real-time AI tailored to your operation

IA na Agricultura

Leva a visão AI para a agricultura inteligente com os modelos Ultralytics YOLO. Potencia a monitorização de culturas, o seguimento de gado e a agricultura de precisão para colheitas maiores e mais inteligentes.
Sabe mais

Vamos construir o futuro da IA juntos!

Começa a tua jornada com o futuro da aprendizagem automática