7.3 KiB
comments | description | keywords |
---|---|---|
true | Explore Meituan YOLOv6, um modelo avançado de detecção de objetos que alcança um equilíbrio entre velocidade e precisão. Saiba mais sobre suas características, modelos pré-treinados e uso em Python. | Meituan YOLOv6, detecção de objetos, Ultralytics, documentação YOLOv6, Concatenação Bidirecional, Treinamento Assistido por Âncora, modelos pré-treinados, aplicações em tempo real |
Meituan YOLOv6
Visão Geral
O Meituan YOLOv6 é um detector de objetos de ponta que oferece um equilíbrio notável entre velocidade e precisão, tornando-se uma escolha popular para aplicações em tempo real. Este modelo apresenta várias melhorias em sua arquitetura e esquema de treinamento, incluindo a implementação de um módulo de Concatenação Bidirecional (BiC), uma estratégia de treinamento assistido por âncora (AAT) e um design aprimorado de espinha dorsal e pescoço para obter precisão de última geração no conjunto de dados COCO.
Visão geral do YOLOv6. Diagrama da arquitetura do modelo mostrando os componentes de rede redesenhados e as estratégias de treinamento que levaram a melhorias significativas no desempenho. (a) O pescoço do YOLOv6 (N e S são mostrados). RepBlocks é substituída por CSPStackRep para M/L. (b) A estrutura de um módulo BiC. (c) Um bloco SimCSPSPPF. (fonte).
Principais Características
- Módulo de Concatenação Bidirecional (BiC): O YOLOv6 introduz um módulo BiC no pescoço do detector, aprimorando os sinais de localização e oferecendo ganhos de desempenho com uma degradação de velocidade insignificante.
- Estratégia de Treinamento Assistido por Âncora (AAT): Este modelo propõe AAT para aproveitar os benefícios dos paradigmas baseados em âncoras e sem âncoras sem comprometer a eficiência da inferência.
- Design de Espinha Dorsal e Pescoço Aprimorado: Ao aprofundar o YOLOv6 para incluir mais uma etapa na espinha dorsal e no pescoço, este modelo alcança desempenho de última geração 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 de modelos menores do YOLOv6, aprimorando o ramo auxiliar de regressão durante o treinamento e removendo-o durante a inferência para evitar uma queda significativa na velocidade.
Métricas de Desempenho
O YOLOv6 fornece vários modelos pré-treinados com diferentes escalas:
- YOLOv6-N: 37,5% AP na val2017 do COCO a 1187 FPS com GPU NVIDIA Tesla 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 precisões e modelos otimizados para plataformas móveis.
Exemplos de Uso
Este exemplo fornece exemplos simples de treinamento e inferência do YOLOv6. Para documentação completa sobre esses e outros modos, consulte as páginas de documentação Predict, Train, Val e Export.
!!! Example "Exemplo"
=== "Python"
Modelos pré-treinados `*.pt` do PyTorch, assim como arquivos de configuração `*.yaml`, podem ser passados à classe `YOLO()` para criar uma instância do modelo em Python:
```python
from ultralytics import YOLO
# Constrói um modelo YOLOv6n do zero
model = YOLO('yolov6n.yaml')
# Exibe informações do modelo (opcional)
model.info()
# Treina o modelo no conjunto de dados de exemplo COCO8 por 100 épocas
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
# Executa inferência com o modelo YOLOv6n na imagem 'bus.jpg'
results = model('caminho/para/onibus.jpg')
```
=== "CLI"
Comandos da CLI estão disponíveis para executar diretamente os modelos:
```bash
# Constrói um modelo YOLOv6n do zero e o treina no conjunto de dados de exemplo COCO8 por 100 épocas
yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640
# Constrói um modelo YOLOv6n do zero e executa inferência na imagem 'bus.jpg'
yolo predict model=yolov6n.yaml source=caminho/para/onibus.jpg
```
Tarefas e Modos Suportados
A série YOLOv6 oferece uma variedade de modelos, cada um otimizado para Detecção de Objetos de alta performance. Esses modelos atendem a diferentes necessidades computacionais e requisitos de precisão, tornando-os versáteis para uma ampla variedade de aplicações.
Tipo de Modelo | Pesos Pré-treinados | Tarefas Suportadas | Inferência | Validação | Treinamento | Exportação |
---|---|---|---|---|---|---|
YOLOv6-N | yolov6-n.pt |
Detecção de Objetos | ✅ | ✅ | ✅ | ✅ |
YOLOv6-S | yolov6-s.pt |
Detecção de Objetos | ✅ | ✅ | ✅ | ✅ |
YOLOv6-M | yolov6-m.pt |
Detecção de Objetos | ✅ | ✅ | ✅ | ✅ |
YOLOv6-L | yolov6-l.pt |
Detecção de Objetos | ✅ | ✅ | ✅ | ✅ |
YOLOv6-L6 | yolov6-l6.pt |
Detecção de Objetos | ✅ | ✅ | ✅ | ✅ |
Esta tabela fornece uma visão geral detalhada das variantes do modelo YOLOv6, destacando suas capacidades em tarefas de detecção de objetos e sua compatibilidade com vários modos operacionais, como inferência, validação, treinamento e exportação. Esse suporte abrangente garante que os usuários possam aproveitar totalmente as capacidades dos modelos YOLOv6 em uma ampla gama de cenários de detecção de objetos.
Citações e Agradecimentos
Gostaríamos de agradecer aos autores por suas contribuições significativas no campo da detecção de objetos em tempo real:
!!! Quote ""
=== "BibTeX"
```bibtex
@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](https://arxiv.org/abs/2301.05586). Os autores disponibilizaram publicamente seu trabalho, e o código pode ser acessado no [GitHub](https://github.com/meituan/YOLOv6). Agradecemos seus esforços em avançar no campo e disponibilizar seu trabalho para a comunidade em geral.