Salta para o conte√ļdo

Meituan YOLOv6

Vis√£o geral

O Meituan YOLOv6 √© um detetor de objectos de ponta que oferece um equil√≠brio not√°vel entre velocidade e precis√£o, tornando-o uma escolha popular para aplica√ß√Ķes em tempo real. Este modelo introduz v√°rias melhorias not√°veis na sua arquitetura e esquema de treino, incluindo a implementa√ß√£o de um m√≥dulo de concatena√ß√£o bidirecional (BiC), uma estrat√©gia de treino assistido por √Ęncora (AAT) e um design melhorado da espinha dorsal e do pesco√ßo para uma precis√£o de ponta no conjunto de dados COCO.

Meituan YOLOv6 Imagem de exemplo de modelo Visão geral do YOLOv6. Diagrama da arquitetura do modelo que mostra os componentes da rede redesenhados e as estratégias de formação que conduziram a melhorias significativas do desempenho. (a) O pescoço do YOLOv6 (N e S são mostrados). Nota que para M/L, RepBlocks é substituído por CSPStackRep. (b) A estrutura de um módulo BiC. (c) Um bloco SimCSPSPPF. (fonte).

Características principais

  • M√≥dulo de Concatena√ß√£o Bidirecional (BiC): O YOLOv6 introduz um m√≥dulo BiC no pesco√ßo do detetor, melhorando os sinais de localiza√ß√£o e proporcionando ganhos de desempenho com uma degrada√ß√£o insignificante da velocidade.
  • Estrat√©gia de forma√ß√£o assistida por √Ęncoras (AAT): Este modelo prop√Ķe o AAT para usufruir dos benef√≠cios dos paradigmas baseados e livres de √Ęncoras sem comprometer a efici√™ncia da infer√™ncia.
  • Design melhorado da espinha dorsal e do pesco√ßo: Ao aprofundar o YOLOv6 para incluir outra fase na espinha dorsal e no pesco√ßo, este modelo alcan√ßa um desempenho topo de gama no conjunto de dados COCO com entrada de alta resolu√ß√£o.
  • Estrat√©gia de auto-destila√ß√£o: Uma nova estrat√©gia de auto-destila√ß√£o √© implementada para aumentar o desempenho dos modelos mais pequenos do YOLOv6, melhorando o ramo de regress√£o auxiliar durante o treino e removendo-o na infer√™ncia para evitar uma diminui√ß√£o acentuada da velocidade.

Métricas de desempenho

O YOLOv6 fornece vários modelos pré-treinados com diferentes escalas:

  • YOLOv6-N: 37,5% de AP em COCO val2017 a 1187 FPS com GPU NVIDIA Tesla T4.
  • YOLOv6-S: 45.0% AP a 484 FPS.
  • YOLOv6-M: 50.0% AP a 226 FPS.
  • YOLOv6-L: 52,8% AP a 116 FPS.
  • YOLOv6-L6: Precis√£o de √ļltima gera√ß√£o em tempo real.

O YOLOv6 tamb√©m fornece modelos quantizados para diferentes precis√Ķes e modelos optimizados para plataformas m√≥veis.

Exemplos de utilização

Este exemplo fornece exemplos simples de treinamento e inferência do YOLOv6. Para obter a documentação completa sobre estes e outros modos, consulta as páginas de documentação Predict, Train, Val e Export.

Exemplo

PyTorch pr√©-treinado *.pt modelos, bem como a configura√ß√£o *.yaml podem ser passados para o YOLO() para criar uma inst√Ęncia de modelo em python:

from ultralytics import YOLO

# Build a YOLOv6n model from scratch
model = YOLO('yolov6n.yaml')

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)

# Run inference with the YOLOv6n model on the 'bus.jpg' image
results = model('path/to/bus.jpg')

CLI estão disponíveis para executar diretamente os modelos:

# Build a YOLOv6n model from scratch and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640

# Build a YOLOv6n model from scratch and run inference on the 'bus.jpg' image
yolo predict model=yolov6n.yaml source=path/to/bus.jpg

Tarefas e modos suportados

A s√©rie YOLOv6 oferece uma gama de modelos, cada um optimizado para a Dete√ß√£o de Objectos de elevado desempenho. Estes modelos respondem a diferentes necessidades computacionais e requisitos de precis√£o, tornando-os vers√°teis para uma vasta gama de aplica√ß√Ķes.

Tipo de modelo Pesos pré-treinados Tarefas suportadas Inferência Validação Formação Exportação
YOLOv6-N yolov6-n.pt Deteção de objectos ✅ ✅ ✅ ✅
YOLOv6-S yolov6-s.pt Deteção de objectos ✅ ✅ ✅ ✅
YOLOv6-M yolov6-m.pt Deteção de objectos ✅ ✅ ✅ ✅
YOLOv6-L yolov6-l.pt Deteção de objectos ✅ ✅ ✅ ✅
YOLOv6-L6 yolov6-l6.pt Deteção de objectos ✅ ✅ ✅ ✅

Esta tabela fornece uma visão geral detalhada das variantes do modelo YOLOv6, destacando as suas capacidades em tarefas de deteção de objectos e a sua compatibilidade com vários modos operacionais, tais como Inferência, Validação, Treino e Exportação. Este suporte abrangente garante que os utilizadores podem tirar o máximo partido das capacidades dos modelos YOLOv6 numa vasta gama de cenários de deteção de objectos.

Cita√ß√Ķes e agradecimentos

Gostar√≠amos de agradecer aos autores pelas suas contribui√ß√Ķes significativas no dom√≠nio da dete√ß√£o de objectos em tempo real:

@misc{li2023yolov6,
      title={YOLOv6 v3.0: A Full-Scale Reloading},
      author={Chuyi Li and Lulu Li and Yifei Geng and Hongliang Jiang and Meng Cheng and Bo Zhang and Zaidan Ke and Xiaoming Xu and Xiangxiang Chu},
      year={2023},
      eprint={2301.05586},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

O artigo original do YOLOv6 pode ser encontrado no arXiv. Os autores tornaram o seu trabalho publicamente disponível e a base de código pode ser acedida no GitHub. Agradecemos os seus esforços para fazer avançar o campo e tornar o seu trabalho acessível à comunidade em geral.



Criado em 2023-11-12, Atualizado em 2024-01-07
Autores: glenn-jocher (5)

Coment√°rios