YOLO Vision 2026:

Meituan YOLOv6#

Visão geral#

Meituan YOLOv6, lançado em 2022, oferece um forte equilíbrio 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 auxiliada por âncoras (AAT) e um design aprimorado de backbone e neck para alta precisão no COCO dataset.

YOLOv6 real-time object detection model by Meituan YOLOv6 model architecture diagram Visão geral do YOLOv6. Diagrama da arquitetura do modelo mostrando os componentes de rede redesignados e as estratégias de treino que levaram a melhorias significativas de desempenho. (a) O neck do YOLOv6 (N e S são mostrados). Nota para M/L, RepBlocks é substituído por CSPStackRep. (b) A estrutura de um módulo BiC. (c) Um bloco SimCSPSPPF. (source).

Principais recursos#

  • Módulo de Concatenation Bi-direcional (BiC): O YOLOv6 introduz um módulo BiC no neck do detector, melhorando os sinais de localização e proporcionando ganhos de desempenho com degradação insignificante de velocidade.
  • Estratégia de Treino Auxiliado por Âncoras (AAT): Este modelo propõe AAT para desfrutar dos benefícios dos paradigmas baseados em anchor-based e anchor-free sem comprometer a eficiência da inferência.
  • Design Aprimorado de Backbone e Neck: Ao aprofundar o YOLOv6 para incluir outro estágio no backbone e no neck, este modelo alcançou um forte desempenho no conjunto de dados COCO em entrada de alta resolução quando foi lançado.
  • Estratégia de Auto-destilação: Uma nova estratégia de auto-destilação é implementada para impulsionar o desempenho de modelos menores do YOLOv6, aprimorando o ramo de regressão auxiliar durante o treinamento e removendo-o na inferência para evitar uma queda acentuada na velocidade.

Métricas de desempenho#

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

  • YOLOv6-N: 37,5% de AP no COCO val2017 a 1187 FPS com GPU NVIDIA T4.
  • YOLOv6-S: 45,0% de AP a 484 FPS.
  • YOLOv6-M: 50,0% de AP a 226 FPS.
  • YOLOv6-L: 52,8% de AP a 116 FPS.
  • YOLOv6-L6: Precisão de última geração em tempo real.

O YOLOv6 também fornece modelos quantizados para diferentes precisions e modelos otimizados para plataformas móveis.

Exemplos de uso#

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

Exemplo

Os ficheiros YOLOv6 *.yaml podem ser passados para a classe YOLO() para construir o modelo correspondente 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")

Tarefas e modos suportados#

A série YOLOv6 oferece uma gama de modelos, cada um otimizado para Object Detection de alto desempenho. Estes modelos atendem a diferentes necessidades computacionais e requisitos de accuracy, tornando-os versáteis para uma ampla variedade de aplicações.

ModeloNomes de arquivoTarefasTreinamentoValidaçãoInferênciaExportar
YOLOv6-Nyolov6n.yamlDetecção de Objetos
YOLOv6-Syolov6s.yamlDetecção de Objetos
YOLOv6-Myolov6m.yamlDetecção de Objetos
YOLOv6-Lyolov6l.yamlDetecção de Objetos
YOLOv6-Xyolov6x.yamlDetecção de Objetos

Esta tabela fornece uma visão geral detalhada das variantes do modelo YOLOv6, destacando as suas capacidades em tarefas de object detection e a sua compatibilidade com vários modos operacionais, tais como Inference, Validation, Training e Export. Este suporte abrangente garante que os utilizadores possam tirar total partido das capacidades dos modelos YOLOv6 numa vasta gama de cenários de deteção de objetos.

Citações e Agradecimentos#

Gostaríamos de agradecer aos autores pelas suas contribuições significativas no campo da detecção de objetos em tempo real:

Citação
@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.

FAQ#

  • O Meituan YOLOv6, lançado em 2022, é um detector de objetos que equilibra velocidade e precisão, projetado para aplicações em tempo real. Ele apresenta melhorias arquiteturais notáveis, como o módulo de Concatenation Bi-direcional (BiC) e uma estratégia de Treinamento com Auxílio de Âncora (AAT). Essas inovações proporcionam ganhos substanciais de desempenho com degradação mínima de velocidade, tornando o YOLOv6 uma escolha competitiva para tarefas de detecção de objetos.

  • O módulo de Concatenação Bidirecional (BiC) no YOLOv6 melhora os sinais de localização no neck do detector, proporcionando melhorias de desempenho com um impacto de velocidade negligenciável. Este módulo combina eficazmente diferentes feature maps, aumentando a capacidade do modelo para detetar objetos com precisão. Para mais detalhes sobre as funcionalidades do YOLOv6, consulta a secção Key Features.

  • Podes treinar um modelo YOLOv6 usando Ultralytics com comandos simples em Python ou CLI. Por exemplo:

    Exemplo
    from ultralytics import YOLO
    
    # Build a YOLOv6n model from scratch
    model = YOLO("yolov6n.yaml")
    
    # Train the model on the COCO8 example dataset for 100 epochs
    results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

    Para mais informações, visita a página Train.

  • O YOLOv6 oferece múltiplas versões, cada uma otimizada para diferentes requisitos de desempenho:

    • YOLOv6-N: 37,5% de AP a 1187 FPS
    • YOLOv6-S: 45,0% de AP a 484 FPS
    • YOLOv6-M: 50,0% de AP a 226 FPS
    • YOLOv6-L: 52,8% de AP a 116 FPS
    • YOLOv6-L6: Precisão de última geração em cenários de tempo real

    Estes modelos são avaliados no COCO dataset utilizando uma GPU NVIDIA T4. Para mais informações sobre métricas de desempenho, consulta a secção Performance Metrics.

  • O Treino Auxiliado por Âncoras (AAT) no YOLOv6 combina elementos de abordagens baseadas em âncoras e livres de âncoras, melhorando as capacidades de deteção do modelo sem comprometer a eficiência da inferência. Esta estratégia aproveita as âncoras durante o treino para melhorar as previsões de bounding box, tornando o YOLOv6 eficaz em diversas tarefas de deteção de objetos.

  • O YOLOv6 suporta vários modos operacionais, incluindo Inference, Validation, Training e Export. Esta flexibilidade permite que os utilizadores explorem totalmente as capacidades do modelo em diferentes cenários. Vê a secção Supported Tasks and Modes para uma visão geral detalhada de cada modo.

Comentários