Link to this sectionYOLO-NAS#
Por favor, note que a Deci, criadora original do YOLO-NAS, foi adquirida pela NVIDIA. Como resultado, estes modelos já não são mantidos ativamente pela Deci. A Ultralytics continua a apoiar a utilização destes modelos, mas não se esperam novas atualizações da equipa original.
Link to this sectionVisão geral#
Desenvolvido pela Deci AI, o YOLO-NAS é um modelo fundamental inovador de deteção de objetos. É o produto da tecnologia avançada de Neural Architecture Search, meticulosamente concebido para resolver as limitações dos modelos YOLO anteriores. Com melhorias significativas no suporte à quantização e nas compensações entre precisão e latência, o YOLO-NAS representa um grande salto na deteção de objetos.
Visão geral do YOLO-NAS. O YOLO-NAS emprega blocos sensíveis à quantização e quantização seletiva para um desempenho ideal. O modelo, quando convertido para a sua versão quantizada INT8, sofre uma queda de precisão mínima, uma melhoria significativa em relação a outros modelos. Estes avanços culminam numa arquitetura superior com capacidades de deteção de objetos sem precedentes e um desempenho excecional.
Link to this sectionPrincipais recursos#
- Bloco básico favorável à quantização: O YOLO-NAS introduz um novo bloco básico que é favorável à quantização, resolvendo uma das limitações significativas dos modelos YOLO anteriores.
- Treino e quantização sofisticados: O YOLO-NAS tira partido de esquemas de treino avançados e de quantização pós-treino para melhorar o desempenho.
- Otimização AutoNAC e pré-treino: O YOLO-NAS utiliza a otimização AutoNAC e é pré-treinado em conjuntos de dados proeminentes como COCO, Objects365 e Roboflow 100. Este pré-treino torna-o extremamente adequado para tarefas de deteção de objetos a jusante em ambientes de produção.
Link to this sectionModelos pré-treinados#
Experimenta o poder da deteção de objetos de próxima geração com os modelos YOLO-NAS pré-treinados fornecidos pela Ultralytics. Estes modelos foram concebidos para proporcionar um desempenho de topo em termos de velocidade e precisão. Escolhe entre uma variedade de opções adaptadas às tuas 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 concebida para oferecer um equilíbrio entre Mean Average Precision (mAP) e latência, ajudando-te a otimizar as tuas tarefas de deteção de objetos tanto para desempenho quanto para velocidade.
Link to this sectionExemplos de uso#
A Ultralytics tornou os modelos YOLO-NAS fáceis de integrar nas tuas aplicações Python através do nosso pacote python ultralytics. O pacote fornece uma API Python fácil de utilizar para simplificar o processo.
Os exemplos seguintes mostram como utilizar os modelos YOLO-NAS com o pacote ultralytics para inferência e validação:
Link to this sectionExemplos de inferência e validação#
Neste exemplo, validamos o YOLO-NAS-s no conjunto de dados COCO8.
Este exemplo fornece código simples de inferência e validação para o YOLO-NAS. Para lidar com resultados de inferência, vê o modo Predict. Para utilizares o YOLO-NAS com modos adicionais, vê Val e Export. O YOLO-NAS no pacote ultralytics não suporta treino.
Ficheiros de modelos pré-treinados PyTorch *.pt podem ser passados para a classe NAS() para criar uma instância do modelo em python:
from ultralytics import NAS
# Load a COCO-pretrained YOLO-NAS-s model
model = NAS("yolo_nas_s.pt")
# Display model information (optional)
model.info()
# Validate the model on the COCO8 example dataset
results = model.val(data="coco8.yaml")
# Run inference with the YOLO-NAS-s model on the 'bus.jpg' image
results = model("path/to/bus.jpg")Link to this sectionTarefas e modos suportados#
Oferecemos três variantes dos modelos YOLO-NAS: Pequeno (s), Médio (m) e Grande (l). Cada variante foi concebida para satisfazer diferentes necessidades computacionais e de desempenho:
- YOLO-NAS-s: Otimizado para ambientes onde os recursos computacionais são limitados, mas a eficiência é fundamental.
- YOLO-NAS-m: Oferece uma abordagem equilibrada, adequada para deteção de objetos de uso 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 uma restrição.
Abaixo está uma visão geral detalhada de cada modelo, incluindo links para os seus pesos pré-treinados, as tarefas que suportam e a sua compatibilidade com diferentes modos de operação.
| Tipo de Modelo | Pesos Pré-treinados | Tarefas Suportadas | Inferência | Validação | Treinamento | Exportar |
|---|---|---|---|---|---|---|
| YOLO-NAS-s | yolo_nas_s.pt | Detecção de Objetos | ✅ | ✅ | ❌ | ✅ |
| YOLO-NAS-m | yolo_nas_m.pt | Detecção de Objetos | ✅ | ✅ | ❌ | ✅ |
| YOLO-NAS-l | yolo_nas_l.pt | Detecção de Objetos | ✅ | ✅ | ❌ | ✅ |
Link to this sectionCitações e Agradecimentos#
Se empregares o YOLO-NAS no teu trabalho de investigação ou desenvolvimento, por favor cita o SuperGradients:
@misc{supergradients,
doi = {10.5281/ZENODO.7789328},
url = {https://zenodo.org/records/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 a nossa gratidão à equipa do SuperGradients da Deci AI pelos 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 a sua arquitetura inovadora e capacidades superiores de deteção de objetos, se tornará uma ferramenta crítica para programadores e investigadores.
Link to this sectionFAQ#
Link to this sectionO que é o YOLO-NAS e como melhora em relação aos modelos YOLO anteriores?#
O YOLO-NAS, desenvolvido pela Deci AI, é um modelo de deteção de objetos de última geração que aproveita a tecnologia avançada de Neural Architecture Search (NAS). Resolve as limitações dos modelos YOLO anteriores introduzindo funcionalidades como blocos básicos favoráveis à quantização e esquemas de treino sofisticados. Isto resulta em melhorias significativas no desempenho, particularmente em ambientes com recursos computacionais limitados. O YOLO-NAS também suporta quantização, mantendo uma elevada precisão mesmo quando convertido para a sua versão INT8, aumentando a sua adequação para ambientes de produção. Para mais detalhes, vê a secção Visão geral.
Link to this sectionComo posso integrar os modelos YOLO-NAS na minha aplicação Python?#
Podes integrar facilmente os modelos YOLO-NAS na tua aplicação Python utilizando o pacote ultralytics. Aqui tens um exemplo simples de como carregar um modelo YOLO-NAS pré-treinado e efetuar inferência:
from ultralytics import NAS
# Load a COCO-pretrained YOLO-NAS-s model
model = NAS("yolo_nas_s.pt")
# Validate the model on the COCO8 example dataset
results = model.val(data="coco8.yaml")
# Run inference with the YOLO-NAS-s model on the 'bus.jpg' image
results = model("path/to/bus.jpg")Para mais informações, consulta os Exemplos de inferência e validação.
Link to this sectionQuais são as principais funcionalidades do YOLO-NAS e porque deveria considerar a sua utilização?#
O YOLO-NAS introduz várias funcionalidades chave que o tornam uma escolha superior para tarefas de deteção de objetos:
- Bloco básico favorável à quantização: Arquitetura melhorada que melhora o desempenho do modelo com uma queda mínima de precisão após a quantização.
- Treino e quantização sofisticados: Emprega esquemas de treino avançados e técnicas de quantização pós-treino.
- Otimização AutoNAC e pré-treino: Utiliza a otimização AutoNAC e é pré-treinado em conjuntos de dados proeminentes como COCO, Objects365 e Roboflow 100.
Estas funcionalidades contribuem para a sua elevada precisão, desempenho eficiente e adequação para implementação em ambientes de produção. Sabe mais na secção Principais funcionalidades.
Link to this sectionQue tarefas e modos são suportados pelos modelos YOLO-NAS?#
Os modelos YOLO-NAS suportam várias tarefas e modos de deteção de objetos, tais como inferência, validação e exportação. Não suportam treino. Os modelos suportados incluem YOLO-NAS-s, YOLO-NAS-m e YOLO-NAS-l, cada um adaptado a diferentes capacidades computacionais e necessidades de desempenho. Para uma visão geral detalhada, consulta a secção Tarefas e modos suportados.
Link to this sectionExistem modelos YOLO-NAS pré-treinados disponíveis e como posso aceder a eles?#
Sim, a Ultralytics fornece modelos YOLO-NAS pré-treinados aos quais podes aceder diretamente. Estes modelos são pré-treinados em conjuntos de dados como o COCO, garantindo um alto desempenho em termos de velocidade e precisão. Podes transferir estes modelos utilizando os links fornecidos na secção Modelos pré-treinados. Aqui estão alguns exemplos: