Meet YOLO26: next-gen vision AI.

Link to this sectionConfiguração#

As definições e hiperparâmetros do YOLO desempenham um papel crítico no desempenho, velocidade e accuracy do modelo. Estas definições podem afetar o comportamento do modelo em várias fases, incluindo treino, validação e predição.



Watch: Mastering Ultralytics YOLO: Configuration

Os comandos Ultralytics utilizam a seguinte sintaxe:

Exemplo
yolo TASK MODE ARGS

Onde:

Default ARG values are defined on this page and come from the cfg/default.yaml file.

Link to this sectionTarefas#

Os modelos Ultralytics YOLO podem realizar uma variedade de tarefas de visão computacional, incluindo:

  • Detect: A Object detection identifica e localiza objetos dentro de uma imagem ou vídeo.
  • Segment: A Instance segmentation divide uma imagem ou vídeo em regiões que correspondem a diferentes objetos ou classes.
  • Semantic segmentation (semantic): A Semantic segmentation atribui uma etiqueta de classe a cada pixel numa imagem para uma compreensão densa da cena.
  • Classify: A Image classification prevê a etiqueta da classe de uma imagem de entrada.
  • Pose: A Pose estimation identifica objetos e estima os seus pontos-chave numa imagem ou vídeo.
  • OBB: Oriented Bounding Boxes utiliza caixas delimitadoras rodadas, adequadas para imagens de satélite ou médicas.
ArgumentoPredefiniçãoDescrição
task'detect'Especifica a tarefa YOLO: detect para object detection, segment para segmentação de instâncias, semantic para segmentação semântica, classify para classificação, pose para estimativa de pose e obb para caixas delimitadoras orientadas. Cada tarefa é adaptada a saídas e problemas específicos na análise de imagem e vídeo.

Guia de Tarefas

Link to this sectionModos#

Os modelos Ultralytics YOLO operam em diferentes modos, cada um concebido para uma fase específica do ciclo de vida do modelo:

  • Train: Treina um modelo YOLO num conjunto de dados personalizado.
  • Val: Valida um modelo YOLO treinado.
  • Predict: Utiliza um modelo YOLO treinado para fazer predições em novas imagens ou vídeos.
  • Export: Exporta um modelo YOLO para implementação.
  • Track: Segue objetos em tempo real utilizando um modelo YOLO.
  • Benchmark: Avalia a velocidade e precisão das exportações YOLO (ONNX, TensorRT, etc.).
ArgumentoPredefiniçãoDescrição
mode'train'Especifica o modo de funcionamento do modelo YOLO: train para treino do modelo, val para validação, predict para inferência, export para conversão para formatos de implementação, track para seguimento de objetos e benchmark para avaliação de desempenho. Cada modo suporta diferentes fases, desde o desenvolvimento até à implementação.

Guia de Modos

Link to this sectionConfigurações de Treinamento#

As definições de treino para modelos YOLO incluem hiperparâmetros e configurações que afetam o desempenho, velocidade e accuracy do modelo. As definições chave incluem batch size, learning rate, momentum e weight decay. A escolha do otimizador, loss function e a composição do conjunto de dados também têm impacto no treino. O ajuste e a experimentação são cruciais para um desempenho ideal. Para mais detalhes, vê a função de ponto de entrada Ultralytics.

ArgumentoTipoPredefiniçãoDescrição
modelstrNoneEspecifica o arquivo de modelo para treinamento. Aceita um caminho para um modelo pré-treinado .pt ou um arquivo de configuração .yaml. Essencial para definir a estrutura do modelo ou inicializar pesos.
datastrNoneCaminho para o arquivo de configuração do conjunto de dados (por exemplo, coco8.yaml). Este arquivo contém parâmetros específicos do conjunto de dados, incluindo caminhos para dados de treinamento e validation data, nomes de classes e número de classes.
epochsint100Número total de épocas de treinamento. Cada epoch representa uma passagem completa por todo o conjunto de dados. Ajustar este valor pode afetar a duração do treinamento e o desempenho do modelo.
timefloatNoneTempo máximo de treinamento em horas. Se definido, isto substitui o argumento epochs, permitindo que o treinamento pare automaticamente após a duração especificada. Útil para cenários de treinamento com restrição de tempo.
patienceint100Número de épocas de espera sem melhoria nas métricas de validação antes de parar o treinamento precocemente. Ajuda a prevenir o overfitting ao interromper o treinamento quando o desempenho estagna.
batchint ou float16Batch size, com três modos: definido como um inteiro (por exemplo, batch=16), modo automático para 60% de utilização da memória da GPU (batch=-1), ou modo automático com fração de utilização especificada (batch=0.70).
imgszint640Tamanho da imagem alvo para treinamento. As imagens são redimensionadas para quadrados com lados iguais ao valor especificado (se rect=False), preservando a proporção de aspecto para modelos YOLO, mas não para o RT-DETR. Afeta a accuracy e a complexidade computacional do modelo.
saveboolTrueHabilita o salvamento de checkpoints de treinamento e pesos finais do modelo. Útil para retomar o treinamento ou para model deployment.
save_periodint-1Frequência de salvamento de checkpoints do modelo, especificada em épocas. Um valor de -1 desativa esta funcionalidade. Útil para salvar modelos intermédios durante sessões de treinamento longas.
cacheboolFalseHabilita o cache de imagens do conjunto de dados na memória (True/ram), no disco (disk), ou desativa-o (False). Melhora a velocidade de treinamento reduzindo a E/S do disco à custa de maior uso de memória.
deviceint ou str ou listNoneEspecifica o(s) dispositivo(s) computacional(ais) para treinamento: uma única GPU (device=0), múltiplas GPUs (device=[0,1]), CPU (device=cpu), MPS para Apple silicon (device=mps), Huawei Ascend NPU (device=npu ou device=npu:0), ou auto-seleção da GPU mais ociosa (device=-1) ou múltiplas GPUs ociosas (device=[-1,-1])
workersint8Número de threads de trabalho para carregamento de dados (por RANK se o treinamento for com Múltiplas GPUs). Influencia a velocidade do pré-processamento de dados e o fornecimento ao modelo, sendo especialmente útil em configurações com múltiplas GPUs.
projectstrNoneNome do diretório do projeto onde as saídas do treinamento são salvas. Permite o armazenamento organizado de diferentes experimentos.
namestrNoneNome da execução do treinamento. Usado para criar um subdiretório dentro da pasta do projeto, onde os logs e saídas do treinamento são armazenados.
exist_okboolFalseSe True, permite a substituição de um diretório de projeto/nome existente. Útil para experimentação iterativa sem precisar limpar manualmente as saídas anteriores.
pretrainedbool ou strTrueDetermina se o treinamento deve começar a partir de pesos pré-treinados. Pode ser um valor booleano ou um caminho em string para os pesos a carregar. pretrained=False treina a partir de pesos inicializados aleatoriamente, mantendo a arquitetura do modelo.
optimizerstr'auto'Escolha do otimizador para o treinamento. As opções incluem SGD, MuSGD, Adam, Adamax, AdamW, NAdam, RAdam, RMSProp, ou auto para seleção automática baseada na configuração do modelo. Afeta a velocidade de convergência e a estabilidade.
seedint0Define a semente aleatória para o treinamento, garantindo a reprodutibilidade dos resultados entre execuções com as mesmas configurações.
deterministicboolTrueForça o uso de algoritmos determinísticos, garantindo a reprodutibilidade, mas podendo afetar o desempenho e a velocidade devido à restrição de algoritmos não determinísticos.
verboseboolTrueAtiva a saída detalhada durante o treinamento, exibindo barras de progresso, métricas por época e informações adicionais de treinamento no console.
single_clsboolFalseTrata todas as classes em conjuntos de dados multiclasse como uma única classe durante o treinamento. Útil para tarefas de classificação binária ou quando o foco é a presença de objetos em vez da classificação.
classeslist[int]NoneEspecifica uma lista de IDs de classes para treinar. Útil para filtrar e focar apenas em certas classes durante o treinamento.
rectboolFalseAtiva a estratégia de preenchimento mínimo — as imagens em um lote são preenchidas minimamente para atingir um tamanho comum, com o lado mais longo igual a imgsz. Pode melhorar a eficiência e a velocidade, mas pode afetar a precisão do modelo.
multi_scalefloat0.0Varia aleatoriamente o imgsz a cada lote por +/- multi_scale (ex: 0.25 -> 0.75x a 1.25x), arredondando para múltiplos do passo (stride) do modelo; 0.0 desativa o treinamento multiescala.
cos_lrboolFalseUtiliza um escalonador de taxa de aprendizado de cosseno, ajustando a taxa de aprendizado seguindo uma curva de cosseno ao longo das épocas. Ajuda a gerenciar a taxa de aprendizado para uma melhor convergência.
close_mosaicint10Desativa a aumentação de dados tipo mosaico nas últimas N épocas para estabilizar o treinamento antes da conclusão. Definir como 0 desativa esse recurso.
resumeboolFalseRetoma o treinamento a partir do último checkpoint salvo. Carrega automaticamente os pesos do modelo, o estado do otimizador e a contagem de épocas, continuando o treinamento de forma contínua.
ampboolTrueAtiva o treinamento com Precisão Mista Automática (AMP), reduzindo o uso de memória e possivelmente acelerando o treinamento com impacto mínimo na precisão.
fractionfloat1.0Especifica a fração do conjunto de dados a ser usada para treinamento. Permite treinar em um subconjunto do conjunto de dados completo, útil para experimentos ou quando os recursos são limitados.
profileboolFalseAtiva a criação de perfil (profiling) das velocidades de ONNX e TensorRT durante o treinamento, útil para otimizar a implantação do modelo.
freezeint ou listNoneCongela as primeiras N camadas do modelo ou camadas especificadas por índice, reduzindo o número de parâmetros treináveis. Útil para ajuste fino ou transfer learning.
lr0float0.01Taxa de aprendizado inicial (ou seja, SGD=1E-2, Adam=1E-3). Ajustar este valor é crucial para o processo de otimização, influenciando a rapidez com que os pesos do modelo são atualizados.
lrffloat0.01Taxa de aprendizado final como uma fração da taxa inicial = (lr0 * lrf), usada em conjunto com escalonadores para ajustar a taxa de aprendizado ao longo do tempo.
momentumfloat0.937Fator de momentum para SGD ou beta1 para otimizadores Adam, influenciando a incorporação de gradientes passados na atualização atual.
weight_decayfloat0.0005Termo de regularização L2, penalizando pesos grandes para evitar o overfitting.
warmup_epochsfloat3.0Número de épocas para aquecimento (warmup) da taxa de aprendizado, aumentando gradualmente a taxa de aprendizado de um valor baixo até a taxa de aprendizado inicial para estabilizar o treinamento desde o início.
warmup_momentumfloat0.8Momentum inicial para a fase de aquecimento, ajustando-se gradualmente ao momentum definido durante o período de aquecimento.
warmup_bias_lrfloat0.1Taxa de aprendizado para parâmetros de bias durante a fase de aquecimento, ajudando a estabilizar o treinamento do modelo nas épocas iniciais.
boxfloat7.5Peso do componente de perda de caixa (box loss) na função de perda, influenciando quanta ênfase é colocada na previsão precisa das coordenadas da caixa delimitadora.
clsfloat0.5Peso da perda de classificação na função de perda total, afetando a importância da previsão correta da classe em relação a outros componentes.
cls_pwfloat0.0Potência para ponderação de classe para lidar com o desequilíbrio de classes usando a frequência inversa da classe. 0.0 desativa a ponderação de classe, 1.0 aplica a ponderação de frequência inversa total. Valores entre 0 e 1 fornecem ponderação parcial.
dflfloat1.5Peso da perda focal de distribuição (distribution focal loss), usada em certas versões do YOLO para classificação de granulação fina.
posefloat12.0Peso da perda de pose em modelos treinados para estimativa de pose, influenciando a ênfase na previsão precisa dos pontos-chave de pose.
kobjfloat1.0Peso da perda de objetividade de pontos-chave (keypoint objectness loss) em modelos de estimativa de pose, equilibrando a confiança da detecção com a precisão da pose.
rlefloat1.0Peso da perda de estimativa de log-verossimilhança residual em modelos de estimativa de pose, afetando a precisão da localização dos pontos-chave.
anglefloat1.0Peso da perda de ângulo em modelos obb, afetando a precisão das previsões de ângulo da caixa delimitadora orientada.
nbsint64Tamanho de lote nominal para normalização da perda.
overlap_maskboolTrueDetermina se as máscaras de objeto devem ser mescladas em uma única máscara para treinamento ou mantidas separadas para cada objeto. Em caso de sobreposição, a máscara menor é sobreposta à máscara maior durante a mesclagem.
mask_ratioint4Taxa de downsample para máscaras de segmentação, afetando a resolução das máscaras usadas durante o treinamento.
dropoutfloat0.0Taxa de dropout para regularização em tarefas de classificação, evitando o overfitting ao omitir unidades aleatoriamente durante o treinamento.
valboolTrueAtiva a validação durante o treinamento, permitindo a avaliação periódica do desempenho do modelo em um conjunto de dados separado.
plotsboolTrueGera e salva gráficos de métricas de treinamento e validação, bem como exemplos de previsão, fornecendo insights visuais sobre o desempenho do modelo e a progressão do aprendizado.
compilebool ou strFalseAtiva a compilação de grafo torch.compile do PyTorch 2.x com backend='inductor'. Aceita True"default", False → desativa, ou um modo de string como "default", "reduce-overhead", "max-autotune-no-cudagraphs". Retorna ao modo eager com um aviso se não for suportado.
max_detint300Especifica o número máximo de objetos retidos durante a fase de validação do treinamento.
Nota sobre as configurações de tamanho de lote (batch-size)

O argumento batch oferece três opções de configuração:

  • Fixed Batch Size: Especifica o número de imagens por lote com um número inteiro (ex: batch=16).
  • Auto Mode (60% GPU Memory): Usa batch=-1 para ajuste automático para aproximadamente 60% da utilização de memória CUDA.
  • Auto Mode with Utilization Fraction: Define uma fração (ex: batch=0.70) para ajustar com base numa utilização de memória GPU especificada.

Guia de Treino

Link to this sectionDefinições de Predição#

As definições de predição para modelos YOLO incluem hiperparâmetros e configurações que influenciam o desempenho, velocidade e accuracy durante a inferência. As definições chave incluem o limiar de confiança, o limiar de Non-Maximum Suppression (NMS) e o número de classes. O tamanho dos dados de entrada, o formato e funcionalidades suplementares como máscaras também afetam as predições. O ajuste destas definições é essencial para um desempenho ideal.

Argumentos de inferência:

ArgumentoTipoPredefiniçãoDescrição
sourcestr ou int ou NoneNoneEspecifica a fonte de dados para inferência. Pode ser um caminho de imagem, ficheiro de vídeo, diretório, URL ou ID de dispositivo para feeds em direto. Se omitido, é registado um aviso e o modelo recorre aos recursos de demonstração integrados (ultralytics/assets, ou um URL de demonstração para OBB). Suporta uma vasta gama de formatos e fontes, permitindo uma aplicação flexível através de diferentes tipos de entrada.
conffloat0.25Define o limiar de confiança mínimo para deteções. Objetos detetados com uma confiança inferior a este limiar serão ignorados. Ajustar este valor pode ajudar a reduzir falsos positivos.
ioufloat0.7Limiar de Intersection Over Union (IoU) para Non-Maximum Suppression (NMS). Valores mais baixos resultam em menos deteções ao eliminar caixas sobrepostas, útil para reduzir duplicados.
imgszint ou tuple640Letterbox target. An integer gives a square N×N; a tuple gives (height, width). With rect=True, the actual tensor may be smaller than this target due to minimum-rectangle padding. Use rect=False for a fixed size. See Fixed shape vs minimum rectangle.
rectboolTrueSe True, usa preenchimento de retângulo mínimo quando possível (lote de mesma forma e backend suportado). Se False, preenche sempre até ao imgsz completo. Vê Fixed shape vs minimum rectangle.
halfboolFalseAtiva a inferência de meia-precision (FP16), que pode acelerar a inferência do modelo em GPUs suportadas com impacto mínimo na precisão.
devicestrNoneEspecifica o dispositivo para inferência (ex: cpu, cuda:0, 0, npu ou npu:0). Permite que os utilizadores selecionem entre CPU, uma GPU específica, Huawei Ascend NPU ou outros dispositivos de computação para a execução do modelo.
batchint1Especifica o tamanho do lote para inferência (só funciona quando a fonte é um diretório, ficheiro de vídeo ou ficheiro .txt). Um tamanho de lote maior pode proporcionar um maior rendimento, reduzindo o tempo total necessário para a inferência.
max_detint300Número máximo de deteções permitido por imagem. Limita o número total de objetos que o modelo pode detetar numa única inferência, evitando saídas excessivas em cenas densas.
vid_strideint1Intervalo de fotogramas para entradas de vídeo. Permite saltar fotogramas em vídeos para acelerar o processamento à custa da resolução temporal. Um valor de 1 processa todos os fotogramas, valores mais altos saltam fotogramas.
stream_bufferboolFalseDetermina se se devem colocar em fila de espera os fotogramas recebidos para fluxos de vídeo. Se False, os fotogramas antigos são descartados para acomodar novos fotogramas (otimizado para aplicações em tempo real). Se True, coloca novos fotogramas em fila de espera num buffer, garantindo que nenhum fotograma é saltado, mas causará latência se o FPS de inferência for inferior ao FPS do fluxo.
visualizeboolFalseAtiva a visualização das características do modelo durante a inferência, fornecendo informações sobre o que o modelo está a "ver". Útil para depuração e interpretação do modelo.
augmentboolFalseAtiva o aumento durante o teste (TTA) para predições, melhorando potencialmente a robustez da deteção à custa da velocidade de inferência.
agnostic_nmsboolFalseAtiva o Non-Maximum Suppression (NMS) agnóstico à classe, que funde caixas sobrepostas de diferentes classes. Útil em cenários de deteção multi-classe onde a sobreposição de classes é comum. Para modelos end-to-end (YOLO26, YOLOv10), isto apenas evita que a mesma deteção apareça com múltiplas etiquetas de classe (duplicados IoU=1.0) e não realiza a supressão baseada no limiar de IoU entre caixas distintas.
classeslist[int]NoneFiltra as predições para um conjunto de IDs de classe. Apenas as deteções pertencentes às classes especificadas serão devolvidas. Útil para focar em objetos relevantes em tarefas de deteção multi-classe.
retina_masksboolFalseDevolve máscaras de segmentação de alta resolução. As máscaras devolvidas (masks.data) corresponderão ao tamanho original da imagem se ativado. Se desativado, têm o tamanho da imagem usado durante a inferência.
embedlist[int]NoneEspecifica as camadas a partir das quais extrair vetores de características ou embeddings. Útil para tarefas a jusante como agrupamento ou pesquisa de semelhança.
projectstrNoneNome do diretório do projeto onde as saídas de predição são guardadas se save estiver ativado.
namestrNoneNome da execução da predição. Utilizado para criar um subdiretório dentro da pasta do projeto, onde as saídas de predição são armazenadas se save estiver ativado.
streamboolFalseAtiva o processamento eficiente em termos de memória para vídeos longos ou numerosas imagens, devolvendo um gerador de objetos de Resultados em vez de carregar todos os fotogramas na memória de uma só vez.
verboseboolTrueControla se deve mostrar registos de inferência detalhados no terminal, fornecendo feedback em tempo real sobre o processo de predição.
compilebool ou strFalseAtiva a compilação de grafo torch.compile do PyTorch 2.x com backend='inductor'. Aceita True"default", False → desativa, ou um modo de string como "default", "reduce-overhead", "max-autotune-no-cudagraphs". Retorna ao modo eager com um aviso se não for suportado.
end2endboolNoneSubstitui o modo end-to-end em modelos YOLO que suportam inferência sem NMS (YOLO26, YOLOv10). Definir como False permite-te executar a predição usando o pipeline NMS tradicional, permitindo adicionalmente fazer uso do argumento iou. Vê o guia de Deteção End-to-End para detalhes.

Argumentos de visualização:

ArgumentoTipoPredefiniçãoDescrição
showboolFalseSe True, exibe as imagens ou vídeos anotados numa janela. Útil para feedback visual imediato durante o desenvolvimento ou teste.
saveboolFalse or TrueAtiva a gravação das imagens ou vídeos anotados em ficheiros. Útil para documentação, análise posterior ou partilha de resultados. Predefinição como True ao usar CLI e False quando usado em Python.
save_framesboolFalseAo processar vídeos, guarda fotogramas individuais como imagens. Útil para extrair fotogramas específicos ou para uma análise detalhada fotograma a fotograma.
save_txtboolFalseGuarda os resultados da deteção num ficheiro de texto, seguindo o formato [class] [x_center] [y_center] [width] [height] [confidence]. Útil para integração com outras ferramentas de análise.
save_confboolFalseInclui pontuações de confiança nos ficheiros de texto guardados. Melhora os detalhes disponíveis para pós-processamento e análise.
save_cropboolFalseGuarda imagens recortadas das deteções. Útil para aumento de conjuntos de dados, análise ou criação de conjuntos de dados focados para objetos específicos.
show_labelsboolTrueExibe rótulos para cada detecção na saída visual. Fornece compreensão imediata dos objetos detectados.
show_confboolTrueExibe a pontuação de confiança para cada detecção ao lado do rótulo. Fornece uma visão sobre a certeza do modelo para cada detecção.
show_boxesboolTrueDesenha caixas delimitadoras à volta dos objetos detetados. Essencial para identificação visual e localização de objetos em imagens ou fotogramas de vídeo.
line_widthint or NoneNoneEspecifica a largura da linha das caixas delimitadoras. Se None, a largura da linha é ajustada automaticamente com base no tamanho da imagem. Proporciona personalização visual para maior clareza.

Guia de Predição

Link to this sectionDefinições de Validação#

As definições de validação para modelos YOLO envolvem hiperparâmetros e configurações para avaliar o desempenho num conjunto de dados de validação. Estas definições influenciam o desempenho, velocidade e accuracy. As definições comuns incluem tamanho do lote, frequência de validação e métricas de desempenho. O tamanho e a composição do conjunto de dados de validação, juntamente com a tarefa específica, também afetam o processo.

ArgumentoTipoPredefiniçãoDescrição
datastrNoneEspecifica o caminho para o ficheiro de configuração do conjunto de dados (ex: coco8.yaml). Este ficheiro deve incluir o caminho para os dados de validação.
imgszint640Define o tamanho das imagens de entrada. Todas as imagens são redimensionadas para esta dimensão antes do processamento. Tamanhos maiores podem melhorar a precisão para objetos pequenos, mas aumentam o tempo de computação.
batchint16Define o número de imagens por lote. Valores mais altos utilizam a memória GPU de forma mais eficiente, mas requerem mais VRAM. Ajusta com base nos recursos de hardware disponíveis.
save_jsonboolFalseSe True, guarda os resultados num ficheiro JSON para análise posterior, integração com outras ferramentas ou envio para servidores de avaliação como o COCO.
conffloat0.001Define o limiar de confiança mínimo para deteções. Valores mais baixos aumentam a recuperação, mas podem introduzir mais falsos positivos. Usado durante a validação para calcular curvas de precisão-recuperação. Predefinição como 0.01 para validação OBB para reduzir o uso de memória.
ioufloat0.7Define o limiar de Intersection Over Union para Non-Maximum Suppression. Controla a eliminação de deteção de duplicados.
max_detint300Limita o número máximo de deteções por imagem. Útil em cenas densas para evitar deteções excessivas e gerir recursos computacionais.
halfboolFalseAtiva a computação de meia-precision (FP16), reduzindo o uso de memória e aumentando potencialmente a velocidade com impacto mínimo na accuracy.
devicestrNoneEspecifica o dispositivo para validação (cpu, cuda:0, npu, npu:0, etc.). Quando None, seleciona automaticamente o melhor dispositivo disponível. Múltiplos dispositivos CUDA podem ser especificados com separação por vírgula.
dnnboolFalseSe True, utiliza o módulo DNN do OpenCV para inferência de modelo ONNX, oferecendo uma alternativa aos métodos de inferência do PyTorch.
plotsboolTrueQuando definido como True, gera e salva gráficos de previsões versus ground truth, matrizes de confusão e curvas PR para avaliação visual do desempenho do modelo.
classeslist[int]NoneEspecifica uma lista de IDs de classe para avaliar. Útil para filtrar e focar apenas em certas classes durante a avaliação.
rectboolTrueSe True, usa inferência retangular para processamento em lote, reduzindo o preenchimento (padding) e potencialmente aumentando a velocidade e a eficiência ao processar imagens em sua proporção original.
splitstr'val'Determina a divisão do conjunto de dados a ser usada para validação (val, test ou train). Permite flexibilidade ao escolher o segmento de dados para avaliação de desempenho.
projectstrNoneNome do diretório do projeto onde os resultados da validação são salvos. Ajuda a organizar resultados de diferentes experimentos ou modelos.
namestrNoneNome da execução de validação. Usado para criar um subdiretório dentro da pasta do projeto, onde os registros e resultados da validação são armazenados.
verboseboolTrueSe True, exibe informações detalhadas durante o processo de validação, incluindo métricas por classe, progresso do lote e informações adicionais de depuração.
save_txtboolFalseSe True, salva os resultados da detecção em arquivos de texto, com um arquivo por imagem, útil para análises adicionais, pós-processamento personalizado ou integração com outros sistemas.
save_confboolFalseSe True, inclui valores de confiança nos arquivos de texto salvos quando save_txt está ativado, fornecendo uma saída mais detalhada para análise e filtragem.
workersint8Número de threads de trabalho para carregamento de dados. Valores maiores podem acelerar o pré-processamento de dados, mas podem aumentar o uso da CPU. Definir como 0 usa a thread principal, o que pode ser mais estável em alguns ambientes.
augmentboolFalseAtiva a TTA (Test-Time Augmentation) durante a validação, melhorando potencialmente a precisão da detecção ao custo da velocidade de inferência, ao executar a inferência em versões transformadas da entrada.
agnostic_nmsboolFalseAtiva a Non-Maximum Suppression (Supressão não máxima) agnóstica de classe, que mescla caixas sobrepostas independentemente da classe prevista. Útil para aplicações focadas em instâncias. Para modelos end-to-end (YOLO26, YOLOv10), isso apenas impede que a mesma detecção apareça com múltiplos rótulos de classe (duplicatas IoU=1.0) e não executa a supressão baseada em limite de IoU entre caixas distintas.
single_clsboolFalseTrata todas as classes como uma única classe durante a validação. Útil para avaliar o desempenho do modelo em tarefas de detecção binária ou quando as distinções de classe não são importantes.
visualizeboolFalseVisualiza os ground truths, verdadeiros positivos, falsos positivos e falsos negativos para cada imagem. Útil para depuração e interpretação do modelo.
show_labelsboolTrueExibe rótulos de classe nas visualizações de validação quando visualize=True. Defina como False para uma visualização mais limpa de correspondências e erros.
show_confboolTrueExibe pontuações de confiança nas visualizações de validação quando visualize=True. Defina como False para uma visualização mais limpa de correspondências e erros.
compilebool ou strFalseAtiva a compilação de grafo torch.compile do PyTorch 2.x com backend='inductor'. Aceita True"default", False → desativa, ou um modo de string como "default", "reduce-overhead", "max-autotune-no-cudagraphs". Retorna ao modo eager com um aviso se não for suportado.
end2endboolNoneSubstitui o modo end-to-end em modelos YOLO que suportam inferência sem NMS (YOLO26, YOLOv10). Definir como False permite executar a validação usando o pipeline NMS tradicional, permitindo adicionalmente fazer uso do argumento iou.

Ajustes cuidadosos e experimentação são cruciais para garantir o desempenho ideal e detectar e prevenir overfitting.

Guia de Validação

Link to this sectionConfigurações de Exportação#

As configurações de exportação para modelos YOLO incluem configurações para salvar ou exportar o modelo para uso em diferentes ambientes. Essas configurações impactam o desempenho, o tamanho e a compatibilidade. As configurações principais incluem o formato do arquivo exportado (por exemplo, ONNX, TensorFlow SavedModel), o dispositivo de destino (por exemplo, CPU, GPU) e recursos como máscaras. A tarefa do modelo e as restrições do ambiente de destino também afetam o processo de exportação.

ArgumentoTipoPredefiniçãoDescrição
formatstr'torchscript'Formato de destino para o modelo exportado, como 'onnx', 'torchscript', 'engine' (TensorRT), ou outros. Cada formato permite compatibilidade com diferentes ambientes de implantação.
imgszint ou tuple640Desired image size for the model input. Can be an integer for square images (e.g., 640 for 640×640) or a tuple (height, width) for specific dimensions.
kerasboolFalseAtiva a exportação para o formato Keras para TensorFlow SavedModel, fornecendo compatibilidade com serviços e APIs do TensorFlow.
optimizeboolFalseAplica otimização para dispositivos móveis ao exportar para TorchScript, potencialmente reduzindo o tamanho do modelo e melhorando o desempenho da inferência. Não compatível com o formato NCNN ou dispositivos CUDA. Para DEEPX, ativa uma otimização de compilador mais alta que reduz a latência de inferência e aumenta o tempo de compilação.
halfboolFalseAtiva a quantização FP16 (precisão média), reduzindo o tamanho do modelo e potencialmente acelerando a inferência em hardware compatível. Não é compatível com quantização INT8 ou exportações apenas para CPU. Disponível apenas para certos formatos, por exemplo, ONNX (veja abaixo).
int8boolFalseAtiva a quantização INT8, comprimindo ainda mais o modelo e acelerando a inferência com perda mínima de precisão, principalmente para dispositivos de borda. Quando usado com TensorRT, realiza quantização pós-treinamento (PTQ).
dynamicboolFalsePermite tamanhos de entrada dinâmicos para exportações de TorchScript, ONNX, OpenVINO, TensorRT e CoreML, aumentando a flexibilidade ao lidar com dimensões de imagem variadas.
simplifyboolTrueSimplifica o grafo do modelo para exportações ONNX com onnxslim, potencialmente melhorando o desempenho e a compatibilidade com motores de inferência.
opsetintNoneEspecifica a versão do opset ONNX para compatibilidade com diferentes analisadores e runtimes de ONNX. Se não for definido, usa a versão suportada mais recente.
workspacefloat ou NoneNoneDefine o tamanho máximo do workspace em GiB para otimizações do TensorRT, equilibrando o uso de memória e o desempenho. Use None para alocação automática pelo TensorRT até o limite máximo do dispositivo.
nmsboolFalseAdiciona a Supressão não máxima (NMS) ao modelo exportado quando suportado (consulte Formatos de Exportação), melhorando a eficiência do pós-processamento de detecção. Não disponível para modelos end-to-end.
batchint1Especifica o tamanho da inferência em lote do modelo de exportação ou o número máximo de imagens que o modelo exportado processará simultaneamente no modo predict. Para exportações de Edge TPU, isso é definido automaticamente como 1.
devicestrNoneEspecifica o dispositivo para exportação: GPU (device=0), CPU (device=cpu), MPS para Apple silicon (device=mps), Huawei Ascend NPU (device=npu ou device=npu:0), ou DLA para NVIDIA Jetson (device=dla:0 ou device=dla:1). Exportações de TensorRT usam automaticamente a GPU.
datastr'coco8.yaml'Caminho para o arquivo de configuração do conjunto de dados, essencial para calibração de quantização INT8. Se não especificado com INT8 ativado, coco8.yaml será usado como reserva para calibração.
fractionfloat1.0Especifica a fração do conjunto de dados a ser usada para calibração de quantização INT8. Permite calibrar em um subconjunto do conjunto de dados completo, útil para experimentos ou quando os recursos são limitados. Se não especificado com INT8 ativado, o conjunto de dados completo será usado.
end2endboolNoneSubstitui o modo end-to-end em modelos YOLO que suportam inferência sem NMS (YOLO26, YOLOv10). Definir como False permite exportar esses modelos para serem compatíveis com o pipeline de pós-processamento tradicional baseado em NMS. Consulte o Guia de Detecção End-to-End para obter detalhes.

Uma configuração ponderada garante que o modelo exportado esteja otimizado para seu caso de uso e funcione de forma eficaz no ambiente de destino.

Guia de Exportação

Link to this sectionConfigurações de Soluções#

As configurações do Ultralytics Solutions oferecem flexibilidade para personalizar modelos para tarefas como contagem de objetos, criação de mapas de calor, rastreamento de exercícios, análise de dados, rastreamento de zonas, gerenciamento de filas e contagem baseada em regiões. Essas opções permitem ajustes fáceis para resultados precisos e úteis adaptados a necessidades específicas.

ArgumentoTipoPredefiniçãoDescrição
modelstrNoneCaminho para um ficheiro de modelo YOLO da Ultralytics.
regionlist'[(20, 400), (1260, 400)]'Lista de pontos que definem a região de contagem.
show_inboolTrueFlag para controlar se os números de entrada devem ser exibidos no stream de vídeo.
show_outboolTrueFlag para controlar se os números de saída devem ser exibidos no stream de vídeo.
analytics_typestr'line'Tipo de gráfico, i.e., line, bar, area ou pie.
colormapintcv2.COLORMAP_DEEPGREENMapa de cores a usar para o mapa de calor.
json_filestrNoneCaminho para o ficheiro JSON que contém todos os dados de coordenadas de estacionamento.
up_anglefloat145.0Limiar de ângulo para a pose 'cima'.
kptslist[int]'[6, 8, 10]'Lista de três índices de pontos-chave usados para monitorizar exercícios. Estes pontos-chave correspondem a articulações ou partes do corpo, como ombros, cotovelos e pulsos, para exercícios como flexões, elevações, agachamentos e abdominais.
down_angleint90Limiar de ângulo para a pose 'baixo'.
blur_ratiofloat0.5Ajusta a percentagem da intensidade do desfoque, com valores no intervalo 0.1 - 1.0.
crop_dirstr'cropped-detections'Nome do diretório para armazenar deteções recortadas.
recordsint5Contagem total de deteções para disparar um e-mail com o sistema de alarme de segurança.
vision_pointtuple[int, int](20, 20)O ponto onde a visão irá rastrear objetos e desenhar caminhos usando a VisionEye Solution.
sourcestrNoneCaminho para a fonte de entrada (vídeo, RTSP, etc.). Apenas utilizável com a interface de linha de comandos (CLI) das Solutions.
figsizetuple[int, int](12.8, 7.2)Tamanho da figura para gráficos de análise como mapas de calor ou gráficos.
fpsfloat30.0Frames por segundo usados para cálculos de velocidade.
max_histint5Pontos históricos máximos a rastrear por objeto para cálculos de velocidade/direção.
meter_per_pixelfloat0.05Fator de escala usado para converter a distância em píxeis para unidades do mundo real.
max_speedint120Limite de velocidade máxima em sobreposições visuais (usado em alertas).
datastr'images'Caminho para o diretório de imagens usado para pesquisa de similaridade.
imgszint640Tamanho da imagem de entrada para inferência do modelo.

Guia de Soluções

Link to this sectionConfigurações de Aumentação#

As técnicas de Aumentação de dados são essenciais para melhorar a robustez e o desempenho do modelo YOLO, introduzindo variabilidade nos dados de treinamento, ajudando o modelo a generalizar melhor para dados não vistos. A tabela a seguir descreve o propósito e o efeito de cada argumento de aumentação:

ArgumentoTipoPredefiniçãoTarefas SuportadasIntervaloDescrição
hsv_hfloat0.015detect, segment, pose, obb, classify0.0 - 1.0Ajusta a matiz (hue) da imagem por uma fração da roda de cores, introduzindo variabilidade de cor. Ajuda o modelo a generalizar em diferentes condições de iluminação.
hsv_sfloat0.7detect, segment, pose, obb, classify0.0 - 1.0Altera a saturação da imagem por uma fração, afetando a intensidade das cores. Útil para simular diferentes condições ambientais.
hsv_vfloat0.4detect, segment, pose, obb, classify0.0 - 1.0Modifica o valor (brilho) da imagem por uma fração, ajudando o modelo a ter um bom desempenho sob diversas condições de iluminação.
degreesfloat0detect, segment, pose, obb0.0 - 180Rotaciona a imagem aleatoriamente dentro do intervalo de graus especificado, melhorando a capacidade do modelo de reconhecer objetos em várias orientações.
translatefloat0.1detect, segment, pose, obb0.0 - 1.0Translada a imagem horizontal e verticalmente por uma fração do tamanho da imagem, ajudando a aprender a detectar objetos parcialmente visíveis.
scalefloat0.5detect, segment, pose, obb, classify0 - 1Escala a imagem por um fator de ganho, simulando objetos a diferentes distâncias da câmera.
shearfloat0detect, segment, pose, obb-180 - +180Inclina a imagem por um grau especificado, imitando o efeito de objetos sendo vistos de diferentes ângulos.
perspectivefloat0detect, segment, pose, obb0.0 - 0.001Aplica uma transformação de perspectiva aleatória à imagem, aprimorando a capacidade do modelo de entender objetos no espaço 3D.
flipudfloat0detect, segment, pose, obb, classify0.0 - 1.0Inverte a imagem de cima para baixo com a probabilidade especificada, aumentando a variabilidade dos dados sem afetar as características do objeto.
fliplrfloat0.5detect, segment, pose, obb, classify0.0 - 1.0Inverte a imagem da esquerda para a direita com a probabilidade especificada, útil para aprender objetos simétricos e aumentar a diversidade do conjunto de dados.
bgrfloat0detect, segment, pose, obb0.0 - 1.0Inverte os canais da imagem de RGB para BGR com a probabilidade especificada, útil para aumentar a robustez a ordenações incorretas de canais.
mosaicfloat1detect, segment, pose, obb0.0 - 1.0Combina quatro imagens de treinamento em uma, simulando diferentes composições de cena e interações de objetos. Altamente eficaz para a compreensão de cenas complexas.
mixupfloat0detect, segment, pose, obb0.0 - 1.0Mistura duas imagens e seus rótulos, criando uma imagem composta. Melhora a capacidade do modelo de generalizar ao introduzir ruído de rótulo e variabilidade visual.
cutmixfloat0detect, segment, pose, obb0.0 - 1.0Combina porções de duas imagens, criando uma mistura parcial enquanto mantém regiões distintas. Aumenta a robustez do modelo ao criar cenários de oclusão.
copy_pastefloat0segment0.0 - 1.0Copia e cola objetos entre imagens para aumentar as instâncias de objetos.
copy_paste_modestrflipsegment-Especifica a estratégia de copy-paste a ser usada. As opções incluem 'flip' e 'mixup'.
auto_augmentstrrandaugmentclassify-Aplica uma política de aumento predefinida ('randaugment', 'autoaugment' ou 'augmix') para aprimorar o desempenho do modelo através da diversidade visual.
erasingfloat0.4classify0.0 - 1.0Apaga aleatoriamente regiões da imagem durante o treinamento para incentivar o modelo a focar em características menos óbvias.
augmentationslist``detect, segment, pose, obb-Transformações personalizadas de Albumentations para aumento de dados avançado (apenas API Python). Aceita uma lista de objetos de transformação para necessidades de aumento especializadas.

Ajuste essas configurações para atender aos requisitos do conjunto de dados e da tarefa. Experimentar com diferentes valores pode ajudar a encontrar a estratégia de aumentação ideal para o melhor desempenho do modelo.

Guia de Aumentação

Link to this sectionConfigurações de Registro, Checkpoints e Plotagem#

Registro, checkpoints, plotagem e gerenciamento de arquivos são importantes ao treinar um modelo YOLO:

  • Logging: Track the model's progress and diagnose issues using libraries like TensorBoard or by writing to a file.
  • Checkpoints: Salve o modelo em intervalos regulares para retomar o treinamento ou experimentar com configurações diferentes.
  • Plotagem: Visualize o desempenho e o progresso do treinamento usando bibliotecas como Matplotlib ou TensorBoard.
  • Gerenciamento de arquivos: Organize os arquivos gerados durante o treinamento, como checkpoints, arquivos de log e gráficos, para fácil acesso e análise.

O gerenciamento eficaz desses aspectos ajuda a rastrear o progresso e torna a depuração e a otimização mais fáceis.

ArgumentoPredefiniçãoDescrição
projectNoneEspecifica o diretório raiz para salvar as execuções de treinamento. Se não for especificado, as execuções são salvas em runs/<task>. Cada execução é salva em um subdiretório separado.
nameNoneDefine o nome do experimento. Se não for especificado, o YOLO usa o nome do modo e o incrementa para cada execução (por exemplo, train, train-2) para evitar substituições.
exist_okFalseDetermina se deve substituir um diretório de experimento existente. True permite a substituição; False a impede.
plotsTrueControla a geração e salvamento de gráficos de treinamento e validação. Defina como True para criar gráficos como curvas de perda, curvas de precisão-recall e previsões de amostra para rastreamento visual do desempenho.
saveTrueAtiva o salvamento de checkpoints de treinamento e pesos finais do modelo. Defina como True para salvar os estados do modelo periodicamente, permitindo a retomada do treinamento ou a implantação do modelo.

Link to this sectionArquivo de Configuração Personalizado#

Carregue um YAML salvo para reutilizar um conjunto completo de argumentos sem passá-los em linha. O argumento cfg substitui valores de default.yaml, enquanto argumentos adicionais passados ao lado ainda têm precedência.

ArgumentoPredefiniçãoDescrição
cfgNoneCaminho para um arquivo YAML cujos valores substituem as entradas de default.yaml. Veja Substituindo o Arquivo de Configuração Padrão para um exemplo prático de CLI.

Link to this sectionFAQ#

Link to this sectionComo posso melhorar o desempenho do meu modelo YOLO durante o treinamento?#

Melhore o desempenho ajustando hiperparâmetros como tamanho do lote, taxa de aprendizado, momentum e decaimento de peso. Ajuste as configurações de aumentação de dados, selecione o otimizador correto e use técnicas como parada antecipada ou precisão mista. Para detalhes, veja o Guia de Treinamento.

Link to this sectionQuais são os principais hiperparâmetros para a precisão do modelo YOLO?#

Os principais hiperparâmetros que afetam a precisão incluem:

  • Tamanho do Lote (batch): Tamanhos maiores podem estabilizar o treinamento, mas precisam de mais memória.
  • Taxa de Aprendizado (lr0): Taxas menores oferecem ajustes finos, mas convergência mais lenta.
  • Momentum (momentum): Acelera vetores de gradiente, amortecendo oscilações.
  • Tamanho da Imagem (imgsz): Tamanhos maiores melhoram a precisão, mas aumentam a carga computacional.

Ajuste-os com base no seu conjunto de dados e hardware. Saiba mais em Configurações de Treinamento.

Link to this sectionComo defino a taxa de aprendizado para treinar um modelo YOLO?#

A taxa de aprendizado (lr0) é crucial; comece com 0.01 para SGD ou 0.001 para otimizador Adam. Monitore as métricas e ajuste conforme necessário. Use schedulers de taxa de aprendizado de cosseno (cos_lr) ou aquecimento (warmup_epochs, warmup_momentum). Detalhes estão no Guia de Treinamento.

Link to this sectionQuais são as configurações padrão de inferência para modelos YOLO?#

As configurações padrão incluem:

  • Limite de Confiança (conf=0.25): Confiança mínima para detecções.
  • Limite de IoU (iou=0.7): Para Supressão Não Máxima (NMS).
  • Tamanho da Imagem (imgsz=640): Redimensiona imagens de entrada.
  • Dispositivo (device=None): Seleciona CPU, GPU, Apple MPS ou Huawei Ascend NPU (npu).

Para uma visão geral completa, consulte Configurações de Predição e o Guia de Predição.

Link to this sectionPor que usar treinamento de precisão mista com modelos YOLO?#

O treinamento com precisão mista (amp=True) reduz o uso de memória e acelera o treinamento usando FP16 e FP32. É benéfico para GPUs modernas, permitindo modelos maiores e cálculos mais rápidos sem perda significativa de precisão. Saiba mais no Guia de Treinamento.

Comentários