Salta para o conte√ļdo

Configuração

YOLO As defini√ß√Ķes e os hiperpar√Ęmetros desempenham um papel fundamental no desempenho, velocidade e precis√£o do modelo. Estas defini√ß√Ķes e hiperpar√Ęmetros podem afetar o comportamento do modelo em v√°rias fases do processo de desenvolvimento do modelo, incluindo forma√ß√£o, valida√ß√£o e previs√£o.



Observa: Dominar Ultralytics YOLOv8 : Configuração

Ultralytics utiliza a seguinte sintaxe:

Exemplo

yolo TASK MODE ARGS
from ultralytics import YOLO

# Load a YOLOv8 model from a pre-trained weights file
model = YOLO("yolov8n.pt")

# Run MODE mode using the custom arguments ARGS (guess TASK)
model.MODE(ARGS)

Onde:

Predefinição ARG Os valores são definidos nesta página a partir do cfg/defaults.yaml ficheiro.

Tarefas

YOLO podem ser utilizados para uma variedade de tarefas, incluindo deteção, segmentação, classificação e pose. Estas tarefas diferem no tipo de resultados que produzem e no problema específico que foram concebidos para resolver.

  • Detecta: Para identificar e localizar objectos ou regi√Ķes de interesse numa imagem ou v√≠deo.
  • Segmentar: Para dividir uma imagem ou v√≠deo em regi√Ķes ou pixels que correspondem a diferentes objectos ou classes.
  • Classifica: Para prever a etiqueta da classe de uma imagem de entrada.
  • Pose: Para identificar objectos e estimar os seus pontos-chave numa imagem ou v√≠deo.
  • OBB: Caixas delimitadoras orientadas (ou seja, rodadas) adequadas para imagens de sat√©lite ou m√©dicas.
Argumenta Predefinição Descrição
task 'detect' Especifica a tarefa YOLO a ser executada. As op√ß√Ķes incluem detect para a dete√ß√£o de objectos, segment para a segmenta√ß√£o, classify para a classifica√ß√£o, pose para a estimativa da pose e OBB para caixas delimitadoras orientadas. Cada tarefa √© adaptada a tipos espec√≠ficos de resultados e problemas no √Ęmbito da an√°lise de imagens e v√≠deos.

Guia de tarefas

Modos

YOLO Os modelos podem ser utilizados em diferentes modos, dependendo do problema específico que estás a tentar resolver. Estes modos incluem:

  • Treina: Para treinar um modelo YOLOv8 num conjunto de dados personalizado.
  • Val: Para validar um modelo YOLOv8 depois de ter sido treinado.
  • Prev√™: Para fazer previs√Ķes utilizando um modelo YOLOv8 treinado em novas imagens ou v√≠deos.
  • Exportar: Para exportar um modelo YOLOv8 para um formato que possa ser usado para implanta√ß√£o.
  • Rastreia: Para seguir objectos em tempo real utilizando um modelo YOLOv8 .
  • Marca de refer√™ncia: Para aferir a velocidade e a precis√£o das exporta√ß√Ķes YOLOv8 (ONNX, TensorRT, etc.).
Argumenta Predefinição Descrição
mode 'train' Especifica o modo em que o modelo YOLO funciona. As op√ß√Ķes s√£o train para o treino do modelo, val para valida√ß√£o, predict para inferir sobre novos dados, export para a convers√£o de modelos em formatos de implanta√ß√£o, track para o seguimento de objectos, e benchmark para avalia√ß√£o do desempenho. Cada modo foi concebido para diferentes fases do ciclo de vida do modelo, desde o desenvolvimento at√© √† implementa√ß√£o.

Guia de modos

Defini√ß√Ķes do comboio

As defini√ß√Ķes de treino para os modelos YOLO englobam v√°rios hiperpar√Ęmetros e configura√ß√Ķes utilizados durante o processo de treino. Estas defini√ß√Ķes influenciam o desempenho, a velocidade e a precis√£o do modelo. As principais defini√ß√Ķes de treino incluem o tamanho do lote, a taxa de aprendizagem, o momento e a diminui√ß√£o do peso. Al√©m disso, a escolha do optimizador, a fun√ß√£o de perda e a composi√ß√£o do conjunto de dados de treino podem ter impacto no processo de treino. O ajuste cuidadoso e a experimenta√ß√£o com estas defini√ß√Ķes s√£o cruciais para otimizar o desempenho.

Argumenta Predefinição Descrição
model None Especifica o arquivo de modelo para treinamento. Aceita um caminho para um arquivo .pt modelo pré-treinado ou um .yaml ficheiro de configuração. Essencial para definir a estrutura do modelo ou inicializar os pesos.
data None Caminho para o ficheiro de configura√ß√£o do conjunto de dados (por exemplo, coco8.yaml). Este ficheiro cont√©m par√Ęmetros espec√≠ficos do conjunto de dados, incluindo caminhos para os dados de treino e valida√ß√£o, nomes de classes e n√ļmero de classes.
epochs 100 N√ļmero total de √©pocas de treino. Cada √©poca representa uma passagem completa por todo o conjunto de dados. O ajuste deste valor pode afetar a dura√ß√£o do treino e o desempenho do modelo.
time None Tempo m√°ximo de forma√ß√£o em horas. Se estiver definido, substitui a op√ß√£o epochs permitindo que a forma√ß√£o pare automaticamente ap√≥s a dura√ß√£o especificada. √ötil para cen√°rios de forma√ß√£o com restri√ß√Ķes de tempo.
patience 100 N√ļmero de √©pocas a aguardar sem melhoria nas m√©tricas de valida√ß√£o antes de parar o treino antecipadamente. Ajuda a evitar o sobreajuste, interrompendo o treino quando o desempenho atinge um patamar.
batch 16 Batch size, with three modes: set as an integer (e.g., batch=16), auto mode for 60% GPU memory utilization (batch=-1), or auto mode with specified utilization fraction (batch=0.70).
imgsz 640 Dimens√£o da imagem alvo para treino. Todas as imagens s√£o redimensionadas para esta dimens√£o antes de serem introduzidas no modelo. Afecta a precis√£o do modelo e a complexidade computacional.
save True Permite guardar os pontos de verifica√ß√£o do treino e os pesos finais do modelo. √Č √ļtil para retomar o treino ou a implementa√ß√£o do modelo.
save_period -1 Frequ√™ncia de grava√ß√£o dos pontos de controlo do modelo, especificada em √©pocas. Um valor de -1 desactiva esta funcionalidade. √ötil para guardar modelos provis√≥rios durante longas sess√Ķes de treino.
cache False Ativa a colocação em cache das imagens do conjunto de dados na memória (True/ram), no disco (disk), ou desactiva-a (False). Melhora a velocidade de treino reduzindo as E/S do disco à custa de uma maior utilização da memória.
device None Especifica o(s) dispositivo(s) computacional(ais) para a forma√ß√£o: uma √ļnica GPU (device=0), v√°rias GPUs (device=0,1), CPU (device=cpu), ou MPS para sil√≠cio Apple (device=mps).
workers 8 N√ļmero de threads de trabalho para carregamento de dados (por RANK se estiver a treinar com v√°rias GPUs). Influencia a velocidade do pr√©-processamento de dados e a alimenta√ß√£o do modelo, especialmente √ļtil em configura√ß√Ķes multi-GPU.
project None Nome do diretório do projeto onde são guardados os resultados do treino. Permite o armazenamento organizado de diferentes experiências.
name None Nome da ação de formação. Utilizado para criar uma subdiretoria dentro da pasta do projeto, onde são armazenados os registos e os resultados da formação.
exist_ok False Se Verdadeiro, permite a substituição de um diretório de projeto/nome existente. Útil para experimentação iterativa sem a necessidade de limpar manualmente as saídas anteriores.
pretrained True Determina se deve iniciar o treino a partir de um modelo pré-treinado. Pode ser um valor booleano ou um caminho de cadeia de caracteres para um modelo específico a partir do qual carregar pesos. Melhora a eficiência do treinamento e o desempenho do modelo.
optimizer 'auto' Escolhe o optimizador para a forma√ß√£o. As op√ß√Ķes incluem SGD, Adam, AdamW, NAdam, RAdam, RMSProp etc., ou auto para sele√ß√£o autom√°tica com base na configura√ß√£o do modelo. Afecta a velocidade de converg√™ncia e a estabilidade.
verbose False Ativa a sa√≠da detalhada durante o treino, fornecendo registos detalhados e actualiza√ß√Ķes de progresso. √Č √ļtil para depurar e monitorizar de perto o processo de forma√ß√£o.
seed 0 Define a semente aleat√≥ria para o treino, garantindo a reprodutibilidade dos resultados entre execu√ß√Ķes com as mesmas configura√ß√Ķes.
deterministic True Força a utilização de algoritmos determinísticos, garantindo a reprodutibilidade, mas pode afetar o desempenho e a velocidade devido à restrição de algoritmos não determinísticos.
single_cls False Trata todas as classes em conjuntos de dados multi-classe como uma √ļnica classe durante o treino. √ötil para tarefas de classifica√ß√£o bin√°ria ou quando se concentra na presen√ßa de objectos em vez de na classifica√ß√£o.
rect False Permite a formação retangular, optimizando a composição do lote para um preenchimento mínimo. Pode melhorar a eficiência e a velocidade, mas pode afetar a precisão do modelo.
cos_lr False Utiliza um programador de taxa de aprendizagem cosseno, ajustando a taxa de aprendizagem seguindo uma curva cosseno ao longo de épocas. Ajuda a gerir a taxa de aprendizagem para uma melhor convergência.
close_mosaic 10 Desactiva o aumento dos dados do mosaico nas √ļltimas N √©pocas para estabilizar o treino antes da conclus√£o. Definir como 0 desactiva esta funcionalidade.
resume False Reinicia o treinamento a partir do √ļltimo ponto de verifica√ß√£o salvo. Carrega automaticamente os pesos do modelo, o estado do otimizador e a contagem de √©pocas, continuando o treinamento sem problemas.
amp True Permite a formação automática de precisão mista (AMP), reduzindo a utilização de memória e possivelmente acelerando a formação com um impacto mínimo na precisão.
fraction 1.0 Especifica a fra√ß√£o do conjunto de dados a utilizar para o treino. Permite o treino num subconjunto do conjunto de dados completo, √ļtil para experi√™ncias ou quando os recursos s√£o limitados.
profile False Permite a cria√ß√£o de perfis de ONNX e TensorRT velocidades durante o treino, √ļtil para otimizar a implementa√ß√£o do modelo.
freeze None Congela 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 aprendizagem por transfer√™ncia.
lr0 0.01 Taxa de aprendizagem inicial (i.e. SGD=1E-2, Adam=1E-3) . O ajuste deste valor é crucial para o processo de otimização, influenciando a rapidez com que os pesos do modelo são actualizados.
lrf 0.01 Taxa de aprendizagem final como fração da taxa inicial = (lr0 * lrf), utilizado em conjunto com programadores para ajustar a taxa de aprendizagem ao longo do tempo.
momentum 0.937 Fator de momento para SGD ou beta1 para optimizadores Adam, que influencia a incorporação de gradientes passados na atualização atual.
weight_decay 0.0005 Termo de regularização L2, penalizando pesos grandes para evitar o sobreajuste.
warmup_epochs 3.0 N√ļmero de √©pocas para o aquecimento da taxa de aprendizagem, aumentando gradualmente a taxa de aprendizagem de um valor baixo para a taxa de aprendizagem inicial para estabilizar a forma√ß√£o numa fase inicial.
warmup_momentum 0.8 Momento inicial para a fase de aquecimento, ajustando-se gradualmente ao momento definido durante o período de aquecimento.
warmup_bias_lr 0.1 Taxa de aprendizagem para par√Ęmetros de polariza√ß√£o durante a fase de aquecimento, ajudando a estabilizar o treinamento do modelo nas √©pocas iniciais.
box 7.5 Peso do componente de perda de caixa na fun√ß√£o de perda, influenciando a import√Ęncia dada √† previs√£o exacta das coordenadas da caixa delimitadora.
cls 0.5 Peso da perda de classifica√ß√£o na fun√ß√£o de perda total, afectando a import√Ęncia da previs√£o correcta da classe em rela√ß√£o a outros componentes.
dfl 1.5 Peso da perda focal da distribui√ß√£o, utilizado em determinadas vers√Ķes de YOLO para uma classifica√ß√£o fina.
pose 12.0 Peso da perda de pose nos modelos treinados para a estimativa de pose, influenciando a ênfase na previsão exacta dos pontos-chave da pose.
kobj 2.0 Peso da perda de objetividade do ponto-chave nos modelos de estimação da pose, equilibrando a confiança na deteção com a precisão da pose.
label_smoothing 0.0 Aplica a suavização de rótulos, suavizando os rótulos rígidos para uma mistura do rótulo alvo e uma distribuição uniforme sobre os rótulos, pode melhorar a generalização.
nbs 64 Tamanho nominal do lote para normalização da perda.
overlap_mask True Determina se as m√°scaras de segmenta√ß√£o se devem sobrepor durante o treino, aplic√°vel em tarefas de segmenta√ß√£o de inst√Ęncias.
mask_ratio 4 Rácio de downsample para máscaras de segmentação, que afecta a resolução das máscaras utilizadas durante o treino.
dropout 0.0 Taxa de desistência para regularização em tarefas de classificação, evitando o sobreajuste através da omissão aleatória de unidades durante o treino.
val True Permite a validação durante o treino, permitindo a avaliação periódica do desempenho do modelo num conjunto de dados separado.
plots False Gera e guarda gr√°ficos de m√©tricas de treino e valida√ß√£o, bem como exemplos de previs√£o, fornecendo informa√ß√Ķes visuais sobre o desempenho do modelo e a progress√£o da aprendizagem.

Note on Batch-size Settings

O batch argument can be configured in three ways:

  • Fixed Batch Size: Set an integer value (e.g., batch=16), specifying the number of images per batch directly.
  • Auto Mode (60% GPU Memory): Use batch=-1 to automatically adjust batch size for approximately 60% CUDA memory utilization.
  • Auto Mode with Utilization Fraction: Set a fraction value (e.g., batch=0.70) to adjust batch size based on the specified fraction of GPU memory usage.

Guia do comboio

Prever defini√ß√Ķes

As defini√ß√Ķes de previs√£o dos modelos YOLO abrangem uma s√©rie de hiperpar√Ęmetros e configura√ß√Ķes que influenciam o desempenho, a velocidade e a precis√£o do modelo durante a infer√™ncia de novos dados. O ajuste cuidadoso e a experimenta√ß√£o com estas defini√ß√Ķes s√£o essenciais para obter um desempenho √≥timo para uma tarefa espec√≠fica. As principais defini√ß√Ķes incluem o limiar de confian√ßa, o limiar de supress√£o n√£o m√°xima (NMS) e o n√ļmero de classes consideradas. Outros factores que afectam o processo de previs√£o s√£o o tamanho e o formato dos dados de entrada, a presen√ßa de caracter√≠sticas suplementares, como m√°scaras ou v√°rias etiquetas por caixa, e a tarefa espec√≠fica para a qual o modelo √© utilizado.

Argumentos de inferência:

Argumenta Tipo Predefinição Descrição
source str 'ultralytics/assets' Especifica 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. Suporta uma vasta gama de formatos e fontes, permitindo uma aplicação flexível em diferentes tipos de entrada.
conf float 0.25 Define o limite m√≠nimo de confian√ßa para as detec√ß√Ķes. Os objectos detectados com confian√ßa abaixo deste limite ser√£o ignorados. Ajustar este valor pode ajudar a reduzir os falsos positivos.
iou float 0.7 Limiar de Intersec√ß√£o sobre Uni√£o (IoU) para Supress√£o N√£o M√°xima (NMS). Valores mais baixos resultam em menos detec√ß√Ķes, eliminando caixas sobrepostas, o que √© √ļtil para reduzir duplicados.
imgsz int or tuple 640 Define o tamanho da imagem para infer√™ncia. Pode ser um √ļnico n√ļmero inteiro 640 para redimensionamento quadrado ou uma tupla (altura, largura). O dimensionamento correto pode melhorar a precis√£o da dete√ß√£o e a velocidade de processamento.
half bool False Permite a inferência de meia-precisão (FP16), que pode acelerar a inferência de modelos em GPUs compatíveis com um impacto mínimo na precisão.
device str None Especifica o dispositivo para inferência (por exemplo, cpu, cuda:0 ou 0). Permite que os usuários selecionem entre CPU, uma GPU específica ou outros dispositivos de computação para a execução do modelo.
max_det int 300 N√ļmero m√°ximo de detec√ß√Ķes permitidas por imagem. Limita o n√ļmero total de objectos que o modelo pode detetar numa √ļnica infer√™ncia, evitando sa√≠das excessivas em cenas densas.
vid_stride int 1 Avanço 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 cada fotograma, valores mais altos saltam fotogramas.
stream_buffer bool False Determina se todos os quadros devem ser armazenados em buffer ao processar fluxos de v√≠deo (True), ou se o modelo deve retornar o quadro mais recente (False). √ötil para aplica√ß√Ķes em tempo real.
visualize bool False Ativa a visualiza√ß√£o dos recursos do modelo durante a infer√™ncia, fornecendo informa√ß√Ķes sobre o que o modelo est√° "vendo". √ötil para depura√ß√£o e interpreta√ß√£o do modelo.
augment bool False Permite o aumento do tempo de teste (TTA) para previs√Ķes, melhorando potencialmente a robustez da dete√ß√£o √† custa da velocidade de infer√™ncia.
agnostic_nms bool False Permite a supressão não máxima (NMS) independente de classe, que mescla caixas sobrepostas de classes diferentes. Útil em cenários de deteção de várias classes em que a sobreposição de classes é comum.
classes list[int] None Filtra as previs√Ķes para um conjunto de IDs de classe. Apenas as detec√ß√Ķes pertencentes √†s classes especificadas ser√£o retornadas. √ötil para se concentrar em objetos relevantes em tarefas de dete√ß√£o de v√°rias classes.
retina_masks bool False Usa máscaras de segmentação de alta resolução, se disponíveis no modelo. Isso pode melhorar a qualidade da máscara para tarefas de segmentação, fornecendo detalhes mais finos.
embed list[int] None Especifica as camadas a partir das quais se extraem vectores de caracter√≠sticas ou incorpora√ß√Ķes. √ötil para tarefas a jusante como o agrupamento ou a pesquisa de semelhan√ßas.

Argumentos de visualização:

Argumenta Tipo Predefinição Descrição
show bool False Se TrueApresenta as imagens ou v√≠deos anotados numa janela. √Č √ļtil para obter feedback visual imediato durante o desenvolvimento ou o teste.
save bool False Permite guardar as imagens ou vídeos anotados num ficheiro. Útil para documentação, análise posterior ou partilha de resultados.
save_frames bool False Ao processar v√≠deos, guarda fotogramas individuais como imagens. √Č √ļtil para extrair fotogramas espec√≠ficos ou para uma an√°lise detalhada fotograma a fotograma.
save_txt bool False Guarda os resultados da deteção num ficheiro de texto, seguindo o formato [class] [x_center] [y_center] [width] [height] [confidence]. Útil para a integração com outras ferramentas de análise.
save_conf bool False Inclui pontua√ß√Ķes de confian√ßa nos arquivos de texto salvos. Aumenta o detalhe dispon√≠vel para p√≥s-processamento e an√°lise.
save_crop bool False Guarda imagens cortadas de detec√ß√Ķes. √ötil para aumentar o conjunto de dados, analisar ou criar conjuntos de dados espec√≠ficos para objectos espec√≠ficos.
show_labels bool True Apresenta etiquetas para cada deteção na saída visual. Proporciona uma compreensão imediata dos objectos detectados.
show_conf bool True Apresenta a pontuação de confiança para cada deteção ao lado da etiqueta. Dá uma ideia da certeza do modelo para cada deteção.
show_boxes bool True Desenha caixas delimitadoras em torno dos objectos detectados. Essencial para a identificação visual e localização de objectos em imagens ou fotogramas de vídeo.
line_width None or int None Especifica a largura da linha das caixas delimitadoras. Se NoneSe não tiveres a certeza, a largura da linha é automaticamente ajustada com base no tamanho da imagem. Proporciona uma personalização visual para maior clareza.

Guia de previs√£o

Defini√ß√Ķes de valida√ß√£o

As defini√ß√Ķes de val (valida√ß√£o) para os modelos YOLO envolvem v√°rios hiperpar√Ęmetros e configura√ß√Ķes utilizados para avaliar o desempenho do modelo num conjunto de dados de valida√ß√£o. Essas configura√ß√Ķes influenciam o desempenho, a velocidade e a precis√£o do modelo. As configura√ß√Ķes comuns de valida√ß√£o do YOLO incluem o tamanho do lote, a frequ√™ncia de valida√ß√£o durante o treinamento e as m√©tricas de avalia√ß√£o de desempenho. Outros factores que afectam o processo de valida√ß√£o incluem o tamanho e a composi√ß√£o do conjunto de dados de valida√ß√£o, bem como a tarefa espec√≠fica para a qual o modelo √© utilizado.

Argumenta Tipo Predefinição Descrição
data str None Especifica o caminho para o ficheiro de configura√ß√£o do conjunto de dados (por exemplo, coco8.yaml). Este ficheiro inclui caminhos para os dados de valida√ß√£o, nomes de classes e n√ļmero de classes.
imgsz int 640 Define o tamanho das imagens de entrada. Todas as imagens s√£o redimensionadas para esta dimens√£o antes do processamento.
batch int 16 Define o n√ļmero de imagens por lote. Usa -1 para o AutoBatch, que se ajusta automaticamente com base na disponibilidade de mem√≥ria da GPU.
save_json bool False Se Trueguarda os resultados num ficheiro JSON para análise posterior ou integração com outras ferramentas.
save_hybrid bool False Se Trueguarda uma vers√£o h√≠brida das etiquetas que combina anota√ß√Ķes originais com previs√Ķes adicionais do modelo.
conf float 0.001 Define o limite m√≠nimo de confian√ßa para as detec√ß√Ķes. As detec√ß√Ķes com confian√ßa inferior a este limiar s√£o rejeitadas.
iou float 0.6 Define o limiar de Intersec√ß√£o sobre Uni√£o (IoU) para Supress√£o N√£o M√°xima (NMS). Ajuda a reduzir as detec√ß√Ķes duplicadas.
max_det int 300 Limita o n√ļmero m√°ximo de detec√ß√Ķes por imagem. √ötil em cenas densas para evitar detec√ß√Ķes excessivas.
half bool True Permite o cálculo de meia-precisão (FP16), reduzindo a utilização de memória e aumentando potencialmente a velocidade com um impacto mínimo na precisão.
device str None Especifica o dispositivo para validação (cpu, cuda:0etc.). Permite flexibilidade na utilização de recursos de CPU ou GPU.
dnn bool False Se Trueutiliza o módulo OpenCV DNN para ONNX inferência de modelos, oferecendo uma alternativa aos métodos de inferência PyTorch .
plots bool False Quando definido para Truegera e guarda gr√°ficos de previs√Ķes versus verdade terrestre para avalia√ß√£o visual do desempenho do modelo.
rect bool False Se Trueutiliza a inferência retangular para a formação de lotes, reduzindo o preenchimento e aumentando potencialmente a velocidade e a eficiência.
split str val Determina a divisão do conjunto de dados a utilizar para a validação (val, test, ou train). Permite flexibilidade na escolha do segmento de dados para avaliação do desempenho.

O ajuste cuidadoso e a experimenta√ß√£o com estas defini√ß√Ķes s√£o cruciais para garantir um desempenho √≥timo no conjunto de dados de valida√ß√£o e detetar e evitar o sobreajuste.

Guia Val

Exportar defini√ß√Ķes

As defini√ß√Ķes de exporta√ß√£o para modelos YOLO abrangem configura√ß√Ķes e op√ß√Ķes relacionadas com a grava√ß√£o ou exporta√ß√£o do modelo para utiliza√ß√£o em diferentes ambientes ou plataformas. Essas configura√ß√Ķes podem afetar o desempenho, o tamanho e a compatibilidade do modelo com v√°rios sistemas. As principais configura√ß√Ķes de exporta√ß√£o incluem o formato de arquivo do modelo exportado (por exemplo, ONNX, TensorFlow SavedModel ), o dispositivo de destino (por exemplo, CPU, GPU) e recursos adicionais, como m√°scaras ou v√°rios r√≥tulos por caixa. O processo de exporta√ß√£o tamb√©m pode ser afetado pela tarefa espec√≠fica do modelo e pelos requisitos ou restri√ß√Ķes do ambiente ou plataforma de destino.

Argumenta Tipo Predefinição Descrição
format str 'torchscript' Formato de destino para o modelo exportado, como por exemplo 'onnx', 'torchscript', 'tensorflow'ou outros, definindo a compatibilidade com vários ambientes de implantação.
imgsz int ou tuple 640 Tamanho de imagem pretendido para a entrada do modelo. Pode ser um n√ļmero inteiro para imagens quadradas ou uma tupla (height, width) para dimens√Ķes espec√≠ficas.
keras bool False Permite exportar para o formato Keras para TensorFlow SavedModel , proporcionando compatibilidade com TensorFlow servindo e APIs.
optimize bool False Aplica a otimização para dispositivos móveis ao exportar para TorchScript, reduzindo potencialmente o tamanho do modelo e melhorando o desempenho.
half bool False Permite a quantização FP16 (meia-precisão), reduzindo o tamanho do modelo e potencialmente acelerando a inferência no hardware suportado.
int8 bool False Ativa a quantização INT8, comprimindo ainda mais o modelo e acelerando a inferência com uma perda mínima de precisão, principalmente para dispositivos de ponta.
dynamic bool False Permite tamanhos de entrada din√Ęmicos para exporta√ß√Ķes para ONNX e TensorRT , aumentando a flexibilidade no tratamento de dimens√Ķes de imagem vari√°veis.
simplify bool False Simplifica o gr√°fico do modelo para ONNX exporta√ß√Ķes, melhorando potencialmente o desempenho e a compatibilidade.
opset int None Especifica a vers√£o do ONNX opset para compatibilidade com diferentes analisadores e tempos de execu√ß√£o do ONNX . Se n√£o for definido, utiliza a √ļltima vers√£o suportada.
workspace float 4.0 Define o tamanho m√°ximo do espa√ßo de trabalho em GB para as optimiza√ß√Ķes do TensorRT , equilibrando a utiliza√ß√£o da mem√≥ria e o desempenho.
nms bool False Adiciona Supressão Não Máxima (NMS) à exportação CoreML , essencial para um pós-processamento de deteção preciso e eficiente.

√Č crucial configurar cuidadosamente estas defini√ß√Ķes para garantir que o modelo exportado √© optimizado para o caso de utiliza√ß√£o pretendido e funciona eficazmente no ambiente de destino.

Guia de exportação

Defini√ß√Ķes de aumento

As técnicas de aumento são essenciais para melhorar a robustez e o desempenho dos modelos YOLO , introduzindo variabilidade nos dados de treino, ajudando o modelo a generalizar melhor para dados não vistos. A tabela seguinte descreve o objetivo e o efeito de cada argumento de aumento:

Argumenta Tipo Predefinição Alcance Descrição
hsv_h float 0.015 0.0 - 1.0 Ajusta a tonalidade da imagem por uma fra√ß√£o da roda de cores, introduzindo variabilidade de cores. Ajuda o modelo a generalizar em diferentes condi√ß√Ķes de ilumina√ß√£o.
hsv_s float 0.7 0.0 - 1.0 Altera a satura√ß√£o da imagem por uma fra√ß√£o, afectando a intensidade das cores. √ötil para simular diferentes condi√ß√Ķes ambientais.
hsv_v float 0.4 0.0 - 1.0 Modifica o valor (brilho) da imagem por uma fra√ß√£o, ajudando o modelo a ter um bom desempenho em v√°rias condi√ß√Ķes de ilumina√ß√£o.
degrees float 0.0 -180 - +180 Roda a imagem aleatoriamente dentro do intervalo de graus especificado, melhorando a capacidade do modelo para reconhecer objectos em v√°rias orienta√ß√Ķes.
translate float 0.1 0.0 - 1.0 Traduz a imagem horizontal e verticalmente por uma fração do tamanho da imagem, ajudando a aprender a detetar objectos parcialmente visíveis.
scale float 0.5 >=0.0 Escala a imagem por um fator de ganho, simulando objectos a diferentes dist√Ęncias da c√Ęmara.
shear float 0.0 -180 - +180 Corta a imagem num grau especificado, imitando o efeito de objectos vistos de √Ęngulos diferentes.
perspective float 0.0 0.0 - 0.001 Aplica uma transformação de perspetiva aleatória à imagem, melhorando a capacidade do modelo para compreender objectos no espaço 3D.
flipud float 0.0 0.0 - 1.0 Vira a imagem ao contrário com a probabilidade especificada, aumentando a variabilidade dos dados sem afetar as características do objeto.
fliplr float 0.5 0.0 - 1.0 Inverte a imagem da esquerda para a direita com a probabilidade especificada, √ļtil para aprender objectos sim√©tricos e aumentar a diversidade do conjunto de dados.
bgr float 0.0 0.0 - 1.0 Inverte os canais de imagem de RGB para BGR com a probabilidade especificada, √ļtil para aumentar a robustez da ordena√ß√£o incorrecta dos canais.
mosaic float 1.0 0.0 - 1.0 Combina quatro imagens de treino numa s√≥, simulando diferentes composi√ß√Ķes de cenas e interac√ß√Ķes de objectos. Altamente eficaz para a compreens√£o de cenas complexas.
mixup float 0.0 0.0 - 1.0 Mistura duas imagens e seus rótulos, criando uma imagem composta. Melhora a capacidade de generalização do modelo, introduzindo ruído de etiqueta e variabilidade visual.
copy_paste float 0.0 0.0 - 1.0 Copia objectos de uma imagem e cola-os noutra, √ļtil para aumentar as inst√Ęncias de objectos e aprender a oclus√£o de objectos.
auto_augment str randaugment - Aplica automaticamente uma política de aumento predefinida (randaugment, autoaugment, augmix), optimizando as tarefas de classificação através da diversificação das características visuais.
erasing float 0.4 0.0 - 0.9 Apaga aleatoriamente uma parte da imagem durante o treino de classificação, encorajando o modelo a concentrar-se em características menos óbvias para o reconhecimento.
crop_fraction float 1.0 0.1 - 1.0 Corta a imagem de classifica√ß√£o para uma fra√ß√£o do seu tamanho para enfatizar as caracter√≠sticas centrais e adaptar-se √†s escalas dos objectos, reduzindo as distrac√ß√Ķes de fundo.

Estas defini√ß√Ķes podem ser ajustadas para satisfazer os requisitos espec√≠ficos do conjunto de dados e da tarefa em causa. A experimenta√ß√£o de valores diferentes pode ajudar a encontrar a estrat√©gia de aumento ideal que conduz ao melhor desempenho do modelo.

Configura√ß√Ķes de registo, pontos de controlo e plotagem

O registo, os pontos de controlo, a plotagem e a gest√£o de ficheiros s√£o considera√ß√Ķes importantes quando se treina um modelo YOLO .

  • Registo: Muitas vezes √© √ļtil registar v√°rias m√©tricas e estat√≠sticas durante o treino para acompanhar o progresso do modelo e diagnosticar quaisquer problemas que possam surgir. Isto pode ser feito utilizando uma biblioteca de registo como o TensorBoard ou escrevendo mensagens de registo num ficheiro.
  • Pontos de controlo: √Č uma boa pr√°tica guardar os pontos de controlo do modelo em intervalos regulares durante o treino. Isto permite-te retomar o treino a partir de um ponto anterior se o processo de treino for interrompido ou se quiseres experimentar diferentes configura√ß√Ķes de treino.
  • Plotagem: Visualizar o desempenho do modelo e o progresso do treinamento pode ser √ļtil para entender como o modelo est√° se comportando e identificar poss√≠veis problemas. Isso pode ser feito usando uma biblioteca de plotagem, como matplotlib, ou gerando gr√°ficos usando uma biblioteca de registro, como TensorBoard.
  • Gest√£o de ficheiros: Gerir os v√°rios ficheiros gerados durante o processo de forma√ß√£o, tais como pontos de controlo do modelo, ficheiros de registo e gr√°ficos, pode ser um desafio. √Č importante ter uma estrutura de ficheiros clara e organizada para manter o controlo destes ficheiros e facilitar o acesso e a an√°lise dos mesmos, conforme necess√°rio.

O registo eficaz, os pontos de controlo, a plotagem e a gestão de ficheiros podem ajudá-lo a acompanhar o progresso do modelo e facilitar a depuração e a otimização do processo de formação.

Argumenta Predefinição Descrição
project 'runs' Especifica o diret√≥rio raiz para guardar as execu√ß√Ķes de treino. Cada execu√ß√£o ser√° guardada num subdiret√≥rio separado dentro deste diret√≥rio.
name 'exp' Define o nome da experiência. Se não for especificado, YOLO incrementa automaticamente este nome para cada execução, por exemplo, exp, exp2, etc., para evitar que escrevas por cima de experiências anteriores.
exist_ok False Determina se deve sobrescrever um diretório de experimento existente se já existir um com o mesmo nome. Definindo isto para True permite escrever por cima, enquanto que False impede-o.
plots False Controla a gera√ß√£o e a grava√ß√£o de gr√°ficos de treino e valida√ß√£o. Define para True para criar gr√°ficos como curvas de perda, curvas de precis√£o-recupera√ß√£o e previs√Ķes de amostras. √ötil para acompanhar visualmente o desempenho do modelo ao longo do tempo.
save False Permite guardar os pontos de controlo de treino e os pesos finais do modelo. Define como True para guardar periodicamente os estados dos modelos, permitindo que o treino seja retomado a partir destes pontos de controlo ou que os modelos sejam implementados.


Created 2023-11-12, Updated 2024-06-10
Authors: glenn-jocher (17), fcakyon (2), Laughing-q (2), plashchynski (1), Burhan-Q (1), AyushExel (1), RizwanMunawar (1), tensorturtle (1)

Coment√°rios