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.
121 lines
8.2 KiB
121 lines
8.2 KiB
--- |
|
comments: true |
|
description: Explore a documentação detalhada do YOLO-NAS, um modelo superior de detecção de objetos. Saiba mais sobre suas funcionalidades, modelos pré-treinados, uso com a API do Ultralytics Python e muito mais. |
|
keywords: YOLO-NAS, Deci AI, detecção de objetos, aprendizado profundo, busca de arquitetura neural, API do Ultralytics Python, modelo YOLO, modelos pré-treinados, quantização, otimização, COCO, Objects365, Roboflow 100 |
|
--- |
|
|
|
# YOLO-NAS |
|
|
|
## Visão Geral |
|
|
|
Desenvolvido pela Deci AI, o YOLO-NAS é um modelo de detecção de objetos inovador. É o produto da tecnologia avançada de Busca de Arquitetura Neural, meticulosamente projetado para superar as limitações dos modelos YOLO anteriores. Com melhorias significativas no suporte à quantização e compromisso entre precisão e latência, o YOLO-NAS representa um grande avanço na detecção de objetos. |
|
|
|
![Exemplo de imagem do modelo](https://learnopencv.com/wp-content/uploads/2023/05/yolo-nas_COCO_map_metrics.png) |
|
**Visão geral do YOLO-NAS.** O YOLO-NAS utiliza blocos que suportam quantização e quantização seletiva para obter um desempenho ideal. O modelo, quando convertido para sua versão quantizada INT8, apresenta uma queda mínima na precisão, uma melhoria significativa em relação a outros modelos. Esses avanços culminam em uma arquitetura superior com capacidades de detecção de objetos sem precedentes e desempenho excepcional. |
|
|
|
### Principais Características |
|
|
|
- **Bloco Básico Amigável para Quantização:** O YOLO-NAS introduz um novo bloco básico que é amigo da quantização, abordando uma das limitações significativas dos modelos YOLO anteriores. |
|
- **Treinamento e Quantização Sofisticados:** O YOLO-NAS utiliza esquemas avançados de treinamento e quantização pós-treinamento para melhorar o desempenho. |
|
- **Otimização AutoNAC e Pré-Treinamento:** O YOLO-NAS utiliza a otimização AutoNAC e é pré-treinado em conjuntos de dados proeminentes, como COCO, Objects365 e Roboflow 100. Esse pré-treinamento torna o modelo extremamente adequado para tarefas de detecção de objetos em ambientes de produção. |
|
|
|
## Modelos Pré-Treinados |
|
|
|
Experimente o poder da detecção de objetos de última geração com os modelos pré-treinados do YOLO-NAS fornecidos pela Ultralytics. Esses modelos foram projetados para oferecer um desempenho excelente em termos de velocidade e precisão. Escolha entre várias opções adaptadas às suas necessidades específicas: |
|
|
|
| Modelo | mAP | Latência (ms) | |
|
|------------------|-------|---------------| |
|
| YOLO-NAS S | 47.5 | 3.21 | |
|
| YOLO-NAS M | 51.55 | 5.85 | |
|
| YOLO-NAS L | 52.22 | 7.87 | |
|
| YOLO-NAS S INT-8 | 47.03 | 2.36 | |
|
| YOLO-NAS M INT-8 | 51.0 | 3.78 | |
|
| YOLO-NAS L INT-8 | 52.1 | 4.78 | |
|
|
|
Cada variante do modelo foi projetada para oferecer um equilíbrio entre Precisão Média Média (mAP) e latência, ajudando você a otimizar suas tarefas de detecção de objetos em termos de desempenho e velocidade. |
|
|
|
## Exemplos de Uso |
|
|
|
A Ultralytics tornou os modelos YOLO-NAS fáceis de serem integrados em suas aplicações Python por meio de nosso pacote `ultralytics`. O pacote fornece uma API Python de fácil utilização para simplificar o processo. |
|
|
|
Os seguintes exemplos mostram como usar os modelos YOLO-NAS com o pacote `ultralytics` para inferência e validação: |
|
|
|
### Exemplos de Inferência e Validação |
|
|
|
Neste exemplo, validamos o YOLO-NAS-s no conjunto de dados COCO8. |
|
|
|
!!! Example "Exemplo" |
|
|
|
Este exemplo fornece um código simples de inferência e validação para o YOLO-NAS. Para lidar com os resultados da inferência, consulte o modo [Predict](../modes/predict.md). Para usar o YOLO-NAS com modos adicionais, consulte [Val](../modes/val.md) e [Export](../modes/export.md). O YOLO-NAS no pacote `ultralytics` não suporta treinamento. |
|
|
|
=== "Python" |
|
|
|
Arquivos de modelos pré-treinados `*.pt` do PyTorch podem ser passados para a classe `NAS()` para criar uma instância do modelo em Python: |
|
|
|
```python |
|
from ultralytics import NAS |
|
|
|
# Carrega um modelo YOLO-NAS-s pré-treinado no COCO |
|
model = NAS('yolo_nas_s.pt') |
|
|
|
# Exibe informações do modelo (opcional) |
|
model.info() |
|
|
|
# Valida o modelo no conjunto de dados de exemplo COCO8 |
|
results = model.val(data='coco8.yaml') |
|
|
|
# Executa inferência com o modelo YOLO-NAS-s na imagem 'bus.jpg' |
|
results = model('caminho/para/bus.jpg') |
|
``` |
|
|
|
=== "CLI" |
|
|
|
Comandos de CLI estão disponíveis para executar diretamente os modelos: |
|
|
|
```bash |
|
# Carrega um modelo YOLO-NAS-s pré-treinado no COCO e valida seu desempenho no conjunto de dados de exemplo COCO8 |
|
yolo val model=yolo_nas_s.pt data=coco8.yaml |
|
|
|
# Carrega um modelo YOLO-NAS-s pré-treinado no COCO e executa inferência na imagem 'bus.jpg' |
|
yolo predict model=yolo_nas_s.pt source=caminho/para/bus.jpg |
|
``` |
|
|
|
## Tarefas e Modos Compatíveis |
|
|
|
Oferecemos três variantes dos modelos YOLO-NAS: Pequeno (s), Médio (m) e Grande (l). Cada variante foi projetada para atender a diferentes necessidades computacionais e de desempenho: |
|
|
|
- **YOLO-NAS-s**: Otimizado para ambientes com recursos computacionais limitados, mas eficiência é fundamental. |
|
- **YOLO-NAS-m**: Oferece uma abordagem equilibrada, adequada para detecção de objetos em geral com maior precisão. |
|
- **YOLO-NAS-l**: Adaptado para cenários que requerem a maior precisão, onde os recursos computacionais são menos restritos. |
|
|
|
Abaixo está uma visão geral detalhada de cada modelo, incluindo links para seus pesos pré-treinados, as tarefas que eles suportam e sua compatibilidade com diferentes modos de operação. |
|
|
|
| Tipo de Modelo | Pesos Pré-Treinados | Tarefas Suportadas | Inferência | Validação | Treinamento | Exportação | |
|
|----------------|-----------------------------------------------------------------------------------------------|-------------------------------------------|------------|-----------|-------------|------------| |
|
| YOLO-NAS-s | [yolo_nas_s.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_s.pt) | [Detecção de Objetos](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | |
|
| YOLO-NAS-m | [yolo_nas_m.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_m.pt) | [Detecção de Objetos](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | |
|
| YOLO-NAS-l | [yolo_nas_l.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_l.pt) | [Detecção de Objetos](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | |
|
|
|
## Citações e Agradecimentos |
|
|
|
Se você utilizar o YOLO-NAS em seus estudos ou trabalho de desenvolvimento, por favor, cite o SuperGradients: |
|
|
|
!!! Quote "" |
|
|
|
=== "BibTeX" |
|
|
|
```bibtex |
|
@misc{supergradients, |
|
doi = {10.5281/ZENODO.7789328}, |
|
url = {https://zenodo.org/record/7789328}, |
|
author = {Aharon, Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova, Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya, Eugene and Rubin, Ran and Bagrov, Natan and Tymchenko, Borys and Keren, Tomer and Zhilko, Alexander and {Eran-Deci}}, |
|
title = {Super-Gradients}, |
|
publisher = {GitHub}, |
|
journal = {GitHub repository}, |
|
year = {2021}, |
|
} |
|
``` |
|
|
|
Expressamos nossa gratidão à equipe [SuperGradients](https://github.com/Deci-AI/super-gradients/) da Deci AI por seus esforços na criação e manutenção deste recurso valioso para a comunidade de visão computacional. Acreditamos que o YOLO-NAS, com sua arquitetura inovadora e capacidades superiores de detecção de objetos, se tornará uma ferramenta fundamental para desenvolvedores e pesquisadores. |
|
|
|
*keywords: YOLO-NAS, Deci AI, detecção de objetos, aprendizado profundo, busca de arquitetura neural, API do Ultralytics Python, modelo YOLO, SuperGradients, modelos pré-treinados, bloco básico amigável para quantização, esquemas avançados de treinamento, quantização pós-treinamento, otimização AutoNAC, COCO, Objects365, Roboflow 100*
|
|
|