YOLO Vision 2026:

Receita de Treinamento YOLO26#

Introdução#

Este guia documenta a receita de training exata usada para produzir os checkpoints pré-treinados oficiais do YOLO26 no COCO. Cada hyperparameter apresentado aqui já está embutido nos pesos lançados de .pt e pode ser inspecionado programaticamente.

Saber o que compôs os checkpoints oficiais — não apenas a arquitetura, mas os agendamentos de learning rate, os pipelines de aumento e os pesos de perda que moldaram o desempenho deles — ajuda-te a tomar melhores decisões durante o fine-tuning: quais data augmentations manter, quais pesos de loss function ajustar e quais configurações de otimizador funcionam melhor para o tamanho do teu conjunto de dados.

Visão Geral do Treinamento#

Todos os modelos base do YOLO26 foram treinados no COCO a uma resolução de 640x640 utilizando o otimizador MuSGD com um batch size de 128. Em vez de começar a partir de pesos aleatórios numa única execução, os modelos foram inicializados a partir de pesos pré-treinados intermediários e refinados com hiperparâmetros encontrados através de evolutionary search. Os registos de treino completos e as métricas para cada tamanho de modelo estão disponíveis na Ultralytics Platform.

Principais escolhas de design em todos os tamanhos:

  • Treinamento de ponta a ponta (end2end=True) com cabeça um para um sem NMS
  • MuSGD optimizer combinando SGD com atualizações ortogonalizadas estilo Muon para matrizes de peso (pesos lineares 2D e filtros de convolução 4D, que são remodelados para 2D)
  • Aumento de mosaico pesado (probabilidade de ~0,9-1,0) desativado nas últimas 10 épocas (close_mosaic=10)
  • Aumento de escala agressivo (0.56-0.95) para lidar com objetos em diferentes tamanhos
  • Rotação/cisalhamento mínimo para a maioria dos tamanhos, mantendo a distorção geométrica baixa

Inspecionando Argumentos de Treinamento do Checkpoint YOLO26#

Todo checkpoint Ultralytics armazena a configuração de treinamento completa usada para produzi-lo, então você pode verificar cada número nesta página por si mesmo:

Inspecione os argumentos de treinamento do checkpoint
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
print(model.ckpt["train_args"])

A saída lista a configuração completa de mais de 100 entradas, incluindo cada valor de receita documentado nesta página. Um trecho para yolo26n.pt:

batch: 128
...
box: 5.62767
...
close_mosaic: 10
cls: 0.56099
...
dfl: 9.03871
...
epochs: 245
...
lr0: 0.0054
lrf: 0.04952
...
optimizer: MuSGD

Isto funciona para qualquer checkpoint de .pt — lançamentos oficiais e os teus próprios modelos ajustados. Para ver a lista completa de argumentos de treinamento configuráveis, consulta a training configuration reference.

Hiperparâmetros de Treinamento do YOLO26 por Tamanho de Modelo#

As tabelas abaixo agrupam a receita por categoria — otimizador e cronograma, pesos de perda e aumento. Cada valor vem diretamente do train_args embutido nos checkpoints lançados.

Otimizador e Taxa de Aprendizado#

Estas configurações de otimizador e cronograma impulsionaram o pré-treinamento COCO para cada tamanho; note como o modelo N se destaca dos demais:

ConfiguraçãoNSMLX
optimizerMuSGDMuSGDMuSGDMuSGDMuSGD
lr00.00540.000380.000380.000380.00038
lrf0.04950.8820.8820.8820.882
momentum0.9470.9480.9480.9480.948
weight_decay0.000640.000270.000270.000270.00027
warmup_epochs0.980.990.990.990.99
epochs24570806040
batch128128128128128
imgsz640640640640640
Estratégia de taxa de aprendizado

O modelo N usou uma taxa de aprendizado inicial mais alta com decaimento acentuado (lrf=0.0495), enquanto os modelos S/M/L/X usaram uma LR inicial muito menor com um cronograma mais suave (lrf=0.882). Isto reflete as diferentes dinâmicas de convergência de modelos menores versus maiores — modelos menores precisam de atualizações mais agressivas para aprender de forma eficaz.

Pesos de Perda#

Os pesos de perda equilibram os três componentes da perda de detecção — regressão de IoU de bounding box (box), classificação (cls) e um termo de regressão de distância de caixa (dfl). Nota que o YOLO26 sem DFL reutiliza o ganho de dfl para ponderar uma perda L1 em distâncias de caixa normalizadas em vez de perda focal de distribuição:

ConfiguraçãoNSMLX
box5.639.839.839.839.83
cls0.560.650.650.650.65
dfl9.040.960.960.960.96

O modelo N prioriza o termo de regressão de distância de dfl, enquanto os modelos S/M/L/X deslocam a ênfase para a regressão de caixa baseada em IoU. A perda de classificação permanece relativamente consistente em todos os tamanhos.

Pipeline de Aumento#

Para uma explicação detalhada de cada técnica, consulta o YOLO Data Augmentation guide.

ConfiguraçãoNSMLX
mosaic0.9090.9920.9920.9920.992
mixup0.0120.050.4270.4270.427
copy_paste0.0750.4040.3040.4040.404
scale0.5620.90.950.950.95
fliplr0.6060.3040.3040.3040.304
degrees1.11~0~0~0~0
shear1.46~0~0~0~0
translate0.0710.2750.2750.2750.275
hsv_h0.0140.0130.0130.0130.013
hsv_s0.6450.3530.3530.3530.353
hsv_v0.5660.1940.1940.1940.194
bgr0.1060.00.00.00.0

Valores exibidos como ~0 estão abaixo de 0,01 nos checkpoints reais (por exemplo, degrees=0.00012 para o modelo S) — o aumento é efetivamente desativado.

Modelos maiores usam um aumento mais agressivo em geral (mixup, copy-paste e escala mais altos), pois têm maior capacidade e se beneficiam de uma regularization mais forte. O modelo N é o único tamanho com rotação, cisalhamento e aumento BGR significativos.

Parâmetros de Treinamento Internos#

Avançado: parâmetros internos de pipeline

Os checkpoints também contêm parâmetros que foram usados no pipeline de treinamento interno, mas não são expostos como configurações configuráveis pelo usuário em default.yaml:

ConfiguraçãoDescriçãoNSMLX
muon_wPeso de atualização Muon no MuSGD0.5280.4360.4360.4360.436
sgd_wPeso de atualização SGD no MuSGD0.6740.4790.4790.4790.479
cls_wPeso de classificação interno2.743.483.483.483.48
o2mPeso da perda da head one-to-many1.00.7050.7050.7050.705
topkAtribuição de labels top-k85555

Consulta a FAQ entry on these parameters para saberes o que significam ao fazer fine-tuning.

Fine-Tuning do YOLO26 no Seu Próprio Dataset#

Ao fazer o fine-tuning do YOLO26 no teu próprio conjunto de dados, não precisas de replicar a receita de pré-treinamento completa. Os pesos pré-treinados já codificam o conhecimento de aumento e otimização do treinamento COCO. Para práticas recomendadas de treinamento mais gerais, consulta Tips for Model Training.

Fine-Tune com Configurações Padrão#

Fine-tune com padrões
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)

O fine-tuning com padrões é uma base sólida. Ajuste hiperparâmetros apenas se tiver um motivo específico para isso.

Quando Ajustar os Hiperparâmetros do YOLO26#

Datasets pequenos (< 1.000 imagens):

  • Reduzir a força do aumento: mosaic=0.5, mixup=0.0, copy_paste=0.0
  • Taxa de aprendizado mais baixa: lr0=0.001
  • Usar menos epochs com paciência: epochs=50, patience=20
  • Considerar o congelamento de camadas do backbone: freeze=10

Datasets grandes (> 50.000 imagens):

  • Siga mais de perto a receita de pré-treino
  • Considerar optimizer=MuSGD para execuções mais longas
  • Aumentar o aumento: mosaic=1.0, mixup=0.3, scale=0.9

Imagens específicas de domínio (aéreas, médicas, subaquáticas):

  • Aumentar flipud=0.5 se a orientação vertical variar
  • Aumentar degrees se os objetos aparecerem em rotações arbitrárias
  • Ajustar hsv_s e hsv_v se as condições de iluminação diferirem significativamente do COCO

Para otimização automatizada de hiperparâmetros, consulta o Hyperparameter Tuning guide.

Escolha um Tamanho de Modelo#

ModeloMelhor paraOrientação sobre Batch Size
YOLO26nDispositivos de borda, mobile, tempo real em CPUBatches grandes (64-128) em GPUs de consumo
YOLO26sVelocidade e precisão equilibradasBatches médios (32-64)
YOLO26mMaior precisão com processamento moderadoBatches menores (16-32)
YOLO26lAlta precisão quando a GPU está disponívelBatches pequenos (8-16) ou multi-GPU
YOLO26xPrecisão máxima, deploy em servidorBatches pequenos (4-8) ou multi-GPU

Para opções de exportação e implantação, consulta o Export guide e as Model Deployment Options.

Conclusão#

Os checkpoints do YOLO26 vêm com a sua receita de treinamento completa embutida, portanto os hiperparâmetros exatos por trás de cada tamanho de modelo estão sempre a uma consulta de train_args de distância. Começa o fine-tuning a partir dos padrões, ajusta deliberadamente usando as tabelas nesta página e verifica cada alteração em relação ao teu próprio conjunto de validação. Se surgirem dúvidas ao longo do caminho, pergunta à comunidade no Ultralytics GitHub repository ou no Ultralytics Discord server.

FAQ#

  • Carrega o checkpoint com torch.load() e acede à chave train_args, ou usa model.ckpt["train_args"] com a Ultralytics API. Consulta Inspecting YOLO26 Checkpoint Training Args para exemplos completos.

  • Modelos maiores geralmente precisaram de menos épocas no COCO porque a sua maior capacidade acelera a convergência — o modelo X foi treinado por 40 épocas em comparação com 245 para o N —, embora as contagens não sejam estritamente monotônicas (o S usou 70, o M usou 80). Ao fazer o fine-tuning no teu próprio conjunto de dados, o número ideal de épocas depende do tamanho e da complexidade do teu conjunto de dados, e não do tamanho do modelo. Usa a parada antecipada (patience) para encontrar o ponto de parada correto automaticamente.

  • Normalmente não precisas de escolher: com o optimizer=auto padrão, o Ultralytics seleciona automaticamente MuSGD para execuções de treinamento mais longas (>10.000 iterações) e AdamW para as mais curtas. Podes definir explicitamente optimizer=MuSGD se preferires. Para mais informações sobre como o MuSGD funciona, consulta a training documentation.

  • Estes são parâmetros internos do pipeline de treinamento que produziu os checkpoints base, gravados em train_args para reprodutibilidade. Eles não são configurações configuráveis pelo usuário em default.yaml, e passá-los para model.train() gera um erro de argumento inválido — o pacote público não os lê. Não precisas de os definir ao fazer o fine-tuning; consulta Internal Training Parameters para ver os seus valores por tamanho de modelo.

  • Não exatamente — os checkpoints foram produzidos usando um branch de treinamento interno com recursos adicionais que não estão na base de código pública (como pesos de o2m configuráveis e cls_w). Podes obter resultados muito próximos usando os hiperparâmetros documentados nesta página com o pacote público do Ultralytics, mas uma reprodução exata requer o branch interno.

Contribuidores

Comentários