YOLO-NAS
Visão geral
Desenvolvido por Deci AI, YOLO-NAS é um modelo fundamental inovador de deteção de objectos. É o produto da tecnologia avançada de pesquisa de arquitetura neural, meticulosamente concebida para resolver as limitações dos modelos YOLO anteriores. Com melhorias significativas no suporte de quantização e na relação precisão-latência, o YOLO-NAS representa um grande salto na deteção de objectos.
Visão geral de YOLO-NAS. YOLO-O NAS utiliza blocos sensíveis à quantização e quantização selectiva para um desempenho ótimo. O modelo, quando convertido para a sua versão quantizada INT8, regista 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 objectos sem precedentes e um desempenho excecional.
Características principais
- Bloco básico compatível com a quantização: YOLO-NAS apresenta um novo bloco básico compatível com a quantização, abordando uma das limitações significativas dos modelos anteriores de YOLO .
- Treinamento e quantização sofisticados: YOLO-NAS utiliza esquemas de treinamento avançados e quantização pós-treinamento para melhorar o desempenho.
- Otimização e pré-treino AutoNAC: YOLO-NAS utiliza a otimização AutoNAC e é pré-treinado em conjuntos de dados importantes, como COCO, Objects365 e Roboflow 100. Este pré-treinamento torna-o extremamente adequado para tarefas de deteção de objectos a jusante em ambientes de produção.
Modelos pré-treinados
Experimenta o poder da deteção de objectos da próxima geração com os modelos YOLO-NAS pré-treinados fornecidos por 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 de modelo foi concebida para oferecer um equilíbrio entre a precisão média média (mAP) e a latência, ajudando-te a otimizar as tuas tarefas de deteção de objectos, tanto em termos de desempenho como de velocidade.
Exemplos de utilização
Ultralytics tornou os modelos YOLO-NAS fáceis de integrar nas tuas aplicações Python através do nosso ultralytics
python pacote. O pacote fornece uma API Python de fácil utilização para simplificar o processo.
Os exemplos a seguir mostram como usar os modelos YOLO-NAS com o ultralytics
para inferência e validação:
Exemplos de inferência e validação
Neste exemplo, validamos YOLO-NAS-s no conjunto de dados COCO8.
Exemplo
Este exemplo fornece um código simples de inferência e validação para YOLO-NAS. Para tratar os resultados da inferência, consulta Prevê modo. Para utilizar YOLO-NAS com modos adicionais, consulta Val e Exportação. YOLO-NAS no ultralytics
não apoia a formação.
PyTorch pré-treinado *.pt
os ficheiros de modelos podem ser passados para o NAS()
para criar uma instância de 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')
CLI estão disponíveis para executar diretamente os modelos:
Tarefas e modos suportados
Oferecemos-te três variantes dos modelos YOLO-NAS: Pequeno (s), Médio (m) e Grande (l). Cada variante foi concebida para responder a 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 a deteção de objectos de uso geral com maior precisão.
- YOLO-NAS-l: Adaptado para cenários que exigem a maior precisão, onde os recursos computacionais são menos limitados.
Segue-se uma descrição detalhada de cada modelo, incluindo ligações para os seus pesos pré-treinados, as tarefas que suportam e a sua compatibilidade com diferentes modos de funcionamento.
Tipo de modelo | Pesos pré-treinados | Tarefas suportadas | Inferência | Validação | Formação | Exportação |
---|---|---|---|---|---|---|
YOLO-NAS-s | yoloNão te esqueças de que o teu nome é um nome de família. | Deteção de objectos | ✅ | ✅ | ❌ | ✅ |
YOLO-NAS-m | yolo_nas_m.pt | Deteção de objectos | ✅ | ✅ | ❌ | ✅ |
YOLO-NAS-l | yolo_nas_l.pt | Deteção de objectos | ✅ | ✅ | ❌ | ✅ |
Citações e agradecimentos
Se utilizares YOLO-NAS no teu trabalho de investigação ou desenvolvimento, por favor cita a SuperGradients:
@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 a nossa gratidão à equipa SuperGradients de Deci AI pelos seus esforços na criação e manutenção deste valioso recurso para a comunidade de visão computacional. Acreditamos que o YOLO-NAS, com a sua arquitetura inovadora e capacidades superiores de deteção de objectos, se tornará uma ferramenta essencial para programadores e investigadores.
Palavras-chave: YOLO-NAS, Deci AI, deteção de objectos, aprendizagem profunda, pesquisa de arquitetura neural, Ultralytics Python API, modelo YOLO , SuperGradients, modelos pré-treinados, bloco básico de fácil quantização, esquemas de formação avançados, quantização pós-treino, otimização AutoNAC, COCO, Objects365, Roboflow 100