Habilidades de ajuste de treinamento YOLOv5

Este artigo é compilado a partir do https://github.com/ultralytics/yolov5/wiki/Tips-for-Best-Training-Results original em inglês , o artigo explica como melhorar o mAP e o efeito de treinamento do Yolov5.

Na maioria das vezes, sem alterar o modelo ou a configuração de treinamento, se você puder fornecer conjuntos de dados suficientes e bons rótulos , poderá obter bons resultados. Se os resultados obtidos não forem satisfatórios quando você começar a treinar, então você vai querer tomar medidas para melhorar. Antes de tomar medidas, ainda recomendamos que você use as configurações padrão. Isso ajuda a estabelecer uma linha de base para melhoria, bem como identificar áreas para melhoria.

A seguir, um guia completo fornecido pelo oficial - como obter bons resultados no treinamento YOLOv5.

conjunto de dados

  • imagens para cada categoria

≥1500 imagens são recomendadas.

  • Instâncias de cada classe

Recomenda-se ≥10.000 instâncias por categoria.

  • variedade de imagens

Sugere-se que as imagens venham de diferentes períodos de tempo, diferentes estações, diferentes climas, diferentes iluminações, diferentes ângulos, diferentes

fonte (coleção online, coleção local, câmeras diferentes), etc.

  • Consistência de rotulagem

Todas as instâncias de todas as classes em todas as imagens devem ser rotuladas.

  • Precisão da rotulagem

As dimensões devem se encaixar perfeitamente ao redor do objeto. Não deve haver nenhum espaço entre o objeto e sua caixa delimitadora. Nenhum objeto pode carecer de um texto explicativo.

  • Verificação de marcação

Veja as imagens train_batch e val_batch na pasta train/exp.

  • imagem de fundo

Essas imagens que não contêm objetos são adicionadas ao conjunto de dados como imagens de fundo para reduzir os falsos positivos (FP). Uma imagem de fundo de 0-10% é recomendada para ajudar a reduzir os FPs. As imagens de fundo não precisam ser rotuladas.

seleção de modelo

Modelos maiores como YOLOv5 e YOLOv5x6 podem produzir melhores resultados em quase todos os casos, mas como também têm mais parâmetros, requerem mais memória CUDA para treinamento e são mais lentos para treinar. Para implantação móvel, YOLOv5s/m é recomendado; para implantação em nuvem, YOLOv5l/x é recomendado.

  • Comece com pesos pré-treinados

Adequado para conjuntos de dados de média e pequena escala (VOC, VisDrone, GlobalWheat). Passe o nome do modelo para o parâmetro --weight.

Download do modelo

python train.py --data custom.yaml --weights yolov5s.pt
  • Começar do zero

Adequado para grandes conjuntos de dados (COCO, Objects365, Olv6). Passe a arquitetura do modelo de interesse, seguida por um parâmetro --weights vazio:

python train.py --data custom.yaml --weights '' --cfg yolov5s.yaml

configurações de treinamento

Antes de modificar qualquer coisa, as configurações padrão são usadas para o primeiro treinamento para estabelecer uma linha de base de desempenho. A lista completa de configurações pode ser encontrada em train.py.

  • Tempos de treinamento de épocas

O padrão é 300. Se o overfitting ocorrer prematuramente, as épocas podem ser reduzidas apropriadamente. Se não houver overfitting, você pode definir 600, 1200.

  • Tamanho da imagem Tamanho da imagem

--img tem como padrão 640, se o conjunto de dados contiver muitos objetos pequenos, é recomendável usar --img 1280. Se a configuração de treinamento --img for 1280, o teste e a detecção também devem ser definidos como 1280.

  • Tamanho do lote Tamanho do lote

Recomenda-se usar o valor máximo permitido pelo hardware. Tamanhos de lote pequenos levam a estatísticas de valor de lote ruins.

  • Hiperparâmetros Hiperparâmetros

O hiperparâmetro padrão é hyp.scratch-low.yaml. Recomenda-se usar os valores padrão para treinar pela primeira vez.

Acho que você gosta

Origin blog.csdn.net/Kigha/article/details/129178428
Recomendado
Clasificación