You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
108 lines
7.3 KiB
108 lines
7.3 KiB
1 year ago
|
---
|
||
|
comments: true
|
||
|
description: 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.
|
||
|
keywords: 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.
|
||
|
|
||
|
![Meituan YOLOv6](https://user-images.githubusercontent.com/26833433/240750495-4da954ce-8b3b-41c4-8afd-ddb74361d3c2.png)
|
||
|
![Modelo exemplo de imagem](https://user-images.githubusercontent.com/26833433/240750557-3e9ec4f0-0598-49a8-83ea-f33c91eb6d68.png)
|
||
|
**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](https://arxiv.org/pdf/2301.05586.pdf)).
|
||
|
|
||
|
### 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](../modes/index.md), consulte as páginas de documentação [Predict](../modes/predict.md), [Train](../modes/train.md), [Val](../modes/val.md) e [Export](../modes/export.md).
|
||
|
|
||
|
!!! 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](../tasks/detect.md) 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](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||
|
| YOLOv6-S | `yolov6-s.pt` | [Detecção de Objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||
|
| YOLOv6-M | `yolov6-m.pt` | [Detecção de Objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||
|
| YOLOv6-L | `yolov6-l.pt` | [Detecção de Objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||
|
| YOLOv6-L6 | `yolov6-l6.pt` | [Detecção de Objetos](../tasks/detect.md) | ✅ | ✅ | ✅ | ✅ |
|
||
|
|
||
|
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](../modes/predict.md), [validação](../modes/val.md), [treinamento](../modes/train.md) e [exportação](../modes/export.md). 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.
|